zoukankan      html  css  js  c++  java
  • 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密码

    把上面的HOSTADDRESS换乘ARG1,其他的也要依次换掉

    接着编辑你的被监控机的配置文件

    加入

     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即可

  • 相关阅读:
    vscode入门使用教程(页面调试)
    .net core3.1开始页面实时编译
    Ubuntu 编辑文件、安装、删除软件等常用命令(持续更新)
    .NetCore3.1中的WebApi如何配置跨域
    PC电脑端如何多开Skype,一步搞定!
    简单几步为博客园添加动态动漫妹子
    如何在SqlServer中使用层级节点类型hierarchyid
    Entity framework Core 数据库迁移
    牛客网剑指offer【Python实现】——part1
    Linux实战——Shell编程练习(更新12题)
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/7560295.html
Copyright © 2011-2022 走看看