单机版MongoDB的zabbix监控

最近公司新上了几个MongoDB的项目(单机版MongoDB),需要坐下监控。之前有一个监控模板,但是效果不好。于是重新去google了一把,有了如下记录。

创新互联公司专注于企业成都全网营销推广、网站重做改版、台山网站定制设计、自适应品牌网站建设、成都h5网站建设商城网站制作、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为台山等各大城市提供网站开发制作服务。

单机版的参考 https://github.com/oscm/zabbix/tree/master/mongodb

实验环境:

CentOS6.8 X86_64

Percona-server-mongodb-3.2.9

步骤:

1、将mongodb.sh这个脚本拷贝到/etc/zabbix/scripts下,修改下适合自己的环境

(我们线上mongodb没有设置密码,脚本里面也注释掉了相关代码),并chmod加执行权限

#!/bin/bash

##################################################

#AUTHOR: Neo

#WEBSITE: http://www.netkiller.cn

#Description£ozabbix mongodb monitor

#Note£oZabbix 3.2

#DateTime: 2016-11-23

##################################################

# 我这里线上环境的mongodb没有配置密码,只是通过iptables限制访问的IP

HOST=localhost

PORT=27017

#USER=monitor

#PASS=chen

 

index=$(echo$@ | tr " " ".")

 

#status=$(echo"db.serverStatus().${index}" |mongo -u ${USER} -p ${PASS} admin--port ${PORT}|sed -n '3p')

status=$(echo"db.serverStatus().${index}" |/usr/local/mongodb/bin/mongo admin--port ${PORT}|sed -n '3p')

 

#checkif the output contains "NumberLong"

if[[ "$status" =~ "NumberLong"   ]];then

    echo $status|sed -n 's/NumberLong(//p'|sed-n 's/)//p'

else

    echo $status

fi

 

2、将userparameter_mongodb.conf拷贝到/etc/zabbix/zabbix_agentd.d下,具体内容如下:

UserParameter=mongodb.status[*],/etc/zabbix/scripts/mongodb.sh$1 $2 $3 $4 $5

 

 

3、在zabbix的web后台导入监控模板,并将mongodb主机和模板做关联。

附件为上面提到的3个文件打包。

配好的监控如下图:

单机版MongoDB的zabbix监控

单机版MongoDB的zabbix监控

单机版MongoDB的zabbix监控

复制集版本的MongoDB的监控模板在试验中,没问题后再贴出来。

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

本文名称:单机版MongoDB的zabbix监控
文章来源:http://csdahua.cn/article/gsjpji.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流