MongoDB自带轻量级命令行工具,可直接监控实例性能,无需额外安装软件。
mongostat --host localhost --port 27017 --username admin --password yourpassword --authenticationDatabase adminmongotop --host localhost --port 27017 --username admin --password yourpassword --authenticationDatabase adminmongo --host localhost --port 27017 -u admin -p yourpassword → 输入db.serverStatus()查看结果。通过CentOS系统工具监控MongoDB进程的资源占用,适合快速排查系统级性能瓶颈。
top -p $(cat /var/run/mongodb/mongod.pid)(需替换为实际PID文件路径);htop(需安装:sudo yum install htop)。iostat -x 1(需安装sysstat包:sudo yum install sysstat)。vmstat 1。通过专业工具实现长期可视化监控、告警及历史数据分析,适合生产环境。
mongodb_exporter(导出MongoDB指标为Prometheus可识别格式)。wget https://repo1.maven.org/maven2/io/prometheus/mongodb_exporter/0.16.1/mongodb_exporter-0.16.1.linux-amd64.tar.gz → tar xvf mongodb_exporter-*.tar.gz → ./mongodb_exporter。/etc/prometheus/prometheus.yml,添加MongoDB job:scrape_configs:
- job_name: 'mongodb'
static_configs:
- targets: ['localhost:9216'] # mongodb_exporter默认端口
1860、19372),展示CPU、内存、连接数等指标。sudo yum install zabbix-server-mysql zabbix-agent。/etc/zabbix/zabbix_agentd.conf,添加UserParameter:UserParameter=mongodb.status[*],/usr/bin/mongo --eval '$1' | grep -v "connecting to" | tail -1
mongodb.status[serverStatus])、触发器(如CPU使用率>80%报警)。通过MongoDB日志获取运行状态、错误信息及慢查询记录,辅助排查问题。
/var/log/mongodb/mongod.log(可通过/etc/mongod.conf中的systemLog.path修改)。tail -f /var/log/mongodb/mongod.log;slowOpThresholdMs设置),可通过日志定位执行慢的查询语句。以上方法覆盖了从基础到高级的监控需求,可根据实际场景选择组合使用(如自带工具用于快速检查,第三方工具用于长期运维)。