ES监控方法以及核心指标

文章目录

  • 1. 监控指标采集
    • 1.1 部署elasticsearch_exporter
    • 1.2 prometheus采集elasticsearch_exporter的暴露指标
    • 1.3 promethues配置告警规则或者配置grafana大盘
  • 2. 核心告警指标
    • 2.1 es核心指标
    • 2.2 es容量模型建议
  • 3. 参考文章

探讨es的监控数据采集方式以及需要关注的核心指标,便于日常生产进行监控和巡检。


1. 监控指标采集

监控指标的采集方式使用promethues + elasticsearch_exporter的方式采集es的指标,并通过promethues协议暴露出来。本文探讨es的采集监控方式,以及常用核心监控告警配置。

1.1 部署elasticsearch_exporter

elasticsearch_exporter的 下载地址 选择合适的版本下载,并解压,使用如下方法启动。

# 不带鉴权方式
./elasticsearch_exporter --web.listen-address=":9114" --es.uri=http://127.0.0.1:9200
# 带鉴权方式
./elasticsearch_exporter --web.listen-address=":9114" --es.uri=http://admin:pass@127.0.0.1:9200

确定metrics指标暴露出来后,就可以通过prometheus配置target进行指标采集

# 通过promethues协议暴露指标
curl http://localhost:9114/metrics

在这里插入图片描述

1.2 prometheus采集elasticsearch_exporter的暴露指标

配置prometheus的指标采集任务

  - job_name: esstatic_configs:- targets: ['172.19.0.2:9114','172.19.0.3:9114','172.19.0.4:9114']labels:instance: es

在这里插入图片描述

1.3 promethues配置告警规则或者配置grafana大盘

再次不进行扩展。

2. 核心告警指标

es的指标很多,相关的指标含义可以参考 官网文档,本文将摘选出核心的指标,作为es集群的核心监控并配置相关的告警。

2.1 es核心指标

es性能指标有以下三类:

  • es本身的指标
  • 主机层面的指标
  • JVM垃圾回收指标

es层面指标

指标名称指标说明参考值备注
进程进程进程存在 == 1
指标名称指标说明参考值备注
elasticsearch_cluster_health_status{status=“green”}集群状态!==1green( 所有的主分片和副本分片都正常运行)、yellow(所有的主分片都正常运行,但不是所有的副本分片都正常运行)red(有主分片没能正常运行)
elasticsearch_cluster_health_relocating_shards前节点正在迁移到其他节点的分片数量<=20通常为0,集群中有节点新加入或者退出时该值会增加
elasticsearch_cluster_health_initializing_shards正在初始化的分片<=50如果数据写入,通常持续有小幅度值出现
elasticsearch_cluster_health_unassigned_shards未分配的分片数<=1通常为0,当有节点的副本分片丢失该值会增加
elasticsearch_cluster_health_number_of_pending_tasks队列中等待的任务<=20绝大部分情况下元数据更改的队列基本上保持为零
elasticsearch_cluster_health_active_shards活跃的分片数量<=3w通常按照容量模型,单个集群的总分片不应该超过3w
暂无指标单shard数据存储大小<=50g通常按照容量模型,单个分片的最大存储数据量不应该超过50g

机器层面指标

指标名称指标说明参考值备注
elasticsearch_process_cpu_percentCPU使用率<=80%机器的cpu使用率不能过高
elasticsearch_filesystem_data_free_bytes磁盘可用空间>=30%机器的磁盘是使用率不能过高,否则可能会触发只读风险
elasticsearch_process_open_files_count进程打开的文件描述符<=60w需要配置ulimit,匹配相关的进程进行文件读写,通常不能低于60w
elasticsearch_transport_rx_packets_total节点之间网络入流量根据机器的规格调整节点之间网络入流量,根据机器的网络网卡规格调整,如果单节点的出入网络过高则说明需要扩容了
elasticsearch_transport_tx_packets_total节点之间网络出流量根据机器的规格调整节点之间网络出流量,根据机器的网络网卡规格调整,如果单节点的出入网络过高则说明需要扩容了

JVM指标

指标名称指标说明参考值备注
MemHeapUsedM/MemHeapMaxMJvm 堆内内存使用率<= 60%

2.2 es容量模型建议

根据公有云以及es的维护、使用的相关经验,单个es集群的容量不是无上限,整理出es的容量模型,需要进行注意及时扩容或者做数据分流

