近期因工作需要學習了ELKF的安裝和使用。網絡上的中文我看大部分也比較老版本了,我想寫一下,希望能給他人帶來一點幫助。小弟不才,有錯位之處,還請大家原諒指點。
ELKF就是:elasticsearch+logstash+kibana+filebeta。
這是一個什么東西呢?
這是一個通用的日志監控工具。可以把他當做一個數據平台,可以把他作為一個異常監控平台。可以有很多的報表,折線等顯示系統當前運行情況。我個人覺得更主要的是顯示業務指標情況。或者系統指標情況。當然前提是你得做好日志埋點工作。
elasticsearch
elasticsearch是一個文本數據庫,基於lucene,lucene是一個分詞以及建立索引的API,原理是倒排索引,對中文分詞效果一般,但是可以自己添加分詞器,漢字也有幾個比較好的分詞器,IK等,具體的可以查一下。elasticsearch在ELKF中可以把他認作數據庫+model層。也可以把它認作是沒有爬蟲的搜索引擎。他可以很好的處理數據,分詞、建立索引等,當然也包含存儲。普通的關系型數據庫還得你自己建立索引、創建表格、建立視圖、函數等。elasticsearch直接就可以做完。他同時也提供很多的API,你完全可以用它做站內搜索引擎都沒問題,完全可以,但是這個就是比較高深的東西了,我后續一定會再更新。但是現在就先不說這些了。
kibana
kibana是什么,kibana說白了就是V+C層,在ELKF中就是顯示層,可以從數據庫(elasticsearch)查出來數據顯示給你,當然了,他有很多的插件,可以花里胡哨的顯示,客戶或者領導就喜歡圖嘛。你做好的埋點規范的時候就很方便了。沒啥說的,安裝使用教程后說。
filebeta+logstash
logstash,logstash這個東西elastic公司,我個人感覺好想要放棄了。因為5.X的版本中elasticsearch已經包含了他的部分功能,而且,這個東西很雞肋,你采集日志的時候總不能在本地服務器采集吧,肯定要去遠程采集呀,可是他不能遠程采集,你要是部署在應用服務器,遠程發送給elasticsearch也可以,可是應用服務器還玩不玩了?。太耗資源。所以我現在自己研究部署階段時直接把logstash拿掉了。
filebeta
filebeta ,一句話,實時讀取文件的家伙。跟kafaka很像。所以也有很多的公司在搭建框架的時候,采用kafaka+logstash+elasticsearch+kibana。說實話,我沒這樣用過,但是根據一貫的尿性,filebeta是elastic親兒子。kafaka是,是吧。
所以我暫時采用了elasticsearch+kibana+filebeta的形式。
安裝步驟:
安裝步驟其實灰常簡單。
第一步,安裝需要的東西你得有。軟硬件的,對吧。
硬件:你得有一台Linux服務器。內存,我是5個G的虛擬機。
軟件:
軟件你得有這些東西,elasticsearch官網就有,我就不用貼鏈接了吧。如果想直接下載到Linux上,就用wget。
java你得配置好,而且,官網上說了,5.6.X的跟1.8配合的很好,1.7的一般,1.6根本不支持。所以該卸載卸載,該安裝安裝。
貼一下卸載安裝的鏈接吧,我就是找這個來的。
然后建個用戶,專門用來操作這一套,這一套文件最好放在一個文件夾里,賦權限好賦,另外,為啥要在建一個用戶?因為root用戶起不來呀,我是平時就玩兒root用戶,有用戶的當然不用建了。
建完之后,先用root用戶把這這幾個文件所在的文件夾的權限付給新創建的用戶。比如;
我的文件夾叫ypf,新創建的用戶也叫ypf。root用戶執行命令:
chown -R ypf ypf
然后切換ypf用戶。這四個壓縮包挨個解壓。
解壓完成后套路都是一樣的,比如,elasticsearch的啟動文件是/elasticsearch-5.6.2/bin/elasticsearch,配置文件是/elasticsearch-5.6.2/conf/elasticsearch.yml
kibana跟elasticsearch是一樣的。心急的可以直接執行/elasticsearch-5.6.2/bin/elasticsearch啟動了,如果報錯的話,參照我上三篇里面的,應該就這幾個錯誤。
將elasticsearch解壓后的文件夾內的 /conf/elasticsearch.yml文件做一些修改。主要修改
network.host和http.port,將他們的注釋符號(#)都去掉,另外把host改為你的服務器地址。
里面還有一些集群方面的配置,但是暫時不需要。elasticsearch暫時就配置這些。
配置kibana,kibana.yml也在kibana的解壓文件的/conf/文件夾下。
主要配置kibana的端口號和地址,更重要的是elasticsearch的地址和端口號,不然kibana是沒法連接上elasticsearch數據庫的。
這兩項配置完成之后就可以啟動了,kibana也是可以訪問了。
啟動方式就是執行兩個文件夾下的/bin/elasticsearch和/bin/kibana文件。是腳本,當然得用sh命令執行。
當然現在頁面也是查不到東西的,因為elasticsearch數據庫里面根本就沒有數據。
然后,我是暫時先不用logstash,因為是測試,所以我直接使用filebeat采集日志,直接發送給elasticsearch。elasticsearch收到數據之后就會自動建立索引、存儲了等。
filebeta部署:
我先休息一會兒吧。改天再寫。
溫馨提示:該篇文章,完全手打,嚴禁任何形式復制粘貼。可以貼鏈接。謝謝