單機版MongoDB的zabbix監控

  • 2019 年 10 月 4 日
  • 筆記

最近公司新上了幾個mongodb的項目(單機版MongoDB),需要坐下監控。之前有一個監控模板,但是效果不好。於是重新去google了一把,有了如下記錄。

單機版的參考 https://github.com/oscm/zabbix/tree/master/mongodb

實驗環境:

CentOS6.8 X86_64

Percona-server-mongodb-3.2.9

步驟:

1、將mongodb.sh這個腳本拷貝到/etc/zabbix/scripts下,修改下適合自己的環境

(我們線上mongodb沒有設置密碼,腳本裡面也注釋掉了相關程式碼),並chmod加執行許可權

#!/bin/bash

#AUTHOR: Neo <[email protected]>

#WEBSITE: http://www.netkiller.cn

#Description£ozabbix mongodb monitor

#Note£oZabbix 3.2

#DateTime: 2016-11-23

# 我這裡線上環境的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下,具體內容如下:

UserParameter=mongodb.status[*],/etc/zabbix/scripts/mongodb.sh$1 $2 $3 $4 $5

3、在zabbix的web後台導入監控模板,並將mongodb主機和模板做關聯。

附件為上面提到的3個文件打包。

配好的監控如下圖:

複製集版本的MongoDB的監控模板在試驗中,沒問題後再貼出來。