一、介紹
ELK是三款開源軟件的縮寫,即:ElasticSearch + Logstash + Kibana。這三個工具組合形成了一套實用、易用的監控架構,可抓取系統日志、apache日志、nginx日志、mysql日志等多種日志類型,目前很多公司用它來搭建可視化的集中式日志分析平台。
ElasticSearch:是一個分布式的RESTful風格的搜索和數據分析引擎,同時還提供了集中存儲功能,它主要負責將logstash抓取來的日志數據進行檢索、查詢、分析等。
Logstash:日志處理工具,負責日志收集、轉換、解析等,並將解析后的日志推送給ElasticSearch進行檢索。
Kibana:Web前端,可以將ElasticSearch檢索后的日志轉化為各種圖表,為用戶提供數據可視化支持。
Filebeat:輕量型日志采集器,負責采集文件形式的日志,並將采集來的日志推送給logstash進行處理。
Winlogbeat:輕量型windows事件日志采集器,負責采集wondows的事件日志,並將采集來的日志推送給logstash進行處理。
二、安裝環境
由於我這邊是測試環境,所以ElasticSearch + Logstash + Kibana這三個軟件我都是裝在一台機器上面,如果是生產環境,建議分開部署,並且ElasticSearch可配置成集群方式。
IP:192.168.175.152(ELK服務器,CentOS 7.5)
IP:192.168.175.153(filebeat,nginx服務器,apache服務器,CentOS 7.5)
三、准備工作
禁用selinux、關閉防火牆
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i ‘s/SELINUXTYPE=targeted/#&/‘ /etc/selinux/config
setenforce 0 # 可以設置配置文件永久關閉
systemctl stop firewalld.service
四、安裝jdk,因為安裝ELK需要依賴java環境
yum -y install java-1.8.0-openjdk
查看java版本
java -version
五、安裝elasticsearch、logstash、kibana
下載並安裝公共簽名密鑰:rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
創建yum的repo文件:vim /etc/yum.repos.d/elasticsearch.repo
添加容易如下:
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
1、安裝Elasticsearch
yum -y install elasticsearch
2、安裝Logstash
yum -y install logstash
3、安裝Kibana
yum -y install kibana
六、修改ELK配置文件
|
|
|
安裝配置nginx
yum -y install epel-release
yum -y install nginx httpd-tools
修改nginx配置
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
vim /etc/nginx/nginx.conf
把下圖中這一段注釋掉
|
生成http用戶認證文件,生成文件kibana-user,並添加用戶adminhtpasswd -cm /etc/nginx/kibana-user admin
此處需要輸入兩遍密碼
啟動ELK和nginx
systemctl daemon-reload # 重新加載所有配置文件 systemctl start elasticsearch logstash kibana nginx # 啟動ELK和nginx systemctl enable elasticsearch logstash kibana nginx # 將ELK和nginx加入開機啟動 systemctl status elasticsearch logstash kibana nginx #查看ELK和nginx啟動狀態
查看端口信息
ss -tnl
查看elasticsearch狀態
curl -XGET 'http://192.168.2.207:9200/_cluster/state/nodes?pretty'
查看elasticsearch的master
curl -XGET ‘http://192.168.175.152:9200/_cluster/state/master_node?pretty‘
curl -XGET ‘http://192.168.175.152:9200/_cat/master?v‘
查看健康狀態
curl -XGET ‘http://192.168.175.152:9200/_cat/health?v‘
curl -XGET ‘http://192.168.175.152:9200/_cluster/health?pretty‘
對於這個健康狀態green(綠色)為最好
七、配置節點服務器filedeat
安裝filebeat,進入到之前下載安裝包的目錄,執行yum方式安裝yum localinstall -y filebeat-6.2.4-x86_64.rpm
修改filebeat配置
|
啟用nginx模塊filebeat modules enable nginx
修改nginx模塊配置
|
啟用apache模塊filebeat modules enable apache2
修改apache模塊配置
|
啟動filebeat
systemctl start filebeat systemctl enable filebeat systemctl status filebeat
瀏覽器訪問http://192.168.175.152,輸入之前通過htpasswd認證的用戶名和密碼登陸kibana。
到這里ELK安裝已經成功了!!! 擊個掌吧小帥哥,小美女吧~~~
接下來是創建索引用於監控
登陸瀏覽器http://ip:5601 用戶名/密碼 admin/******** 在前面已經設置過了
點擊Management,然后點擊Index Patterns,再點擊Create index pattern
創建好后,點擊Discover,就可以看到如下圖頁面的日志內容了。