在 Debian 上监控 MongoDB 运行状态,可以从 系统服务层、MongoDB 自身状态、日志与监控工具 几个层面来做。下面按常用程度整理。
sudo systemctl status mongod
常见状态说明:
active (running):正常运行inactive (dead):未运行failed:启动失败启动 / 停止 / 重启:
sudo systemctl start mongod
sudo systemctl stop mongod
sudo systemctl restart mongod
设置开机自启:
sudo systemctl enable mongod
ps aux | grep mongod
或:
pgrep -a mongod
默认端口:27017
ss -lntp | grep 27017
或:
netstat -lntp | grep mongod
mongosh
(老版本可能是 mongo)
db.runCommand({ serverStatus: 1 })
重点关注:
uptime:运行时长connections:连接数mem:内存使用opcounters:操作计数db.currentOp()
db.stats()
日志位置(常见):
/var/log/mongodb/mongod.log
实时查看:
sudo tail -f /var/log/mongodb/mongod.log
关注:
ERRORWARNINGREPLconnection accepted / droppedrs.status()
查看节点角色:
top
htop
iostat -x 1
free -h
MongoDB 对 内存、磁盘 IO 非常敏感。
示例(Prometheus):
mongodb_exporter --mongodb.uri=mongodb://localhost:27017
| 现象 | 可能原因 |
|---|---|
| mongod 起不来 | 配置错误 / 权限问题 |
| 无法连接 | 端口未监听 / 防火墙 |
| CPU 高 | 慢查询 / 缺索引 |
| 内存暴涨 | WT cache 设置不合理 |
如果你愿意,可以告诉我:
我可以给你更针对性的监控方案或告警配置。