cover_image

prometheus监控mongodb真的太方便了

虞大胆 虞大胆的叽叽喳喳
2020年10月10日 15:19

最近一直在看prometheus中的数据,发现很多指标其实并不明白含义,所以打算系统性的看下,再加上最近mongodb挂过,所以就从部署mongodb监控开始。

1:寻找exporter

首先就是找到一个mongodb exporter,相当于一个agent,用于收集mongodb指标数据。

可以使用percona出厂的exporter,安装很简单,建议以service的方式运行,编辑/lib/systemd/system/mongodb_exporter.service文件:

[Unit]
Description=MongoDB Exporter
User=root

[Service]
Type=simple
Restart=always
ExecStart=mongodb_exporter  --mongodb.uri=mongodb://localhost:27017

[Install]
WantedBy=multi-user.target

然后运行:

systemctl start mongodb_exporter.service

改exporter暴露的endpoint端口是9216,是否安装成功,可以运行:

curl http://localhost:9216/metrics

2:在prometheus中配置mongodb endpoint

- job_name: 'mongodb'
    static_configs:
    - targets: ['ip:9216']

3:安装MongoDB dashboards

在grafana中导入MongoDB dashboard,我选择的是https://grafana.com/grafana/dashboards/12079。

4:可以看到哪些指标数据

可以查看副本集状态、服务器状态、Oplog指标、WiredTiger引擎等。

5:报警

目前配置的报警比较简单,基于mongodb进程是否存在决定报警。使用的指标mongodb_up,如下图:

图片

参考:

  • https://github.com/percona/mongodb_exporter
  • https://devconnected.com/mongodb-monitoring-with-grafana-prometheus/
继续滑动看下一个
虞大胆的叽叽喳喳
向上滑动看下一个