在Ubuntu上配置MongoDB监控的方法
mongostat:实时显示MongoDB服务器的性能指标(如读写次数、插入/更新/删除速率、内存使用等),每秒刷新一次。安装MongoDB后可直接运行mongostat命令,无需额外配置。mongotop:按集合维度展示数据库的读写时间分布,帮助识别慢查询或热点集合。运行mongotop即可查看实时数据,默认刷新间隔为1秒。db.serverStatus():通过mongo shell执行,返回MongoDB服务器的详细状态信息(包括连接数、内存使用、索引命中率、复制集状态等)。连接MongoDB后输入mongo --eval 'db.runCommand({ serverStatus: 1 })'即可查看。db.stats():获取当前数据库的统计信息(如数据大小、索引大小、存储引擎使用情况等),帮助评估数据库负载。db.currentOp():显示当前正在执行的操作(如查询、更新、索引构建等),可用于排查长时间运行的查询或锁争用问题。/var/log/mongodb/mongod.log,使用sudo tail -f /var/log/mongodb/mongod.log命令可实时查看日志中的错误、警告及重要事件(如启动/停止、复制集变更、慢查询记录等)。wget https://downloads.mongodb.com/compass/mongodb-compass_xxx_amd64.deb),然后通过sudo dpkg -i mongodb-compass_xxx_amd64.deb安装,打开后输入MongoDB连接字符串(如mongodb://localhost:27017)即可连接。wget https://github.com/percona/mongodb_exporter/releases/download/v0.43.1/mongodb_exporter-0.43.1.linux-amd64.tar.gz),解压后运行./mongodb_exporter --mongodb.uri=mongodb://localhost:27017(替换为实际MongoDB地址),默认监听9216端口。prometheus.yml文件,添加MongoDB Exporter的抓取任务:scrape_configs:
- job_name: 'mongodb'
static_configs:
- targets: ['localhost:9216'] # 替换为MongoDB Exporter的实际地址
重启Prometheus使配置生效(systemctl restart prometheus)。http://localhost:3000,默认账号admin/admin),进入“Configuration”→“Data Sources”,添加Prometheus数据源(URL填写http://localhost:9090),点击“Save & Test”验证连接。mongodb_up查看实例健康状态、rate(mongodb_op_counters_total[5m])查看操作速率、mongodb_mem_resident_bytes查看内存使用),保存后即可查看实时监控数据。