開始設定service

「開始設定service」の編集履歴(バックアップ)一覧に戻る

開始設定service - (2005/12/17 (土) 23:14:42) のソース

#contents
*一個簡單的範例

service裡有很多的選項,為了更貼近現實,假設我們現在有兩台機器,一台win1,一台win2,這兩台機器上都運行了web server。
我們想要在運行nagios的機器上,進行設定,使得nagios能夠認識這兩台機器上所運行的服務,並且讓nagios來對這兩台機器的web server進行監視的工作:
首先定義第一個服務:


 define service {
  use generic-service
  host_name win1
  service_description test
  check_command check_http
  max_check_attempts 5
  normal_check_interval 10
  retry_check_interval 20
  check_period 24x7
  notification_interval 60
  notification_period 24x7
  notification_options w,u,c,r
  contact_groups contact_g1
 }

看到這麼大串的設定檔,是否有點感到無法吞的下去。如果你會這麼覺得,那你是正常的。老實說,很多人都與你有同樣的想法。其實你在這裡所看到的,只是用來定義service屬性的一部份而已。不過這些屬性都很常用,所以先列出這些。如果你很趕時間想要把設定完成,那你可以先把這幾個項目弄懂,在百分之八十你所遇到的情況裡,都可以派得上用場。

其實這裡的設定檔與關連式資料庫有很多異曲同功之妙,所以也有些幫助你設定的軟體,是將設定先寫到資料庫裡,然後在從資料庫裡將檔案給輸出到文字檔。

我們先一項一項的從上往下看:
**host_name win1
故名思義,這裡定義了主機的名稱。不過請不要誤解,這裡的主機名稱,並不是直接對應到真正機器的主機名稱,乃是對應到在主機設定檔裡所設定的主機名。
以資料庫的概念來講,這裡的win1是一個ForeignKey,它對應到另外一個table的primary key,如下圖所示:


**service_description test

這一行比較無關緊要,主要是用來描述這一個service的詳細內容,以供將來後人維護時作參考之用
**check_command check_http

這一行是用來設定用來監視之時,所使用的命令。不過同樣的,請不要誤解,這裡的命令並不是真正的對應到server裡頭的那一個可以執行的命令,而是對應到命令的設定檔。在另外一個設定檔裡,有關於這個命令的真正的路徑,要帶入的參數,以及實行時的細節。


以資料庫的概念來講,這裡的check_http是一個ForeignKey,它對應到另外一個table的primary key,如下圖所示:

**max_check_attempts 5

這一個選項的值被設為5。這個值代表最大的檢查次數,講的更白話一點,也就是nagios利用上面的check_http的命令,來檢查win1這一台server。當檢查時發現server異常時,因為有可能只是一時網路太擁擠,或是一些風吹草動,讓server受到了一點影響,所以不要馬上把server判斷為狀況危急,而是多試(retry)幾次,這裡的5就是至少試5次的意思。

這個值的設定要看現場的真正情況。比方說筆者目前所擔當的網站,由於訪問的流量非常的大,所以常常會發生server反應遲緩,而讓nagios判斷為緊急的情況,此時為了防止狼來了的場景一直發生,所以我會把這裡的值給設的高一點。當然這樣設會有一些問題,如果server真正發生問題,查覺得時間會比較晚,甚至客戶會比我們先查覺,所以為了防止這個情況,在將retry的次數調高的同時,也最好將每個retry之間的時間間隔縮短一點。不過,還是要強調,一切都需要看現場的情況。


**normal_check_interval 10
**retry_check_interval 20
**check_period 24x7
**notification_interval 60
**notification_period 24x7
**notification_options w,u,c,r
**contact_groups contact_g1
ツールボックス

下から選んでください:

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