1. MongoDB自带命令行工具
mongostat --host localhost --port 27017 --username admin --password yourpassword --authenticationDatabase admin)。top命令,按集合维度展示读写操作耗时,帮助定位慢查询或高负载集合。用法与mongostat类似(如mongotop --host localhost --port 27017 --username admin --password yourpassword --authenticationDatabase admin)。db.serverStatus()获取服务器全局状态(如内存使用、连接数、锁等待时间),db.stats()查看数据库级统计(如数据大小、索引数量),db.collection.stats()分析特定集合的性能(如文档数量、索引大小)。这些命令需登录MongoDB shell执行。2. 图形化管理工具(官方)
3. 第三方开源监控组合(Prometheus + Grafana)
mongodb_exporter(MongoDB专用Exporter)采集MongoDB指标(如inserts/sec、memoryUsage),配置Prometheus抓取exporter的指标(修改prometheus.yml添加job),在Grafana中添加Prometheus数据源并导入MongoDB仪表盘(如社区提供的“MongoDB Overview”仪表盘)。适合需要自定义监控项和高级可视化的场景。4. 传统开源监控工具
check_mongodb.py)监控MongoDB的状态(如进程是否运行、复制集状态、锁等待时间)。适合需要简单监控和告警的场景,配置较为灵活但可视化能力较弱。5. 系统自带工具(辅助监控)
top -p $(cat /var/run/mongodb/mongod.pid)),帮助识别资源瓶颈。iostat -x 1),判断MongoDB是否受磁盘性能限制。vmstat 1),辅助分析MongoDB的内存使用和系统负载。