如何在 Linux 环境下配置 Nagios Remote Plugin Executor (NRPE)

就网络管理而言,Nagios 是最强大的工具之一。Nagios 可以监控远程主机的可访问性,以及其中正在运行的服务的状态。不过,如果我们想要监控远程主机中网络服务以外的东西呢?比方说,我们可能想要监控远程主机上的磁盘利用率或者 CPU 处理器负载。Nagios Remote Plugin Executor(NRPE)便是一个可以帮助你完成这些操作的工具。NRPE 允许你执行在远程主机上安装的 Nagios 插件,并且将它们集成到一个已经存在的 Nagios 服务器里。

如何在 Linux 环境下配置 Nagios Remote Plugin Executor (NRPE)

本教程将会介绍如何在一个已经部署好的 Nagios 中配置 NRPE。本教程主要分为两部分:

  • 配置远程主机。
  • 配置 Nagios 监控服务器。

之后我们会以定义一些可以被 NRPE 使用的自定义命令来结束本教程。

为 NRPE 配置远程主机

第一步:安装 NRPE 服务

你需要在你想要使用 NRPE 监控的每一台远程主机上安装 NRPE 服务。每一台远程主机上的 NRPE 服务守护进程将会与一台 Nagios 监控服务器进行通信。

NRPE 服务所需要的软件包可以很容易地用 apt-get 或者 yum 来安装,取决于所在的平台。对于 CentOS 来说,由于 NRPE 并不在 CentOS 的仓库中,我们需要添加 Repoforge 仓库

对于 Debian、Ubuntu 或者 Linux Mint:

  1. # apt-get install nagios-nrpe-server

对于 CentOS、Fedora 或者 RHEL:

  1. # yum install nagios-nrpe

第二步:准备配置文件

配置文件 /etc/nagios/nrpe.cfg 在基于 Debian 或者 RedHat 的系统中比较相近。让我们备份并修改配置文件:

  1. # vim /etc/nagios/nrpe.cfg

  1. ## NRPE 服务端口是可以自定义的 ##
  2. server_port=5666
  3.  
  4. ## 允许 Nagios 监控服务器访问 ##
  5. ## 注意:逗号后面没有空格 ##
  6. allowed_hosts=127.0.0.1,X.X.X.X-IP_v4_of_Nagios_server
  7.  
  8. ## 下面的例子中我们硬编码了参数。
  9. ## 这些参数可以按需修改。
  10.  
  11. ## 注意:对于 CentOS 64 位用户,请使用 /usr/lib64 替代 /usr/lib ##
  12.  
  13. command[check_users]=/usr/lib/nagios/plugins/check_users -w 5-c 10
  14. command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5-c 30,25,20
  15. command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20%-c 10%-p /dev/hda1
  16. command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5-c 10-s Z
  17. command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150-c 200

现在配置文件已经准备好了,NRPE 服务已经可以启动了。

第三步:初始化 NRPE 服务

对于基于 RedHat 的系统,NRPE 服务需要被添加为启动服务。

对于 Debian、Ubuntu、Linux Mint:

  1. # service nagios-nrpe-server restart

对于 CentOS、Fedora 或者 RHEL:

  1. # service nrpe restart
  2. # chkconfig nrpe on

第四步:验证 NRPE 服务状态

NRPE 守护进程的状态信息可以在系统日志中找到。对于基于 Debian 的系统,日志文件在 /var/log/syslog,而基于 RedHat 的系统的日志文件则是 /var/log/messages。下面提供一段样例日志以供参考:

  1. nrpe[19723]:Starting up daemon
  2. nrpe[19723]:Listeningfor connections on port 5666
  3. nrpe[19723]:Allowing connections from:127.0.0.1,X.X.X.X

如果使用了防火墙,被 NRPE 守护进程使用的 TCP 端口 5666 应该被开启。

  1. # netstat -tpln | grep 5666

  1. tcp 000.0.0.0:56660.0.0.0:* LISTEN 19885/nrpe 

相关推荐