NRPE实现对其它(远端)设备的监控

上篇文档介绍了Nagios监控程序的安装,但是这种情况下,只能完成对本机的信息的监控,而现在的应用主要还会涉及到更多的设备和服务器,要通过Nagios进行统一监控我们还需要安装一个插件,NRPE

1 NRPE的工作原理

NRPE的工作原理如下所示:

NRPE实现对其它(远端)设备的监控_配置

如上图所示,客户端的NRPE上有一些检测本地服务的command,定义了需要检测的信息诸如磁盘使用率、cpu负载、http状态等,客户端的NRPE会定期的检测本地的待检测信息;而服务器端通过调用check_nrpe来与远程的客户端通信,获取客户端的相关信息,进而根据实际情况进行报警。

其详细工作过程如下所述:

1nagios服务器执行check_nrpe插件来通知它需要检测什么服务

2nagios服务器的check_nrpe插件联系远程客户端的NRPE守护进程(SSL保护的)

3)远程客户端的NRPE守护进程运行相应的插件来检测相应的服务和资源

4)客户端通过NRPE守护进程将信息返回给服务器端的check_nrpe插件

正如前面所述,NRPE守护进程也需要安装nagios插件,所以客户端口需要安装nagios-pluginnrpe

 

2 被监控主机NRPE的安装配置

首先要保证系统中安装了openssl*的相关软件包,在此仍然使用yum来进行安装,使用root用户登录进入系统:

# yum install –y openssl*

2.1 建立帐号信息

# useradd nagios

# passwd nagios

2.2 安装nagios-plugin

         按照上节的安装方式,安装nagios-plugin插件

# ./configure

# make

# make install

2.3 安装NRPE(服务器端也需要安装nrpe

    # cd /home/nagios

    # tar –xvf nrpe-2.12.tar.gz

    # ./configure

    # make

    # make all

    # make install-plugin

    # make install-daemon

    # make install-daemon-config

    # make install-xinetd

    # chown –R nagios.nagcmd /usr/local/nagios/

    # chmod –R 755 /usr/local/nagios

 

2.4 配置NRPE

         修改允许的监控服务器IP地址:

1  vi /etc/xinetd.d/nrpe

         修改only_from 的地址为NAGIOS服务器的IP地址,多个服务器时使用空格或者逗号隔开(127.0.0.1可以保留,用来测试本机的nrpe启动情况)。

2  vi /etc/services       添加如下内容:

    nrpe              5666/tcp          #NRPE

3 重启xinetd服务

# service xinetd restart

4)测试本地的nrpe服务启动情况

# netstat –an | grep 5666

或者

# /usr/local/nagios/libexec/check_nrpe –H localhost

5)防火墙放行5666端口

# iptables –I RH-Firewall-1-INPUT –p tcp –m tcp –dport 5666 –j ACCEPT

# service iptables save

6)启动NRPE DAEMON

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

 

3 被监控主机NRPE command的配置

编辑/usr/local/nagios/etc/nrpe.cfg文件对command进行配置,默认有如下几个:

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/hda1

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

 

4监控服务器NRPE安装配置

4.1 NRPE的安装

NRPE安装方式与上面类似:

    # cd /home/nagios

    # tar –xvf nrpe-2.12.tar.gz

    # ./configure

    # make

    # make all

    # make install-plugin

    # chown –R nagios.nagcmd /usr/local/nagios/

    # chmod –R 755 /usr/local/nagios

4.2 check_nrep安装检测  

使用/usr/local/nagios/libexec/check_nrpe –H client_ip来测试监机与被监控机的通信情况,如果通信正常的话会显示如下字样:

NRPE v2.8

注:若不能正常反馈上面显示字样的话,重新检测/etc/xinetd.d/nrpe中的only_from中必须有监控服务器的IP地址。

 

4.3 创建command定义

用户调用check_nrpe来与客户端完成通信:

    vi /usr/local/nagios/etc/object/command.cfg添加如下内容:

define command{

    command_name    check_nrpe

    command_line    $USER1$/check_nrpe –H $HOSTADDRESS$ -c $ARG1$

}

 

5监控举例

5.1 创建被监控机与服务

vi /usr/local/nagios/etc/object/test.cfg添加如下内容:

define host{

use            linux-box ;     Inherit default values from a template

host_name       remotehost ;     The name we're giving to this server

alias           Fedora Core 6 ; A longer name for the server

address         192.168.0.1 ;    IP address of the server

}

define service{

use                 generic-service

host_name       remotehost

service_description CPU Load

check_command   check_nrpe!check_load

}

define service{

use             generic-service

host_name       remotehost

service_description Current Users

check_command   check_nrpe!check_users

}

define service{

use             generic-service

host_name       remotehost

service_description /dev/hda1 Free Space

check_command   check_nrpe!check_hda1

}

define service{

use             generic-service

host_name       remotehost

service_description Total Processes

check_command   check_nrpe!check_total_procs

}

5.2 重启nagios服务

可以先使用如下命令检测配置文件的正确性:

# /usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg

# service nagios restart

 

6 故障处理

(提示字数已超,请查看附件)