1.【公有云 ES 最佳实践】
1.1 集群总分片数 < 30000,单个索引分片大小建议不超过 50g,单节点分片数量 < 4000
1.2 节点数超过 20 节点添加专有 master 节点,即 data:master ≤ 20:1
1.3 cpu/mem/disk 建议比例
搜索场景:比例 1:2:32
日志场景:比例 1:4:192 ~ 1:4:384
1.4 单节点性能规格参考
写入性能: 16c/64g、 jvm 32G 单节点可支持 2w docs/s 写入
存储容量 = 源数据 * (1 + 副本数量) * 1.45 * (1 + 0.5)≈ 源数据 * (1 + 副本数量)

2.【社区建议】
2.1 数据加速、查询聚合等场景:单节点磁盘最大容量 = 单节点内存大小(GB)* 10。
日志写入、离线分析等场景:单节点磁盘最大容量 = 单节点内存大小(GB)* 50。
通常情况:单节点磁盘最大容量 = 单节点内存大小(GB)* 30。
2.2单个数据节点的shard数量 = 当前节点的内存大小 * 30(小规格实例参考)
单个数据节点的shard数量 = 当前节点的内存大小 * 50(大规格实例参考)

3.其他指标
cpu < 60%
jvm内存 < 80%
磁盘util < 60%
磁盘使用率 < 70%
集群所有index,必须至少1主 + 1从副本
集群读写拒绝率 < 0.1%
集群无节点 old gc
单节点承载最大数据量 < 1T
ES版本 >= 6.8

3. 参考文章

  • es监控官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/256375.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt 常用算法及正则表达式

目录 常用算法 正则表达式 常用算法 double c qAbs(a)&#xff0c;函数 qAbs() 返回 double 型数值 a 的绝对值 double max qMax(b,c)&#xff0c;函数 qMax() 返回两个数值中的最大值 int bnqRound(b)&#xff0c;返回一个与浮点数最接近的整数值(四舍五入) int cn q…

【八大排序】归并排序 | 计数排序 + 图文详解!!

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构冒险记 ✅C语言进阶之路 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 一、归并排序1.1 基本思想 动图演示2.2 递归版本代码实现 算法步骤2.3 非递归版本代…

面试经典150题——长度最小的子数组

​"In the midst of winter, I found there was, within me, an invincible summer." - Albert Camus 1. 题目描述 2. 题目分析与解析 首先理解题意&#xff0c;题目要求我们找到一个长度最小的 连续子数组 满足他们的和大于target&#xff0c;需要返回的是子数组的…

探索现代Web前端开发框架:选择最适合你的工具

在当今快速发展的Web开发领域&#xff0c;前端开发框架的选择显得尤为关键。这些框架可以帮助我们更高效地构建出交互性强、性能卓越的用户界面。本文将带你了解几个当前最受欢迎的Web前端开发框架&#xff0c;并帮助你根据自己的需求选择最合适的工具。 1. React React由Fac…

K8S之运用节点选择器指定Pod运行的节点

node节点选择器的使用 使用场景实践使用nodeName使用nodeSelectornodeName和nodeSelector混合使用1、设置了nodeName 和 设置 Node上都不存在的标签。看调度情况2、设置nodeName 为node1 和 设置 node2上才有的标签。看调度情况 实践总结 使用场景 默认情况&#xff0c;在创建…

故障诊断 | 一文解决,TCN时间卷积神经网络模型的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | 一文解决,TCN时间卷积神经网络模型的故障诊断(Matlab) 模型描述 时间卷积神经网络(TCN)是一种用于序列数据建模和预测的深度学习模型。它通过卷积操作在时间维度上对序列数据进行特征提取,并且可以处理可变长度的输入序列。 要使用TCN进行…

vue-组件组成和组件通信(四)

组件的三大组成部分 (结构/样式/逻辑) scoped样式冲突 默认情况&#xff1a;写在组件中的样式会 全局生效 → 因此很容易造成多个组件之间的样式冲突问题。 1. 全局样式: 默认组件中的样式会作用到全局 2. 局部样式: 可以给组件加上 scoped 属性, 可以让样式只作用于当前组…

nginx添加lua模块

目录 已安装了nginx&#xff0c;后追加lua模块nginx 重新编译知识参考&#xff1a; 从零安装一、首先需要安装必要的库&#xff08;pcre、zlib、openssl&#xff09;二、安装LUA环境及相关库 &#xff08;LuaJIT、ngx_devel_kit、lua-nginx-module&#xff09;注意&#xff1a;…

基于YOLOv8的暗光低光环境下(ExDark数据集)检测,加入多种优化方式---DCNv4结合SPPF ,助力自动驾驶(一)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文主要内容:详细介绍了暗光低光数据集检测整个过程&#xff0c;从数据集到训练模型到结果可视化分析&#xff0c;以及如何优化提升检测性能。 &#x1f4a1;&#x1f4a1;&#x1f4a1;加入 DCNv4结合SPPF mAP0.5由原始的0.682提升至…

牛客网SQL进阶114:更新记录

官网链接&#xff1a; 更新记录&#xff08;二&#xff09;_牛客题霸_牛客网现有一张试卷作答记录表exam_record&#xff0c;其中包含多年来的用户作答试卷记录&#xff0c;结构如下表。题目来自【牛客题霸】https://www.nowcoder.com/practice/0c2e81c6b62e4a0f848fa7693291d…

Gitlab和Jenkins集成 实现CI (二)

Gitlab和Jenkins集成 实现CI (一) Gitlab和Jenkins集成 实现CI (二) Gitlab和Jenkins集成 实现CI (三) 配置Gitlab api token 配置 Gitlab 进入gitlab #mermaid-svg-t84fR8wrT4sB4raQ {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:…

单例模式:懒汉饿汉线程安全问题

在我们前几篇文章中都了解了一些关于线程的知识&#xff0c;那么在多线程的情况下如何创建单例模式&#xff0c;其中的线程安全问题如何解决&#xff1f; 目录 1.什么是单例模式&#xff1f; (饿汉模式) 2.单例模式(懒汉模式) *懒汉模式与懒汉模式的对比 *如何解决懒汉模式…

【后端高频面试题--SpringBoot篇】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;后端高频面试题 &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; 这里写目录标题 1.什么是SpringBoot&#xff1f;它的主要特点是什么&#xff1f;2.列举一些Spri…

《剑指 Offer》专项突破 - 面试题 43 : 在完全二叉树中添加节点(两种方法 + C++ 实现)

目录 前言 方法一 方法二 前言 题目链接&#xff1a;LCR 043. 完全二叉树插入器 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 在完全二叉树中&#xff0c;除最后一层之外其他层的节点都是满的&#xff08;第 n 层有 个节点&#xff09;。最后一层的节点可能…

SQL,HQL刷题,尚硅谷

目录 相关表数据&#xff1a; 题目及思路解析&#xff1a; 汇总分析 1、查询编号为“02”的课程的总成绩 2、查询参加考试的学生个数 分组 1、查询各科成绩最高和最低的分&#xff0c;以如下的形式显示&#xff1a;课程号&#xff0c;最高分&#xff0c;最低分 2、查询每门课程…

springboot179基于javaweb的流浪宠物管理系统的设计与实现

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获取资料方式 **项…

鸿蒙开发第3篇__大数据量的列表加载性能优化

列表 是最常用到的组件 一 ForEach 渲染控制语法————Foreach Foreach的作用 遍历数组项&#xff0c;并创建相同的布局组件块在组件加载时&#xff0c; 将数组内容数据全部创建对应的组件内容&#xff0c; 渲染到页面上 const swiperImage: Resource[] {$r("app.me…

类与结构体(6)

我们上一起讲了这一期讲存储类和继承&#xff0c;这个难度很大的。 存储类 存储类主要规定了函数和变量的范围&#xff0c;在c中有这些存储类↓&#xff1a; ৹ auto&#xff08;自动判断函数是什么类型&#xff09; ৹ register (常用的变量和inline差不多&#xff0c;但应…

Netty应用——通过WebSocket编程实现服务器和客户端长连接(十八)

Http协议是无状态的&#xff0c;浏览器和服务器间的请求响应一次&#xff0c;下一次会重新创建连接要求:实现基于webSocket的长连接的全双工的交互改变Http协议多次请求的约束&#xff0c;实现长连接了&#xff0c; 服务器可以发送消息给浏览器客户端浏览器和服务器端会相互感知…

docker本地目录挂载

小命令 1、查看容器详情 docker inspect 容器名称 还是以nginx为例&#xff0c;上篇文章我们制作了nginx静态目录的数据卷&#xff0c;此时查看nginx容器时会展示出来&#xff08;docker inspect nginx 展示信息太多&#xff0c;这里只截图数据卷挂载信息&#xff09;&#…