您好,登錄后才能下訂單哦!
這篇“Centos7上怎么安裝Elastic Stack”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Centos7上怎么安裝Elastic Stack”文章吧。
ElasticStack 是一系列開源產品的合集,包括 Elasticsearch、Kibana、Logstash 以及 Beats 等,能夠安全可靠地獲取任何來源、任何格式的數據,并且能夠實時地對數據進行搜索、分析和可視化。
64 位的 CentOS 7,4 GB 內存 - elk 主控機 64 位的 CentOS 7 ,1 GB 內存 - 客戶端 1 64 位的 Ubuntu 16 ,1 GB 內存 - 客戶端 2
禁用 CentOS 7 服務器上的 SELinux
我們將禁用 CentOS 7 服務器上的 SELinux。 編輯 SELinux 配置文件。
vim /etc/sysconfig/selinux 將 SELINUX 的值從 enforcing改成disabled SELINUX=disabled 然后重啟服務器: reboot 再次登錄服務器并檢查 SELinux 狀態。 getenforce disabled
部署 Elastic stack 依賴于Java,Elasticsearch 需要 Java 8 版本,推薦使用 Oracle JDK 1.8 。從官方的 Oracle rpm 包安裝 Java 8。
wget http://download.oracle.com/otn-pub/java/jdk/8u77-b02/jdk-8u77-linux-x64.rpm \\下載java8的版本 rpm -ivh jdk-8u77-linux-x64.rpm \\rpm安裝jdk環境 java -version \\查看java的版本 檢查能否工作
在此步驟中,我們將安裝和配置 Elasticsearch。 從 elastic.co 網站提供的 rpm 包安裝 Elasticsearch,并將其配置運行在 localhost 上(以確保該程序安全,而且不能從外部訪問)。
將 elastic.co 的密鑰添加到服務器
elastic.co網站是一個https的網站(私有證書),我們需要添加證書秘鑰才能安全的順利下載。
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
下載安裝 Elasticsearch 5.1
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.rpm rpm -ivh elasticsearch-5.1.1.rpm
安裝完成后我們編輯配置文件
配置文件名稱:elasticsaerch.yml
cd /etc/elasticsearch/ vim elasticsearch.yml bootstrap.memory_lock: true \\去掉第 40 行的注釋,啟用 Elasticsearch 的內存鎖。這將禁用 Elasticsearch 的內存交換。 network.host: localhost http.port: 9200 \\在 Network 塊中,取消注釋 network.host 和 http.port 行。
編輯 elasticsearch.service 文件的內存鎖配置。
vim /usr/lib/systemd/system/elasticsearch.service MAX_LOCKED_MEMORY=unlimited \\去掉第 60 行的注釋,確保該值為 unlimited。
設置服務啟動
Elasticsearch監聽端口號9200,啟用 CentOS 服務器上啟用mlockall 來禁用內存交換,設置Elasticsearch開機自啟動,然后啟動服務。
sudo systemctl daemon-reload sudo systemctl enable elasticsearch sudo systemctl start elasticsearch
檢查對外監聽端口:
netstat -plntu
內存鎖啟用 mlockall,檢查 Elasticsearch 是否正在運行。
curl -XGET 'localhost:9200/_nodes?filter_path=**.mlockall&pretty'curl -XGET 'localhost:9200/?pretty'
先安裝Kibana,然后安裝nginx,最后設置nginx反向代理kibana
安裝并配置Kibana
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-x86_64.rpm rpm -ivh kibana-5.1.1-x86_64.rpm
編輯 Kibana 配置文件。
vim /etc/kibana/kibana.yml 在配置文件中找的一下三行,修改配置 server.port: 5601 server.host: "localhost"elasticsearch.url: "http://localhost:9200"
將 Kibana 設為開機啟動
sudo systemctl enable kibana sudo systemctl start kibana
檢查Kibana 對外監聽端口 5601 確保其正常啟動。
netstat -plntu
安裝并配置nginx服務器
yum -y install epel-release nginx 服務的yum包在epel包中可以找的 直接yum安裝 yum -y install nginx httpd-tools
httpd-tools 軟件包包含 Web 服務器的工具,可以為 Kibana 添加 htpasswd 基礎認證。
編輯 Nginx 配置文件并刪除 server {}模塊,這樣我們添加新的虛擬主機配置。
cd /etc/nginx/ vim nginx.conf \\刪除 server { } 塊。
創建kibana.conf的虛擬主機:
vim /etc/nginx/conf.d/kibana.conf server { listen 80; server_name elk-stack.co; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/.kibana-user; location / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
使用 htpasswd 命令創建一個新的基本認證文件。
sudo htpasswd -c /etc/nginx/.kibana-user admin “輸入你的密碼”
啟動 Nginx。
nginx -t systemctl enable nginx systemctl start nginx
在此步驟中,我們將安裝 Logstash,并將其配置為:從配置了 filebeat 的 logstash 客戶端里集中化服務器的日志,然后過濾和轉換 Syslog 數據,并將其移動到存儲中心(Elasticsearch)中。
下載 Logstash 并使用 rpm 進行安裝。
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.1.1.rpm rpm -ivh logstash-5.1.1.rpm
生成新的 SSL 證書文件,以便客戶端可以識別 elastic 服務端。
cd /etc/pki/tls \\ 進入 tls 目錄并編輯 openssl.cnf 文件。 vim openssl.cnf 在 [v3_ca] 部分添加服務器標識。 [ v3_ca ]# Server IP AddresssubjectAltName = IP: 10.0.15.10
使用 openssl 命令生成證書文件。
openssl req -config /etc/pki/tls/openssl.cnf -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout /etc/pki/tls/private/logstash-forwarder.key -out /etc/pki/tls/certs/logstash-forwarder.crt
證書文件可以在 /etc/pki/tls/certs/ 和 /etc/pki/tls/private/ 目錄中找到。
接下來,我們會為 Logstash 創建新的配置文件。創建一個新的 filebeat-input.conf 文件來為 filebeat 配置日志源,然后創建一個 syslog-filter.conf 配置文件來處理 syslog,再創建一個 output-elasticsearch.conf 文件來定義輸出日志數據到 Elasticsearch。
轉到 logstash 配置目錄,并在 conf.d 子目錄中創建新的配置文件。
cd /etc/logstash/ vim conf.d/filebeat-input.conf 輸入配置,粘貼以下配置: input { beats { port => 5443 ssl => truessl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"} }
創建 syslog-filter.conf 文件
vim conf.d/syslog-filter.conf 粘貼以下配置: filter {if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } date { match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } } 我們使用名為 grok 的過濾器插件來解析 syslog 文件。
創建輸出配置文件 output-elasticsearch.conf。
vim conf.d/output-elasticsearch.conf output { elasticsearch { hosts => ["localhost:9200"] hosts => "localhost:9200"manage_template => falseindex => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"document_type => "%{[@metadata][type]}"} }
啟動logstash服務
sudo systemctl enable logstash sudo systemctl start logstash
Beat 作為數據發送人的角色,是一種可以安裝在客戶端節點上的輕量級代理,將大量數據從客戶機發送到 Logstash 或 Elasticsearch 服務器。有 4 種 beat,Filebeat 用于發送“日志文件”,Metricbeat 用于發送“指標”,Packetbeat 用于發送“網絡數據”,Winlogbeat 用于發送 Windows 客戶端的“事件日志”。
在本教程中,我將向您展示如何安裝和配置 Filebeat,通過 SSL 連接將數據日志文件傳輸到 Logstash 服務器。
登錄到客戶端1的服務器上。 然后將證書文件從 elastic 服務器復制到客戶端1的服務器上。
ssh root@client1IP scp root@elk-serverIP:~/logstash-forwarder.crt . ..... sudo mkdir -p /etc/pki/tls/certs/ mv ~/logstash-forwarder.crt /etc/pki/tls/certs/
接下來,在客戶端 1 服務器上導入 elastic 密鑰。
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 下載 Filebeat 并且用 rpm 命令安裝。 wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-x86_64.rpm rpm -ivh filebeat-5.1.1-x86_64.rpm
Filebeat 已經安裝好了,請轉到配置目錄并編輯 filebeat.yml 文件。
cd /etc/filebeat/ vim filebeat.yml \\ 在第 21 行的路徑部分,添加新的日志文件。 我們將創建兩個文件,記錄 ssh 活動的 /var/log/secure 文件 ,以及服務器日志 /var/log/messages : paths: - /var/log/secure - /var/log/messages \\在第 26 行添加一個新配置來定義 syslog 類型的文件: document-type: syslog \\在 83 行和 85 行添加注釋來禁用 Elasticsearch 輸出,更改為 Logshtash: -------------------------------------------------------------------------------------#-------------------------- Elasticsearch output ------------------------------#output.elasticsearch:# Array of hosts to connect to.# hosts: ["localhost:9200"]-------------------------------------------------------------------------------------- ------------------現在添加新的 logstash 輸出配置-------------------------------------- output.logstash:# The Logstash hostshosts: ["10.0.15.10:5443"] bulk_max_size: 1024 ssl.certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"] template.name: "filebeat"template.path: "filebeat.template.json"template.overwrite: false--------------------------------------------------------------------------------------
?
PS:Filebeat 默認使用 Elasticsearch 作為輸出目標。 在本教程中,我們將其更改為 Logshtash。
將 Filebeat 設定為開機啟動并啟動。
sudo systemctl enable filebeat sudo systemctl start filebeat
從服務端拷貝證書文件
ssh root@ubuntu-clientIP scp root@elk-serverIP:~/logstash-forwarder.crt . ....... sudo mkdir -p /etc/pki/tls/certs/ mv ~/logstash-forwarder.crt /etc/pki/tls/certs/
在服務器上導入 elastic 密鑰。
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
下載 Filebeat .deb 包并且使用 dpkg 命令進行安裝。
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-amd64.deb dpkg -i filebeat-5.1.1-amd64.deb
轉到配置目錄并編輯 filebeat.yml 文件。
cd /etc/filebeat/ vim filebeat.yml \\ 在第 21 行的路徑部分,添加新的日志文件。 我們將創建兩個文件,記錄 ssh 活動的 /var/log/secure 文件 ,以及服務器日志 /var/log/messages : paths: - /var/log/secure - /var/log/messages \\在第 26 行添加一個新配置來定義 syslog 類型的文件: document-type: syslog \\在 83 行和 85 行添加注釋來禁用 Elasticsearch 輸出,更改為 Logshtash: -------------------------------------------------------------------------------------#-------------------------- Elasticsearch output ------------------------------#output.elasticsearch:# Array of hosts to connect to.# hosts: ["localhost:9200"]-------------------------------------------------------------------------------------- ------------------現在添加新的 logstash 輸出配置-------------------------------------- output.logstash:# The Logstash hostshosts: ["10.0.15.10:5443"] bulk_max_size: 1024 ssl.certificate_authorities: ["/etc/pki/tls/certs/logstash-forwarder.crt"] template.name: "filebeat"template.path: "filebeat.template.json"template.overwrite: false--------------------------------------------------------------------------------------
?
PS:Filebeat 默認使用 Elasticsearch 作為輸出目標。 在本教程中,我們將其更改為 Logshtash。
將 Filebeat 設定為開機啟動并啟動。
sudo systemctl enable filebeat sudo systemctl start filebeat
檢查服務狀態:
systemctl status filebeat
打開您的網絡瀏覽器,并訪問您在 Nginx 中配置的 elastic stack 域名,我的是“elk-stack.co”。 使用管理員密碼登錄,然后按 Enter 鍵登錄 Kibana 儀表盤。
創建一個新的默認索引 filebeat-*,然后點擊“創建”按鈕。
默認索引已創建。 如果 elastic stack 上有多個 beat,您可以在“星形”按鈕上點擊一下即可配置默認 beat。
轉到 “發現” 菜單,您就可以看到 elk-client1 和 elk-client2 服務器上的所有日志文件。
來自 elk-client1 服務器日志中的無效 ssh 登錄的 JSON 輸出示例。
使用其他的選項,你可以使用 Kibana 儀表盤做更多的事情。
以上就是關于“Centos7上怎么安裝Elastic Stack”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。