ELKB-ElasticSearch-Logstash-Kibana-beats 個人理解
- 2022 年 3 月 13 日
- 筆記
- Centos7, elasticsearch, ELK, JAVA
先說一下ELK,E是ElasticSearch,L是Logstash,K是Kibana,還有一個Beats。按照從採集到展示的順序介紹下各個組件的作用。
1.Beats
Beats 是一個免費且開放的平台,集合了多種單一用途數據採集器。它們從成百上千或成千上萬台機器和系統向 Logstash 或 Elasticsearch 發送數據。
它可以理解為採集器,通過它可以在客戶端採集包括日誌文件、系統事件日誌、網路數據、運行監控等內容,採集的數據可以發送到Logstash或者ElasticSearch。
2.Logstash
Logstash 是免費且開放的伺服器端數據處理管道,能夠從多個來源採集數據,轉換數據,然後將數據發送到您最喜歡的「存儲庫」中。
它可以理解為採集+數據轉換,除了可以接收來自Beats的數據外,還可以自己採集包括文件、網站抓數據(比如github)、http、redis、kafka、log4j等來源的數據。
它採集到的數據可以轉換過濾處理,過濾處理支援的方法也有很多,比如:grok、geoip、json、ruby、csv、xml等。
最後他採集的數據可以傳輸到elasticsearch、mongdb、redis、kafka、文件等。
3.ElasticSearch
Elasticsearch 是一個分散式、RESTful 風格的搜索和數據分析引擎,能夠解決不斷湧現出的各種用例。 作為 Elastic Stack 的核心,它集中存儲您的數據,幫助您發現意料之中以及意料之外的情況。
它可以理解為是一個存儲+內容解析+搜索。
存儲是可以接收beats或者logstash傳輸的數據並且存儲起來,通過索引將不同傳輸過來的數據進行隔離,索引可以由beats或者logstash指定創建。
內容解析是指可以同添加各類插件的方式,對內容進行分詞解釋,如中文分詞器,可以對中文進行分詞,用於搜索。
搜索是指經過存儲和內容解析後可以在elasticsearch進行全文搜索。
當然它的功能遠不止這些,對它上述的理解只是概括性的。
4.Kibana
Kibana 是一個免費且開放的用戶介面,能夠讓您對 Elasticsearch 數據進行可視化,並讓您在 Elastic Stack 中進行導航。您可以進行各種操作,從跟蹤查詢負載,到理解請求如何流經您的整個應用,都能輕鬆完成。
Kibana可以看作是一個ElasticSearch的數據分析平台,可以對ElasticSearch的數據進行查看、搜索、分析、圖表等操作,即ElasticSearch的數據可視化操作平台。(上手有點難)