天天看点

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

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

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

配置远程主机。

配置 nagios 监控服务器。

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

<a target="_blank"></a>

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

对于 debian、ubuntu 或者 linux mint:

# apt-get install nagios-nrpe-server

对于 centos、fedora 或者 rhel:

# yum install nagios-nrpe

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

# vim /etc/nagios/nrpe.cfg

## nrpe 服务端口是可以自定义的 ##

server_port=5666

## 允许 nagios 监控服务器访问 ##

## 注意:逗号后面没有空格 ##

allowed_hosts=127.0.0.1,x.x.x.x-ip_v4_of_nagios_server

## 下面的例子中我们硬编码了参数。

## 这些参数可以按需修改。

## 注意:对于 centos 64 位用户,请使用 /usr/lib64 替代 /usr/lib ##

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10

command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20

command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1

command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s z

command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

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

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

对于 debian、ubuntu、linux mint:

# service nagios-nrpe-server restart

# service nrpe restart

# chkconfig nrpe on

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

nrpe[19723]: starting up daemon

nrpe[19723]: listening for connections on port 5666

nrpe[19723]: allowing connections from: 127.0.0.1,x.x.x.x

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

# netstat -tpln | grep 5666

tcp 0 0 0.0.0.0:5666 0.0.0.0:* listen 19885/nrpe

为 nrpe 配置已有的 nagios 监控服务器的第一步是在服务器上安装 nrpe 插件。

当 nagios 服务器运行在基于 debian 的系统(debian、ubuntu 或者 linux mint)上时,需要的软件包可以通过 apt-get 安装。

# apt-get install nagios-nrpe-plugin

插件安装完成后,对随插件安装的 check_nrpe 命令稍作修改。

# vim /etc/nagios-plugins/config/check_nrpe.cfg

## 默认命令会被覆盖 ##

define command{

command_name check_nrpe

command_line /usr/lib/nagios/plugins/check_nrpe -h '$hostaddress$' -c '$arg1$'

}

# yum install nagios-plugins-nrpe

现在 nrpe 插件已经安装完成,继续下面的步骤以配置一台 nagios 服务器。

我们需要首先在 nagios 中定义一个命令来使用 nrpe。

# vim /etc/nagios/objects/commands.cfg

接下来定义远程主机以及我们将要在它们上面运行的命令。

下面的例子为一台远程主机定义了一个可以在上面执行的命令。一般来说,你的配置需要按照你的需求来改变。配置文件的路径在基于 debian 和基于 redhat 的系统上略有不同,不过文件的内容是完全一样的。

# vim /etc/nagios3/conf.d/nrpe.cfg

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

define host{

use linux-server

host_name server-1

alias server-1

address x.x.x.x-ipv4_address_of_remote_host

define service {

host_name server-1

service_description check load

check_command check_nrpe!check_load

check_interval 1

use generic-service

在重启 nagios 之前,可以通过测试来验证配置。

对于 ubuntu、debian 或者 linux mint:

# nagios3 -v /etc/nagios3/nagios.cfg

# nagios -v /etc/nagios/nagios.cfg

如果一切正常,我们就可以重启 nagios 服务了。

# service nagios restart

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

下面列出了一些可以用于 nrpe 的自定义命令。这些命令在远程服务器的 /etc/nagios/nrpe.cfg 文件中定义。

## 当 1、5、15 分钟的平均负载分别超过 1、2、1 时进入警告状态

## 当 1、5、15 分钟的平均负载分别超过 3、5、3 时进入严重警告状态

command[check_load]=/usr/lib/nagios/plugins/check_load -w 1,2,1 -c 3,5,3

## 对于 /home 目录的可用空间设置了警告级别为 25%,以及严重警告级别为 10%。

## 可以定制为监控任何分区(比如 /dev/sdb1、/、/var、/home)

command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 25% -c 10% -p /home

## 当 process_abc 的实例数量超过 10 时警告,超过 20 时严重警告 ##

command[check_process_abc]=/usr/lib/nagios/plugins/check_procs -w 1:10 -c 1:20 -c process_abc

## 当 process_abc 的实例数量跌到 1 以下时严重警告 ##

command[check_process_xyz]=/usr/lib/nagios/plugins/check_procs -w 1: -c 1: -c process_xyz

我们通过如下命令来修改 nagios 监控服务器里的服务定义来应用上面定义的自定义命令。服务定义可以写在所有服务被定义的地方(比如 /etc/nagios/objects/nrpe.cfg 或 /etc/nagios3/conf.d/nrpe.cfg)

## 示例 1:检查进程 xyz ##

service_description check process xyz

check_command check_nrpe!check_process_xyz

## 示例 2:检查磁盘状态 ##

check_command check_nrpe!check_disk

总而言之,nrpe 是 nagios 的一个强大的扩展,它提供了高度可定制的远程服务器监控方案。使用 nrpe,我们可以监控系统的负载、运行的进程、已登录的用户、磁盘状态,以及其它参数。

希望这些可以帮到你。

原文发布时间:2014-10-27

本文来自云栖合作伙伴“linux中国”

继续阅读