MongoDB在CentOS上的监控工具有哪些
小樊
44
2025-12-21 10:14:44
MongoDB在CentOS上的监控工具与用法
一 内置与命令行工具
- mongostat:实时查看实例的插入/查询/更新/删除操作数、连接数、网络与磁盘活动等,适合快速巡检与临时排障。示例:
mongostat --host 127.0.0.1 --port 27017 --username admin --password yourpassword。
- mongotop:按库/集合维度展示读写耗时,定位热点集合。示例:
mongotop --host 127.0.0.1 --port 27017。
- MongoDB Shell:通过
db.serverStatus() 获取内存、连接、网络、操作计数等详细指标;用 db.stats() 查看数据/索引大小等库级统计。示例:mongo --eval 'db.serverStatus()'。
- systemctl:监控服务运行状态与启动时间、进程号等。示例:
systemctl status mongod。
- 日志:查看 /var/log/mongodb/mongod.log 获取错误、慢查询、回滚等事件。示例:
tail -f /var/log/mongodb/mongod.log。
二 系统级监控工具
- top/htop:观察 mongod 进程的 CPU、内存占用。示例:
top -p $(pgrep -d',' mongod)。
- iostat:查看磁盘 IOPS、吞吐、await 等,判断磁盘瓶颈。示例:
iostat -x 1。
- vmstat:整体资源与上下文切换、swap情况。示例:
vmstat 1。
这些工具与 MongoDB 指标结合,有助于区分数据库问题与系统资源瓶颈。
三 第三方监控与可视化
- Prometheus + Grafana + MongoDB Exporter:以 Exporter 暴露指标,Prometheus 抓取,Grafana 展示与告警。示例:启动 Exporter 监听 :9114,在 Prometheus 配置
scrape_configs 中加入 targets: ['localhost:9114'],Grafana 选择 Prometheus 数据源并导入 MongoDB 仪表盘。
- Zabbix / Nagios:企业级监控与阈值告警方案,可通过脚本/插件采集 MongoDB 指标与状态,适合统一运维平台。
- MongoDB Compass:官方图形化工具,直观查看性能指标、索引使用、查询分析等,适合开发/DBA 日常巡检。
四 快速上手建议
- 日常巡检组合:mongostat(每秒刷新) +
db.serverStatus()(关键指标) + tail -f /var/log/mongodb/mongod.log(异常与慢日志)。
- 性能定位组合:mongotop(热点集合) + iostat/vmstat(系统瓶颈) +
db.serverStatus()(连接、缓存、页面错误等)。
- 长期可视化:部署 MongoDB Exporter → Prometheus → Grafana,配置告警规则(如连接数、复制延迟、磁盘空间)。
- 安全与权限:为监控账号授予只读诊断权限(如
clusterMonitor、readAnyDatabase),避免在生产环境使用管理员账号直连采集。