1.添加用户

[root@server3 ~]# useradd nagios
2.安装nagios-plugins

[root@server3 ~]# tar zxf nagios-plugins-2.0.3.tar.gz
[root@server3 nagios-plugins-2.0.3]# ./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
[root@server3 nagios-plugins-2.0.3]# make && make install

[root@server3 nagios]# pwd
/usr/local/nagios
[root@server3 nagios]# chown -R nagios.nagios *

3.安装 NRPE

[root@server3 ~]# tar zxf nrpe-2.15.tar.gz

[root@server3 nrpe-2.15]# ./configure

General Options:
-------------------------
NRPE port: 5666
NRPE user: nagios
NRPE group: nagios
Nagios user: nagios
Nagios group: nagios

[root@server3 nrpe-2.15]# make all

4.安装插件、daemon和示例配置文件

#安装nrpe-plugin插件
[root@server3 nrpe-2.15]# make install-plugin

#安装nrpe daemon

[root@server3 nrpe-2.15]# make install-daemon
#安装daemon配置文件

[root@server3 nrpe-2.15]# make install-daemon-config

#安装xinetd脚本,NRPE daemon是作为xinetd下的一个服务来运行的,所以先安装好xinetd

[root@server3 nrpe-2.15]# yum install -y xinetd

[root@server3 nrpe-2.15]# make install-xinetd

4.修改配置文件

[root@server3 nrpe-2.15]# vim /etc/xinetd.d/nrpe #添加nagios服务端的地址

only_from = 172.25.16.2 #nagios 主机 ip 地址

[root@server3 ~]# vim /usr/local/nagios/etc/nrpe.cfg

allowed_hosts=172.25.16.2 #允许监测主机的IP

5.编辑/etc/services文件,增加NRPE服务

nrpe5666/tcp #nrpe

6.重启服务

[root@server3 nrpe-2.15]# /etc/init.d/xinetd restart

[root@server3 nrpe-2.15]# netstat -antlp | grep 5666 #NRPE已经启动
tcp 0 0 :::5666 :::* LISTEN 22872/xinetd


#在监控主机上

1.安装NRPE,只需要check_nrpe插件,可直接从被监测端copy

[root@server3 libexec]# scp check_nrpe 172.25.16.2:/usr/local/nagios/libexec/

[root@server2 libexec]# chown nagios.nagios check_nrpe
[root@server2 libexec]# ll check_nrpe
-rwxr-xr-x. 1 nagios nagios 76769 Aug 29 23:36 check_nrpe
[root@server2 libexec]# ./check_nrpe -H 172.25.16.3 #输出nrpe的版本,说明监测机check_nrpe与被监测主机运行的nrpe daemon之间建立联系
NRPE v2.15
[root@server2 libexec]# 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中要求已经定义

}
[root@server3 ~]# 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[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_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200

[root@server2 libexec]# 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_command check_nrpe!check_total_procs
}

define service{
use generic-service
host_name server3.example.com
service_description Zombie Processes
check_command check_nrpe!check_zombie_procs
}

#监测是否有语法错误并测试

[root@server2 libexec]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@server2 objects]#/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;

[root@server2 objects]# /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