LINUX開源監控平臺Nagios(主機監控配置)

啓動nagios服務

Nagios的基礎平臺和插件都安裝完成之後,下一步就是啓動nagios的服務了。不要着急,在啓動之前,我們還要做點準備工作。

1
、準備各種配置文件。還記得在基礎系統安裝的時候,敲過這樣一個命令吧:make install-config 。這個命令的作用是生成配置文件的樣式文件。你可以在 nagios/etc/ 目錄下找到這些文件,其名字類似commands.cfg-sample 。我們首先要做的就是將這些文件變成我們初始的配置文件。
 
代碼:
cd ...nagios/etc
cp nagios.cfg-sample nagios.cfg
cp commands.cfg-sample commands.cfg
cp cgi.cfg-sample cgi.cfg
cp localhost.cfg-sample localhost.cfg
....

總之,就是把那些sample去掉,讓它們真正的上崗。

然後,我們修改cgi.cfg文件:
 
代碼:
use_authentication=1 (默認)
default_user_name=nagios
authorized_for_system_information=nagiosadmin,nagios
authorized_for_configuration_information=nagiosadmin,nagios
authorized_for_system_commands=nagiosadmin,nagios
authorized_for_all_services=nagiosadmin,nagios
authorized_for_all_hosts=nagiosadmin,nagios
authorized_for_all_service_commands=nagiosadmin,nagios
authorized_for_all_host_commands=nagiosadmin,nagios

我是用nagios這個名字做爲默認用戶的,所以在上述幾個配置項中,我都在最後添加了這個用戶。

ok
,做了上述幾個簡單的操作之後,我們就可以檢測一下配置文件的正確性了,這個操作是很重要且必要的,在以後對nagios做配置修改或者添加監控對象的時候,也都要記得重啓nagios之前要做這個操作:
 
代碼:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

如果沒有問題的話,會有如下顯示:
引用:
Total Warnings: 0
Total Errors: 0
如果存在問題,會提示你問題,出在什麼地方,修復錯誤就可以了。如果不清楚如何修改,請參詳我之後關於各個配置文件的說明文檔。

終於可以啓動了吧,命令如下:
 
代碼:
/etc/rc.d/init.d/nagios start

如果正常啓動,那麼就可以去驗收我們的成果了,打開瀏覽器,在地址欄中輸入

http://ServerIP/nagios/

這是會提示你輸入用戶名和密碼,這個密碼就是我們在安裝基本系統的時候,用命令
 
代碼:
/usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios

生成的,命令後面的參數分別是認證文件和用戶名。如果你忘記了用戶名和密碼,沒關係,再執行一次吧。
如果要添加用戶的認證,那麼要去掉參數“-c”,否則會覆蓋之前的用戶驗證信息。另外,添加了用戶之後,也要在cgi.cfg文件中進行相應的添加哦!

主機監控的配置

Nagios
的主要功能是監控,其監控對象包括主機和服務。在配置需要監控的主機時,不用把主機上面跑的服務和監聽的端口等等都加進來,監控主機只是監控 該服務器是否是開機,網絡是否是正常即可。至於該主機上運行的服務,就交給配置服務的時候再細緻的加以配置吧,這樣在Nagios的界面中顯示的也比較清 楚。

針對主機監控的配置項都是怎樣的呢?一般對於主機的監控配置都會寫在一個名字爲hosts.cfg的配置文件中,以下是定義一臺主機可以用到的定義參數:

 

代碼:

define host{
host_name host_name    #簡短的主機名稱
alias alias    #別名,可以更詳細的說明主機
address address    ip地址,當然你如果足夠信任你的DNS的話,也可以寫名稱。如果你不定義這個值,nagios將會用host_name去尋找主機。
parents host_names    #上一節點的名稱,也就是指從nagios服務器到被監控主機之間經過的節點,可以是路由、交換機、主機等等。當然,這個節點也要定義,並且要被nagios監控。
hostgroups hostgroup_names    #主機組名稱,簡短的
check_command command_name    #檢查命令的簡短名稱,如果此項留空,nagios將不會去判斷該主機是否alive
max_check_attempts 整數    #當檢查命令的返回值不是“OK”時,重試的次數
check_interval 數字    #循環檢查的間隔時間。
active_checks_enabled [0/1]    #是否啓用“active_checks”
passive_checks_enabled [0/1]    #是否啓用“passive_checks”,及被動檢查
check_period timeperiod_name    #檢測時間段簡短名稱,注意這個只是個名稱,具體的時間段要寫在其他的配置文件中哦!
obsess_over_host [0/1]    #是否啓用主機操作系統探測。
check_freshness [0/1]    #是否啓用freshness測試。freshness測試是對於啓用被動測試模式的主機而言的,其作用是定期檢查該主機報告的狀態信息,如果該狀態信息已經過期,freshness將會強制作主機檢查。
freshness_threshold  數字     fressness的臨界值,單位爲秒。 如果定義爲0,則爲自動定義。
event_handler command_name    #當主機發生狀態改變時,採用的處理命令的簡短的名字(可以在commands.cfg中對其定義)
event_handler_enabled [0/1]    #是否啓用event_handler
low_flap_threshold  數字    #抖動的下限值。這裏我簡單解釋一下抖動的含義,它定義了這樣一種現象:在一段時間內,主機(或服務)的狀態值頻繁的發生變化,類似一個問題風暴或者一個網絡問題。
high_flap_threshold 數字   #抖動的上限值
flap_detection_enabled [0/1]    #是否啓用抖動檢測
process_perf_data [0/1]    #是否啓用processing of performance data
retain_status_information [0/1]    #程序重啓時,是否保持主機狀態相關的信息
retain_nonstatus_information [0/1]    #程序重啓時,是否保持主機狀態無關的信息
contact_groups contact_groups    #聯繫人組(這個組會在contactgroup.cfg文件中定義),在此組中的聯繫人都會受到該主機的告警提醒信息。
notification_interval  整數    #告警臨界值。達到此次數之後,纔會發送該機的報警提醒信息。
notification_period timeperiod_name   #該機的告警時間段
notification_options [d,u,r,f]    #該機告警包括的狀態變化結果
notifications_enabled [0/1]    #是否啓用告警提醒功能
stalking_options [o,d,u]    #持續狀態檢測參數,o = 持續的UP狀態, d = 持續的DOWN狀態, and u = 持續的UNREACHABLE狀態.
}

呵呵,看了上面那麼長的配置說明是否有點頭暈,一般我們對主機的監控需求是很簡單的,如:

在任何時間內,只要用ping命令判斷是否可以ping通主機即可。連續出現5ping不通,則斷定其出現問題。連續出現3次問題發通知到 mygroup 組。發送提醒包括以下狀態改變:DOWNping不通) UNREACHABLE(不可達) RECOVERY(恢復正常,可以ping通了)

根據以上需求,其監控主機的配置如下即可:

 

代碼:

define host {
host_name test.1
alias test.1
address 192.168.0.1
contact_groups mygroup
check_command check-host-alive
max_check_attempts 5
notification_interval  3
notification_period 24x7
notification_options d,u,r
}
 

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