1、将一台配置好的nagios客户端的配置文件打包,上传到需要配置的客户机上,且解压。

   #注意客户机环境的准备工作!

   #在两台服务器相差无几的情况下, 省去安装的步骤,简单、高效。

   #注意权限问题!


2、在客户机配置端配置运行服务端检测的ip地址 如下:

    vi /usr/local/nagios/etc/nrpe.cfg +79
    79  allowed_hosts=127.0.0.1,10.0.0.22

     #多个服务地址时用,逗号分割;

     测试:./check_nrpe  -H 127.0.0.1 -c check_disk
            DISK OK - free space: / 2060 MB (32% inode=75%);| /=4359MB;5410;6221;0;6763

     #本地测试、服务端分别测试。


被动监控


3、 添加监控服务的主机,主机组,多个的时候用逗号分割如下:

    vi  /usr/local/nagios/etc/objects/hosts.cfg

    范例:

        25  define host{
        26          use                     linux-server            
        27          host_name               nagios
        28          alias                   nagios-01
        29          address                 10.0.0.23
        30          }
        31  define host{
        32          use                     linux-server
        33          host_name               C
        34          alias                   C
        35          address                 10.0.0.24
        36          }

            define hostgroup{
        48          hostgroup_name  linux-servers
        49          alias           nagios,C
        50          members         nagios,C
        51          }


4、 不同的服务可以定义多个监控服务serveice :

    vi  /usr/local/nagios/etc/objects/services.cfg

    范例:   
     1  define service{
      2          use                      generic-service
      3          host_name                nagios,C
      4          service_description     
Disk Partition
      5          check_command           
check_nrpe!check_disk
      6   } 
      7  define service{
      8          use                      generic-service
      9          host_name                nagios,C
     10          service_description      load
     11          check_command            check_nrpe!check_load
     12   }
     13  define service{
     14          use                      generic-service
     15          host_name                nagios,C
     16          service_description      mem
     17          check_command            check_nrpe!check_mem
     18   }
     19  define service{
     20          use                      generic-service
     21          host_name                nagios,C
     22          service_description      swap
     23          check_command            check_nrpe!check_swap
     24   }
     25  define service{
     26          use                      generic-service
     27          host_name                nagios,C
     28          service_description      iostat
     29          check_command            check_nrpe!check_iostat
     30   }

5、上述的定义完成后 ,检测语法:  /etc/init.d/nagios  checkconfig

    #Total Warnings可以忽略,但是不可以有错误!

6、完成后重新启动nagios即可;

   #以上都是被动模式,需要注意check_xx 检测的时候,需要在客户机nrpe里定义监控的服务。

    command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,6 -c 30,25,20
    command[check_mem]=/usr/local/nagios/libexec/check_memory.pl -w 6% -c 3%
    command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 8% -p /
    command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
    command[check_iostat]=/usr/local/nagios/libexec/check_iostat -w 6 -c 10



7、一般客户端对外开启的服务,端口、url 使用主动监控:

   常用的监控插件:

    check_tcp -H host -p port [-w <warning time>] [-c <critical time>] 

    命令行测试范例./check_tcp -H 10.0.0.23  -p 80
      TCP OK - 0.001 second response time on port 80|time=0.001189s;;;0.000000;10.000000

    check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>]

    命令行测试范例:./check_http  -I 10.0.0.23 -p 80
      HTTP OK: HTTP/1.1 302 Found - 226 bytes in 0.021 second response time |time=0.020773s;;;0.000000 size=226B;;;0

    定义监控的服务:

   vi /usr/local/nagios/etc/serverces/adc.cfg
   define service{
                use                     generic-service
                host_name               nagios
                service_description     www_url
                check_command           check_weburl!-I 10.0.0.23
                max_check_attempts      3
      }

                    #-H 指定域名 ,须在服务端hosts解析

                          # 对url监控,且用-u指定,如比较复杂,必须加“”指定

                    范例:./check_http -H www.etiantian.org -u /document/
HTTP WARNING: HTTP/1.1 403 Forbidden - 504 bytes in 0.029 second response time |time=0.029393s;;;0.000000 size=504B;;;0


   define service{
                use                     generic-service
                host_name               nagios
                servi ce_description     22
                check_command           check_tcp!-H 10.0.0.23
                max_check_attempts      3
    }

    # serverces文件已在nagios.cfg配置文件中包含 :cfg_dir=/usr/local/nagios/etc/serverces

       adc.cfg 根据需求自定义

    定义监控的命令,同时调用命令行的插件

         vi /usr/local/nagios/etc/objects/commands.cfg

           # 'check_tcp' command definition
                            define command{
                            command_name    check_tcp
                            command_line    $USER1$/ch、ck_tcp -H $HOSTADDRESS$ -p 22
                                    }

        # 'check_weburl' command definition
            define command{
                    command_name    check_weburl
                    command_line    $USER1$/check_http $ARG1$ -w 10 -c 30
                            }

    

    配置成功后/etc/init.d/nagios  checkconfig  检测语法且确认无误重启。

    如图:wKiom1THgrGDCsIzAAIUEJ_tEo8797.jpg

    如监控的:document 目录有更改

    报警如图:wKioL1THhK2SAllHAACM6h4o5J0414.jpg


    #如需添加新的服务,可直接cp,然后修改即可。