隨著MongoDB的廣泛使用監(jiān)控mongodb的業(yè)務(wù)現(xiàn)在已經(jīng)變得十分重要了現(xiàn)在我們就來(lái)討論一下nagios中mongodb的監(jiān)控方法。
目前創(chuàng)新互聯(lián)建站已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、蘭州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
一:下載nagios-plugin-mongodb插件。
下載地址
https://github.com/mzupan/nagios-plugin-mongodb
二:把下載壓縮包中的check_mongodb.py插件上傳至nagios服務(wù)器。
把插件放置在nagios的libexec目錄下如圖
注意添加權(quán)限
# chown nagios.nagios check_mongodb.py # chmod a+x check_mongodb.py
三:測(cè)試check_mongdb.py插件是否能用。
# ./check_mongodb.py --help
若是能夠正?,F(xiàn)實(shí)幫助選項(xiàng)則插件能夠正常使用若顯示no module named pymongo信息則要為系統(tǒng)安裝pymongo模塊。
四:下載安裝pymongo。
下載最新的pymongo2.7.1
# wget --no-check-certificate https://pypi.python.org/packages/source/p/pymongo/pymongo-2.7.1.tar.gz
安裝pymongo
# tar -zxvf pymongo-2.7.1.tar.gz # cd pymongo-2.7.1 # python setup.py install
五:使用check_mongodb.py插件測(cè)試mongodb連接。
如圖
六:配置nagios。
配置命令
# vi /usr/local/nagios/etc/objects/commands.cfg ######check_mongodb######## define command { command_name check_mongodb command_line $USER1$/check_mongodb.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ } define command { command_name check_mongodb_database command_line $USER1$/check_mongodb.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ -d $ARG6$ } define command { command_name check_mongodb_collection command_line $USER1$/check_mongodb.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ -d $ARG6$ -c $ARG7$ } define command { command_name check_mongodb_replicaset command_line $USER1$/check_mongodb.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ -r $ARG6$ } define command { command_name check_mongodb_query command_line $USER1$/check_mongodb.py -H $ARG1$ -A $ARG2$ -P $ARG3$ -W $ARG4$ -C $ARG5$ -q $ARG6$ }
配置服務(wù)(以下分別監(jiān)控連接,空閑連接,內(nèi)存使用,復(fù)制集狀態(tài),庫(kù)大小)
# vi /usr/local/nagios/etc/objects/localhost.cfg ######check_mongodb########## define service{ use linux-service host_name 10.0.1.103 service_description check_mongodb_connect_54 check_command check_mongodb!10.0.1.54!connect!27017!2!4 } define service{ use linux-service ; Name of service template to use host_name 10.0.1.103 service_description check_mongodb_connections_54 check_command check_mongodb!10.0.1.54!connections!27017!70!80 } define service{ use linux-service ; Name of service template to use host_name 10.0.1.103 service_description check_mongodb_memory_54 check_command check_mongodb!10.0.1.54!memory!27017!20!28 } define service{ use linux-service ; Name of service template to use host_name 10.0.1.103 service_description check_mongodb_rep_state_54 check_command check_mongodb!10.0.1.54!replset_state!27017!0!0 } define service{ use linux-service ; Name of service template to use host_name 10.0.1.103 service_description check_mongodb_database_exam_54 check_command check_mongodb_database!10.0.1.54!database_size!27017!300!500!exam }
七:測(cè)試語(yǔ)法重讀nagios配置
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
若無(wú)錯(cuò)誤重讀配置
# service nagios reload
八:查看nagios監(jiān)控頁(yè)面驗(yàn)證結(jié)果。
如圖所示監(jiān)控配置完成。
可根據(jù)需求配置添加mongodb的各項(xiàng)監(jiān)控指標(biāo)內(nèi)存數(shù)據(jù)庫(kù)等。