zoukankan      html  css  js  c++  java
  • Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)

    NRPE监控插件基础

    NRPE总共由两部分组成:
    (1).check_nrpe插件,运行在监控主机上。
    (2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机)

    整个的监控过程如下:
    当Nagios需要监控某个远程linux主机的服务或者资源情况时:
    1).nagios会运行check_nrpe插件,我们要在nagios配置文件中告诉它要检查什么.
    2).check_nrpe插件会通过SSL连接到远程的NRPEdaemon.
    3).NRPE daemon会运行相应的nagios插件来执行检查本地资源或服务.
    4).NRPE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理.
    注意:NRPE daemon需要nagios插件安装在远程被监控linux主机上,否则,daemon不能做任何的监控.

    Nagios被监控端安装
     

    Step1
    安装nagios-plugin

    useradd -s /sbin/nologin nagios

     

    mkdir /usr/local/nagios

     

    chown -R  nagios.nagios  /usr/local/nagios

    tar -zxvf nagios-plugins-1.4.13.tar.gz

    cd nagios-plugins-1.4.13

    ./configure  --prefix=/usr/local/nagios

    make  && make install

    这一步完成后会在/usr/local/nagios/下生成两个目录libexec和share

    Step2

      改变主目录权限

      chown  -R  nagios.nagios  /usr/local/nagios

    Step3

      安装客户端的nrpe 

     tar -zxvf nrpe-2.12.tar.gz

      cd  nrpe-2.12

    ./configure


    make all 


    make install-plugin


    make install-daemon


    make install-daemon-config

    Step4

    配置nrpe信息
    vi/usr/local/nagios/etc/nrpe.cfg
    将allowed_hosts=127.0.0.1
    修改成你的nagios服务器的ip

     

    Step5

    启动nrpe

    /usr/local/nagios/bin/nrpe -c/usr/local/nagios/etc/nrpe.cfg -d

    验证nrpe

    netstat -an|grep 5666   察看是否在5666端口上监听

    测试连通性

    /usr/local/nagios/libexec/check_nrpe -Hlocalhost

    察看是否能返回nrpv版本号,返回则正常!

    Step6

    vi /usr/local/nagios/etc/nrpe.cfg
    可以看到里面监控对象
    # The following examples use hardcoded command arguments...
    command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
    command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
    command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p/dev/hda1
    command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -sZ
    command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

    我们为了监控swap
    在nrpe.cfg中添加
    command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
    注意:添加监控新项目所用的命令都在客户端的nrpe.cfg中添加

    添加之后再次启动nrpe

    先杀掉后台进程,然后kill-9 进程号

    /usr/local/nagios/bin/nrpe  -c  /usr/local/nagios/etc/nrpe.cfg –d

    安装服务端nrpe

     setp1

    tar -zxvf nagios-nrpe_2.8.1.orig.tar.gz
    cd nagios-nrpe_2.8.1
    ./configure --with-nagios-user=nagios --with-nagios-group=nagios
     make all

     make install-plugin
    然后我们测试下连通性
    /usr/local/nagios/libexec/check_nrpe -H 被监控端ip
    如果返回nrpe版本号,那么正常!
    如果返回拒绝连接!那么telnet ip 5666看是否正常

    step2
    配置nrpe添加支持:

    由于nrpe外构组件,所以必须在nagios服务器端得commands.cfg中定义 [root@localhost etc]# vi /usr/local/nagios/etc/objects/commands.cfg
    最下面添加
    #check nrpe
    define command{
            command_name check_nrpe
            command_line $USER1$/check_nrpe -H$HOSTADDRESS$ -c $ARG1$
            }

    step3

    配置要监控的linux主机和服务,这里我们集中到了一起 以甜豆为例
    [root@localhost etc]# vi /usr/local/nagios/etc/nagios.cfg

    中间添加
    cfg_file=/usr/local/nagios/etc/objects/servers/td.cfg
    配置文件的名字可以自己定义
    =================================================

    新建td.cfg
    [root@localhost etc]# vi /usr/local/nagios/etc/objects/servers/td.cfg

    添加
    define host{

            use             linux-server,hosts-pnp

            host_name       td-h2

            alias           td

            address         x.x.x.x

            hostgroups      td

            max_check_attempts 10

    }

    define host{

            use             linux-server,hosts-pnp

            host_name       td-76

            alias           td

            address         x.x.x.x

            hostgroups      td

            max_check_attempts 10

    }

    define host{

            use             linux-server,hosts-pnp

            host_name       td-77

            alias           td

            address        x.x.x.x

            hostgroups      td

            max_check_attempts 10

    }

    define host{

            use             linux-server,hosts-pnp

            host_name       td-78

            alias           td

            address         x.x.x.x

            hostgroups      td

            max_check_attempts 10

    }

    --沿着上面格式,依次定义主机

    --定义主机组

    define hostgroup{                                    

            hostgroup_name  td                    

            alias           td            

            members         td-h2,td-76,td-77,td-78

    }                                                    

                                                       

    --定义服务

    define service{

            use                            local-service,services-pnp        ; Name of service template to use

            host_name                       td-h2,td-76,td-77,td-78

            service_description             check_tps

            check_command                   nrpe!check_tps

    }

    define service{

            use                            local-service,services-pnp        ; Name of service template to use

            host_name                       td-h2,td-76,td-77,td-78

            service_description             check_qps

            check_command                   nrpe!check_qps

    }

    define service{

            use                            local-service,services-pnp        ; Name of service template to use

            host_name                       td-h2,td-76,td-77,td-78

            service_description             check_connect

            check_command                   nrpe!check_connect

    }

    配置完毕 检测配置文件是否正确

    /usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg

    正确的话,重新启动nagios 

     

    监控mysql服务安装插件check_mysql_health 插件,在被监控端

      1)、在要监控mysql主机上面建立监控用户,用作mysql监控服务使用。赋权能使用即可,注意安全性

    grant select,update,insert,delete on test.* to'my_perfor'@'localhost' identified by 'my_perfor';

      2)、在nagios监控服务器上安装check_mysql_health插件.

    tar -zxvf check_mysql_health-2.1.7.tar.gz

    cd check_mysql_health-2.1.7

    ./configure --prefix=/usr/local/nagios--with-nagios-user=nagios --with-nagios-group=nagios --with-perl=/usr/bin/perl 

    make && make install 

     

     安装 perl-DBD-MySQL包,同时yum工具会把需要的包都安装上包含perl-DBI

    yum install -y perl-DBD-MySQL    

     

    安装完毕 可以验证一下查看一下索引情况

    ./check_mysql_health--socket=/usr/local/mysql/tmp/mysql.sock --port 3306 --username my_perfor --passwordmy_perfor --warning 180 --critical 220 --mode threads-connected

    check_mysql_health依赖于软件包 注意64位和32位服务器的区别

    yum install -y perl-DBD-MySQL  perl-DBI  # check_mysql_health使用需要这二个发安装包 如下在65位服务器上 安装 mysql版本5.0.8   

    yum 安装很方便,会安装上依赖的包                       

    没有安装软件包运行 check_mysql_health时报以下错误

     

    缺少 perl-dbd-mysql包,报如下错误

     CRITICAL - cannot connect to information_schema.install_driver(mysql) failed: Can't locate DBD/mysql.pm in @INC (@INC contains:. /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi/usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8) at (eval13) line 3.

    Perhaps the DBD::mysql perl module hasn't been fully installed,

    or perhaps the capitalisation of 'mysql' isn't right.

    Available drivers: DBM, ExampleP, File, Gofer, Proxy, Sponge.

     at ./check_mysql_health line 1862

     

    在32位服务器上可能会出现如下问题

    在运行./check_mysql_health出现以下错误提示,

     

    [root@file]# ./check_mysql_health    
    -bash: ./check_mysql_health:
    yes: badinterpreter: No such file or directory

    解决方法

    因为check_mysql_health是用perl写的,将check_mysql_health的第一行由原来的#! yes -w修改为#!/usr/bin/perl,这样就OK



  • 相关阅读:
    给数组赋值nan
    loc和iloc的区别
    爬虫26-部署crawl爬虫
    爬虫25-scrapy框架详解
    爬虫24-scrapy框架部署
    爬虫23-验证码识别
    爬虫22-使用selenium爬取信息
    爬虫21-selenium用法
    爬虫20-浏览器自动运行简单方法
    爬虫19-线程生产者和消费者以及队列
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3161535.html
Copyright © 2011-2022 走看看