Prometheus(八):Prometheus监控elasticsearch及常用API

news/2024/9/19 22:04:10/ 标签: prometheus, elasticsearch, jenkins

目录

  • 1 Prometheus监控elasticsearch
    • 1.1 启动ES自带的监控模块暴露指标数据
    • 1.2 通过Prometheus的插件 Elasticsearch Exporter来获取指标数据
      • 1、简介
      • 2、安装
      • 3、Prometheus配置
  • 2 Prometheus常用API
    • 2.1 查询
    • 2.2 删除
    • 2.3 注册服务

elasticsearch_1">1 Prometheus监控elasticsearch

使用Prometheus获取Elasticsearch的监控指标,一共有两者方法:

  • 通过启动ES自带的监控模块暴露指标数据
  • 通过Prometheus的插件 Elasticsearch Exporter来获取指标数据

1.1 启动ES自带的监控模块暴露指标数据

通过启动ES自带的监控模块暴露指标数据,主要步骤如下:
1、在 Elasticsearch 中启用监控模块修改 Elasticsearch 的配置文件,加入监控相关配置:

xpack.monitoring.collection.enabled: true  # 启用监控收集
http.cors.enabled: true
http.cors.allow-origin: "*"  # 设置跨域访问

重启 Elasticsearch 实例后,监控相关 API 会自动启用。
2、配置 Prometheus 监控 Elasticsearch
在 Prometheus 的配置文件中添加 Elasticsearch 的 job:

scrape_configs:
- job_name: 'elasticsearch'metrics_path: "/_prometheus/metrics"static_configs:- targets: - "es-master:9200"     # Elasticsearch master 节点地址

3、Prometheus 初始抓取后,可以在控制台看到 Elasticsearch 的相关指标,如:

  • es_process_cpu_seconds_total # CPU 时间
  • es_jvm_memory_bytes_committed # JVM 内存占用
  • es_indices_indexing_index_total # 索引次数
  • es_nodes_fs_total_bytes # 节点磁盘空间占用
  • 等等

4、根据指标定义告警规则
当某些关键指标超过阈值时,Prometheus 可以发出告警,如:

groups:
- name: elasticsearch rules:- alert: ElasticsearchNodeDownexpr: up{job="elasticsearch", instance="es-master:9200"} == 0for: 5mlabels:severity: criticalannotations:summary: "Elasticsearch master node is down"  

1.2 通过Prometheus的插件 Elasticsearch Exporter来获取指标数据

1、简介

Elasticsearch Exporter主要是用来获取 Elasticsearch的指标数据,是使用Go语言写的,端口号为:9114

2、安装

# 下载安装
wget https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.6.0/elasticsearch_exporter-1.6.0.linux-amd64.tar.gz
tar -zxf elasticsearch_exporter-1.6.0.linux-amd64.tar.gz -C /usr/local/# 配置快速启动文件
cat > /lib/systemd/system/elasticsearch_exporter.service << EOF
[Unit]
Description=elasticsearch_exporter
After=syslog.target network.target
[Service]
Type=simple
RemainAfterExit=no
WorkingDirectory=/usr/local/elasticsearch_exporter-1.6.0.linux-amd64/
User=root
Group=root
ExecStart=/usr/local/elasticsearch_exporter-1.6.0.linux-amd64/elasticsearch_exporter  --es.all --es.indices --collector.clustersettings --es.node="elk" --es.indices_settings --es.shards --es.snapshots --es.timeout=5s --web.listen-address ":9114" --web.telemetry-path "/metrics" --es.ssl-skip-verify --es.clusterinfo.interval=5m --es.uri https://elastic:password@192.168.92.100:9200
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
EOF
### 参数说明
--es.all:查询集群中所有节点的统计信息
--es.indices:查询集群中所有索引的统计信息
--es.indices_settings:查询集群中所有索引的设置状态
--collector.clustersettings:查询集群设置的统计信息(从v1.6.0开始,此标志已取代" .cluster_settings")
--es.node:需要获取指标的节点min
--es.shards:查询集群中所有索引的统计信息,包括分片级统计信息
--es.snapshots:导出集群快照的统计信息 
--es.timeout=5s:尝试从Elasticsearch获取统计信息超时 
--web.listen-address ":9114":地址监听网络接口,默认是9114
--es.uri http://用户:口令@IP:端口 :应该连接到的Elasticsearch节点的地址(主机和端口)。
--web.telemetry-path "/metrics":指标路径
--es.ssl-skip-verify:连接Elasticsearch时跳过SSL验证
--es.clusterinfo.interval=5m:集群标签的集群信息更新间隔# 启动
systemctl daemon-reload
systemctl start elasticsearch_exporter.service # 查看
192.168.92.100:9555/metrics

