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數據庫狀態的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!