nagios監控mongodb
阿新 • • 發佈:2017-09-20
記得 god efi plugin gin -h collect 編輯 pla
nagios本身不提供監控mongodb的服務,需要安裝插件
已經有大神寫好的插件nagios_plugin-mongodb
地址https://github.com/mzupan/nagios-plugin-mongodb
記錄下如何使用
首先在監控機上切換到腳本所在目錄
cd /usr/local/nagios/libexec
git clone git://github.com/mzupan/nagios-plugin-mongodb.git
cd nagios-plugin-mongodb
pip isntall requirements
這樣就安裝好了腳本,主要是其中的check_mongodb.py
該腳本用python寫的,需要安裝python中的pymongo庫,上一部的requirements裏面就有pymongo所以已經安裝好了
接下來就是重頭戲配置文件
編輯command.cfg文件
vim /usr/local/nagios/etc/objects/command.cfg
在最後加入以下內容具體的指令什麽意思可以切換到腳本文件下執行./check_mongodb.py --help來查看
# ‘check_mongodb‘ command definition define command { command_name check_mongodb command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -u $ARG5$ -P $ARG6$ -D } define command { command_name check_mongodb_database command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -d $ARG5$ -u $ARG6$ -P $ARG7$ -D } define command { command_name check_mongodb_collection command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -d $ARG5$ -c $ARG6$ -u $ARG7$ -P $ARG8$ -D } define command { command_name check_mongodb_replicaset command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -r $ARG5$ -u $ARG6$ -P $ARG7$ -D } define command { command_name check_mongodb_query command_line $USER1$/nagios-plugin-mongodb/check_mongodb.py -H $HOSTADDRESS$ -A $ARG1$ -P $ARG2$ -W $ARG3$ -C $ARG4$ -q $ARG5$ -u $ARG6$ -P $ARG7$ -D }
-H 是主機地址-A是操作-P是端口-u用戶名-p密碼
接著編輯你的被監控機的配置文件
加入
Define a service to check Mongodb on the remvoe machine define service{ use generic-service host_name vm_test service_description check_mongodb_connect_99 check_command check_mongodb!10.0.0.99!connect!27017!2!4!username!password } define service{ use generic-service ; Name of service template to use host_name vm_test service_description check_mongodb_connections_99 check_command check_mongodb!10.0.0.99!connections!27017!70!80!username!password } define service{ use generic-service ; Name of service template to use host_name vm_test service_description check_mongodb_memory_99 check_command check_mongodb!10.0.0.99!memory!27017!20!28!username!password } define service{ use generic-service ; Name of service template to use host_name vm_test service_description check_mongodb_rep_state_99 check_command check_mongodb!10.0.0.99!replset_state!27017!0!0!username!password } define service{ use generic-service ; Name of service template to use host_name vm_test service_description check_mongodb_database_exam_99 check_command check_mongodb_database!10.0.0.99!database_size!27017!300!500!test!username!password
基本就配置好了
最重要的一步,檢查配置文件是否正確
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
正確的話重啟下nagios和nrpe,記得監控機防火墻開啟27017端口
以上是直接通過執行腳本來操作mongodb
還可以利用nrpe來進行監控
把監控機的配置文件改一下
Define a service to check Mongodb on the remvoe machine define service{ use generic-service host_name vm_test service_description check_mongodb_connect check_command check_nrpe!check_mongodb_connect }
在被監控機上修改nrep.cfg文件
command[check_mongodb_connect]=/usr/local/nagios/libexec/nagios-plugin-mongodb/check_mongodb.py -H 10.0.0.99 -A connect -P 27017 -W 4 -C 2 -u username -p password
重啟nrpe和nagios即可
使用第二種借助nrpe的方法是成功的,第一種沒有成功,不知道為什麽。
nagios監控mongodb