MetricBeat + Elasticsearch + Kibana 實現(xiàn)監(jiān)控指標可視化
1、Elasticsearch 監(jiān)控指標可視化概述
之前的推文 Elasticsearch 磁盤使用率超過警戒水位線,怎么辦?有讀者留言:“配合監(jiān)控系統(tǒng)”。
是的,監(jiān)控系統(tǒng)就像我們的車載監(jiān)控,平時可能用不到,一用到的時候就是“大事、要緊的事”。監(jiān)控提前做起來,便于我們以可視化的方式直觀的看到集群的各項監(jiān)控指標,能真正做到“防范于未然”。
監(jiān)控的免費組件之前文章也有介紹,包含但不限于:?
- cerebro?

- elastic-HQ

本篇文章,我們介紹一下原生的、強大的 Kibana 可視化監(jiān)控。
2、前置條件
前置條件1:Elasticsearch 單節(jié)點或者多節(jié)點集群部署 ok。 前置條件2:和 Elasticsearch 相同版本的 Kibana 部署 ok。 前置條件3:至少配置了x-pack最小化安裝,集群登錄需要賬戶名+密碼才可以登錄。
6.X 之前版本的監(jiān)控不需要借助 Metricbeat,印象中 kibana 自帶集成。高版本 7.X 需要安裝和配置 Metricbeat 才可以。
由于 MetricBeat 默認情況下沒有安裝和開啟,Kibana 可視化監(jiān)控會提示如下:

點擊“Set up monitoring with Metricbeat” 后,截圖下:

點擊:“Set up monitoring for new node“,會彈出“Monitor Elasticsearch node with Metricbeat” 提示框。

再點擊 “Next”,就是詳細的配置步驟了。

3、Metricbeat 安裝及Kibana 可視化
嚴格參考如上截圖以及如下官方文檔的步驟。
https://www.elastic.co/guide/en/beats/metricbeat/7.13/metricbeat-installation-configuration.html
經(jīng)過我本機 Elasticsearch V7.13 版本驗證,提煉總結(jié)步驟如下:
3.1 步驟1:下載并安裝 Metricbeat
注意版本和 Elasticsearch、Kibana 版本要一致。
安全需要建議做好最小化或者基礎(chǔ)安全配置,也就是說,至少設(shè)置上用戶名和密碼。
推薦更快下載地址:
http://dl.elasticsearch.cn/
3.2 步驟2:配置并啟動 x-pack 插件 module
啟動 x-pack 插件。
metricbeat?modules?enable?elasticsearch-xpack
啟動前后的變化:

啟動后,elasticsearch-xpack.yml 后綴 disable會自行取消,變得可以配置。
修改配置路徑:metricbeat-7.13.0-linux-x86_64/modules.d。
配置文件名稱:elasticsearch-xpack.yml
修改內(nèi)容參考:
module:?elasticsearch
xpack.enabled:?true
period:?10s
hosts:?["http://172.21.0.14:29200"]
username:?"user"
password:?"secret"
上述的用戶名+密碼是 elasticsearch 集群設(shè)置安全部分通過 elasticsearch-setup-passwords 設(shè)置的密碼。
密碼設(shè)置命令行(此為 elasticsearch 啟用后的操作):
./bin/elasticsearch-setup-passwords??interactive
3.3 步驟3:metricbeat建立與 Elasticsearch 集群的連接
需要配置:elasticsearch、kibana等。
修改 metricbeat.yml 設(shè)置連接信息。
output.elasticsearch:
??hosts:?["http://172.21.0.14:29200"]?##?Monitoring?cluster
??#?Optional?protocol?and?basic?auth?credentials.
??#protocol:?"https"
??username:?"elastic"
??password:?"changeme"
setup.kibana:
?????host:?"172.21.0.14:25601"
?????username:?"elastic"
?????password:?"changeme"
3.4 步驟4:將相關(guān)監(jiān)控模塊按需啟動
其實步驟 2 的 xpack 也可以放置到這里。
除了 Elasticsearch,可以監(jiān)控:mysql、redis 等 N 多組件,包含但不限于如下截圖內(nèi)容:

如果不需要開啟其他組件的監(jiān)控,這一步可以忽略掉。
mysql 啟動舉例:
./metricbeat?modules?enable?mysql
拿其中 Mysql 舉例,為保證行文流暢,后面專門一篇短文講解 Mysql 監(jiān)控。
3.5 步驟5:加載索引模板供 Kibana 可視化
此步驟加載推薦的索引模板以寫入 Elasticsearch,并部署示例儀表板以在 Kibana 中可視化數(shù)據(jù)。
命令行:
./metricbeat?setup?-e
-e 的含義:日志直接命令行輸出,而非日志。

執(zhí)行成功后,會有如上的顯示:“kibana dashboards successfully loaded.”。
如果:kibana 或者 elasticsearch 配置出錯,都可能導(dǎo)致此步驟不成功。常見的錯誤包含但不限于:
端口配置錯誤。
用戶名或者密碼錯誤。
比如:配置成了 “root”賬戶,實際上 elasticsearch 的管理員賬戶是“elastic”。
3.6 步驟6:啟動 metricbeat。
./metricbeat?-e
若需要后臺啟動,推薦:
nohup?./metricbeat?&?>?/dev/null?2>&1
3.7 步驟7:Kibana 監(jiān)控指標可視化
執(zhí)行到第 6 步,整個 Metricbeat 就全部執(zhí)行完畢。
3.7.1 總覽可視化視圖

dark 模式下,看的更清晰。
3.7.2 節(jié)點可視化視圖

點擊如上截圖的 “node-1” ,還有更詳盡的指標可視化呈現(xiàn)。


3.6.3 索引可視化視圖

4、小結(jié)
本文算作 Elasticsearch 監(jiān)控可視化的入門級文章。
后面會根據(jù)大家的留言反饋和實際遇到的問題,逐步細化。
大家的 Elasticsearch 集群是如何做監(jiān)控的呢?歡迎留言反饋。
參考
https://www.elastic.co/guide/en/beats/metricbeat/7.13/metricbeat-installation-configuration.html
推薦
更短時間更快習(xí)得更多干貨!
已帶領(lǐng)88位球友通過 Elastic 官方認證!

