如何使用 NRPE 插件将 Linux 主机添加到 Nagios 监控服务器


介绍

Nagios 是一个开源监控系统,它帮助系统管理员监控各种网络资源(包括主机、服务和网络设备)的性能和可用性。它是一个有效的工具,允许监控和通知网络中各种设备和服务。

NRPE(Nagios 远程插件执行器)是一个插件,用于从 Nagios 服务器监控远程主机或设备。在本文中,我们将讨论如何使用 NRPE 插件将 Linux 主机添加到 Nagios 监控服务器。

先决条件

在开始之前,需要满足一些先决条件。首先,您必须在监控服务器上安装并配置 Nagios。其次,您必须拥有一个要监控的 Linux 机器,并且它应该在其上安装了 NRPE 插件。最后,您应该对 Nagios 监控服务器和要监控的 Linux 主机都具有 root 访问权限。

步骤 1:在 Linux 主机上安装 NRPE 插件

第一步是在要监控的 Linux 主机上安装 NRPE 插件。您可以使用 Linux 发行版的软件包管理器来安装 NRPE 插件。

例如,如果您使用的是 Ubuntu,则可以通过运行以下命令来安装 NRPE 插件:-

sudo apt-get install nagios-nrpe-server nagios-plugins

安装完成后,您需要配置 NRPE 插件。

步骤 2:在 Linux 主机上配置 NRPE 插件

安装 NRPE 插件后,下一步是在 Linux 主机上对其进行配置。NRPE 的配置文件位于 /etc/nagios/nrpe.cfg。

您需要打开配置文件并对其进行修改,以允许 Nagios 监控服务器监控 Linux 主机。您可以使用任何文本编辑器打开文件,例如 vi、nano 或 gedit。

以下是包含必要更改的配置文件示例:-

# allowed_hosts=127.0.0.1

allowed_hosts=127.0.0.1, Nagios-Server-IP

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

在上面的配置文件中,我们已修改 allowed_hosts 参数以包含 Nagios 监控服务器的 IP 地址。我们还定义了一些 Nagios 将用于监控 Linux 主机的命令。在本例中,我们正在监控用户数量、系统负载和磁盘使用情况。

步骤 3:重新启动 NRPE 服务

修改配置文件后,您需要重新启动 NRPE 服务以使更改生效。您可以使用以下命令重新启动 NRPE 服务:-

sudo systemctl restart nagios-nrpe-server

步骤 4:将 Linux 主机添加到 Nagios 监控服务器

现在 NRPE 插件已在 Linux 主机上安装并配置,您需要将主机添加到 Nagios 监控服务器。

为此,您需要修改 Nagios 配置文件,该文件位于 /usr/local/nagios/etc/objects/hosts.cfg。

以下是如何将 Linux 主机添加到 Nagios 的示例:-

define host{
   use                     linux-server
   host_name               linux-host
   alias                   Linux Host
   address                 Linux-Host-IP
}

在上面的示例中,我们定义了一个名为“linux-host”的主机,其别名为“Linux Host”。我们还指定了 Linux 主机的 IP 地址。

"use" 参数指的是 Nagios 将用于监控主机的主机模板。您可以创建自己的主机模板或使用预定义的模板之一。

步骤 5:为 Linux 主机定义服务检查

将 Linux 主机添加到 Nagios 后,下一步是为该主机定义服务检查。服务检查是 Nagios 用于监控主机或服务的特定方面的命令。

要为 Linux 主机定义服务检查,您需要修改 Nagios 配置文件,该文件位于 /usr/local/nagios/etc/objects/services.cfg。

以下是如何为 Linux 主机定义服务检查的示例:-

define service{
   use                     generic-service
   host_name               linux-host
   service_description     Current Users
   check_command           check_nrpe!check_users
}
define service{
   use                     generic-service
   host_name               linux-host
   service_description     Current Load
   check_command           check_nrpe!check_load
}

define service{
   use                     generic-service
   host_name               linux-host
   service_description     Disk Space
   check_command           check_nrpe!check_hda1
}

在上面的示例中,我们为 Linux 主机定义了三个服务检查。"use" 参数指的是 Nagios 将用于监控服务的服务模板。我们为每个服务指定了主机名、服务描述和检查命令。

步骤 6:重新启动 Nagios 服务

定义服务检查后,您需要重新启动 Nagios 服务以使更改生效。您可以使用以下命令重新启动 Nagios 服务:-

sudo systemctl restart nagios

步骤 7:检查监控结果

将 Linux 主机添加到 Nagios 并定义服务检查后,您可以在 Nagios Web 界面上检查监控结果。

要访问 Nagios Web 界面,请打开 Web 浏览器并输入 Nagios 监控服务器的 IP 地址,后跟 /nagios。例如,http://Nagios-Server-IP/nagios。

在 Nagios Web 界面上,您可以查看 Linux 主机和正在监控的服务的状态。您还可以配置在服务或主机停止或达到某个阈值时的通知和警报。

在 Linux 主机和 Nagios 监控服务器上设置 NRPE 时,还需要考虑一些其他事项。

安全

在 Linux 主机上配置 NRPE 时,务必考虑安全问题。默认情况下,NRPE 侦听端口 5666,如果将其公开到公共互联网,则可能存在安全风险。

要保护您的 NRPE 服务,您可以配置防火墙以仅允许 Nagios 监控服务器的 IP 地址访问端口 5666。您还可以配置 NRPE 以使用 SSL/TLS 加密来保护 Linux 主机和 Nagios 服务器之间的通信。

性能

为 Linux 主机定义服务检查时,务必考虑每个检查的性能影响。如果服务检查过多,会导致 CPU 使用率过高并降低 Linux 主机的性能。

要避免此问题,您可以优先考虑最重要的服务检查并减少不太重要的检查的频率。您还可以配置 Nagios 以使用被动检查,其中 Linux 主机将监控数据发送到 Nagios 服务器,从而减少主机上的负载。

调试

如果遇到 NRPE 或 Nagios 问题,则必须有一种方法来调试问题。您可以通过将 debug=1 设置在 NRPE 配置文件中启用调试模式。这将提供详细的日志信息,可以帮助您识别问题。

您还可以使用 Nagios 插件“check_nrpe”从 Nagios 监控服务器测试 Linux 主机上的 NRPE 服务。例如,您可以在 Nagios 服务器上运行以下命令来测试“check_users”服务检查:-

check_nrpe -H Linux-Host-IP -c check_users

此命令将在 Linux 主机上执行“check_users”命令并将监控结果返回到 Nagios 服务器。

结论

在本文中,我们讨论了如何使用 NRPE 插件将 Linux 主机添加到 Nagios 监控服务器。我们介绍了在 Linux 主机上安装和配置 NRPE 插件、将主机添加到 Nagios、定义服务检查以及在 Nagios Web 界面上检查监控结果所需的步骤。

通过遵循这些步骤,您可以使用 Nagios 有效地监控您的 Linux 主机和服务,从而确保网络资源的可用性和性能。

更新于: 2023 年 4 月 28 日

3K+ 阅读量

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告