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
刷新监控页面,就可以看到如下图所示的内容: