nagios监控mongodb

Posted 菲菲菲菲菲常新的新手

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nagios监控mongodb相关的知识,希望对你有一定的参考价值。

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的主要内容,如果未能解决你的问题,请参考以下文章

Nagios监控mongodb分片集群服务实战

实战Nagios网络监控——Nagios 微信报警

nagios 监控

监控三剑客之Nagios监控服务器

监控三剑客之Nagios监控服务器

Nagios监控基础安装与监控项部署(下)