prometheus监控elasticsearch集群

prometheus监控es,一样采用exporter的方案。html

项目地址:linux

elasticsearch_exporter:https://github.com/justwatchcom/elasticsearch_exporternginx

一、安装部署

现有es三节点的集群,环境大概以下:git

主机 组件
192.168.75.11 prometheus
192.168.75.21

es,kibana,nginxgithub

 

 

 

 

接着分别在如上三台主机上进行以下配置:web

wget https://github.com/justwatchcom/elasticsearch_exporter/releases/download/v1.1.0/elasticsearch_exporter-1.1.0.linux-amd64.tar.gz
tar -zxv -f elasticsearch_exporter-1.1.0.linux-amd64.tar.gz
mv elasticsearch_exporter-1.1.0.linux-amd64 /usr/local/elasticsearch_exporter

建立用户等json

groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
chown -R prometheus.prometheus /usr/local/elasticsearch_exporter

启动监控客户端:vim

nohup ./elasticsearch_exporter --web.listen-address ":9308"  --es.uri http://192.168.75.21:9200 &

使用systemd管理:curl

cat /lib/systemd/system/es_exporter.service

[Unit]
Description=The es_exporter
After=network.target

[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/elasticsearch_exporter/elasticsearch_exporter --web.listen-address ":9308" --es.uri http://192.168.75.21:9200
Restart=on-failure

[Install]
WantedBy=multi-user.target

启动:elasticsearch

systemctl daemon-reload
systemctl start es_exporter
systemctl enable es_exporter

查看metrics:

curl 127.0.0.1:9308/metrics

二、配置 prometheus.yml 添加监控目标

vim /usr/local/prometheus/prometheus.yml

  - job_name: 'elasticsearch'
    scrape_interval: 60s
    scrape_timeout:  30s
    metrics_path: "/metrics"
    static_configs:
    - targets: ['192.168.75.21:9308']
      labels:
       service: elasticsearch

重启服务。

systemctl restart prometheus

或者经过命令热加载:

curl  -XPOST localhost:9090/-/reload

三、配置 Grafana 的模板

模板经过json文件进行导入,文件就在解压的包内。

参考地址:https://shenshengkun.github.io/posts/550bdf86.html

或者经过以下ID进行导入:2322以及其余。

 

 

 

 四、开启认证的启动方式

若是es开启了认证,那么启动的时候须要将用户名密码加载进去:

elasticsearch_exporter --web.listen-address ":9308"  --es.uri http://username:password@192.168.75.21:9200 & 

其中使用的是monitoring的用户密码。

固然,除去这种命令行的启动方式以外,还能够像上边同样,基于systemd进行管理,只需将认证的参数信息写入到以下内容当中:

参考网址:https://github.com/justwatchcom/elasticsearch_exporter

 

cat /etc/default/elasticsearch_exporter

[Unit]
Description=The es_exporter
After=network.target

[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/elasticsearch_exporter/elasticsearch_exporter --web.listen-address ":9308" --es.uri=http://username:password@192.168.75.21:9200
Restart=on-failure

[Install]
WantedBy=multi-user.target

相关文章
相关标签/搜索