使用Promethues+Grafana监控Elasticsearch
Promethues+Grafana监控Elasticsearch
- 监控选用说明
- 指标上报流程说明
- 实现监控的步骤
- 搭建elasticsearch-exporter服务
- 搭建promethues和grafana服务
监控选用说明
虽然用Kibana来监控ES,能展示一些关键指标,但ES本身收集的指标并不全面,还需要在ES配置文件中设置xpack.monitoring.collection.enabled: true来开启监控指标的收集,并占用额外的集群资源。重点是当集群出故障时,故障期间可能也收集不到监控指标。
所以需要使用第三方监控组件来实现对ES的监控。目前开源监控组件最受欢迎的就是Promethues+Grafana,再使用elasticsearch-exportor从ES中获取监控指标,最终就可以通过Grafana来展示各种监控图表了。
指标上报流程说明
promethues、elasticsearch-exportor和grafana完成上报的流程如下图所示:

- elasticsearch-exportor通过elasticsearch的Rest Api周期性获取ES集群的各项指标,组装成promethues支持解析的指标数据格式,并暴露http端口来支持通过http的方式获取这些指标数据;
- promethues通过elasticsearch-exportor提供的http接口来获取指标数据;
- grafana使用promethues上的指标数据绘图展示监控面板。
实现监控的步骤
使用环境:centos7.9
部署方式:通过docker compose
搭建elasticsearch-exporter服务
1、创建elasticsearch-exportor目录
mkdir /home/es/elasticsearch_exporter
2、编写docker-compose.yml
cd /home/es/elasticsearch_exporter
vim docker-compose.yml
docker-compose.yml文件内容
version: '2.1'services: elasticsearch_exporter:image: quay.io/prometheuscommunity/elasticsearch-exporter:latestcommand:- '--es.uri=http://192.168.8.87:9200' # 内网IPrestart: unless-stopped # 表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器ports:- 9114:9114
3、启动服务
cd /home/prome
# 后台启动
docker compose up -d
4、确认elasticsearch-exporter成功连上了es
通过http请求获取metric来验证elasticsearch-exporter是否连上了
例如:http://192.168.8.87:9114/metrics
如果返回了elasticsearch_开头的相关的监控指标,则说明elasticsearch-exporter成功连接了elasticsearch

搭建promethues和grafana服务
1、创建目录
mkdir /home/prome
2、编写docker-compose.yml
cd /home/prome
vim docker-compose.yml
docker-compose.yml文件内容
version: '2.1'networks:monitor-net:driver: bridgevolumes:prometheus_data: {}grafana_data: {}services:prometheus:image: prom/prometheus:v2.37.0container_name: prometheusvolumes:- ./prometheus:/etc/prometheus- prometheus_data:/prometheuscommand:- '--config.file=/etc/prometheus/prometheus.yml'- '--storage.tsdb.path=/prometheus'- '--web.console.libraries=/etc/prometheus/console_libraries'- '--web.console.templates=/etc/prometheus/consoles'- '--storage.tsdb.retention.time=200h'- '--web.enable-lifecycle'restart: unless-stopped # 表示容器退出时总是重启,但是不考虑docker守护进程运行时就已经停止的容器ports:- 9090:9090networks:- monitor-netlabels:org.label-schema.group: "monitoring"grafana:image: grafana/grafana:9.0.3container_name: grafanavolumes:- grafana_data:/var/lib/grafana- ./grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards- ./grafana/provisioning/datasources:/etc/grafana/provisioning/datasourcesenvironment:- GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}- GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin123}- GF_USERS_ALLOW_SIGN_UP=falserestart: unless-stoppedports:- 3000:3000networks:- monitor-netlabels:org.label-schema.group: "monitoring"
3、启动服务
cd /home/prome
# 后台启动
docker compose up -d
4、配置拉取 elasticsearch-exporter的监控数据
修改配置文件 ./prometheus/prometheus.yml,在其末尾增加elasticsearch-exporter的地址配置,如下:
- job_name: 'es_test' static_configs:- targets: ['192.168.1.86:9114']
如图(需要注意yml文件的层级关系):

5、确认prometheus成功连上了elasticsearch-exporte
浏览器访问 IP:9090/status 进入到prometheus提供的web界面
例如:http://192.168.8.87:9090/status
看到如下页面,表示prometheus已启动成功

点击菜单栏的Graph,在这个页面可以查询到prometheus获取到的指标
prometheus成功连上了elasticsearch-exporte的现象:
(1)输入“el”可以出来选项

(2)查询其中一个指标,有如下展示:


6、访问浏览器访问IP:3000/进入grafana登录页面
例如:http://192.168.8.87:3000/
7、输入管理员账号密码(docker-compose.yml里配置的)
账号:admin
密码:admin123
8、导入仪表盘
grafana官网提供了elasticsearch-exportor上报指标的仪表盘,包含了上报到elasticsearch相关指标的监控图,可直接到官网下载后导入即可使用
下载页面为:
https://grafana.com/grafana/dashboards
右边列表可自选仪表盘

选择某个进入详情后,点击右侧的Download JSON即可下载
ps. 需要尝试几个,可能会导致部分监控面板无法正常显示。
本次记录我选择的是:
https://grafana.com/grafana/dashboards/17724-elasticsearch/

下载完成后,回到部署的Grafana服务里,在左侧展开的菜单栏中点击Dashboards下的Import

上传下载的json文件

点击Import即可导入仪表盘


点击左侧搜索框也可进入导入的面板