3、Prometheus配置

cat prometheus.yml- job_name: 'elasticsearch'scrape_interval: 15sscrape_timeout: 15smetrics_path: /metricsstatic_configs:- targets: ['192.168.92.100:9555']systemctl restart prometheus

2 Prometheus常用API

在Prometheus中,API的使用很常见,以下是常见的几个

2.1 查询

# 接口查询
curl http://localhost:9090/api/v1# 查询时间段内的
curl 'http://localhost:9090/api/v1/query_range?query=up&start=2023-12-10T20:10:30.781Z&end=2023-12-11T20:11:00.781Z&step=15s'# 获取到所有job
curl http://127.0.0.1:9090/api/v1/label/job/values# 查询10秒内数据
curl http://127.0.0.1:9090/api/v1/query_range?query=my_job&start=1607999428.447&end=1607999468.447&step=10s# 查询当前
curl http://127.0.0.1:9090/api/v1/query?query=network_traffic_input# 查询元数据
curl -g 'http://localhost:9090/api/v1/series?match[]=up&match[]=process_start_time_seconds{job="prometheus"}'

2.2 删除

# 删除某个标签匹配的数据
curl -X POST -g 'http://localhost:9090/api/v1/admin/tsdb/delete_series?match[]={instance="172.18.0.2:8300"}'curl -X POST -g 'http://192.168.92.100:9090/api/v1/admin/tsdb/delete_series?match[]=job="pushgateway"}&start<2023-02-26T00:00:00Z&end=2023-12-11T00:00:00Z'# 删除指定 Metric 名称全部数据.只是将数据标记为删除,实际的数据(tombstones)仍然存在于磁盘上,其在将来的某一时刻会被Prometheus清除释放空间,也可以通过数据清理接口显式地清除。
curl -X PUT -g 'http://127.0.0.1:9090/api/v1/admin/tsdb/delete_series?match[]=up{job="pushgateway"}&start=2023-08-01T00:00:00.000Z'# 删除单个instance的数据
curl -X PUT -g 'http://127.0.0.1:9090/api/v1/admin/tsdb/delete_series?match[]={instance="192.168.92.100:9100"}'
# 删除所有instance的数据,
curl -X PUT -g 'http://127.0.0.1:9090/api/v1/admin/tsdb/delete_series?match[]={instance=~".*"}&start>2023-02-26T00:00:00Z&end=2023-12-12T03:30:00Z'# 从磁盘删除已经被 delete_series 接口删除的数据,并清理现有的 tombstones
curl -X POST http://192.168.92.100:9090/api/v1/admin/tsdb/clean_tombstonescurl -XDELETE -g 'http://localhost:9090/api/v1/series?match[]=up&match[]=process_start_time_seconds{job="prometheus"}'

2.3 注册服务

consul注册服务
curl -X PUT -d '{"id": "test1","name": "test1","address": "192.24.17.156","port": 9500,"tags": ["dev"],"checks": [{"http": "http://192.24.17.156:9500/","interval": "5s"}]}'     http://192.24.17.156:8500/v1/agent/service/register

http://www.ppmy.cn/news/1521284.html

相关文章

AI在医学领域:基础模型和视觉-语言模型在计算病理学应用概述

近年来&#xff0c;人工智能&#xff08;AI&#xff09;基于方法在计算病理学&#xff08;CPath&#xff09;领域中的应用迅速增长&#xff0c;这主要得益于数字幻灯片扫描仪的广泛采用。因此&#xff0c;大规模的全幻灯片图像&#xff08;Whole Slide Images, WSIs&#xff09…

盘点4款超好用的电脑数据恢复工具

如今我们的生活和工作越来越离不开电脑&#xff0c;因此电脑里面也储存了我们大量的数据&#xff1a;图片&#xff0c;文档&#xff0c;工作资料等。但是这些重要数据却会因为误删除、病毒攻击、系统崩溃等原因遭到丢失。所以数据恢复软件就变得十分的重要&#xff0c;今天&…

零基础转行学网络安全怎么样?

&#x1f91f; 基于入门网络安全打造的&#xff1a;&#x1f449;黑客&网络安全入门&进阶学习资源包 如果您对转行学习网络安全感兴趣&#xff0c;以下是一些分析和建议&#xff1a; 一、网络安全行业的前景 网络安全行业作为一个新兴且不断发展的领域&#xff0c;具…

天润融通解开售后维修的成本枷锁,提高维修服务效率

如今&#xff0c;企业客户服务在开展业务咨询和售后受理时&#xff0c;主要方式还是通过电话与在线方式进行。这种方式虽然方便&#xff0c;但是对于一些非常紧急的情况还是显得有些不够。 比如&#xff0c;虽然现在许多企业APP已经实现了一键咨询和一键报修&#xff0c;但当客…

基于JAVA+SpringBoot+Vue的大学校园回忆录系统

基于JAVASpringBootVue的大学校园回忆录系统 前言 ✌全网粉丝20W,csdn特邀作者、博客专家、CSDN[新星计划]导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末附源码下载链接&#x1f345; …

vscode +STM32 VS CODE EXTENSION

stm32 vs code extersion 1.0.0版本可以直接导入cubeide的工程&#xff0c;之后版本不可以&#xff0c;所以为了省事&#xff0c;使用stm32 vs code extersion 1.0.0插件。 安装完stm32 vs code extersion插件&#xff0c;会默认把相关插件一起安装。但是需要手动安装Ninja&am…

Nginx: TCP建立连接的优化和启用Fast Open功能

TCP 建立连接优化 在三次握手中&#xff0c;相关TCP的内核参数可优化这一过程 net.ipv4.tcp_syn_retries 6net.ipv4.tcp_synack_retries 5net.ipv4.tcp_syncookies 0net.ipv4.tcp_max_syn_backlognet.core.somaxconnnet.core.netdev_max_backlog 1 &#xff09; net.ipv4…

HTTP 之 消息结构(二十二)

HTTP&#xff08;超文本传输协议&#xff09;是一种用于传输超媒体文档的协议&#xff0c;它定义了客户端和服务器之间请求和响应的消息结构。HTTP消息由一系列标准头部字段、一个空行和可选的消息体组成。 客户端请求消息 请求消息包括以下格式&#xff1a;请求行&#xff08;…

VR虚拟驾驶未来发展_vr自动驾驶汽车所带来的改变

在自动驾驶汽车的基础上&#xff0c;VR虚拟现实技术的应用也让自动驾驶汽车更加智能化&#xff0c;能够实现更高级的驾驶体验&#xff0c;今天这篇文章就和大家一起探讨一下 VR虚拟驾驶未来发展的趋势&#xff0c;以及虚拟现实自动驾驶汽车所带来的几个改变。 一、VR 虚拟驾驶未…

hadoop的sbin

路径&#xff1a;opt/homebrew/sbin Hadoop 的 sbin 目录下包含了一系列 shell 脚本&#xff0c;用于启动、停止和管理 Hadoop 的各个组件和服务。下面逐一解释这些脚本的作用&#xff1a; 启动和停止脚本 start-all.sh 用于启动所有的 Hadoop 守护进程&#xff0c;包括 Name…

Qt-高DPI显示器

