目录
-
- 一、创建MongoDB监控专用用户
- [二、安装MongoDB Exporter](#二、安装MongoDB Exporter)
- 三、启动Exporter服务
- 四、配置Systemd服务
- 五、服务管理命令
- 六、Prometheus集成配置
- 七、Grafana看板
内容概述
本教程详细演示了如何在Linux系统中部署MongoDB Exporter以监控MongoDB数据库,并将其集成到Prometheus监控体系。教程涵盖以下核心步骤:
- 创建具备监控权限的MongoDB专用用户
- 安装配置MongoDB Exporter二进制包
- 创建Systemd服务实现守护进程管理
- 配置Prometheus抓取Exporter指标
- 基础服务管理命令演示
一、创建MongoDB监控专用用户
bash
mongo -u admin -p 123456 --authenticationDatabase admin
- 切换至admin数据库
javascript
use admin
- 创建监控用户(包含集群监控和本地库读权限)
javascript
db.createUser({
user: "mongodb_expo",
pwd: "SecurePassword",
roles: [
{ role: "clusterMonitor", db: "admin" },
{ role: "read", db: "local" }
]
});
- 验证用户创建
javascript
db.getUser("mongodb_expo")
- 退出MongoDB
bash
ctrl+z
二、安装MongoDB Exporter
bash
# 创建安装目录
mkdir -p /usr/local/mongodb_exporter
# 解压安装包(需提前下载对应版本)
tar -zxvf mongodb_exporter-0.20.5.linux-amd64.tar.gz -C /usr/local/mongodb_exporter --strip-components=1
三、启动Exporter服务
bash
# 基础启动命令
/usr/local/mongodb_exporter/mongodb_exporter \
--mongodb.uri='mongodb://mongodb_expo:[email protected]:27017/admin' \
--web.listen-address=:9216 \
--compatible-mode
# 查看帮助参数
/usr/local/mongodb_exporter/mongodb_exporter --help
四、配置Systemd服务
bash
vim /usr/lib/systemd/system/mongodb_exporter.service
ini
[Unit]
Description=MongoDB Exporter
After=network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/local/mongodb_exporter/mongodb_exporter \
--mongodb.uri=mongodb://mongodb_expo:[email protected]:27017/admin \
--web.listen-address=:9216 \
--compatible-mode
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
五、服务管理命令
bash
# 重载systemd配置
systemctl daemon-reload
# 设置开机自启
systemctl enable mongodb_exporter
# 服务控制
systemctl stop mongodb_exporter
systemctl restart mongodb_exporter
systemctl status mongodb_exporter

六、Prometheus集成配置
bash
vim /usr/local/prometheus/prometheus.yml
yaml
scrape_configs:
- job_name: 'mongodb'
static_configs:
- targets: ['192.168.15.131:9216']
bash
# 应用配置变更(注意:原命令中的postgres_exporter应为笔误)
systemctl restart mongodb_exporter
七、Grafana看板
