最近一直在看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/
文章转载自虞大胆的叽叽喳喳,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




