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”} | 集群状态 | !==1 | green( 所有的主分片和副本分片都正常运行)、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_percent | CPU使用率 | <=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/MemHeapMaxM | Jvm 堆内内存使用率 | <= 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监控官网
相关文章:

ES监控方法以及核心指标
文章目录 1. 监控指标采集1.1 部署elasticsearch_exporter1.2 prometheus采集elasticsearch_exporter的暴露指标1.3 promethues配置告警规则或者配置grafana大盘 2. 核心告警指标2.1 es核心指标2.2 es容量模型建议 3. 参考文章 探讨es的监控数据采集方式以及需要关注的核心指标…...

无人机应用场景和发展趋势,无人机技术的未来发展趋势分析
随着科技的不断发展,无人机技术也逐渐走进了人们的生活和工作中。无人机被广泛应用于很多领域,例如遥感、民用、军事等等。本文将围绕无人机技术的应用场景和发展趋势,从多角度展开分析。 无人机技术的应用场景 无人机在遥感方面的应用&…...
JavaGuide
JavaGuide(Java学习&面试指南) | JavaGuide JavaGuide 是一个面向 Java 开发者的知识整合平台,它提供了 Java 相关的学习资源、面试题、开发工具、框架和库等内容。JavaGuide 的目标是帮助 Java 开发者更好地学习和应用 Java 技术。 Ja…...

IDEA创建SpringBoot+Mybatis-Plus项目
IDEA创建SpringBootMybatis-Plus项目 一、配置Maven apache-maven-3.6.3的下载与安装(详细教程) 二、创建SpringBoot项目 在菜单栏选择File->new->project->Spring Initializr,然后修改Server URL为start.aliyun.com,…...
第9章 SpringBoot综合项目实战——个人博客系统
学习目标 了解博客系统的系统功能和文件组织结构 熟悉博客系统数据库相关表及字段的设计 熟悉系统环境搭建的步骤及相关配置 掌握前后台管理模块功能的实现 掌握用户登录,定时邮件发送功能的实现 通过前面章节的学习,读者应该已经掌握了SpringBoot框架的基本知识,并学会了与…...

怎么理解 Redis 事务
背景 在面试中经常会被问到,redis支持事务吗?事务是怎么实现的?事务会回滚吗?又是一键三连,我下面分析下,看看能不能吊打面试官 什么是Redis事务 事务是一个单独的隔离操作:事务中的所有命令…...
react中的diff算法
diff算法 对于React团队发现在日常开发中对于更新组件的频率,会比新增和删除的频率更高,所以在diff算法里,判断更新的优先级会更高。对于Vue2的diff算法使用了双指针,React的diff算法没有使用双指针,是因为更新的jsx对…...

【医学大模型 尘肺病】PneumoLLM:少样本大模型诊断尘肺病新方法
PneumoLLM:少样本大模型诊断尘肺病新方法 提出背景PneumoLLM 框架效果 提出背景 论文:https://arxiv.org/pdf/2312.03490.pdf 代码:https://github.com/CodeMonsterPHD/PneumoLLM/tree/main 历史问题及其背景: 数据稀缺性问题&a…...

【SpringBootStarter】自定义全局加解密组件
【SpringBootStarter】 目的 了解SpringBoot Starter相关概念以及开发流程实现自定义SpringBoot Starter(全局加解密)了解测试流程优化 最终引用的效果: <dependency><groupId>com.xbhog</groupId><artifactId>globalValidation-spring…...

【射影几何15】python双曲几何工具geometry_tools
目录 一、说明二、环境问题:如何安装三、实现一个简单的例子四、绘制双曲组五、使用有限状态自动机加快速度六、资源和代码 一、说明 Geometry_tools 是一个 Python 包,旨在帮助您处理和可视化双曲空间和射影空间上的群动作。 该包主要构建在 numpy、…...
机器人抓取 [ 题目/摘要 ] 更新中..
题目:Robotic Grasping of Novel Objects using Visionl 链接:机器人抓取新物体 | IEEE Xplore(IEEE的Xplore) 【端到端】 摘要:我们考虑抓取新物体的问题,特别是第一次通过视觉看到的物体。抓取以前未知的…...

【51单片机】外部中断和定时器中断
目录 中断系统中断介绍中断概念 中断结构及相关寄存器中断结构中断相关寄存器 外部中断实验外部中断配置软件设计实验现象 定时器中断定时器介绍51 单片机定时器原理51 单片机定时/计数器结构51 单片机定时/计数器的工作方式 定时器配置硬件设计软件设计实验现象 中断系统 本章…...

零售行业供应商数据分发,怎样提高安全性和效率?
零售行业是我国经济发展的重要组成,零售行业包罗万象,如包括汽车零售、日化零售、快消品零售等,不同细分行业的运营模式各不相同,但大体来说,零售行业都具备最基础的供应商和零售商,供应商将商品或服务卖给…...

Windows下Node.js下载安装及环境变量配置教程
Windows下Node.js下载安装及环境变量配置教程 安装版本:node-v18.19.0-x64.msi 文章目录 Windows下Node.js下载安装及环境变量配置教程一、Node.js和NPM简介二、下载地址三、安装步骤四、环境配置五、安装淘宝镜像总结 一、Node.js和NPM简介 1、Node.js …...
广义表-C语言
广义表(Generalized List)是一种扩展了线性表的数据结构,它在线性表的基础上增加了元素可以是表的特点。在广义表中,元素不仅可以是单个的数据元素,还可以是一个子表,而子表中的元素也可以是数据元素或其他…...

uniapp+uView 【详解】录音,自制音频播放器
效果预览 代码实现 <template><view class"btnListBox"><view class"audioBox" v-if"audioLength"><u-row><u-col span"2"><u--text aligncenter :text"currentTime"></u--text>…...

机器学习---概率图模型(隐马尔可夫模型、马尔可夫随机场、条件随机场)
1. 隐马尔可夫模型 机器学习最重要的任务是根据已观察到的证据(例如训练样本)对感兴趣的未知变量(例如类别标 记)进行估计和推测。概率模型(probabilistic model)提供了一种描述框架,将描述任…...
cool 框架 node 后端封装三方Api post请求函数
1.需求 现在一些数据源 ,需要从三方地址拿到一些数据 比如说电影列表 信息了 影院列表信息了 等一些展示的数据,但是人家这种东西 害需要使用 appkey appserect 这种验签 这种需求 你前端调用接口是直接调用不了的 因为需要用到验签 需要后端接口转接一…...

awd总结
总结: 由于是第一次参加AWD比赛,各方面经验都不足,在参赛的前几天也是疯狂搜集各种脚本、框架、工具等,同时也参考b站的视频进行学习,我发现就是还是实操才能更快的学习 我觉得就是我前期的准备工作不足,…...
【react】react+es6+antd5.13.2+ts,antd表格的操作如何在父组件写?
reactes6antd5.13.2ts,antd表格的操作如何在父组件写? 我的子组件columns.tsx,只加表头,操作放在父组件。 columns.tsx的代码: export const dataColumns [{title: 项目成员,dataIndex: name,key: name,},{title: 可选账号,alig…...

wordpress后台更新后 前端没变化的解决方法
使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...

7.4.分块查找
一.分块查找的算法思想: 1.实例: 以上述图片的顺序表为例, 该顺序表的数据元素从整体来看是乱序的,但如果把这些数据元素分成一块一块的小区间, 第一个区间[0,1]索引上的数据元素都是小于等于10的, 第二…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...