ELK日誌系統介紹

1.爲什麼要用ELK系統:

當我們的系統發生故障時,我們需要登錄到各個服務器上,使用 grep / sed / awk 等 Linux 腳本工具去日誌裏查找故障原因。

在沒有日誌系統的情況下,首先需要定位處理請求的服務器,如果這臺服務器部署了多個實例,則需要去每個應用實例的日誌目錄下去找日誌文件。

每個應用實例還會設置日誌滾動策略(如:每天生成一個文件),還有日誌壓縮歸檔策略等,等數據過期之後,日誌也就永久性的消失了。

綜上所述,我們需要有一個日誌集中收集和檢索系統,這個日誌系統就是ELK。

2.什麼是ELK

ELK是三個開源軟件的縮寫,分別表示:Elasticsearch , Logstash, Kibana , 它們都是開源軟件。新增了一個FileBeat,它是一個輕量級的日誌收集處理工具(Agent),Filebeat佔用資源少,適合於在各個服務器上搜集日誌後傳輸給Logstash,官方也推薦此工具。

Elasticsearch是個開源分佈式搜索引擎,提供蒐集、分析、存儲數據三大功能。它的特點有:分佈式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。

Logstash主要是用來日誌的蒐集、分析、過濾日誌的工具,支持大量的數據獲取方式。一般工作方式爲c/s架構,client端安裝在需要收集日誌的主機上,server端負責將收到的各節點日誌進行過濾、修改等操作在一併發往elasticsearch上去。

Kibana也是一個開源和免費的工具,Kibana可以爲 Logstash 和 ElasticSearch 提供的日誌分析友好的 Web 界面,可以幫助彙總、分析和搜索重要數據日誌。

3.ELK能解決什麼問題

ELK可以幫助我們實時的將各個服務的日誌統一收集存儲,並給我們提供可視化的日誌檢索頁面。

通過ELK系統,使用者不需要知道它底層的實現原理,不需要掌握Linux指令,就可以檢索到我們需要的日誌。

4.ELK實現原理

image

如圖所示,ELK日誌系統第一步是通過FileBeat將客戶端日誌收集並傳輸給Logstash。

Logstash將FileBeat傳輸過來日誌數據進行過濾,然後將過濾後的日誌數據發送到Elasticsearch存儲。

日誌存儲在Elasticsearch中,並提供豐富的API進行數據交互,Kibana通過調用Elasticsearch相關API,提供日誌分析友好的 Web 界面。

5.ELK搭建步驟

搭建步驟(Centos7環境):

  1. 安裝Java 8
  2. 安裝Elasticsearch(單機)
  3. 安裝Kibana
  4. 安裝安裝Logstash
  5. 生成SSL證書
  6. 配置Logstash
  7. 加載Kibana儀表板
  8. 在Elasticsearch中加載Filebeat索引模板
  9. 設置Filebeat(添加客戶端服務器)
  10. 測試Filebeat安裝
  11. 連接Kibana

具體安裝細則可以看下面這篇文章,講的非常詳細,只要一步步按照文章說的就可以成功安裝。

參考博文https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-centos-7

6.ELK使用細則

ELK使用主要在Kibana上面,因爲Elasticsearch和Logstash在搭建的時候就已經配置完畢了,使用者只需關注Kibana即可。

在Web瀏覽器中,轉到ELK服務器的公共IP地址。輸入“kibanaadmin”憑據後,就會看到一個頁面,會提示我們配置默認索引模式:

image

繼續從索引模式菜單(左側)中選擇[filebeat] -YYY.MM.DD,然後單擊Star(設置爲默認索引)按鈕將Filebeat索引設置爲默認值。

現在單擊頂部導航欄中的Discover鏈接。默認情況下,這將顯示過去15分鐘內的所有日誌數據。我們可以看到帶有日誌事件的直方圖,其中包含以下日誌消息:

image

在這裏,我們可以搜索和瀏覽日誌,還可以通過正則表達式來篩選出我們需要的日誌。

想要更多幹貨、技術猛料的孩子,快點拿起手機掃碼關注我,我在這裏等你哦~

林老師帶你學編程https://wolzq.com

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章