运用zabbix监控MongoDB
发布时间:2023-10-18 15:32:34 所属栏目:系统 来源:
导读:现在公司几个游戏项目主要使用MongoDB来存储游戏数据,所以对MongoDB的监控非常重要。关于MongoDB的其他监控方法详见以下几篇文章:
MongoDB监控一
MongoDB监控二 mongotop
MongoDB监控三 MongoDB自带监控
MongoDB监控一
MongoDB监控二 mongotop
MongoDB监控三 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/admin case $# 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 $output fi 复制代码 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 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