在Ubuntu中监控MongoDB性能可通过以下方式:
一、使用MongoDB自带工具
- mongostat:实时查看插入、查询、更新等操作统计及内存、网络使用情况。
- mongotop:按集合维度展示读写耗时,定位资源消耗高的集合。
- MongoDB Compass:图形化界面监控内存、连接数、锁状态等,支持慢查询分析。
二、第三方监控工具
- Prometheus + Grafana:
- Prometheus采集MongoDB指标(如CPU、内存、延迟),Grafana可视化展示。
- 需安装MongoDB Exporter将数据转换为Prometheus格式。
- Datadog:云监控平台,支持跨平台监控,提供实时告警和性能趋势分析。
- Percona Monitoring and Management (PMM):支持多维度监控,包含自动诊断和告警功能。
三、日志与高级分析
- 启用慢查询日志:通过
slowms
参数记录执行时间超过阈值的查询,结合ELK Stack分析。
- 分析索引使用情况:使用
db.currentOp()
查看当前操作,结合explain()
优化低效查询。
四、关键指标关注
- 性能指标:操作延迟(读/写/命令)、锁等待时间、缓存命中率。
- 资源使用:内存占用、CPU使用率、磁盘I/O和网络流量。
- 副本集状态:主从延迟、节点状态(Primary/Secondary)。
根据需求选择工具,小型环境可优先使用图形化工具(如MongoDB Compass),大型集群建议结合Prometheus+Grafana实现全面监控。