与标准DPI显示器相比&#xff0c;高DPI显示器增加了像素密度。 像素密度以每英寸点数(DPI)或每英寸像素(PPI)来衡量&#xff0c;由显示像素的数量和它们的大小决定。因此&#xff0c;单独的像素数量不足以确定显示器是否属于高dpi类别。 4K显示器有固定的像素数(约8米)&#x…

【时时三省】(C语言基础)指针进阶 例题2

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 第一个arr 数组名相当于首元素地址 因为他没有放到strlen内部 也没有取地址 strlen是找&#xff3c;0 找不到&#xff3c;0就不会停下来 所以它打印的就是随机值 第二个arr0 首元素地址加零还…

C++ 图形框架 Duilib

Duilib是一个开源的DirectUI界面库&#xff0c;遵循BSD协议&#xff0c;可以免费用于商业项目。它具有以下特点&#xff1a; 简约易扩展的设计&#xff1a;Duilib遵循简洁、清晰的设计理念&#xff0c;使得用户界面更加直观、易于使用。同时&#xff0c;它也提供了丰富的扩展接…

镭速传输助力汽车行业打造安全高效的大文件传输新纪元

在数字化浪潮的推动下&#xff0c;汽车行业正迈向智能化和互联互通的新阶段&#xff0c;这对数据传输和管理提出了更高标准。大文件的快速传输、长距离传输的效率、跨国数据的合规性与安全性、以及数据脱敏需求等&#xff0c;成为汽车企业数字化转型中必须面对的挑战。 传输效率…

达梦数据库-DM8 企业版安装指南

一、DM8 企业版简介 达梦数据库(DM8)是中国自主研发的一款高性能数据库管理系统,广泛应用于企业级应用场景。DM8 企业版具备高可用性、强一致性和高性能等特点,支持多种操作系统和硬件平台。本文将详细介绍如何在 Kylin 操作系统上安装达梦数据库 DM8 企业版。 二、安装前…

Linux系统使用Docker compose搭建开源文档系统Paperless-ngx

文章目录 前言1. 部署Paperless-ngx2. 本地访问Paperless-ngx3. Linux安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 前言 本文主要介绍如何在Linux系统本地部署Paperless-ngx开源文档管理系统&#xff0c;并结合cpolar内网穿透工具解决本地部署…

过滤器Filter(JavaEE有三大组件: servlet filter linstener)

目录 1、概念 2、过滤器作用 3、编写过滤器 4 过滤器链和优先级 4.1 过滤器链 2 过滤器优先级 5、过滤器应用:全局编码加身份认证拦截器 1、概念 过滤器&#xff08;Filter&#xff09;是处于客户端与服务器目标资源之间的一道过滤技术。 2、过滤器作用 执行顺序在Servl…

macos系统内置php文件列表 系统自带php卸载方法

在macos系统中, 自带已经安装了php, 根据不同的macos版本php的版本号可能不同, 我们可以通过 which php 命令来查看mac自带的默认php安装路径, 不过注意这个只是php的执行文件路径. 系统自带php文件列表 一下就是macos默认安装的php文件列表. macos 10.15内置PHP文件列表配置…

WebRTC协议下的视频汇聚融合技术:EasyCVR视频技术构建高效视频交互体验

视频汇聚融合技术是指将来自不同源、不同格式、不同网络环境的视频流进行集中处理、整合和展示的技术。随着视频监控、远程会议、在线教育、直播娱乐等领域的快速发展&#xff0c;视频数据的规模急剧增长&#xff0c;对视频处理能力和效率提出了更高要求。视频汇聚融合技术通过…

解决code ERESOLVE,pm ERR! ERESOLVE unable to resolve dependency tre问题

目录 一、错误原因二、解决方法 一、错误原因 “npm ERR! code ERESOLVE” 错误通常发生在执行 npm install 或者 npm ci 命令时&#xff0c;表示在解析依赖时发生了问题。可能的原因包括&#xff1a; 依赖版本冲突&#xff1a;不同依赖包要求使用相同的包的不同版本&#xf…