1.配置nagios客户端(远程主机)

在远程主机上安装nagios插件和NRPE,

(1)安装nagios插件

useradd -s /sbin/nologin nagios

tar -zxvf nagios-plugins-1.4.15.tar.gz

cd nagios-plugins-1.4.15

./configure

make

make install

设置插件目录权限:

chown nagios.nagios /usr/local/nagios

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

(2)安装NRPE插件

客户端安装NRPE比服务器端安装复杂,NRPE在客户端是作为一个守护进程运行

tar -zxvf nrpe-2.13.tar.gz

cd nrpe-2.13

./configure

make all

make install-plugin

make install-daemon

make install-daemon-config

安装好之后会在 /usr/local/nagios/libexec 下生成check_nrpe指令,这些就是监控远程主机必须的命令。

(3)配置NRPE

NRPE的配置文件为 /usr/local/nagios/etc/nrpe.cfg 找到allowed_hosts=127.0.0.1,加入nagios监控服务器的地址或者域名,allowed_hosts=127.0.0.1,10.XX.XX.242,修改这个配置的作用是声明合法的NRPE服务对象,没有在这里指定的地址是无法从本机的NRPE获得服务信息的。

(4)启动NRPE启动进程

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

建议将此命令加入/etc/rc.local中,这样就可以在开机时自动运行nrpe守护进程

nrpe守护进程的默认端口为5666,通过命令查看端口是否启动:

netstat -autl | grep 5666

tcp 0 0 *:5666 *:* LISTEN

可以看到nrpe守护进程的端口已经处于监听状态。

(5)测试nrpe

执行命令:/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1

应该会出现如下信息:NRPE v2.13

正常的返回值为被监控服务器上安装的nrpe的版本信息,如果能看到这些,表示nrpe已经正常工作了

(6)定义监控服务器的内容

要监控一个远程服务器下的某些信息,首先要在远程服务器中定义监控的内容,这个需要在/usr/local/nagios/etc/nrpe.cfg中定义,如下:

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/mapper/VolGroup00-LogVol00

分别定义了当前用户数、cpu负载、磁盘利用率,其中command后面括号中的内容就是定义的变量,变量名可以随意取,只要在nagios服务端配置文件引用时保持一致就行了。

2.服务器端安装nrpe,配置nagios服务

(1)安装nrpe

nagios服务器端是通过nrpe插件来和客户端nrpe守护进程进行通讯的,因此在nagios服务器端也需要安装nrpe插件,

tar -zxvf nrpe-2.13.tar.gz

cd nrpe-2.13

./configure

make all

make install-plugin

通过make install-plugin 命令默认将check_nrpe插件安装到/usr/local/nagios/libexec目录下

(2)测试插件与客户端是否能正常通信

在nagios服务器端执行如下指令:

/usr/local/nagios/libexec/check_nrpe -H 10.XX.XX.245(客户端主机地址)

应该会出现如下信息:NRPE v2.13

这表明nrpe可以和客户端正常通信

(3)定义一个check_nrpe监控命令

修改/usr/local/nagios/etc/commands.cfg,增加如下内容:

define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

(4)添加远程主机监控

修改/usr/local/nagios/etc/hosts.cfg,添加如下内容:

define host {
use hosts-pnp
host_name nrpe-245
alias nrpe 245
address 10.XX.XX.245
contact_groups sagroup
check_command check-host-alive
max_check_attempts 5
notification_interval 10
notification_period 24x7
notification_options d,u,r
}

修改/usr/local/nagios/etc/services.cfg,添加如下内容:

define service {
use services-pnp
host_name nrpe-245
service_description check_users
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check_nrpe!check_users
}
define service {
use services-pnp
host_name nrpe-245
service_description check_load
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check_nrpe!check_load
}
define service {
use services-pnp
host_name nrpe-245
service_description check_disk_hda1
check_period 24x7
max_check_attempts 4
normal_check_interval 3
retry_check_interval 2
contact_groups sagroup
notification_interval 10
notification_period 24x7
notification_options w,u,c,r
check_command check_nrpe!check_hda1
}

以上是对远程主机的当前用户数、系统负载和磁盘空间进行了监控。check_users,check_load,check_hda1变量已经在客户端nrpe.cfg中进行了定义,这里仅作为check_nrpe的参数进行引用。

(5)重新启动nagios

配置完成之后,重启nagios, /etc/init.d/nagios restart

刷新监控页面,就可以看到如下图所示的内容: