溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何進行ELK完整部署和使用

發(fā)布時間:2021-11-18 17:48:07 來源:億速云 閱讀:141 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關如何進行ELK完整部署和使用,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

如何將日志導入 ELK 并進行圖形化展示。

幾乎所有的軟件和應用都有自己的日志文件,容器也不例外。前面我們已經知道 Docker 會將容器日志記錄到 /var/lib/docker/containers/<contariner ID>/<contariner ID>-json.log,那么只要我們能夠將此文件發(fā)送給 ELK 就可以實現(xiàn)日志管理。

要實現(xiàn)這一步其實不難,因為 ELK 提供了一個配套小工具 Filebeat,它能將指定路徑下的日志文件轉發(fā)給 ELK。同時 Filebeat 很聰明,它會監(jiān)控日志文件,當日志更新時,F(xiàn)ilebeat 會將新的內容發(fā)送給 ELK。

安裝 Filebeat

下面在 Docker Host 中安裝和配置 Filebeat。

curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.4.0-amd64.debsudo dpkg -i filebeat-5.4.0-amd64.deb

當你看到這篇文章時,F(xiàn)ilebeat 可能已經有了更新的版本,請參考最新的安裝文檔 https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-installation.html

配置 Filebeat

Filebeat 的配置文件為 /etc/filebeat/filebeat.yml,我們需要告訴 Filebeat 兩件事:

  1. 監(jiān)控哪些日志文件?

  2. 將日志發(fā)送到哪里?

首先回答第一個問題。

在 paths 中我們配置了兩條路徑:

  1. /var/lib/docker/containers/*/*.log 是所有容器的日志文件。

  2. /var/log/syslog 是 Host 操作系統(tǒng)的 syslog。

接下來告訴 Filebeat 將這些日志發(fā)送給 ELK。

Filebeat 可以將日志發(fā)送給 Elasticsearch 進行索引和保存;也可以先發(fā)送給 Logstash 進行分析和過濾,然后由 Logstash 轉發(fā)給 Elasticsearch。

為了不引入過多的復雜性,我們這里將日志直接發(fā)送給 Elasticsearch。

如果要發(fā)送給 Logstash,可參考后半部分的注釋。

當前的日志處理流程如下圖所示:

啟動 Filebeat

Filebeat 安裝時已經注冊為 systemd 的服務,可以直接啟動服務。

systemctl start filebeat.service
管理日志

Filebeat 啟動后,正常情況下會將監(jiān)控的日志發(fā)送給 Elasticsearch。刷新 Elasticsearch 的 JSON 接口 http://[Host IP]:9200/_search?pretty 進行確認。

這次我們能夠看到 filebeat-* 的 index,以及 Filebeat 監(jiān)控的那兩個路徑下的日志。

好,Elasticsearch 已經創(chuàng)建了日志的索引并保存起來,接下來是在 Kibana 中展示日志。

首先需要配置一個 index pattern,即告訴 Kibana 查詢和分析 Elasticsearch 中的哪些日志。

指定 index pattern 為 filebeat-*,這與 Elasticsearch 中的 index一致。

Time-field name 選擇 @timestamp。

點擊 Create 創(chuàng)建 index pattern。

點擊 Kibana 左側 Discover 菜單,便可看到容器和 syslog 日志信息。

下面我們啟動一個新的容器,該容器將向控制臺打印信息,模擬日志輸出。

docker run busybox sh -c 'while true; do echo "This is a log message from container busybox!"; sleep 10; done;'

刷新 Kibana 頁面或者點擊右上角  圖標,馬上就能看到 busybox 的日志。

Kibana 也提供了強大的查詢功能,比如輸入關鍵字 busybox 能搜索出所有匹配的日志條目。

我們這里只是簡單地將日志導入 ELK 并樸素地顯示出來,實際上 ELK 還可以對日志進行歸類匯總、分析聚合、創(chuàng)建炫酷的 Dashboard 等,可以挖掘的內容很多,玩法很豐富。由于這個教程的重點是容器,這里就不過多展開。

關于如何進行ELK完整部署和使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

elk
AI