Nagios遠程監控軟件的安裝與配置詳解(2)

配置

配置是nagios最複雜的部分,它涉及到多個文件的配置,爲了方便描述,這裏逐個的進行配置。

一、apache 配置
我們分兩個步驟來完成這個配置。第一步是修改 apache的配置文件httpd.conf,這裏的文件路徑是/usr/local/apache/conf/httpd.conf 。把apache的運行用戶[1]和運行組改成nagios,往下把下面的行追加到文件httpd.conf的末尾:

 

#setting for nagios
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
     //Cgi文件所在目錄
    AuthType Basic
    Options ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthName "Nagios Access"
    AuthUserFile /usr/local/nagios/etc/htpasswd  //驗證文件路徑
    Require valid-user

Alias /nagios /usr/local/nagios/share
   //nagios頁面文件目錄
    AuthType Basic
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthName "nagios Access"
    AuthUserFile /usr/local/nagios/etc/htpasswd  //驗證文件路徑
    Require valid-user

上述文本塊的作用是對nagios的目錄進行用戶驗證,只有合法的授權用戶纔可以訪問nagios的頁面文件。第二步是生成用戶驗證文件:只要執行命令 /usr/local/apache/bin/htpasswd –c /usr/local/nagios/etc/htpasswd sery ,就會生成web的合法訪問用戶sery;命令交互執行,需要輸入2次密碼,然後就在文件/usr/local/nagios/etc/htpasswd 寫入一行-第一個字段是剛生成的用戶名,第二個是加密後的密碼,如果還要添加更多的用戶,執行命令 htpasswd 就不需要選項 “-c”,否則就會覆蓋所有已經生成的行。

配置完成後,執行/usr/local/apache/bin/apachctl –t  檢查apache配置文件是否有語法錯誤,無誤後用/usr/local/apache/bin/apachctl start & 把apache啓動,然後從另外的機器的瀏覽器輸入nagios 的訪問地址(如:http://ip/nagios),如果正常,將出現下圖的登錄驗證窗口等待用戶輸入:

輸入用htpasswd創建的用戶名和密碼測試一下,沒有問題的話,進行下一步配置操作。

二、nagios配置

剛安裝完成的nagios,其配置文件的目錄是/usr/local/nagios/etc,下圖是其etc目錄的文件:

先把這些文件改名,如 cgi.cfg-sample改成cgi.cfg ,用命令cp cgi.cfg-sample cgi.cfg …依樣把餘下的幾個*.cfg-sample都複製成*.cfg文件。從nagios2.6版開始,不用修改配置文件localhost.cfg就可以直接運行../bin/nagios –v nagios.cfg驗證程序是否能正常運行(nagios2.5及以前版本的最小運行的配置文件是minimal.cfg,但需要修改這個文件多處才能驗證成功)。

當然,我們不能指望這個最小的配置文件能夠滿足實際的需求,因此,需要對現有的配置文件進行修改,其次增加自定義的一些配置文件。這裏,我們分兩步進行:先修改配置文件再增添自定義文件。

1、修改配置文件
Nagios的主配置文件是nagios.cfg,我們就從這個文件開始修改。用vi編輯nagios.cfg,註釋行 #cfg_file=/usr/local/nagios/etc/localhost.cfg[2],然後把下面幾行的註釋去掉:

cfg_file=/usr/local/nagios/etc/contactgroups.cfg  //聯繫組配置文件路徑
cfg_file=/usr/local/nagios/etc/contacts.cfg       //聯繫人配置文件路徑
cfg_file=/usr/local/nagios/etc/hostgroups.cfg     //主機組配置文件路徑
cfg_file=/usr/local/nagios/etc/hosts.cfg          //主機配置文件路徑
cfg_file=/usr/local/nagios/etc/services.cfg       //服務配置文件路徑
cfg_file=/usr/local/nagios/etc/timeperiods.cfg    //監視時段配置文件路徑

改check_external_commands=0爲check_external_commands=1 這行的作用是允許執行在web界面下重啓nagios、停止主機/服務檢查等操作。把command_check_interval的值從默認的1改成 command_check_interval=10s(根據自己的情況定這個命令檢查時間間隔,不要太長也不要太短)。主配置文件要改的基本上就是這些,通過上面的修改,發現/usr/local/nagios/etc並沒有文件hosts.cfg等一干文件,怎麼辦?稍後手動創建它們。
第二個要修改的配置文件是cgi.cfg,它的作用是控制相關cgi腳本。

先確保use_authentication=1。曾看過不少的文章,都是建議把use_authentication的值設置成”0”來取消驗證,這是一個十分糟糕的想法。接下來修改default_user_name=sery ,再後面的修改在下表列出:

authorized_for_system_information=nagiosadmin,sery 
authorized_for_configuration_information=nagiosadmin,sery
authorized_for_system_commands=sery  //多個用戶之間用逗號隔開
authorized_for_all_services=nagiosadmin,sery
authorized_for_all_hosts=nagiosadmin,sery
authorized_for_all_service_commands=nagiosadmin,sery
authorized_for_all_host_commands=nagiosadmin,sery

那麼上述用戶名打那裏來的呢?是執行命令 /usr/local/apache/bin/htpasswd –c /usr/local/nagios/etc/htpasswd sery 所生成的,這個要注意,不能隨便加沒有存在的驗證用戶,爲了安全起見,不要添加過多的驗證用戶。

第3個修改的配置文件是misccommands.cfg,這個文件的主要功能是用來發送報警短信和報警郵件,對其的修改如下所示:

#host-notify-by-sms   //發送短信報警
define command {
       command_name      host-notify-by-sms
       command_line      /usr/local/bin/sms_send "Host $HOSTSTATE$
alert for $HOSTNAME$! on '$DATETIME$' " $CONTACTPAGER$
       }

#service notify by sms  //發送短信報警
define command {
       command_name     service-notify-by-sms
       command_line     /usr/local/bin/sms_send "'$HOSTADDRESS$'
$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$" $CONTACTPAGER$
       }

主機和服務的郵件報警通知已經在文件中,不須更改。也可以把短信和郵件報警通知這些配置塊寫到文件commands.cfg中,效果是一樣的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章