Prometheus监控Elasticsearch指标

Prometheus 可以很方便的监控 Elasticsearch 的指标。

方式一:

通过启动ES自带的监控模块暴露指标数据,主要步骤如下:

  1. 在 Elasticsearch 中启用监控模块修改 Elasticsearch 的配置文件,加入监控相关配置:
xpack.monitoring.collection.enabled: true  # 启用监控收集
http.cors.enabled: true
http.cors.allow-origin: "*"  # 设置跨域访问

重启 Elasticsearch 实例后,监控相关 API 会自动启用。

  1. 配置 Prometheus 监控 Elasticsearch
    在 Prometheus 的配置文件中添加 Elasticsearch 的 job:
scrape_configs:
- job_name: 'elasticsearch'
  metrics_path: "/_prometheus/metrics"
  static_configs:
  - targets: 
    - "es-master:9200"     # Elasticsearch master 节点地址
  1. Prometheus 初始抓取后,可以在控制台看到 Elasticsearch 的相关指标,如:
  • es_process_cpu_seconds_total # CPU 时间
  • es_jvm_memory_bytes_committed # JVM 内存占用
  • es_indices_indexing_index_total # 索引次数
  • es_nodes_fs_total_bytes # 节点磁盘空间占用
  • 等等
  1. 根据指标定义告警规则
    当某些关键指标超过阈值时,Prometheus 可以发出告警,如:
groups:
- name: elasticsearch 
  rules:
  - alert: ElasticsearchNodeDown
    expr: up{job="elasticsearch", instance="es-master:9200"} == 0
    for: 5m
    labels:
      severity: critical
    annotations:
      summary: "Elasticsearch master node is down"  

Prometheus 通过监控 Elasticsearch 的 API 获取各种监控指标,并根据阈值规则发出告警,这可以实现对 Elasticsearch 集群状态的实时监控与报警。

方式二:

通过 Elasticsearch Exporter 来暴露Elasticsearch指标。
安装 Elasticsearch Exporter 以获取 Elasticsearch 集群的 metrics 数据,步骤如下:
(其它安装方式:https://github.com/prometheus-community/elasticsearch_exporter)

  1. 下载 Elasticsearch Exporter
wget https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.5.0/elasticsearch_exporter-1.5.0.linux-amd64.tar.gz
  1. 配置 Elasticsearch Exporter
    修改 elasticsearch_exporter.yml 配置文件,例如:
cluster.server: http://localhost:9200  # Elasticsearch host
cluster.timeout: 10s 

es.all: true          # Export all metrics
es.indices: true      # Export index metrics
es.shards: true       # Export shard metrics
es.nodes: true         # Export node metrics
es.cluster_settings: true   # Export cluster settings
  1. 启动 Elasticsearch Exporter
    直接运行 elasticsearch_exporter二进制文件即可:
    -config.file启动项:添加配置文件
    其它启动项:可执行elasticsearch_exporter --help查看。
./elasticsearch_exporter -config.file=elasticsearch_exporter.yml

默认会监听 9114 端口,可以配置web.listen-address启动项修改监听端口。

  1. Prometheus 配置抓取
    在 Prometheus 配置文件中添加如下抓取任务:
scrape_configs:
  - job_name: elasticsearch
    metrics_path: /probe
    static_configs:
      - targets: ['es1:9114', 'es2:9114']  # 对应 exporter 端口

重启 Prometheus,就可以看到有关 Elasticsearch metrics 的监控数据了。

exporter 支持两种工作模式:

  • 服务发现模式:通过 _cat/nodes 检索 Elasticsearch 集群的节点信息,动态发现节点并抓取指标数据。要启用此模式,在配置文件中不要指定 cluster.server 选项。
  • 静态模式:手动指定要抓取的节点,需要显式配置 cluster.server 选项指向 Elasticsearch 集群的 API endpoint。
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Prometheus是一种一站式监控告警平台,它支持对云或容器的监控,并且具有功能齐全、依赖少的特点。相比其他系统主要对主机监控Prometheus具有更强大的数据查询语句表现力和内置统计函数。然而,在数据存储扩展性和持久性方面,Prometheus不如InfluxDB、OpenTSDB和Sensu好。\[1\] 要对elasticsearch进行监控,可以使用基于事件的触发来修改指标的值。通常,这些指标需求来自业务方面,例如自研的应用需要将相关指标暴露给Prometheus进行监控和展示。在自研应用的代码中嵌入指标采集的代码(指标定义和设置值),可以实现这一目的。\[2\] 此外,任何遵循Prometheus数据格式并提供监控指标的程序都可以称为Exporter。在Prometheus社区中,有许多可供选择的Exporter,如node_exporter。这些Exporter可以帮助我们监控各种不同的系统和服务。\[3\] 综上所述,要详细了解Prometheuselasticsearch监控指标,可以使用基于事件的触发来修改指标的值,并使用适当的Exporter来收集和展示这些指标。 #### 引用[.reference_title] - *1* [prometheus 监控概述](https://blog.csdn.net/WuDan_1112/article/details/126074566)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Prometheus监控实战之exporter详解](https://blog.csdn.net/ygq13572549874/article/details/129114047)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值