如何使用 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+ 閱讀量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告