今天將實驗的主機 實行 crawlzilla
由於實驗的主機裝上 crawlzilla 之後會去修改 /etc/hosts 的對應
所以之前在 /etc/nagios/nrpe.conf 內的command
因為 localhost 對應不正確 會產生 UNKNOWN 的錯誤, 原因在於 localhost 對應會被改掉
# ping localhost
ping: unknown host localhost
# cat /etc/hosts
# Crawlzilla add
192.168.123.204 da4 00:23:F8:5E:8D:34
192.168.123.203 da3 00:11:5B:E9:B4:9E
192.168.123.202 da2 00:11:5B:D1:66:7D
# Crawlzilla End
故原本 /etc/nagios/nrpe.conf 內的
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh localhost
command[check_smtp]=/usr/lib/nagios/plugins/check_smtp localhost
就會產生錯誤
修正方式:
將localhost 直接改為 IP 對應
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh 127.0.0.1
command[check_smtp]=/usr/lib/nagios/plugins/check_smtp 127.0.0.1
但是 check_smtp 還是會出現問題
# /usr/lib/nagios/plugins/check_smtp 127.0.0.1
CRITICAL - Socket timeout after 10 seconds
原因在於 /etc/postfix/main.cf 內的 inet_interfaces 設定已經解析不到 localhost
解決方式
#vi /etc/postfix/main.cf
將 原本的 inet_interfaces
#inet_interfaces = localhost
改成
inet_interfaces = 127.0.0.1
重開 postfix 就可以解決
#rcpostfix restart
問題 2:
要透過網頁重新修改 nagios 的相關設定的時候出現 錯誤訊息
Error: Could not open command file '/var/spool/nagios/nagios.cmd' for update!
原因 該檔案的權限設定錯誤
首先觀察 /etc/group
# grep nag /etc/group
nagios:!:113:
nagcmd:!:114:wwwrun
從這邊可以知道 httpd 的群組為 nagcmd 這個群組
錯誤的權限為
# ls -l /var/spool/nagios/nagios.cmd
prw-rw---- 1 nagios nagios 0 2010-12-21 01:38 /var/spool/nagios/nagios.cmd
這個時候可以發現 httpd 的執行者沒有權限
修正方式 將群組 改為 nagcmd
# chgrp nagcmd /var/spool/nagios/nagios.cmd
權限如以下所示
# ls -l /var/spool/nagios/nagios.cmd
prw-rw---- 1 nagios nagcmd 0 2011-03-01 20:00 /var/spool/nagios/nagios.cmd
修改完成之後就可以正確執行 Nagios 的update.
沒有留言:
張貼留言