(1)默認安裝情況下,Nagios的主配置文件為:/usr/local/nagios/etc/nagios.cfg
打開這個文件,可以清楚地看到它指定了其他的配置文件:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
cfg_file=/usr/local/nagios/etc/objects/templates.cfg
所以你要注意了,不要以為“objects”目錄下的只是示例文件而已,它們默認被當作了 實際上使用的配置文件,你不需要麻煩地拷貝一份出來到 /usr/local/nagios/etc/ 目錄下再修改,直接修改這些配置文件就好了.
(2)“Map”、“Trends”功能無法使用,錯誤提示為:
The requested URL /nagios/cgi-bin/statusmap.cgi was not found on this server.
The requested URL /nagios/cgi-bin/trends.cgi was not found on this server.
是因為編譯Nagios的時候沒有編譯出相應的CGI文件(默認安裝時,在 /usr/local/nagios/sbin/ 目錄下).編譯依賴項:
libgd
libgd-devel
libpng
libpng-devel
libjpeg
libjpeg-devel
zlib
zlib-devel
查詢安裝情況:
rpm -qa | grep zlib
其中gd的兩個包名分別類似於:
gd-2.0.33-9.4.el5_1.1.x86_64.rpm
gd-devel-2.0.33-9.4.el5_1.1.x86_64.rpm
安裝相應的RPM包後,重新編譯安裝Nagios:
./configure –with-gd-lib=/usr/lib –with-gd-inc=/usr/include
make all
make install
(3)重新編譯安裝Nagios(configure、make all、make install)不用擔心配置文件會丟失,因為make install只會把Nagios主程序、CGI、HTML給安裝上.
(4)如果你在define service的時候,使用了一個模板,例如:
use local-service ; Name of service template to use
那麼你可以在這個service中覆蓋模板裡的配置.例如,模板裡設置了:
notifications_enabled 1
你卻可以在這個service中設置:
notifications_enabled 0
這樣,對這個service來說,觸發條件時也不會報警的.
(5)報警郵件通過sendmail發不出去?請查看郵件日志文件(/var/log/maillog)的內容查找原因.當然,最好用mail試一下:
mail -v [email protected]
然後依次輸入郵件的標題、正文以及抄送地址,回車發送!然後再去郵件日志文件裡看日志,是成功了還是失敗了,分析原因.
(6)如果配置了短信發送報警信息,但是卻收不到短信,我要提醒你的是:
① 在define command的地方,command_line裡寫的發送報警短信的命令行中,用於發送報警短信的程序要寫全路徑,例如/usr/local/bin /sendsms,不要以為寫一個“sendsms”就可以了,盡管你在Linux命令行下可以找到這個命令(因為它在/usr/local/bin/目 錄下),但是對Nagios來說,它卻找不到,所以要寫全路徑.這個規律我是試驗發現的,至於是不是普遍現象,或者是不是所有版本的Nagios都是這 樣,我不知道,我只是通過試驗知道這樣能解決問題.
②短信接口的70個字符限制,有時候超過了是發不出短信的!請確認你的短信接口允許的單條短信字符數限制.