相关文章:
使用Promethues+Grafana监控Elasticsearch
PromethuesGrafana监控Elasticsearch 监控选用说明指标上报流程说明实现监控的步骤搭建elasticsearch-exporter服务搭建promethues和grafana服务 监控选用说明 虽然用Kibana来监控ES,能展示一些关键指标,但ES本身收集的指标并不全面,还需要在…...
研学活动报名平台源码开发方案
一、项目背景与目标 (一)项目背景 研学活动报名平台旨在为活动组织者提供方便快捷的研学活动管理工具,同时为用户提供全面的活动搜索、报名和支付等功能。通过该系统,活动组织者能够更好地管理活动报名信息,用户也可…...
一篇文章,彻底理解数据库操作语言:DDL、DML、DCL、TCL
最近与开发和运维讨论数据库账号及赋权问题时,发现大家对DDL和DML两个概念并不了解。于是写一篇文章,系统的整理一下在数据库领域中的DDL、DML、DQL、DCL的使用及区别。 通常,数据库SQL语言共分为四大类:数据定义语言DDL…...
Linux编辑器之vim的使用
文章目录 一、vim简介二、vim的基本概念三、vim的基本操作四、vim正常模式命令集移动光标删除文字复制替换撤销上一次操作更改跳至指定的行vim末行模式命令集列出行号跳到文件中的某一行查找字符保存文件离开vim 五、进阶vim玩法打开文件批量注释代码执行shell命令指定注释窗口…...
制作OpenSSH 9.6 for openEuler 22.03 LTS的rpm升级包
OpenSSH作为操作系统底层管理平台软件,需要保持更新以免遭受安全攻击,编译生成rpm包是生产环境中批量升级的最佳途径。本文在国产openEuler 22.03 LTS系统上完成OpenSSH 9.6的编译工作。 一、编译环境 1、准备环境 基于vmware workstation发布的x86虚…...
DNS配置文件讲解
1. 概述 BIND:Berkeley Internet Name Domain ,伯克利因特网域名解析服务是一种全球使用最广泛的、 最高效的、最安全的域名解析服务程序 2. 安装软件 [rootserver ~]# yum install bind -y 3. bind服务中三个关键文件 /etc/named.conf : 主配置文件…...
142:vue+leaflet 加载tomtom地图(多种形式)
第142个 点击查看专栏目录 本示例介绍如何在vue+leaflet中添加tomtom地图,这里包含了多种形式,诸如中文标记、英文标记、白天地图、晚上地图、卫星影像图,高山海拔地形图等。 直接复制下面的 vue+leaflet源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例…...
Android Mac电脑更改aar中的文件再打包
一 问题 要在Mac电脑上替换AAR中的文件并重新打包。 二 解决方案 1.解压AAR文件 将AAR文件重命名为.zip,并解压缩它,得到一个文件夹。 2.替换文件 在解压后的文件夹中找到您想替换的文件,将其替换为新文件。 3.重新打包 打开终端&…...
Jmeter脚本录制:抓取IOS手机请求包!
现在移动端的项目越来越多,今天给大家介绍一下,在IOS下Jmeter如何抓包。 1、电脑连上wifi; 2、Jmeter中配置“HTTP代理服务器” 1)启动Jmeter; 2)“测试计划”中添加“线程组”; 3)“测试计划”中添加“HTTP代理服务器”&#…...
大数据分析案例-基于随机森林算法构建电影票房预测模型
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...
关于Gitlab用户登录提示无限重定向循环ERR_TOO_MANY_REDIRECTS
#工作笔记# 查阅了网上所有相关的记录,都没有解决gitlab登录/users/sign_up/welcome提示ERR_TOO_MANY_REDIRECTS,好在最终解决了,记录在此。 先说下起因: github哼哼不想用了,原因太多,所以内部讨论用git…...
突破瓶颈,提升开发效率:Spring框架进阶与最佳实践-IOC
IOC相关内容 1.1 bean基础配置1.1.1 bean基础配置(id与class)1.1.2 bean的name属性步骤1:配置别名步骤2:根据名称容器中获取bean对象步骤3:运行程序 1.1.3 bean作用范围scope配置1.1.3.1 验证IOC容器中对象是否为单例验证思路具体实现 1.1.3.2 配置bean为非单例1.1.…...
西方网络安全人才培养的挑战及对策
文章目录 前言一、网络安全人才力量发展现状(一)注重从战略上重视网络安全人才培养和发展。(二)注重从多渠道多路径招募网络安全人才。(三)注重分层次分阶段系统规划网络安全人才培养模式。(四)注重通过实践锻炼进一步提升网络攻防实战能力。二、网络安全人才面临的形势…...
计算机网络之三次握手,四次挥手
TCP(传输控制协议)是一种面向连接的、可靠的传输层协议,用于在网络中的两个应用程序之间建立可靠的通信连接。TCP的核心特征之一是它使用“三次握手”过程来建立连接,以及“四次挥手”过程来终止连接。 三次握手(建立…...
深度强化学习(王树森)笔记09
深度强化学习(DRL) 本文是学习笔记,如有侵权,请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接:https://github.com/wangshusen/DRL 源代码链接:https://github.c…...
调试OpenHarmony应用/服务
调试流程 DevEco Studio提供了丰富的OpenHarmony应用/服务调试能力,帮助开发者更方便、高效的调试应用/服务。 OpenHarmony应用/服务调试支持使用真机设备调试。使用真机设备进行调试前,需要对HAP进行签名后进行调试。详细的调试流程如下图所示&#x…...
【NGINX】NGINX如何阻止指定ip的请求
业务场景: web页面做了一个功能,在websocket请求失败的情况,会定时向服务端进行重试进行建立连接。 存在的问题是即使这个web系统没人操作的情况下,只要页面没有关闭,即使系统超时了页面也没有发生跳转,这…...
PHP抽奖设置中奖率,以及防高并发
一、中奖率,先在后台设定好奖项名称,抽奖份数,以及中奖百分比 奖品表draw 二、 借助文件排他锁,在处理下单请求的时候,用flock锁定一个文件,如果锁定失败说明有其他订单正在处理,此时要么等待要么直接提示用户"服务器繁忙" 阻塞(等待)模式,一般都是用这个模…...
使用.NET6 Avalonia开发跨平台三维应用
本文介绍在Vistual Studio 2022中使用Avalonia和集成AnyCAD Rapid AvaloniaUI三维控件的过程。 0 初始化环境 安装Avalonia.Templates dotnet new install Avalonia.Templates若之前安装过可忽略此步骤。 1 创建项目 选择创建AvaloniaUI项目 选一下.NET6版本和Avalonia版…...
linux(ubuntu)中crontab定时器命令详解 以及windows中定时器
文章目录 linux(ubuntu)中crontab定时器命令详解基本语法crontab 文件格式通配符示例在Ubuntu中,定时任务cron服务默认被安装。可以通过以下命令操作该服务:其他注意事项windows中定时器任务的创建步骤:常规触发器操作…...
一文讲清楚规则、Skill、MCP
想象一下,你要开一家餐厅,并招聘了一位AI员工。这三样东西,就是你管理这位新员工的完整装备。1. 规则 —— 餐厅的“企业文化手册”• 这是什么:这是你给AI员工的第一份文件,一本总纲领、总章程。它不教具体怎么做菜&a…...
ARM Trace Buffer扩展与调试同步机制详解
1. ARM Trace Buffer扩展与调试状态同步机制解析在嵌入式系统和处理器架构设计中,调试与追踪技术是开发人员不可或缺的工具。ARM架构通过Trace Buffer Extension(TBE)提供了强大的指令级执行流追踪能力,其核心原理是通过专用硬件单…...
各个AI公司都在玩的Harness 架构:Harness架构深度解析
Harness 架构深度解析为什么 AI 智能体的未来不是框架,而是「运行壳」TL;DR 三分钟看懂这篇文章•当 Claude Code、Cursor、Codex、Windsurf 四款产品独立演化出几乎相同的内部架构时,一种叫做 Harness(运行壳)的新形态浮出水面。…...
07-大模型智能体开发工程师:提示词工程(Prompt Engineering)
系列文章导航:AI系列文章导航目录-持续更新中 第07课:提示词工程(Prompt Engineering) 📝 本文摘要:本文系统讲解提示词工程的核心认知和方法论,包括六大设计原则(清晰明确、给出示例…...
小学期学习——第二周
一、本周学习视频6-7学习了单电源供电的二阶低通滤波器以及电子计数法,并对仿真进行了改进。二、绘制了PCB原理图学习使用嘉立创EDA,并且绘制了PCB原理图。...
CSS伪类详解:从基础到高级应用
CSS伪类详解:从基础到高级应用 一、什么是CSS伪类 CSS伪类是一种选择器,用于选择处于特定状态的元素。它们以冒号 : 开头,可以为元素的不同状态设置不同的样式。伪类的强大之处在于它们能够根据用户交互、文档结构或元素状态来动态改变样式&a…...
2026最新免费图片去水印工具详细教程丨手把手教会你,一看就会
你是不是也遇到过这样的抓狂时刻:相册里翻到一张超好看的壁纸,刚想设成桌面,角落那个大大的水印瞬间让人没了心情;做课件做汇报,急需一张干净的产品图,翻遍全网不是带标的就是要付费;刷视频看到…...
CentOS 7服务器上,从禁用Nouveau到成功点亮NVIDIA显卡的保姆级实录
CentOS 7服务器NVIDIA显卡驱动部署全指南:从Nouveau禁用到CUDA环境搭建当你第一次在CentOS 7服务器上部署NVIDIA显卡驱动时,那个看似简单的"禁用Nouveau"步骤往往会成为整个安装过程中最大的绊脚石。作为一位经历过无数次驱动安装的老手&#…...
太顶了!只需输入需求,这几款一键生成论文工具自动生成毕业论文初稿!
毕业季论文焦虑?还在为选题、查资料、写大纲、找文献发愁?现在只需输入需求,AI 论文工具就能一键生成图文并茂的毕业论文初稿,从开题到定稿全流程搞定!千笔AI、ThouPen、豆包、DeepSeek、元宝这五款 AI 论文神器实测&a…...
C# MQTT性能优化:工业级高可靠低带宽实战指南
上个月给某汽车零部件厂做产线改造,差点栽在MQTT上。 现场环境你懂的,几百个传感器同时发数据,带宽只有可怜的2Mbps,还时不时断网。一开始用的是网上随便找的MQTT客户端代码,结果上线第一天就炸了。 消息延迟最高到了3…...
