vlambda博客
学习文章列表

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

1、Elasticsearch 监控指标可视化概述

之前的推文 ?有读者留言:“配合监控系统”。

是的,监控系统就像我们的车载监控,平时可能用不到,一用到的时候就是“大事、要紧的事”。监控提前做起来,便于我们以可视化的方式直观的看到集群的各项监控指标,能真正做到“防范于未然”。

监控的免费组件也有介绍,包含但不限于: 

- cerebro 

- elastic-HQ

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

本篇文章,我们介绍一下原生的、强大的 Kibana 可视化监控。

2、前置条件

  • 前置条件1:Elasticsearch 单节点或者多节点集群部署 ok。
  • 前置条件2:和 Elasticsearch 相同版本的 Kibana 部署 ok。
  • 前置条件3:至少配置了x-pack最小化安装,集群登录需要账户名+密码才可以登录。

6.X 之前版本的监控不需要借助 Metricbeat,印象中 kibana 自带集成。高版本 7.X 需要安装和配置 Metricbeat 才可以。

由于 MetricBeat 默认情况下没有安装和开启,Kibana 可视化监控会提示如下:

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

点击“Set up monitoring with Metricbeat” 后,截图下:

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

点击:“Set up monitoring for new node“,会弹出“Monitor Elasticsearch node with Metricbeat” 提示框。

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

再点击 “Next”,就是详细的配置步骤了。

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

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

启动前后的变化:

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

启动后,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 多组件,包含但不限于如下截图内容:

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

如果不需要开启其他组件的监控,这一步可以忽略掉。

mysql 启动举例:

./metricbeat modules enable mysql

拿其中 Mysql 举例,为保证行文流畅,后面专门一篇短文讲解 Mysql 监控。

3.5 步骤5:加载索引模板供 Kibana 可视化

此步骤加载推荐的索引模板以写入 Elasticsearch,并部署示例仪表板以在 Kibana 中可视化数据。

命令行:

./metricbeat setup -e

-e 的含义:日志直接命令行输出,而非日志。

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

执行成功后,会有如上的显示:“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 总览可视化视图

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

dark 模式下,看的更清晰。MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

3.7.2 节点可视化视图

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

点击如上截图的 “node-1” ,还有更详尽的指标可视化呈现。

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化
MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

3.6.3 索引可视化视图

MetricBeat + Elasticsearch + Kibana 实现监控指标可视化

4、小结

本文算作 Elasticsearch 监控可视化的入门级文章。

后面会根据大家的留言反馈和实际遇到的问题,逐步细化。

大家的 Elasticsearch 集群是如何做监控的呢?欢迎留言反馈。

参考

https://www.elastic.co/guide/en/beats/metricbeat/7.13/metricbeat-installation-configuration.html

推荐

1
(口碑不错)
3、
4、
5、

短时间快习得多干货!

已带领88球友通过 Elastic 官方认证!


比同事抢先一步学习进阶干货