事件處理:
nagios可以在發出警告之前對事件進行處理。這可能蠻有幫助的。理由很簡單,因為可以不用人去處理。比方說我們發現server的情況不太妙了,可能需要重新啟動,此時如果你正在電車上,或是正在洗手間, 都會對這一個功能產生感謝之情。
除了這些之外,如果我們想將server發生狀況時,記錄在某個資料庫裡備查,這也是一個很好用的功能。
事件通常都是針對某個主機或是服務來作定義的,因為通常這些事件的變化性很大。當然我們也可以定義一個事件處理,通行所有的服務以及主機。
通常事件處理也是命令的一種,這個命令會被nagios在特定的時間裡執行。
命令可以被設定在以下的情況被執行。
而命令被執行的先後順序,是全域>區域的,也就是說,在global_service_event_handler裡所設定的命令會先被執行(如果它有被設定的話),然後接下來才是各主機及服務區塊裡所定義的eventhandler。
讓我們看看以下的例子:
假設我們有一個這樣子的服務:
define service{
host_name 某台主機名
service_description 這個服務的描述
max_check_attempts 4 <--在四次都無法通過檢查之後,就會從soft轉變成hard狀態
event_handler restart-service <--設定一個區域性的事件處理命令
...其餘的項目..
}
然後,我們需要在設定命令的檔案裡,加入如下列的描述:
define command{
command_name restart-service <--上面的事件處理命令在此處被定義
command_line /usr/local/nagios/libexec/eventhandlers/restart-httpd $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ <--實際上所執行的命令。
上面有幾個帶入命令的參數,是用來提醒nagios將那些系統變數傳給命令。在服務裡頭我們可以使用的參數分別是:
$SERVICESTATE$
$SERVICESTATETYPE$
$SERVICEATTEMPT$
而在主機裡我們可以使的參數是:
このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー と 利用規約 が適用されます。
1文字以上入力してください
本文は少なくとも1文字以上必要です。
1文字以上入力してください。
下から選んでください: