prometheus监控elasticsearch

本文档介绍了如何在Docker环境下部署Elasticsearch 6.7.1并安装Prometheus exporter插件,然后配置Prometheus以监控Elasticsearch,并在Grafana中导入模板进行可视化展示。详细步骤包括下载插件、安装、配置Prometheus和Grafana监控模板。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.elasticsearch 

版本:docker 部署的 6.7.1

根据不同的版本到 https://github.com/vvanholl/elasticsearch-prometheus-exporter/tags 找到对应版本的插件地址。

进入docker 执行,此处为6.7.1版本

./bin/elasticsearch-plugin install -b https://github.com/vvanholl/elasticsearch-prometheus-exporter/releases/download/6.7.1.0/prometheus-exporter-6.7.1.0.zip

安装成功显示

-> Downloading https://github.com/vvanholl/elasticsearch-prometheus-exporter/releases/download/6.7.1.0/prometheus-exporter-6.7.1.0.zip
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.lang.RuntimePermission accessClassInPackage.sun.misc
* java.lang.RuntimePermission accessDeclaredMembers
* java.lang.reflect.ReflectPermission suppressAccessChecks
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
-> Installed prometheus-exporter

2.promethues

配置prometheus.yml 

targets:  你的es机器主机地址

scrape_configs:
  - job_name: 'elasticsearch'
    metrics_path: "/_prometheus/metrics"
    static_configs:
    - targets: [ '172.16.15.54:9200']
    - targets: [ '172.16.15.188:9200']
    - targets: [ '172.16.15.122:9203']

重启prometheus 生效,并进入prometheus 查看 status-Service Discovery ,如图

3.grafana

配置监控模版,import导入266模版

4.监控实图

 

 

### 配置 Prometheus 监控 Elasticsearch #### 安装与配置 Prometheus Elasticsearch Exporter 为了使 Prometheus 能够监控 Elasticsearch,需先安装并配置 Prometheus Elasticsearch Exporter。此工具可以用于监控 Elasticsearch 集群的健康状况、查询性能和资源使用情况[^2]。 ```bash # 下载适合操作系统的版本 wget https://github.com/prometheus/elasticsearch_exporter/releases/download/vX.X.X/elasticsearch_exporter-vX.X.X.linux-amd64.tar.gz tar xvzf elasticsearch_exporter*.tar.gz cd elasticsearch_exporter* ./elasticsearch_exporter --web.listen-address=":9108" ``` 上述命令会启动一个 HTTP 服务,默认监听 `9108` 端口,该端口可按实际需求修改。 #### 修改 Exporter 配置文件 根据具体的监控需求,在 exporter.cfg 文件中定义要抓取的数据项,确保只收集必要的关键指标来减少开销。例如: ```yaml es.uri: "http://localhost:9200/" metrics_path: "/_prometheus/metrics" cluster_health: level: cluster indices_stats: include_indices: ["index_name"] nodes_stats: metrics: ["fs", "jvm", "process", "thread_pool", "transport", "http", "breaker"] ``` 以上 YAML 片段展示了如何指定特定索引名称以及所需节点级别的度量标准。 #### 设置 Prometheus 抓取目标 编辑 Prometheus 的配置文件 prometheus.yml 添加新的 job 来指向已部署好的 Elasticsearch Exporter 实例: ```yaml scrape_configs: - job_name: 'elasticsearch' static_configs: - targets: ['localhost:9108'] ``` 这一步骤使得 Prometheus 开始定期从指定地址拉取数据[^1]。 #### 创建告警规则 利用 Prometheus 提供的强大表达式语言 PromQL 设定合理的阈值触发条件,当满足这些条件时即刻发出通知提醒管理员注意潜在问题的存在。比如检测某个节点是否离线或响应时间超过预期等情形。 ```yaml groups: - name: example rules: - alert: InstanceDown expr: up == 0 for: 5m labels: severity: page annotations: summary: "Instance {{ $labels.instance }} down" ``` 这段配置表示如果某实例连续五分钟未能成功上报状态,则触发名为 “InstanceDown”的警告,并附带简短描述信息给相关人员知晓。 通过遵循上述最佳实践方法论,能够有效地实现对 Elasticsearch 集群的有效监督,及时发现并解决可能出现的各种异常现象,从而保障整个搜索服务平台稳定可靠运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值