使用zabbix监控MongoDB
admin
2023-04-12 14:41:53
0

现在公司几个游戏项目主要使用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的网络流量状况


  1. 编写监控脚本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



3.添加MongoDB监控模板

附件为参考模板


使用zabbix监控MongoDB

使用zabbix监控MongoDB

使用zabbix监控MongoDB

使用zabbix监控MongoDB







附件:http://down.51cto.com/data/2364996

相关内容

热门资讯

格科全球首发0.64μm与0.... IT之家 12 月 29 日消息,国产 CMOS 厂商格科微电子今日官宣推出两款全新规格的单芯片 5...
终于了解“九酷炸/金/花真的有... 终于了解“九酷炸/金/花真的有挂吗?”(太坑了原来有挂)您好,九酷炸/金/花这个游戏其实有挂的,确实...
我来教教您“微乐家乡大贰开挂神... 家人们!今天小编来为大家解答微乐家乡大贰透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
终于懂了“柚子联盟是不是有挂?... 有 亲,根据资深记者爆料柚子联盟是可以开挂的,确实有挂(咨询软件无需打开...
终于明白“天天十三水怎么开挂?... 家人们!今天小编来为大家解答天天十三水透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里买...
最新引进“阳光巴厘岛开挂神器?... 家人们!今天小编来为大家解答阳光巴厘岛透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里买...
终于懂了“湘乐有没有挂?”(果... 网上科普关于“湘乐有没有挂”话题很是火热,小编也是针对湘乐作*弊开挂的方法以及开挂对应的知识点,寻找...
我来教教您“万人玩麻将可以开挂... 您好:万人玩麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款游...
今日重大通报“普通四口麻将机遥... 家人们!今天小编来为大家解答普通四口麻将机遥控器透视挂怎么安装这个问题咨询软件客服徽4282891的...
终于懂了“琼崖海南麻将有没有挂... 终于懂了“琼崖海南麻将有没有挂?”(详细开挂教程)您好,琼崖海南麻将这个游戏其实有挂的,确实是有挂的...