es第三方监控方案

youncyb 发布于 2023-02-01 2668 次阅读 大数据


es第三方监控方案

0. 前言

本文采用elasticsearch_exporter作为收集器,Prometheus作为分析器,grafana作为展示面板,从而对ES集群的所有节点进行写入、读取、CPU、JVM等等指标监控。为了保证监控程序的健壮性,本文采用了systemctl进行失败自动重启和开机自启。

采用这套方案是因为该方案的指标比官方给出的metricbeat详细,比较利于排查问题原因和发现ES集群的潜在隐患。该方案只是对ES集群进行监控,对服务器的内存使用、磁盘使用、CPU使用没有进行监控。

1. 安装elasticsearch_exporter

elasticsearch_exporter是抓取指标的客户端,可以从elasticsearch获取运行状态指标。类似metricbeat,elasticsearch_exporter可以从主节点获取信息,也可以在每个数据节点部署。如果节点数量少,就采用从主节点获取;如果节点数量多,就采用从多个节点获取信息。

运行方式(默认监听9114端口):

配置失败自动启和开机自启动:

 

2. 安装Promethues

elasticsearch_exporter只能看临时的数据,无法看到连续的数据。而Promethues是用于存储elasticsearch_exporter收集的数据,可以通过ProSQL语言进行数据的查询。

配置文件:

由于目前没管告警配置,所以不需要关注alerting和rule_files,Prometheus默认收集了自身的信息,如:job_name: "prometheus"。为了收集elasticsearch_exporter数据,需要添加一个job_name,如上图所示。

默认设置,数据文件只会保留最近的15天,可以通过--storage.tsdb.retention.time=180d设置为180天。

运行方式(默认监听9090):

-web.enable-lifecle 选项可以自动识别配置文件是否改动

配置失败自动启和开机自启动:

3. 安装grafana

grafana是可视化界面,可以理解为prometheus的web ui界面,可以通过别人设计好的dashboard展示数据。

启动方式(默认监听3000):

第一次登录,需要修改密码。

添加数据源:

image-20220808171756833

填写Prometheus的ip和端口(默认9090):

image-20220808171842835

 

导入es的监控dashboard(https://grafana.com/grafana/dashboards/6483-elasticsearch/):

image-20220808171549752

image-20220808171707833

 

配置开机自启: