yanfei 发表于 2019-1-13 09:47:10

Nagios远程监控

  1.添加用户

  # useradd nagios
2.安装nagios-plugins

  # tar zxf nagios-plugins-2.0.3.tar.gz
# ./configure --with-nagios-user=nagios --with
   --with-apt-get-command:
            --with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s
               --with-ping-command: /bin/ping -n -U -w %d -c %d %s
                     --with-ipv6: yes
                      --with-mysql: /usr/bin/mysql_config
                  --with-openssl: yes
                     --with-gnutls: no
               --enable-extra-opts: yes
                     --with-perl: /usr/bin/perl
             --enable-perl-modules: no
                     --with-cgiurl: /nagios/cgi-bin
               --with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin
                   --enable-libtap: no
# make && make install
  # pwd
/usr/local/nagios
# chown -R nagios.nagios *
  3.安装 NRPE
  # tar zxf nrpe-2.15.tar.gz
  # ./configure

  General Options:
-------------------------
NRPE port:    5666
NRPE user:    nagios
NRPE group:   nagios
Nagios user:nagios
Nagios group: nagios
  # make all
  4.安装插件、daemon和示例配置文件
  #安装nrpe-plugin插件
# make install-plugin
  #安装nrpe daemon

  # make install-daemon
#安装daemon配置文件
  # make install-daemon-config
  #安装xinetd脚本,NRPE daemon是作为xinetd下的一个服务来运行的,所以先安装好xinetd

  # yum install -y xinetd
  # make install-xinetd
  4.修改配置文件

  # vim /etc/xinetd.d/nrpe   #添加nagios服务端的地址

  only_from       = 172.25.16.2      #nagios 主机 ip 地址
  # vim /usr/local/nagios/etc/nrpe.cfg
  allowed_hosts=172.25.16.2    #允许监测主机的IP

  5.编辑/etc/services文件,增加NRPE服务
  nrpe            5666/tcp               #nrpe
  6.重启服务
  # /etc/init.d/xinetd restart
  # netstat -antlp | grep 5666   #NRPE已经启动
tcp      0      0 :::5666                     :::*                        LISTEN      22872/xinetd   

  

  #在监控主机上
  1.安装NRPE,只需要check_nrpe插件,可直接从被监测端copy

  # scp check_nrpe 172.25.16.2:/usr/local/nagios/libexec/
  # chown nagios.nagios check_nrpe
# ll check_nrpe
-rwxr-xr-x. 1 nagios nagios 76769 Aug 29 23:36 check_nrpe
# ./check_nrpe -H 172.25.16.3#输出nrpe的版本,说明监测机check_nrpe与被监测主机运行的nrpe daemon之间建立联系
NRPE v2.15
# vim /usr/local/nagios/etc/objects/commands.cfg
  # 'check_nrpe'
    define command{
            command_name    check_nrpe
            command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c "$ARG1$"#-c后面的参数是传给被监测端nrpe daemon要执行的监测命令,这些命令在nrpe.cfg中要求已经定义
  }
# grep -v '^#' /usr/local/nagios/etc/nrpe.cfg | sed '/^$/d'
log_facility=daemon
pid_file=/var/run/nrpe.pid
server_port=5666
nrpe_user=nagios
nrpe_group=nagios
allowed_hosts=172.25.16.2
dont_blame_nrpe=0
allow_bash_command_substitution=0
debug=0
command_timeout=60
connection_timeout=300
command=/usr/local/nagios/libexec/check_users -w 5 -c 10
command=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command=/usr/local/nagios/libexec/check_procs -w 150 -c 200
  # vim /usr/local/nagios/etc/objects/services.cfg#在这个里面定义的服务命令完全根据在被监控端nrpe.cfg中内置命令定义的,如上面命令所示

  define service{
      use generic-service
      host_name server3.example.com
      service_description CPU Load
      check_command check_nrpe!check_load
      }
define service{
      use generic-service
      host_name server3.example.com
      service_description Current Users
      check_command check_nrpe!check_users
}

define service{
      use generic-service
      host_name server3.example.com
      service_description/ Free Space
      check_command check_nrpe!check_disk
}
define service{
      use generic-service
      host_name server3.example.com
      service_description Total Processes
      check_commandcheck_nrpe!check_total_procs
}

define service{
      use generic-service
      host_name server3.example.com
      service_descriptionZombie Processes
      check_command check_nrpe!check_zombie_procs
}
  #监测是否有语法错误并测试

  # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
#/usr/local/nagios/libexec/check_nrpe -H 172.25.16.3 -c check_load
  OK - load average: 0.08, 0.02, 0.01|load1=0.080;15.000;30.000;0; load5=0.020;10.000;25.000;0; load15=0.010;5.000;20.000;0;
  # /usr/local/nagios/libexec/check_nrpe -H 172.25.16.3 -c check_users
USERS OK - 1 users currently logged in |users=1;5;10;0





页: [1]
查看完整版本: Nagios远程监控