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

之前的推文 Elasticsearch 磁盘使用率超过警戒水位线,怎么办?有读者留言:“配合监控系统”。

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

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

- cerebro 

e7b12b66fe787b39907f00b08f2cd4a0.png

- elastic-HQ

07457cf976704416de5647da73e620a3.png

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

2、前置条件

  • 前置条件1:Elasticsearch 单节点或者多节点集群部署 ok。

  • 前置条件2:和 Elasticsearch 相同版本的 Kibana 部署 ok。

  • 前置条件3:至少配置了x-pack最小化安装,集群登录需要账户名+密码才可以登录。

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

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

985309fc08d4eb076a718e812b6a8858.png

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

6179e3fb458e769ff0658d9e9f282676.png

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

b6704126d11e5f19799c94de2fcf65f7.png

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

cd81a3a6627bf0368f256b7b0523fb73.png

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

启动前后的变化:

aaa5b1473ea18bbe9d62e748acc02765.png

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

1b856a661eb4e1c1ec46e5b0a652c377.png

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

mysql 启动举例:

./metricbeat modules enable mysql

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

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

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

命令行:

./metricbeat setup -e

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

4b80c2c35762e87ae7249c563b6797d9.png

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

dark 模式下,看的更清晰。17b22b5ba9fc080a0321f699fc58d124.png

3.7.2 节点可视化视图
e072ec63952d0cda39b8fc6b92b8aa0a.png

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

a3bda198948752c4dd7ea078743a0be7.png 5b489a66dab075601773b28c9eb85b2c.png
3.6.3 索引可视化视图
b13bd6dc6346b115d173e1e94f6f0586.png

4、小结

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

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

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

参考

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

推荐

1、重磅 | 死磕 Elasticsearch 方法论认知清单(2021年国庆更新版)

2Elasticsearch 7.X 进阶实战私训课(口碑不错)

3、如何系统的学习 Elasticsearch ?

4、Elasticsearch 磁盘使用率超过警戒水位线,怎么办?

5、Elasitcsearch CPU 使用率突然飙升,怎么办?

44bdb45bda31eae752cca5251bdd8d52.png

更短时间更快习得更多干货!

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

5120df2b71aed51e2c5993c066004e19.gif

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

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