Ubuntu下监控MongoDB的方法可分为命令行工具、图形化工具及第三方监控方案三大类,以下是具体实现方式:
使用systemctl命令查看MongoDB服务运行状态(适用于通过systemd管理的MongoDB实例):
sudo systemctl status mongodb
若服务正常运行,输出中会显示Active: active (running),并包含启动时间和日志信息。
mongostat(默认连接本地27017端口);若需认证,添加--username、--password及--authenticationDatabase参数。insert/query/update/delete(每秒操作数)、conn(当前连接数)、%used(内存使用率)、netIn/netOut(网络收发量)。top命令,帮助定位热点集合。mongotop(默认显示所有集合的读写耗时);可通过--namespace参数指定特定数据库。db.serverStatus():返回服务器全局状态(内存使用、连接数、锁竞争、索引命中率等),是最全面的监控命令之一。db.stats():查看当前数据库的统计信息(数据大小、索引数量、存储利用率)。db.currentOp():显示当前正在执行的操作(如慢查询、长时间运行的事务),用于排查性能瓶颈。db.collection.stats():获取指定集合的详细统计信息(文档数量、索引大小、存储引擎指标),需替换collection为实际集合名。MongoDB默认日志路径为/var/log/mongodb/mongod.log,使用以下命令实时查看最新日志(如错误、警告信息):
sudo tail -f /var/log/mongodb/mongod.log
通过日志可快速定位启动失败、连接异常、查询超报等问题。
MongoDB官方提供的图形化管理工具,支持实时监控、查询分析及索引管理。
安装步骤:
wget https://downloads.mongodb.com/compass/mongodb-compass_1.26.0_amd64.deb;sudo dpkg -i mongodb-compass_1.26.0_amd64.deb;mongodb://localhost:27017),即可查看性能指标(如QPS、内存使用)、索引使用情况及查询性能。第三方图形化管理工具,支持MongoDB监控、数据可视化及SQL查询转换。
特点:提供直观的仪表板、实时性能图表及慢查询分析,适合习惯图形化操作的用户。
prometheus.yml文件,添加MongoDB exporter配置(指向MongoDB实例地址);sudo apt install grafana安装,启动服务并登录Web界面;开源监控解决方案,支持MongoDB、MySQL等多种数据库,提供详细的性能诊断功能(如慢查询分析、锁等待监控)。
安装步骤:参考PMM官方文档(支持Docker或包管理器安装),添加MongoDB实例后,即可通过Web界面查看监控数据。
若使用MongoDB Atlas托管数据库,可直接使用其内置监控功能: