MongoDB Ubuntu性能监控工具清单与选型建议
一 内置与官方工具
- mongostat:实时查看数据库负载(如inserts/s、queries/s、updates/s、deletes/s、conn、locked %),用于快速判断是否存在高并发、锁争用等问题。
- mongotop:按集合统计读写耗时,定位耗时操作集中的集合,辅助排查慢查询与索引缺失。
- db.serverStatus() / db.collection.stats():在 mongosh 中查看实例与集合层面的详细指标与统计信息。
- MongoDB Compass:官方图形化工具,直观查看性能指标、索引、查询分析等,适合开发与日常巡检。
- MongoDB Cloud Manager:官方云服务,提供监控、告警、备份与自动化等一体化能力,适合生产环境持续观测。
二 命令行与脚本
- mongo shell:执行内置命令(如serverStatus、collection.stats)做即时诊断与数据抽取,便于编写巡检脚本与导出指标。
三 开源监控栈 Prometheus Grafana MongoDB Exporter
- MongoDB Exporter:采集 MongoDB 指标,默认监听9333端口,供 Prometheus 抓取。
- Prometheus:时序数据库与抓取调度,配置抓取 MongoDB Exporter 的 /metrics。
- Grafana:可视化平台,连接 Prometheus 数据源,使用或导入 MongoDB 仪表板进行展示与告警。
- 典型流程:部署 Exporter → 配置 Prometheus 的 scrape_configs 指向 Exporter → Grafana 添加 Prometheus 数据源并导入面板。
四 企业级与第三方监控
- Percona Monitoring and Management PMM:面向数据库的专业监控方案,支持 MongoDB 的深入指标、查询分析与可视化,适合需要更全面诊断能力的团队。
五 选型与快速上手建议
- 轻量即时诊断:优先用 mongostat / mongotop / db.serverStatus(),几分钟内定位负载与慢集合。
- 图形化与日常运维:选择 MongoDB Compass 做可视化巡检与索引/查询分析。
- 生产可观测与告警:搭建 Prometheus + Grafana + MongoDB Exporter,形成指标采集、存储、可视化与告警闭环。
- 权限与安全:为监控账号授予 clusterMonitor 角色,确保能采集到集群级指标(如 mongostat 等需要该角色)。