MongoDB在CentOS上如何监控
导读:MongoDB在CentOS上的监控方法 1. 使用MongoDB自带监控工具 MongoDB自带轻量级命令行工具,可直接监控实例性能,无需额外安装软件。 mongostat:实时显示MongoDB操作的统计信息(如读写次数、延迟、锁等待...
MongoDB在CentOS上的监控方法
1. 使用MongoDB自带监控工具
MongoDB自带轻量级命令行工具,可直接监控实例性能,无需额外安装软件。
- mongostat:实时显示MongoDB操作的统计信息(如读写次数、延迟、锁等待等),每秒刷新一次。
命令示例:mongostat --host localhost --port 27017 --username admin --password yourpassword --authenticationDatabase admin
- mongotop:按集合维度监控读写时间,帮助定位慢查询或高负载集合。
命令示例:mongotop --host localhost --port 27017 --username admin --password yourpassword --authenticationDatabase admin
- serverStatus命令:通过mongo shell获取服务器详细状态(内存使用、连接数、索引命中率、复制集状态等)。
操作步骤:mongo --host localhost --port 27017 -u admin -p yourpassword
→ 输入db.serverStatus()
查看结果。
2. 使用系统自带工具间接监控
通过CentOS系统工具监控MongoDB进程的资源占用,适合快速排查系统级性能瓶颈。
- top/htop:实时查看MongoDB进程的CPU、内存使用情况。
命令示例:top -p $(cat /var/run/mongodb/mongod.pid)
(需替换为实际PID文件路径);htop
(需安装:sudo yum install htop
)。 - iostat:监控磁盘I/O性能(如读写速率、IOPS、等待时间),判断MongoDB是否受磁盘瓶颈影响。
命令示例:iostat -x 1
(需安装sysstat包:sudo yum install sysstat
)。 - vmstat:查看虚拟内存、进程、CPU活动等综合信息,辅助分析内存压力。
命令示例:vmstat 1
。
3. 第三方监控工具(推荐)
通过专业工具实现长期可视化监控、告警及历史数据分析,适合生产环境。
- Prometheus + Grafana:
- Prometheus:开源时间序列数据库,负责收集MongoDB指标;需安装
mongodb_exporter
(导出MongoDB指标为Prometheus可识别格式)。
命令示例:下载并启动exporter: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
。 - 配置Prometheus:编辑
/etc/prometheus/prometheus.yml
,添加MongoDB job:scrape_configs: - job_name: 'mongodb' static_configs: - targets: ['localhost:9216'] # mongodb_exporter默认端口
- Grafana:开源可视化平台,添加Prometheus为数据源,导入MongoDB仪表盘(如ID:
1860
、19372
),展示CPU、内存、连接数等指标。
- Prometheus:开源时间序列数据库,负责收集MongoDB指标;需安装
- Zabbix:企业级开源监控解决方案,支持自动发现、告警阈值设置及自动化运维。
- 安装Zabbix Server/Agent:
sudo yum install zabbix-server-mysql zabbix-agent
。 - 配置Agent:编辑
/etc/zabbix/zabbix_agentd.conf
,添加UserParameter:UserParameter=mongodb.status[*],/usr/bin/mongo --eval '$1' | grep -v "connecting to" | tail -1
- Zabbix Server端添加MongoDB主机,配置监控项(如
mongodb.status[serverStatus]
)、触发器(如CPU使用率> 80%报警)。
- 安装Zabbix Server/Agent:
4. 日志分析
通过MongoDB日志获取运行状态、错误信息及慢查询记录,辅助排查问题。
- 日志路径:默认位于
/var/log/mongodb/mongod.log
(可通过/etc/mongod.conf
中的systemLog.path
修改)。 - 实时查看日志:
tail -f /var/log/mongodb/mongod.log
; - 分析慢查询:若启用了慢查询日志(
slowOpThresholdMs
设置),可通过日志定位执行慢的查询语句。
以上方法覆盖了从基础到高级的监控需求,可根据实际场景选择组合使用(如自带工具用于快速检查,第三方工具用于长期运维)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: MongoDB在CentOS上如何监控
本文地址: https://pptw.com/jishu/721408.html