mongodb有db.serverStatus()命令,可以查看mongodb的运行状态,那么zabbix就可以调用这个命令实现mongodb的监控。
一、db.serverStatus()命令的使用
注:只有超级管理员账号才有权限使用此命令
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
注:使用超级管理员账号
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、创建监控图形
四、主机添加监控模板
五、监控效果图
总结
以上所述是小编给大家介绍的Zabbix3.4监控mongodb数据库状态的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对悠久资源网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!