天天看點

Zabbix 監控mongodb資料庫狀态

為了能實時了解運作的狀态,需要增加zabbix對mongodb的運作狀态監控。   mongodb預設安裝情況下可以運作 echo "db.serverStatus()" | mongo 來擷取mongodb的運作狀态   [root@localhost ~]# echo "db.serverStatus()" | mongo 127.0.0.1:30000   點選(此處)折疊或打開

MongoDB shell version: 2.x.x
    connecting to: 10.0.0.12:40000/test
    {
            "host" : "localhost.localdomain:30000",
            "version" : "2.x.x",
            "process" : "mongos",
            "uptime" : 1659778,
            "localTime" : ISODate("2014-06-04T06:45:05.691Z"),
            "mem" : {
                    "resident" : 14,
                    "virtual" : 280,
                    "supported" : true
            },
            "connections" : {
                    "current" : 107,
                    "available" : 8085
            },
            "extra_info" : {
                    "note" : "fields vary by platform",
                    "heap_usage_bytes" : 902192,
                    "page_faults" : 0
            },
            "opcounters" : {
                    "insert" : 5228846,
                    "query" : 833941,
                    "update" : 15,
                    "delete" : 13,
                    "getmore" : 93,
                    "command" : 35558
            },
            "ops" : {
                    "sharded" : {
                            "insert" : 0,
                            "query" : 0,
                            "update" : 0,
                            "delete" : 0,
                            "getmore" : 0,
                            "command" : 0
                    },
                    "notSharded" : {
                            "insert" : 5228846,
                            "query" : 833941,
                            "update" : 15,
                            "delete" : 13,
                            "getmore" : 93,
                            "command" : 35558
                    }
            },
            "shardCursorType" : {
                    "ParallelSort" : 833942
            },
            "asserts" : {
                    "regular" : 0,
                    "warning" : 0,
                    "msg" : 0,
                    "user" : 0,
                    "rollovers" : 0
            },
            "network" : {
                    "bytesIn" : 2218644824,
                    "bytesOut" : 540032120,
                    "numRequests" : 6101134
            },
            "ok" : 1
    }
    bye      

是以可以考慮使用zabbix的UserParameter自定義監控,對MongoDB進行監控

添加MongoDB監控   1、zabbix用戶端配置檔案zabbix_agentd.conf檔案,添加如下内容:

UserParameter=MongoDB.Status[*],/bin/echo "db.serverStatus().$1" | /usr/bin/mongo  127.0.0.1:30000 | grep "$2"|awk -F: '{print $$2}'|awk -F, '{print $$1}'      

上面是通過db.serverStatus()來擷取伺服器狀态

其中$1表示第一個參數 grep $2的時候要加上錨地符 "\<" 和 "\>",因為有的對象名可能部分相同   使用自定義的指令測試擷取的結果 [[email protected] bin]# echo "db.serverStatus().opcounters" | mongo admin 

MongoDB shell version: 2.6.3
connecting to: admin
{
       "insert" : 6,
       "query" : 138,
       "update" : 1,
       "delete" : 1,
       "getmore" : 0,
       "command" : 9884
}
bye      

測試使用者自定義key是否生效

./zabbix_get -s 127.0.0.1 -k MongoDB.Status[opcounters,query]    2、重新啟動zabbix用戶端 systemctl restart zabbix-agent   3、添加MongoDB監控模闆  導入模闆 選擇configuration-template 右上角import,導入模闆“zbx_mongodb-monitor_templates.xml”,稍後會放在文章的最下面附件中供大家下載下傳

Zabbix 監控mongodb資料庫狀态

  點選導入import選擇模闆的存放位置,點選下面的導入

Zabbix 監控mongodb資料庫狀态

導入成功後可以到configuration-templete裡檢視新導入的模闆MongoDB Moniting

Zabbix 監控mongodb資料庫狀态

4.模闆關聯mongodb主機 在裝有MongoDB的伺服器上應用該模闆: configuration->host,選擇一台裝有MongoDB的伺服器,在右邊的“Linked templates”,添加MongoDB監控模闆,然後儲存

Zabbix 監控mongodb資料庫狀态

導入成功以後可以在monitoring-lastdata裡檢視最新資料。稍等幾分鐘在monitoring的graph裡可以看到關聯主機的出圖

Zabbix 監控mongodb資料庫狀态

具體出圖圖例如下

Zabbix 監控mongodb資料庫狀态
Zabbix 監控mongodb資料庫狀态
Zabbix 監控mongodb資料庫狀态

轉載于:https://www.cnblogs.com/xu360/articles/6629568.html