CentOS7.3下ELK日誌分析系統集群搭建
Logstash 是開源的服務器端數據處理管道,能夠同時從多個來源采集數據、轉換數據,然後將數據發送到您最喜歡的“存儲庫”中。而當下最常用的存儲庫就是Elasticsearch。需要在所有需要搜集日誌的客戶端中安裝Logstash或者Filebeat等日誌搜集工具,對Logstash配置文件進行修改,指定input上下文,即搜集的日誌路徑(最好為絕對路徑)。output上下文,指定Logstash從input搜集到的日誌內容輸出到哪裏保存,一般指向Elasticsearch的主節點IP地址。
Kibana是一個開源的分析與可視化平臺,設計出來用於和Elasticsearch一起使用的。你可以用kibana搜索、查看、交互存放在Elasticsearch索引裏的數據,使用各種不同的圖表、表格、地圖等kibana能夠很輕易地展示高級數據分析與可視化。
ELK日誌系統配置:
三臺CentOS7.3虛擬機
node-2 192.168.175.130 Elasticsearch
node-3 192.168.175.131 Logstash
node-4 192.168.175.132 Kibana
源代碼包:
wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.4/elasticsearch-2.3.4.tar.gz
wget https://download.elastic.co/logstash/logstash/logstash-2.3.4.tar.gz
wget https://download.elasticsearch.org/kibana/kibana/kibana-4.5.3-linux-x64.tar.gz
分別在對應的虛擬機中下載。
①ELK需要在Java環境中部署,最好是在Java8以上。
②關閉所有虛擬機的防火墻
#iptables -F
#setenforce 0
③安裝Elasticsearch
#tar -xf elasticsearch-2.3.4.tar.gz -C /usr/local
#mv /usr/local/elasticsearch-2.3.4 /usr/local/elasticsearch
#cd /usr/local/elasticsearch/config
#vim elasticsearch.yml
elasticsearch配置如上
cluster.name:集群名稱,若有多個elasticsearch節點,則每個節點都需要相同集群節點名稱。
node.name:節點名稱,集群節點名稱。
node.master:指定該節點是否為主節點。
node.data:指定該節點是否為均衡器節點,true為數據節點,存儲日誌數據,false為均衡器節點。
path.data:存儲日誌數據的路徑。
path.logs:elasticsearch節點的日誌路徑。
network.host:該主機IP。
http.port:集群中Kibana以及Logstash的訪問端口,9300位Elasticsearch節點中交流的端口。
bootstrap.memory_lock:鎖定堆內存。
http.cors.enabled:如果啟用了 HTTP 端口,那麽此屬性會指定是否允許跨源 REST 請求。
http.cors.allow-orign:如果 http.cors.enabled 的值為true,那麽該屬性會指定允許 REST 請求來自何處。
discovery.zen.ping.unicast.hosts:elasticsearch集群節點的IP地址。
註意事項:
① 需要創建一個elasticsearch用戶,並授權給Elasticsearch集群中的path.data,path.logs數據與日誌路徑
② max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536](報錯信息)
需要修改/etc/security/limits.conf
③ max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144](報錯信息)
需要修改內核參數vm.max_map_count=655360
#sysctl -w vm.max_map_count=65536
也可以直接寫入到/etc/sysctl.conf(永久)
④運行elasticsearch的時候不能以root身份運行,需要以創建的elasticsearch用戶的身份運行。
運行elasticsearch
④安裝Logstash
#tar -xf logstash-2.3.4.tar.gz -C /usr/local
#mv /usr/local/logstash-2.3.4 /usr/local/logstash
#cd /usr/local/logstash
修改配置文件,使Logstash能夠收集當前虛擬機的日誌信息(需要指定),並輸出到elasticsearch master主機。
input上下文表示拉取本機/var/log/test.log中的日誌
output上下文表示將Logstash拉渠道的日誌內容放到elasticsearch集群中,指定IP及端口,設置索引可以在Kibana上添加索引進行查詢。
啟動Logstash
⑤安裝Kibana
#tar -xf kibana-4.5.3-linux-x64.tar.gz -C /usr/local
#cd /usr/local/kibana
配置如下:
啟動Kibana
在本機訪問http://192.168.175.132:5601
可以在Kibana的虛擬機上安裝nginx進行反代,將所有數據反代給192.168.175.132的5601端口
實現結果:
搜索在Logstash中指定的索引作為在Kibana的日誌分類
給/var/log/test.log傳入數據
#cat /var/log/boot.log >> /var/log/test.log
這時候在Kibana中的Discover刷新一下即可查看到對應的日誌信息。
CentOS7.3下ELK日誌分析系統集群搭建