如何在 Linux 環境下配置 Nagios Remote Plugin Executor (NRPE)(1)
就網路管理而言,Nagios 是最強大的工具之一。Nagios 可以監控遠程主機的可訪問性,以及其中正在啟動並執行服務的狀態。不過,如果我們想要監控遠程主機中網路服務以外的東西呢?比方說,我們可能想要監控遠程主機上的磁碟利用率或者 CPU 處理器負載。Nagios Remote Plugin ExecutorNRPE)便是一個可以協助你完成這些操作的工具。NRPE 允許你執行在遠程主機上安裝的 Nagios 外掛程式,並且將它們整合到一個已經存在的 Nagios 伺服器裡。
本教程將會介紹如何在一個已經部署好的 Nagios 中配置 NRPE。本教程主要分為兩部分:
之後我們會以定義一些可以被 NRPE 使用的自訂命令來結束本教程。
為 NRPE 配置遠程主機第一步:安裝 NRPE 服務
你需要在你想要使用 NRPE 監控的每一台遠程主機上安裝 NRPE 服務。每一台遠程主機上的 NRPE 服務守護進程將會與一台 Nagios 監控伺服器進行通訊。
NRPE 服務所需要的軟體包可以很容易地用 apt-get 或者 yum 來安裝,取決於所在的平台。對於 CentOS 來說,由於 NRPE 並不在 CentOS 的倉庫中,我們需要添加 Repoforge 倉庫。
對於 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 服務已經可以啟動了。
第三步:初始化 NRPE 服務
對於基於 RedHat 的系統,NRPE 服務需要被添加為啟動服務。
對於 Debian、Ubuntu、Linux Mint:
- # service nagios-nrpe-server restart
對於 CentOS、Fedora 或者 RHEL:
- # service nrpe restart
- # chkconfig nrpe on
第四步:驗證 NRPE 服務狀態
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