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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 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

推荐

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

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

3、如何系统的学习 Elasticsearch ?

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

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


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

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

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


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
4月前
|
数据可视化 Java Windows
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
本文介绍了如何在Windows环境下安装Elasticsearch(ES)、Elasticsearch Head可视化插件和Kibana,以及如何配置ES的跨域问题,确保Kibana能够连接到ES集群,并提供了安装过程中可能遇到的问题及其解决方案。
Elasticsearch入门-环境安装ES和Kibana以及ES-Head可视化插件和浏览器插件es-client
|
2月前
|
存储 JSON Java
ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通
ELK是一套强大的日志管理和分析工具,广泛应用于日志监控、故障排查、业务分析等场景。本文档将详细介绍ELK的各个组件及其配置方法,帮助读者从零开始掌握ELK的使用。
|
2月前
|
存储 监控 安全
|
3月前
|
自然语言处理 搜索推荐 关系型数据库
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
这篇文章是关于Elasticsearch全文搜索引擎的学习指南,涵盖了基本概念、命令风格、索引操作、分词器使用,以及数据的增加、修改、删除和查询等操作。
40 0
elasticsearch学习六:学习 全文搜索引擎 elasticsearch的语法,使用kibana进行模拟测试(持续更新学习)
|
3月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
277 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
3月前
|
运维 监控 数据可视化
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
大数据-171 Elasticsearch ES-Head 与 Kibana 配置 使用 测试
99 1
|
4月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
4月前
|
JSON 自然语言处理 数据库
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
概念、ik分词器、倒排索引、索引和文档的增删改查、RestClient对索引和文档的增删改查
ElasticSearch基础1——索引和文档。Kibana,RestClient操作索引和文档+黑马旅游ES库导入
|
5月前
|
数据可视化 Docker 容器
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
|
5月前
|
自然语言处理 Docker 容器
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
ElasticSearch 实现分词全文检索 - ES、Kibana、IK分词器安装
70 0