使用zabbix监控MongoDB-创新互联

现在公司几个游戏项目主要使用MongoDB来存储游戏数据,所以对MongoDB的监控非常重要。关于MongoDB的其他监控方法详见以下几篇文章:

创新互联建站是专业的禹州网站建设公司,禹州接单;提供成都网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行禹州网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

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

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站名称:使用zabbix监控MongoDB-创新互联
链接URL:http://hbruida.cn/article/cdhcsj.html