elk+filebeat+kafka分布式日志管理平臺搭建

二.對上面的工作流程進行簡單描述。

(1)將filebeat部署到需要采集日志的服務器上,filebeat將采集到的日志數(shù)據(jù)傳輸?shù)絢afka中。

(2)kafka將獲取到的日志信息存儲起來,并且作為輸入(input)傳輸給logstash。

(3)logstash將kafka中的數(shù)據(jù)作為輸入,并且把kafka中的數(shù)據(jù)進行過濾等其他操作,然后把操作后得到的數(shù)據(jù)輸入(output)到es(elasticsearch)中。

?(4)es(基于lucene搜索引擎)對logstash中的數(shù)據(jù)進行處理,并且將數(shù)據(jù)作為輸入傳送給kibna進行顯示。

三.部署該平臺需要的軟件,本次部署使用的軟件及版本如下:

? (1)? elasticsearch-6.1.3.tar.gz

(2)filebeat-6.1.3-linux-x86_64.tar.gz

(3)kibana-6.1.3-linux-x86_64.tar.gz

(4)logstash-6.2.3.tar.gz

(5)kafka_2.12-1.0.0.tgz

以上軟件可以到elasticsearch官網(wǎng)下載需要的軟件:

https://www.elastic.co/cn/products

四.安裝以及配置各軟件。

(1)elasticsearch安裝配置

? ? ? ? ? 1.首先解壓elasticsearch-6.1.3.tar.gz

? ? ? ? ? ? ?tar -zxvf?elasticsearch-6.1.3.tar.gz

? ? ? ? ? 2.修改config/elasticsearch.yml配置文件

? ? ? ? ? ? 將配置中的network.host修改為本機的ip地址,配置配置自己的端口號

? ? ? ? ? ?3.啟動elasticsearch(啟動該軟件不能使用root用戶,需要普通用戶,可以新建普通用戶,將 目錄的權(quán)限都賦予給該新用戶)

? ? ? ? ? ? ? ?nohup bin/elasticsearch?&

? ? ? ? ? ? ? ?驗證是否啟動成功:

(2)kibana安裝配置:

? ? ? ? ? vim config/kibana.yml

? ? ? ? ? 具體配置如下(根據(jù)自己的ip以及端口情況進行配置)

? ? ? ?啟動kibana: nohup bin/kibana &

? ? ? ?在瀏覽器中驗證是否啟動成功:

(3)kafka安裝與配置:

? ? 請參考http://blog.51cto.com/xiangcun168/1933375

(4)logstash安裝與配置:

在logstash安裝軟件中新建test.conf配置文件。

配置如下,該配置中沒有加過濾器filter

上述配置說明如下:

topics后面的test和logstash-tomcat表示從kafka中topic為test與logstash-tomcat的主題中獲取數(shù)據(jù),此處的配置根據(jù)自己的具體情況去配置。

bootstrap_servers表示配置kafka的ip與端口。

output配置中的hosts表示elasticsearch的ip和端口好,index的配置是用于后面在kibana中配置index使用。

啟動logstash:nohup bin/logstash -f test.conf &

(5)filebeat安裝與配置:

修改filebeat的配置文件filebeat.yml

paths后的值表示從/home/elk/log/access.log中獲取數(shù)據(jù),tags表示日志標簽,在后面的kibna中查看數(shù)據(jù)時可以找到該tag標簽,并且可以根據(jù)該tag標簽查找過濾查找數(shù)據(jù)。

添加kafka輸出的配置,將elasticsearch輸出配置注釋掉。hosts表示kafka的ip和端口號,topic表示filebeat將數(shù)據(jù)輸出到topic為test的主題下,此處也根據(jù)自己情況修改。

啟動filebeat: nohup ./filebeat -c filebeat.yml &

(6)在kibana操作:

以上平臺都搭建好以后在kibana上創(chuàng)建index索引,該index索引和logstash配置中的output中的index對應。

該index名稱要和logstash配置中的index正則匹配,否則新增不了。

驗證搭建的平臺,日志數(shù)據(jù)是否能正常獲取及顯示。在filebeat配置文件中paths對應的目錄下新增access.log文件,并且添加數(shù)據(jù)進去,然后在kibana上查看數(shù)據(jù)是否正常顯示。

點開任何一條數(shù)據(jù)可以查看詳細情況:

截圖中的tags即表示filebeat中配置文件中的tags配置,可以將tags作為filter過濾條件進行查詢。

在分布式系統(tǒng)中,可以將某一類服務器日志歸為一個tag,這樣在查詢?nèi)罩緯r可以減小查詢的區(qū)域。

說明:

1.在部署的過程中可能會遇到各種情況,此時根據(jù)日志說明都可以百度處理(如部署的過程中不能分配內(nèi)存的問題)。

2.如果完成后如果數(shù)據(jù)顯示不了,可以先到根據(jù)工作流程到各個節(jié)點查詢數(shù)據(jù)是否存儲和傳輸成功。如查詢filebeat是否成功把數(shù)據(jù)傳輸?shù)搅薻afka,可以使用kafka中如下命令查詢:

bin/kafka-console-consumer.sh?--zookeeper?localhost:2181?--topic?test?--from-beginning

查看日志filebeat中的數(shù)據(jù)是否正常在kafka中存儲。

在filebeat配置的日志中手動添加日志: echo "test" > access.log,可以在kafka中動態(tài)的顯示出該信息

3.該平臺的搭建是比較簡便的方式,大家可以更加靈活以及動態(tài)的配置該平臺。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容