第7節 事件處理

「第7節 事件處理」の編集履歴(バックアップ)一覧はこちら

第7節 事件處理」(2005/12/13 (火) 22:31:19) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

<p><font size="3">事件處理:</font></p> <p><font size= "3">nagios可以在發出警告之前對事件進行處理。這可能蠻有幫助的。理由很簡單,因為可以不用人去處理。比方說我們發現server的情況不太妙了,可能需要重新啟動,此時如果你正在電車上,或是正在洗手間, 都會對這一個功能產生感謝之情。</font></p> <p><font size= "3">除了這些之外,如果我們想將server發生狀況時,記錄在某個資料庫裡備查,這也是一個很好用的功能。</font></p> <p><font size= "3">事件通常都是針對某個主機或是服務來作定義的,因為通常這些事件的變化性很大。當然我們也可以定義一個事件處理,通行所有的服務以及主機。</font></p> <p><font size= "3">通常事件處理也是命令的一種,這個命令會被nagios在特定的時間裡執行。</font></p> <table border="0"> <tbody> <tr> <td>書式:</td> <td><b>global_service_event_handler=&lt;command&gt;</b></td> </tr> <tr> <td>例:</td> <td><font color= "red"><b>global_service_event_handler=log-service-event-to-db</b></font></td> </tr> </tbody> </table> <p><br></p> <p>命令可以被設定在以下的情況被執行。</p> <ul> <li>1狀態處於soft之時</li> <li>2狀態剛從soft改變到hard之時</li> <li>3狀態剛從soft或從hard轉變過來之時。</li> </ul> <p> 而命令被執行的先後順序,是全域&gt;區域的,也就是說,在<b>global_service_event_handler裡所設定的命令會先被執行(如果它有被設定的話),然後接下來才是各主機及服務區塊裡所定義的eventhandler。</b></p> <p>讓我們看看以下的例子:</p> <p>假設我們有一個這樣子的服務:</p> <p>define service{   </p> <p>host_name            某台主機名   </p> <p>service_description       這個服務的描述   </p> <p>max_check_attempts       4    &lt;--在四次都無法通過檢查之後,就會從soft轉變成hard狀態</p> <p><b>event_handler </b>         restart-service    &lt;--設定一個區域性的事件處理命令</p> <p>...其餘的項目..  </p> <p>}</p> <p> 然後,我們需要在設定命令的檔案裡,加入如下列的描述:</p> <p>define command{   </p> <p>command_name  restart-service    &lt;--上面的事件處理命令在此處被定義</p> <p>command_line  /usr/local/nagios/libexec/eventhandlers/restart-httpd $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ &lt;--實際上所執行的命令。   </p> <p>}</p> <p><br></p> <p> 上面有幾個帶入命令的參數,是用來提醒nagios將那些系統變數傳給命令。在服務裡頭我們可以使用的參數分別是:</p> <p>$SERVICESTATE$</p> <p>$SERVICESTATETYPE$</p> <p>$SERVICEATTEMPT$</p> <p>而在主機裡我們可以使的參數是:</p> <p><br></p>

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。