如何使用 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 主機和服務,從而確保網路資源的可用性和效能。