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

linuxoperating systemopen source

简介

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 问题,那么找到一种调试问题的方法至关重要。您可以在 NRPE 配置文件中设置 debug=1 来启用调试模式。这将提供详细的日志信息,帮助您识别问题。

您还可以使用 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 主机和服务,确保网络资源的可用性和性能。


相关文章


有用资源