文章目录

  • 如何优雅的监控ES
  • 整体监控
  • 安装
  • 安装准备
  • 安装&启动
  • 添加监控集群
  • 命令行工具
  • 有待改进点
  • 概况展示问题
  • 数据显示问题
  • 集群监控的搜索框
  • ES堆外内存监控
  • 常用堆外内存监控工具
  • es-pcstat
  • 整体架构
  • 运行环境
  • 监控范围
  • 监控方法
  • 基于Kibana监控展示
  • 下载、安装、运行、使用方法和案例
  • 有待改进点
  • 安装可能会遇见的坑
  • 参考资料



kinbana 对es的监控 es性能监控_elasticsearch

如何优雅的监控ES

本博客将介绍两个监控,第一个是ES的整体监控工具极限数据平台,监控内容包括集群、节点、索引和线程池信息;第二个是ES堆外内存监控es-pcstat

整体监控

强烈推荐极限数据平台!

  • 极限数据平台可以监控多个不同版本的ES集群,免去监控多版本ES安装不同监控;
  • 可在监控界面查看集群信息,各节点信息,索引信息,线程池;
  • 拥有和kibana的dev tools类似的功能,还可以保存语句。两个字真香!

安装

安装准备
  • 准备一个7.X的ES集群,用于存储极限数据平台的数据,安装方法可参考这里
  • 下载极限数据平台安装包console进行安装,目前有两个版本,可以使用最新版本0.2
安装&启动
  1. 解压文件
  2. 修改console.xml配置文件,如果没有认证,只需要修改endPoint(指向安装7.XES集群)即可;否则还要修改相应账号密码
#存储极限数据平台相关数据的 Elasticsearch 集群信息,版本 v7.0+
elasticsearch:
  - name: default
    enabled: true
    monitored: true
    endpoint: http://192.168.3.188:9299
    basic_auth:
      username: elastic
      password: ZBdkVQUUdF1Sir4X4BGB
  1. 启动运行,即可开始使用。但是强烈建议配置索引设置添加索引生命周期管理,以免监控数据索引过大!
nohup ./console-linux-amd64  > /dev/null  2>&1  &

然后访问:http://安装机器ip:9000

备注

console可以基于容器安装,更多信息可以参考官网

添加监控集群

kinbana 对es的监控 es性能监控_big data_02

命令行工具

kinbana 对es的监控 es性能监控_big data_03

有待改进点

概况展示问题

kinbana 对es的监控 es性能监控_大数据_04

未分配分片,可以有一个点击按钮,查看每个分片未分配原因。

数据显示问题

kinbana 对es的监控 es性能监控_kinbana 对es的监控_05

这个显示顺序应该和图片值大小保持一致,不然容易看混淆,如图应该第一个显示蓝色,第二个显示红色这样排序。

集群监控的搜索框

kinbana 对es的监控 es性能监控_数据_06

这里可以选择多个索引进行展示,就像top5一样显示。

ES堆外内存监控

ES使用内存包括JVM内存和堆外内存,堆外内存是由Lucene读取文件段时依赖操作系统的page cache缓存,page cache使用类似LRU来删除无效缓存。

常用堆外内存监控工具

pcstat、vmtouch 等工具均可监控堆外内存,其实现原理均是通过 mincore(2) 系统调用,mincore能确定一块虚拟内存区域中的分页是否驻留在物理内存中。但目前监控不能精确到Lucene文件,监控不够详细。为此便有大佬基于pcstat开发了es-pcstat

es-pcstat
整体架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2a1eEKiu-1639313057636)(https://github.com/BaoPiao/es-pcstat/raw/main/imgs/pcstat.png)]

运行环境

类unix、linux环境

监控范围

ES6.x、7.x索引下各类 lucene 文件的 page cache 占用,单位MB,默认采集全部索引,支持配置采集的索引前缀。

监控方法

控制台、日志和ES(监控数据写入ES)

基于Kibana监控展示

kinbana 对es的监控 es性能监控_大数据_07

下载、安装、运行、使用方法和案例

参考这个:https://elasticsearch.cn/article/14432

有待改进点

监控节点和数据写入节点必须是同一个节点

安装可能会遇见的坑

导入kibana后,名称是pcstat_detail_index的dashboard显示error;我的出现原因是没有.dim类型的数据生成(没有索引包含数值类型数据),导致页面报错。

kinbana 对es的监控 es性能监控_kinbana 对es的监控_08

解决办法:编辑这个dashboard,删除这一显示项。操作方法如下:

  1. 点击右上角设置,然后点击编辑
  2. 将带有感叹号的删除,然后点击右下角update,然后左侧即可显示效果,最后点击右上角save and return

参考资料