MetricBeat + Elasticsearch + Kibana 实现监控指标可视化
1、Elasticsearch 监控指标可视化概述
之前的推文 Elasticsearch 磁盘使用率超过警戒水位线,怎么办?有读者留言:“配合监控系统”。
是的,监控系统就像我们的车载监控,平时可能用不到,一用到的时候就是“大事、要紧的事”。监控提前做起来,便于我们以可视化的方式直观的看到集群的各项监控指标,能真正做到“防范于未然”。
监控的免费组件之前文章也有介绍,包含但不限于:
- cerebro
- elastic-HQ
本篇文章,我们介绍一下原生的、强大的 Kibana 可视化监控。
2、前置条件
前置条件1:Elasticsearch 单节点或者多节点集群部署 ok。 前置条件2:和 Elasticsearch 相同版本的 Kibana 部署 ok。 前置条件3:至少配置了x-pack最小化安装,集群登录需要账户名+密码才可以登录。
6.X 之前版本的监控不需要借助 Metricbeat,印象中 kibana 自带集成。高版本 7.X 需要安装和配置 Metricbeat 才可以。
由于 MetricBeat 默认情况下没有安装和开启,Kibana 可视化监控会提示如下:
点击“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
经过我本机 Elasticsearch V7.13 版本验证,提炼总结步骤如下:
3.1 步骤1:下载并安装 Metricbeat
注意版本和 Elasticsearch、Kibana 版本要一致。
安全需要建议做好最小化或者基础安全配置,也就是说,至少设置上用户名和密码。
推荐更快下载地址:
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
修改内容参考:
module: elasticsearch
xpack.enabled: true
period: 10s
hosts: ["http://172.21.0.14:29200"]
username: "user"
password: "secret"
上述的用户名+密码是 elasticsearch 集群设置安全部分通过 elasticsearch-setup-passwords 设置的密码。
密码设置命令行(此为 elasticsearch 启用后的操作):
./bin/elasticsearch-setup-passwords interactive
3.3 步骤3:metricbeat建立与 Elasticsearch 集群的连接
需要配置:elasticsearch、kibana等。
修改 metricbeat.yml 设置连接信息。
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:将相关监控模块按需启动
其实步骤 2 的 xpack 也可以放置到这里。
除了 Elasticsearch,可以监控:mysql、redis 等 N 多组件,包含但不限于如下截图内容:
如果不需要开启其他组件的监控,这一步可以忽略掉。
mysql 启动举例:
./metricbeat modules enable mysql
拿其中 Mysql 举例,为保证行文流畅,后面专门一篇短文讲解 Mysql 监控。
3.5 步骤5:加载索引模板供 Kibana 可视化
此步骤加载推荐的索引模板以写入 Elasticsearch,并部署示例仪表板以在 Kibana 中可视化数据。
命令行:
./metricbeat setup -e
-e 的含义:日志直接命令行输出,而非日志。
执行成功后,会有如上的显示:“kibana dashboards successfully loaded.”
。
如果:kibana 或者 elasticsearch 配置出错,都可能导致此步骤不成功。常见的错误包含但不限于:
端口配置错误。
用户名或者密码错误。
比如:配置成了 “root”账户,实际上 elasticsearch 的管理员账户是“elastic”。
3.6 步骤6:启动 metricbeat。
./metricbeat -e
若需要后台启动,推荐:
nohup ./metricbeat & > /dev/null 2>&1
3.7 步骤7:Kibana 监控指标可视化
执行到第 6 步,整个 Metricbeat 就全部执行完毕。
3.7.1 总览可视化视图
dark 模式下,看的更清晰。
3.7.2 节点可视化视图
点击如上截图的 “node-1” ,还有更详尽的指标可视化呈现。
3.6.3 索引可视化视图
4、小结
本文算作 Elasticsearch 监控可视化的入门级文章。
后面会根据大家的留言反馈和实际遇到的问题,逐步细化。
大家的 Elasticsearch 集群是如何做监控的呢?欢迎留言反馈。
参考
https://www.elastic.co/guide/en/beats/metricbeat/7.13/metricbeat-installation-configuration.html
推荐
更短时间更快习得更多干货!
已带领88位球友通过 Elastic 官方认证!