1 elasticsearch_exporter

elasticsearch_exporter是一个用于监控和收集Elasticsearch集群关键性能指标的开源工具。它通过Prometheus的接口工作,为Elasticsearch集群提供全面的监控数据。

功能

  • 监控集群状态:elasticsearch_exporter能够实时监控Elasticsearch集群的健康状态和性能,包括节点状态、索引信息、JVM内存利用率等。
  • 数据收集与导出:该工具收集各种关键性能指标,并将这些数据导出为Prometheus可以识别的格式,便于后续的数据分析和可视化。
  • 兼容性与扩展性:elasticsearch_exporter设计灵活,兼容多种Elasticsearch版本,并可根据需要进行扩展,以适应不同的监控需求。
  • 告警与通知:结合Prometheus的告警机制,elasticsearch_exporter可以帮助设置性能阈值,并在达到这些阈值时触发告警,及时通知管理员。

应用场景

  • Elasticsearch性能调优:当Elasticsearch集群出现性能瓶颈时,可以帮助管理员快速定位问题,通过监控数据找出性能下降的原因,并进行相应的调优。
  • 预防故障与灾难恢复:通过实时监控关键指标,如节点状态和索引健康情况,可以及时发现潜在问题并采取措施,防止故障发生或加快灾难恢复过程。
  • 资源规划与容量管理:elasticsearch_exporter提供的监控数据可以帮助管理员更好地了解集群的资源使用情况,从而进行合理的资源规划和容量管理。
  • 服务级别协议(SLA)保障:对于企业级应用,保障特定的服务级别是至关重要的。通过elasticsearch_exporter的监控数据,可以确保Elasticsearch服务满足预定的性能指标。

1.1 安装配置elasticsearch_exporter

1.1.1 下载elasticsearch_exporter

下载地址
https://github.com/prometheus-community/elasticsearch_exporter/
加速下载
wget https://mirror.ghproxy.com/https://github.com/prometheus-community/elasticsearch_exporter/releases/download/v1.7.0/elasticsearch_exporter-1.7.0.linux-amd64.tar.gz

1.1.2 解压elasticsearch_exporter

tar -xf elasticsearch_exporter-1.7.0.linux-amd64.tar.gz -C /app/module/
ln -s /app/module/elasticsearch_exporter-1.7.0.linux-amd64/ /app/module/elasticsearch_exporter

1.1.3 配置postgres_exporter启动文件

vim /usr/lib/systemd/system/elasticsearch_exporter.service
[Unit]
Description=Elasticsearch Exporter
After=network.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/app/module/elasticsearch_exporter/elasticsearch_exporter \
  --es.all \
  --collector.snapshots \
  --collector.clustersettings \
  --es.indices \
  --es.indices_settings \
  --es.shards \
  --es.timeout=15s \
  --es.ssl-skip-verify \
  --es.uri http://192.168.137.131:9200
Restart=on-failure
[Install]
WantedBy=multi-user.target

1.1.4 启动elasticsearch_exporter

systemctl daemon-reload
systemctl start elasticsearch_exporter.service

1.1.5 查看指标

​​Prometheus监控之elasticsearch_elasticsearch

1.2 配置Prometheus

1、编辑Prometheus配置⽂件
  - job_name: "elasticsearch_exporter"
    metrics_path: "/metrics"
    static_configs:
    - targets: ["192.168.137.131:9114"]

2、重新加载Prometheus配置⽂件 
curl -X POST http://192.168.137.131:9090/-/reload

1.3 elasticsearch告警规则文件

告警规则⽂件参考

https://samber.github.io/awesome-prometheus-alerts/rules#elasticsearch

1.4 导入elasticsearch图形

导⼊ID 7259

​​Prometheus监控之elasticsearch_数据_02

导⼊ID 14191

​​Prometheus监控之elasticsearch_elasticsearch_03