本文主要介紹zabbix監控mongodb的配置。
zabbix監控mongodb需要自定義腳本去監控,腳本可以傳入多個參數。
原理:通過mongodb客戶端連接命令,過濾出db.serverStatus()輸出的信息。
一、創建監控數據采集腳本
1.腳本內容:
#cat check_mongodb.sh #!/bin/bash # # mongodb status # db.serverStatus().ok # memory status # Physical memory: db.serverStatus().mem.resident # Virtual memory: db.serverStatus().mem.virtual # opcounters status # insert: db.serverStatus().opcounters.insert # query: db.serverStatus().opcounters.query # update: db.serverStatus().opcounters.update # delete: db.serverStatus().opcounters.delete # connections status # current connections: db.serverStatus().connections.current MONGODBPATH="/usr/local/mongodb3.2.1/bin/mongo" HOST="127.0.0.1" PORT="$1" MONGODB_PA="$MONGODBPATH ${HOST}:${PORT}" if [ $# == 3 ];then result=$(/bin/echo "db.serverStatus().$2.$3" | $MONGODBPATH ${HOST}:${PORT} --quiet) echo $result elif [ $# == 2 ];then result=$(/bin/echo "db.serverStatus().$2" | $MONGODBPATH ${HOST}:${PORT} --quiet) echo $result else echo "Usage:$0 PORT mem resident" fi
2.腳本使用
存放位置:/usr/local/zabbix/etc/scripts
功能:
(1).腳本能接受三個參數傳入,監控mongodb內存使用情況、客戶端連接數、dml操作語句情況等
(2).腳本能接受二個參數傳入,監控mongodb是否在線
二、修改agent配置文件
1.修改zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
2.在zabbix_agentd.conf.d下定義監控mongodb的key
#cat mongodb_stats.conf UserParameter=mongodb_stats[*],/usr/local/zabbix/etc/scripts/check_mongodb.sh $1 $2 $3
3.重啟agent服務
三、在web界面創建監控項
mongodb實例端口定義成主機宏,具體宏操作參考:http://hnr520.blog.51cto.com/4484939/1852655
1.創建監控mongodb是否在線items
鍵值:mongodb_stats[{$MONGODB_PORT_TEST},ok]
2.創建監控mongodb內存使用情況itmes
鍵值:mongodb_stats[{$MONGODB_PORT_TEST},mem,resident]
注意:采集到數據單位為MB,單位使用B,因此需要定義1024*1024倍數,否則當內存使用超過GB時沒法顯示出GB
3.創建監控mongodb客戶端連接數items
鍵值:mongodb_stats[{$MONGODB_PORT_TEST},connections,current]
4.創建監控dml語句相關信息items
鍵值:mongodb_stats[{$MONGODB_PORT_TEST},opcounters,insert]
注意:通過db.serverStatus().opcounters監控到數據是服務啟動以來總的數量,因此存儲值類型需要修改成差量
其他幾個query、delete、update類型創建
四、查看數據
選擇監測中---->最新數據---->選擇相應過濾條件
五、創建mongodb opcounters信息圖形
選擇配置---->主機---->選擇mongodb主機---->圖形
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。