使用zabbix监控MongoDB
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,现在公司几个游戏项目主要使用MongoDB来存储游戏数据,所以对MongoDB的监控非常重要。关于MongoDB的其他监控方法详见以下几篇文章:MongoDB监控一MongoDB监控二 mongoto
千家信息网最后更新 2025年11月15日使用zabbix监控MongoDB
现在公司几个游戏项目主要使用MongoDB来存储游戏数据,所以对MongoDB的监控非常重要。关于MongoDB的其他监控方法详见以下几篇文章:
MongoDB监控一
MongoDB监控二 mongotop
MongoDB监控三 MongoDB自带监控方法
MongoDB监控四 dbStats和collStats和replSetGetStatus
http://mayulin.blog.51cto.com/1628315/575541
zabbix监控MongoDB的基本思路是先编写自定义脚本收集MongoDB的状态信息,通过db.serverStatus()函数的输出来获取,然后添加相应的模板。
本文使用的MongoDB版本是2.4.6
主要监控以下项目:
内存使用情况
连接数
锁
刷新写操作到磁盘
每秒执行的查询,插入,删除,更新等操作次数
每秒访问的索引次数,每秒命中索引的次数
MongoDB产生的总的页面错误数量
MongoDB的网络流量状况
编写监控脚本mongodb_status.sh
这里默认使用28018端口,可以根据情况自行修改端口
这个脚本根据传递参数的数量进行判断获取值的层级
#This script is used to get mongodb server status#echo "db.serverStatus().uptime"|mongo 192.168.5.23:30002/admin#echo "db.serverStatus().mem.mapped"|mongo 192.168.5.23:30002/admin#echo "db.serverStatus().globalLock.activeClients.total"|mongo 192.168.5.23:30002/admincase $# in 1) output=$(/bin/echo "db.serverStatus().$1" |/data/app_platform/mongodb/bin/mongo admin --port 28018|sed -n '3p') ;; 2) output=$(/bin/echo "db.serverStatus().$1.$2" |/data/app_platform/mongodb/bin/mongo admin --port 28018|sed -n '3p') ;; 3) output=$(/bin/echo "db.serverStatus().$1.$2.$3" |/data/app_platform/mongodb/bin/mongo admin --port 28018|sed -n '3p') ;;esac#check if the output contains "NumberLong"if [[ "$output" =~ "NumberLong" ]];then echo $output|sed -n 's/NumberLong(//p'|sed -n 's/)//p'else echo $outputfi
2.添加zabbix配置文件mongodb_status.conf
将mongodb_status.conf放到/usr/local/zabbix/etc/zabbix_agentd.conf.d/目录下
在zabbix的主配置文件中需要注意设置
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1
#echo "db.serverStatus().mem.mapped"|mongo admin --host xxxx --port xxx -uroot -pxxxx#echo "db.serverStatus().mem.mapped"|mongo 10.4.9.112:28018/admin -uroot -pxxxx#UserParameter=MongoDB.Status[*],/bin/echo "db.serverStatus().$1.$2" |/data/app_platform/mongodb/bin/mongo admin --port 28018|sed -n '3p'UserParameter=MongoDB.Status[*],/usr/local/zabbix/bin/mongodb_status.sh $1 $2 $3
3.添加MongoDB监控模板
附件为参考模板

监控
模板
次数
脚本
情况
数量
文件
方法
端口
索引
附件
项目
配置
重要
信息
公司
内存
函数
参数
层级
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
核酸检测结果数据库建设
科沃斯软件开发人员
怀旧服部落服务器哪个最好
徐州时代互联网科技有限公司
计算机网络技术韩毅刚
微信支付商户软件开发的费率
数据库添加数据乱码
电脑版mc可以进手机版服务器吗
软件开发的需求分析制作过程
数据库安全性讲解
svn服务器 项目
数据库保存的命令
安卓手机连电脑导数据库
图数据库在哪年提出
应用服务器是不是物理机
数据库统计表中学生总人数
hp服务器 pe
php web服务器搭建
兼职软件开发怎么样
我国互联网科技
最大公司用的数据库系统
搜云30g数据库
中国互联网科技文创公司
英灵神殿服务器添加管理员
新氧软件开发
关于信息网络安全感悟
dba数据库故障判断
未来的服务器
www网页服务器配置与管理
软路由器和存储服务器哪个好