nrpe配置安装

NRPE nagios 的一个扩展,它被用于被监控的服务器上,向 nagios 监控平台提供该服务器的一些本地的情况。例如, cpu 负载、内存使用、硬盘使用等等。 NRPE 可以称为 nagios for linux 客户端。
 
为什么要使用这个客户端呢?在 nagios 的插件中,有一个名为“ check_ssh ”的插件,它也可以实现对于远程服务器中 local 信息的监控。但是,相对 NRPE ,“ check_ssh ”占用的系统资源就略多了一点。监控少量的服务时可能不会察觉,但是如果监控对象比较多,那么差距就非常明显了。但是还有一点要说明,虽然 NRPE 也是使用 SSL 安全通道,但是“ check_ssh ”的安全性要高于 NRPE ,安全性总是和易用性成反比的。 -_-||
 
首先,需要在 nagios 监控平台服务器上安装 NRPE ,安装很简单,到官方网站下载最新的 nrpe 包,本例中使用的是 nrpe- 2.8.1 .tar.gz
 
tar xzf nrpe- 2.8.1 .tar.gz
  
cd nrpe- 2.8.1
  
./configure
  
make all
  
make install-plugin
 
 
如果安装成功,就可以在 /.../nagios/libexec 目录中找到 "check_nrpe" 这个插件。
之后需要定义一个可以在监控平台使用的命令,这个定义一般会在 /.../nagios/etc/commands.cfg 中,其内容如下:
 
define command{
 
  
command_name check_nrpe
 
  
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
 
 
这样就可以在定义服务的时候使用这个命令了,举个例子:
 
  
define service{
  
host_name remotehost
 
service_description CPU Load
  
check_command check_nrpe!check_load }
 
 
这个例子就定义了对 remotehost 服务器 cpu 负载情况的监控。其中红色的“ check_load ”是什么,来自哪里,我们下面再说。
 
ok ,现在来说本文的重点内容,如何在被监控服务器上安装 NRPE
首先,需要准备的包有两个: NRPE nagios-plugin 。本文使用的版本是 nagios-plugins- 1.4.9 .tar.gz nrpe-2.8.1.tar.gz 。首先安装插件:
 
  
/usr/sbin/useradd nagios
 
passwd nagios
 
tar xzf nagios-plugins- 1.4.9 .tar.gz
cd nagios-plugins- 1.4.9
./configure --prefix=/usr/local/nagios
make && make install
chown nagios.nagios /usr/local/nagios/
chown -R nagios.nagios /usr/local/nagios/libexec/
 
然后安装 NRPE
 
tar xzf nrpe- 2.8.1 .tar.gz
  
cd nrpe- 2.8.1
  
./configure
 
make all
 
make install-plugin
 
make install-daemon
 
make install-daemon-config
 
ok ,安装好了,可以到 /usr/local/nagios/ 下面检查一下,应该生成了 4 个目录 :bin etc libexec share 。之后我们要配置一下,目的是让 NRPE 可以以守护进程的形式监听 5666 端口,为特定地址的 nagios 平台提供服务。在官方的 NRPE 文档中,详细说明了如何将 NRPE 嵌入 xinetd 服务中,我在这里就不��嗦了。有些情况,我们的服务器上没有 xinetd 或者 inetd 这样的服务,那如何办呢?我在这里介绍一种更加通用的方法。
 
首先,需要修改 /usr/local/nagios/etc/nrpe.cof
找到“ allowed_hosts=127.0. 0.1 将其改为:
 
allowed_hosts=127.0.0.1,$Nagios 监控平台的地址或域名
 
这个配置的作用是声明合法的 nrpe 服务对象,没有在这里声明的地址是无法从本机的 NRPE 获得服务的。“ $Nagios 监控平台的地址或域名”可以是 ip 地址,也可以是域名。在我环境中, nagios 监控平台没有一个固定的公网 ip ,所以其他在公网上的服务器如果安装了 NRPE 的话,就只能通过动态域名来辨别监控平台的地址。
 
启动 NRPE 守护进程:(可以将此命令加入 /etc/rc.local ,以便开机自动启动)
 
/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
 
 
此命令生成的日志会在系统的日志( /var/log/message )中。如果没有出错,就基本搞定了。我们来验收一下,在本机上:
 
  
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
 
 
或者在 nagios 监控平台服务器上:
   
/usr/local/nagios/libexec/check_nrpe -H $ 目标主机地址
 
 
正常的返回值为被监控服务器上安装的 NRPE 的版本信息:
 
  
NRPE v 2.8.1
 
那么,通过 NRPE ,可以监控到哪些信息呢? 只要在被监控服务器上有的插件( /usr/local/nagios/libexec 中的所有插件),都可以使用。也就是说,你想监控什么,只要有对应的插件,就可以实现。
 
例如,我希望监控一台远程服务器上的 cpu 负载。在远程主机的插件中有“ check_load ”,那么,在 nrpe.conf 中定义一个 cpu 负载的监控:
 
 
  
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
 
 
 
这个配置就声明了一个命令:“ check_load ”,也就是上述中红色字 check_load 的真身所在了。
 
本文参考 Nagios 官方文档 NRPE.pdf
 

你可能感兴趣的:(职场,nagios,nrpe,休闲)