zoukankan      html  css  js  c++  java
  • 使用nagios-plugins-rabbitmq监控RabbitMQ

    nagios-plugins-rabbitmq 使用 perl 语言写的,这里需要安装perl 环境

    wget -c http://xrl.us/cpanm -O /usr/bin/cpanm
    chmod +x /usr/bin/cpanm 
    
    1. Download check_rabbitmq Nagios Plugin
    cd ~
    wget --no-check-certificate https://github.com/jamesc/nagios-plugins-rabbitmq/archive/master.zip
    unzip nagios-plugins-rabbitmq-master.zip
    mv nagios-plugins-rabbitmq-master nagios-plugins-rabbitmq
    
    
    1. Install Plugin in Libexec directory
    mv nagios-plugins-rabbitmq /usr/local/nagios/libexec
    cd /usr/local/nagios/libexec/
    
    chown -R nagios:nagios nagios-plugins-rabbitmq/
    
    cd /usr/local/nagios/libexec/nagios-plugins-rabbitmq/scripts
    
    ./check_rabbitmq_server
    Can't locate Nagios/Plugin.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.7/i386-linux-thread-multi
    
    1. Install Nagios::Plugin Perl Module

    This RabbitMQ Server Nagios plugin requires the “Nagios::Plugin” perl package, which is a bunch of perl modules that is used for writing Nagios plugin in perl.

    Install the Nagios::Plugin perl module as shown below. You can either install perl module from source, or from cpan shell command.

    这里缺什么根据提示安装,比如

    cpanm

                    cpanm Module::Install
    

    CPAN shell

    perl -MCPAN -e shell

    install Module::Install

    #这里使用 perl 安装失败,使用源码安装
    cd /usr/save
    
    wget http://search.cpan.org/CPAN/authors/id/T/TO/TONVOON/Nagios-Plugin-0.36.tar.gz
    
    tar xvfz Nagios-Plugin-0.36.tar.gz
    
    cd Nagios-Plugin-0.36
    
    perl Makefile.PL
    
    make
    
    make test
    
    make install
    
    1. Additional Perl Module Dependencies

    In my case, I also needed the following Perl modules for the check_rabbitmq_server plugin to work properly.

    Install the following Perl modules that are required from cpan shell as shown below:

    cpan> install Math::Calc::Units
    cpan> install Config::Tiny
    cpan> install JSON
    cpan> install Math::Calc::Units
    After all the dependecies are installed, check_rabbitmq_server will not give any perl module error, instead you’ll see the following missing argument usage error message:

    ./check_rabbitmq_server

    Usage: check_rabbitmq_server [options] -H hostname
    Missing argument: hostname
    5. Basic check_rabbitmq Usage

    The following will connect to the RabbitMQ server that is running on dev-db server on port 15672, and return an OK message, with “Memory”, “Process”, “FD” and “Sockets” information of the connected RabbitMQ server as shown below.

    ./check_rabbitmq_server -H "dev-db" --port=15672

    RABBITMQ_SERVER OK - Memory OK (1.16%) Process OK (0.02%) FD OK (2.93%) Sockets OK (0.12%) | Memory=1.16%;80;90 Process=0.02%;80;90 FD=2.93%;80;90 Sockets=0.12%;80;90
    When the RabbitMQ Server is not up and running, you’ll get the following error message.

    6定义nagios command

    # vim /usr/local/nagios/etc/objects/commands.cfg  
    define command{
    	command_name check_rabbitmq_aliveness      
    	command_line $USER1$/nagios-plugins-rabbitmq/scripts/check_rabbitmq_aliveness  -H $ARG1$ --port=$ARG2$ -u $ARG3$ -p $ARG4$
    }
    
    define command{
    	command_name check_rabbitmq_overview      
    	command_line $USER1$/nagios-plugins-rabbitmq/scripts/check_rabbitmq_overview  -H $ARG1$ --port=$ARG2$ -u $ARG3$ -p $ARG4$
    }
    
    define command{
    	command_name check_rabbitmq_queue      
    	command_line $USER1$/nagios-plugins-rabbitmq/scripts/check_rabbitmq_queue  -H $ARG1$ --port=$ARG2$ -u $ARG3$ -p $ARG4$ --queue $ARG5$
    }
    
    define command{
    	command_name check_rabbitmq_objects      
    	command_line $USER1$/nagios-plugins-rabbitmq/scripts/check_rabbitmq_objects  -H $ARG1$ --port=$ARG2$ -u $ARG3$
    }
    

    7.创建 rabbit 监控项

    define service{
        use                     generic-service
        host_name               121.207.22.33
        service_description     check_rabbitmq_aliveness
        normal_check_interval   2
        contact_groups          admin_4
        check_command           check_rabbitmq_aliveness!10.1.22.33!15672!nagioscheck!www.ttlsa.com
        }
     
    define service{
        use                     generic-service
        host_name               121.207.22.33
        service_description     check_rabbitmq_queue
        normal_check_interval   2
        contact_groups          admin_4
        check_command           check_rabbitmq_queue!10.1.22.33!15672!nagioscheck!www.ttlsa.com!aliveness-test
        }
    
  • 相关阅读:
    远程新建分支后,本地查看不到
    Python3之HTMLTestRunner测试报告美化
    Django项目之模型增删改查操作(CRUD)
    Django项目创建数据模型(Model)
    Django项目settings.py文件基础配置
    Django项目如何使用mysql数据库
    Django常用命令介绍
    快捷到处项目依赖包到requirements.txt
    pc 弹窗橡皮筋效果(自己纪录)
    小程序图片上传预览删除(记录)
  • 原文地址:https://www.cnblogs.com/flyhgx/p/7201978.html
Copyright © 2011-2022 走看看