您好,登錄后才能下訂單哦!
最近公司新上了幾個(gè)mongodb的項(xiàng)目(單機(jī)版MongoDB),需要坐下監(jiān)控。之前有一個(gè)監(jiān)控模板,但是效果不好。于是重新去google了一把,有了如下記錄。
單機(jī)版的參考 https://github.com/oscm/zabbix/tree/master/mongodb
實(shí)驗(yàn)環(huán)境:
CentOS6.8 X86_64
Percona-server-mongodb-3.2.9
步驟:
1、將mongodb.sh這個(gè)腳本拷貝到/etc/zabbix/scripts下,修改下適合自己的環(huán)境
(我們線上mongodb沒有設(shè)置密碼,腳本里面也注釋掉了相關(guān)代碼),并chmod加執(zhí)行權(quán)限
#!/bin/bash
##################################################
#AUTHOR: Neo <netkiller@msn.com>
#WEBSITE: http://www.netkiller.cn
#Description£ozabbix mongodb monitor
#Note£oZabbix 3.2
#DateTime: 2016-11-23
##################################################
# 我這里線上環(huán)境的mongodb沒有配置密碼,只是通過iptables限制訪問的IP
HOST=localhost
PORT=27017
#USER=monitor
#PASS=chen
index=$(echo$@ | tr " " ".")
#status=$(echo"db.serverStatus().${index}" |mongo -u ${USER} -p ${PASS} admin--port ${PORT}|sed -n '3p')
status=$(echo"db.serverStatus().${index}" |/usr/local/mongodb/bin/mongo admin--port ${PORT}|sed -n '3p')
#checkif the output contains "NumberLong"
if[[ "$status" =~ "NumberLong" ]];then
echo $status|sed -n 's/NumberLong(//p'|sed-n 's/)//p'
else
echo $status
fi
2、將userparameter_mongodb.conf拷貝到/etc/zabbix/zabbix_agentd.d下,具體內(nèi)容如下:
UserParameter=mongodb.status[*],/etc/zabbix/scripts/mongodb.sh$1 $2 $3 $4 $5
3、在zabbix的web后臺(tái)導(dǎo)入監(jiān)控模板,并將mongodb主機(jī)和模板做關(guān)聯(lián)。
附件為上面提到的3個(gè)文件打包。
配好的監(jiān)控如下圖:
復(fù)制集版本的MongoDB的監(jiān)控模板在試驗(yàn)中,沒問題后再貼出來。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。