ELK的初次相识
文章目錄
- 前言
- 一、什么是ELK?
- 1.Elasticsearch
- 2.Logstash
- 3.Kibana
- 4.Beats
- 二、為什么有ELK?
- 總結
前言
在日常工作中我們會面臨很多問題,那么處理問題時候,怎么快速的解決問題?一般都會說看日志,看日志得會看才行,那么如何從一堆堆的英文日志中找到問題所在呢?這時候就需要借助工具了:ELK。
一、什么是ELK?
實際上 ELK 是三款軟件的簡稱,分別是Elasticsearch、Logstash、Kibana組成,在發展的過程中,又有新成員Beats的加入,所以就形成了Elastic Stack。
1.Elasticsearch
Elasticsearch是個基于java的開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。主要負責將日志索引并存儲起來,方便業務方檢索查詢。
2.Logstash
Logstash 主要是用來日志的搜集、分析、過濾日志的工具,支持大量的數據獲取方式。一般工作方式為c/s架構,client端安裝在需要收集日志的主機上,server端負責將收到的各節點日志進行過濾、修改等操作在一并發往elasticsearch上去。
它是一個日志收集、過濾、轉發的中間件,主要負責將各條業務線的各類日志統一收集、過濾后,轉發給 Elasticsearch 后進行下一步處理。
3.Kibana
Kibana 基于nodejs,也是一個開源和免費的工具,Kibana可以為 Logstash 和 ElasticSearch 提供一個友好的日志分析的Web界面,可以匯總、分析和搜索重要數據日志。
4.Beats
Beats是elastic公司開源的一款采集系統監控數據的代理agent,是在被監控服務器上以客戶端形式運行的數據收集器的統稱,可以直接把數據發送給Elasticsearch或者通過Logstash發送給Elasticsearch,然后進行后續的數據分析活動。
tips:Beats和Logstash其實都可以進行數據的采集,但是目前主流的是使用Beats進行數據采集,然后使用 Logstash進行數據的分割處理等,早期沒有Beats的時候,使用的就是Logstash進行數據的采集。
二、為什么有ELK?
前面也說到了,看日志的時候需要用到ELK,怎么理解呢?我們都知道通過日志排除,可以快速發現問題根源并解決問題。如果是1臺或者幾臺服務器,我們可以通過 linux命令,tail、cat,通過grep、awk等過濾去查詢定位日志查問題,但是如果幾十臺、甚至幾百臺,通過這種方式肯定不現實。常見解決思路是建立集中式日志收集系統,將所有節點上的日志統一收集,管理,訪問,所以這時就該ELK上場了。
ELK系統是一個分布式部署的架構,不同的服務模塊部署在不同的服務器上,問題出現時,大部分情況需要根據問題暴露的關鍵信息,定位到具體的服務器和服務模塊,構建一套集中式日志系統,可以提高定位問題的效率。
ELK系統的幾個主要特點:
收集-能夠采集多種來源的日志數據
傳輸-能夠穩定的把日志數據傳輸到中央系統
存儲-存儲日志數據
分析-可以支持 UI 分析
警告-能夠提供錯誤報告,監控機制
總結
以上就是今天要分享的內容,本文僅僅簡單介紹了ELK的使用,之后將會具體分析其中每一個組件。
如果本篇博客對您有一定的幫助,大家記得留言+點贊+收藏哦。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
- 上一篇: vue中如何画饼状图
- 下一篇: ELK之ElasticSearch快速入