随着mongodb的广泛使用监控mongodb的业务现在已经变得十分重要了现在我们就来讨论一下nagios中mongodb的监控方法。
创新互联建站专注于企业全网整合营销推广、网站重做改版、连云网站定制设计、自适应品牌网站建设、H5场景定制、商城系统网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为连云等各大城市提供网站开发制作服务。一:下载nagios-plugin-mongodb插件。
下载地址
https://github.com/mzupan/nagios-plugin-mongodb
二:把下载压缩包中的check_mongodb.py插件上传至nagios服务器。
把插件放置在nagios的libexec目录下如图
注意添加权限
# chown nagios.nagios check_mongodb.py # chmod a+x check_mongodb.py
三:测试check_mongdb.py插件是否能用。
# ./check_mongodb.py --help
若是能够正常现实帮助选项则插件能够正常使用若显示no module named pymongo信息则要为系统安装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插件测试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$ }
配置服务(以下分别监控连接,空闲连接,内存使用,复制集状态,库大小)
# 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 }
七:测试语法重读nagios配置
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
若无错误重读配置
# service nagios reload
八:查看nagios监控页面验证结果。
如图所示监控配置完成。
可根据需求配置添加mongodb的各项监控指标内存数据库等。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。