監控系統Nagios系列(四) 狀態型別(soft & hard)
阿新 • • 發佈:2018-12-27
在監控系統Nagios系列(二) 架構中提到了如何定義物件的狀態,物件狀態根據是外掛檢查結果綜合得到的。
物件狀態如果發生了變化,Nagios會呼叫通知命令,傳送警報。為了避免錯誤的警報,Nagios允許使用者定義最大嘗試次數(max_check_attempts),只有狀態連續變化超過了最大嘗試次數,才算是真的狀態變化。Nagios通過定義兩種狀態變化型別:soft, hard,分別表示在max_check_attempts內的狀態變化,和超過了max_check_attempts的狀態變化。這種做法能夠解決的一個典型問題就是狀態處於抖動不穩定的物件,通過max_check_attempts
1. soft型別
soft型別狀態變化產生的條件為:
- 檢查Service或Host狀態的外掛返回結果為non-OK或non-UP,且檢查次數還未達到max_check_attempts,那麼這個狀態變化是soft型別,是一個soft error。
- 一個Service或Host從soft error恢復(外掛檢查返回結果為OK或UP),那麼這個狀態變化是soft型別,是一個soft recovery。
當soft狀態變化發生之後,Nagios對應的處理有:
- 記錄日誌
- 呼叫外部註冊的事件處理回撥命令。開發者可以註冊事件處理回撥命令,嘗試修復soft error,在soft error變為hard error之前。
2. hard型別
hard型別狀態變化產生條件為:
- 檢查Service或Host狀態的外掛返回結果為non-OK或non-UP,且檢查次數已經達到max_check_attempts,那麼這個狀態變化是hard型別,是一個hard error。
- 一個Service或Host的狀態由一個hard型別變化為另外一個hard型別,這次變化也是hard型別。如從Warning變為Critical。
- 一個Service的檢查結果為non-OK狀態,且與其關聯的Host的狀態是DOWN或UNREACHABLE,那麼Service的狀態變化是hard型別,是一個hard error。
- 一個Service或Host從hard error恢復,那麼這個狀態變化是hard型別,是一個hard recovery。
- Service或Host的狀態檢查型別為passive_check(由外部注入狀態),且全域性配置檔案(nagios.cfg)中的配置項“ passive_host_checks_are_soft”為0,那麼passive_check的檢查結果導致的狀態變化,都是hard型別。
當hard狀態變化發生之後,Nagios對應的處理有:
- 記錄日誌
- 呼叫外部註冊的事件處理回撥命令。
- 通知聯絡人。