mongodb有db.serverStatus()命令,可以查看mongodb的运行状态,那么zabbix就可以调用这个命令实现mongodb的监控。
注:只有超级管理员账号才有权限使用此命令
1、查看mongodb服务状态
echo "db.serverStatus()" | mongo --port 37485 -u username -p 'password' --authenticationDatabase 'admin'
2、查看mongodb使用内存情况
echo "db.serverStatus().mem" | mongo --port 37485 -u username -p 'password' --authenticationDatabase 'admin'
3、查看mongodb连接数
echo "db.serverStatus().connections" | mongo --port 37485 -u username -p 'password' --authenticationDatabase 'admin'
1、编写mongodb监控配置文件vim /etc/zabbix/zabbix_agentd.d/mongodb.conf
UserParameter=MongoDB.status[*],/bin/echo "db.serverStatus().$1" |/data/mongodb/bin/mongo --port 37485 -u username -p 'password' --authenticationDatabase 'admin' | grep "$2" | awk -F ' : ' '{print $$2}' | awk -F ',' '{print $$1}'
UserParameter=MongoDB.ok,/bin/echo "db.serverStatus().ok" | /data/mongodb/bin/mongo --port 37485 -u username -p 'password' --authenticationDatabase 'admin' | sed -n '5p'
UserParameter=MongoDB.connections[*],/bin/echo "db.serverStatus().connections.$1" | /data/mongodb/bin/mongo --port 37485 -u username -p 'password' --authenticationDatabase 'admin' | sed -n '5p'
注:使用超级管理员账号
2、重启zabbix-agent
systemctl restart zabbix-agent
3、在zabbix server端测试
/data/zabbix/bin/zabbix_get -s xxx.xxx.xxx.xxx -p 10050 -k "MongoDB.status[mem,virtual]"
/data/zabbix/bin/zabbix_get -s xxx.xxx.xxx.xxx -p 10050 -k "MongoDB.connections[available]"
/data/zabbix/bin/zabbix_get -s xxx.xxx.xxx.xxx -p 10050 -k "MongoDB.ok"
1、添加监控模板
2、创建应用集
注:根据自己要监控的项创建应用集
3、创建监控项
注:请根据自己要监控的子项创建,将要监控的子项一一创建好
4、创建触发器
5、创建监控图形
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。