我剛剛透過 Chef 在 CentOS 7 上安裝了 NRPE。這與我在所有 CentOS 6 伺服器上使用的方法相同 - 並且適用於該伺服器。 NRPE 啟動但出現錯誤:
Jun 13 15:12:21 myserver nrpe[3667]: Could not open config directory '/etc/nagios/nrpe.d' for reading.
Jun 13 15:12:21 myserver nrpe[3667]: Continuing with errors...
所有伺服器配置都位於 /etc/nagios/nrpe.d 下。這是我的cfg:
pid_file=/var/run/nrpe.pid
server_port=5666
nrpe_user=nagios
nrpe_group=nagios
dont_blame_nrpe=0
debug=0
command_timeout=60
allowed_hosts=127.0.0.1,192.168.1.14
include_dir=/etc/nagios/nrpe.d
以下是 /etc/nagios/nrpe.d 的權限:
# ls -atlr /etc/nagios/
-rwxrwxrwx. 1 nagios nagios 248 Jun 13 14:45 nrpe.cfg
drwxrwxrwx. 2 nagios nagios 89 Jun 13 14:51 nrpe.d
如何讓 NRPE 讀取 config 目錄中的設定?
答案1
我也遇到同樣的問題。請尋找以下解決步驟。
- 使用命令或命令檢查檔案的權限
/etc/nagios/nrpe.cfg
,然後檢查 SELinux 狀態。如果顯示「已停用」則沒有問題。如果它顯示“Permissive”,則沒有問題,但如果它顯示“Enforcing”,則執行下列步驟。sestatus
getenforce
如果您需要 SELinux 處於強制模式,請使用下列命令檢查 SELinux 策略檔案上下文:
# pwd /etc/nagios # ls -Z -rw-r--r--. root root system_u:object_r:nrpe_etc_t:s0 nrpe.cfg
如果文件上下文不同,則將其變更為nrpe_etc_t使用以下命令。
# semanage fcontext -a -t nrpe_etc_t "/etc/nagios/nrpe.cfg" # restorecon -R -v /etc/nagios/nrpe.cfg
我在 CentOS 7 上測試過同樣的情況。
答案2
如果您看到類似「nrpe can not read configure dir /etc/nagios/nrpe.d」的錯誤訊息,請在 nrpe.cfg 中開啟偵錯並重新啟動服務。這意味著selinux 導致了問題。
您可以檢查並關閉selinux(如果沒有安全連線)。
獲得力量
執行
設定強度 0
獲得力量
寬容的
然後使用“service nrpe restart”重新啟動nrpe。現在應該可以了。
答案3
我建議您也查看 /etc/nagios 目錄的權限和所有權。
您也可以 su 到 nagios 使用者並開始沿著目錄樹向上移動 (cd) 以決定權限失效的位置。