共计 1569 个字符,预计需要花费 4 分钟才能阅读完成。
最近公司新上了几个 mongodb 的项目(单机版 MongoDB),需要坐下监控。之前有一个监控模板,但是效果不好。于是重新去 google 了一把,有了如下记录。
单机版的参考 相关文档可以到 Linux 公社资源站下载:
—————————————— 分割线 ——————————————
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2017 年资料 / 4 月 /11 日 / 单机版 MongoDB 的 Zabbix 监控 /
下载方法见 http://www.linuxidc.com/Linux/2013-07/87684.htm
—————————————— 分割线 ——————————————
实验环境:
CentOS6.8 X86_64
Percona-server-mongodb-3.2.9
步骤:
1、将 mongodb.sh 这个脚本拷贝到 /etc/zabbix/scripts 下,修改下适合自己的环境
(我们线上 mongodb 没有设置密码,脚本里面也注释掉了相关代码),并 chmod 加执行权限
#!/bin/bash
##################################################
#AUTHOR: Neo <netkiller@msn.com>
#WEBSITE: http://www.linuxidc.com
#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 的监控模板在试验中,没问题后再贴出来。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142693.htm