天天看點

自學Zabbix3.6.4-觸發器triggers dependencies依賴關系

​​點選傳回:自學Zabbix之路​​

​​點選傳回:自學Zabbix4.0之路​​

​​點選傳回:自學zabbix集錦​​

自學Zabbix3.6.4-觸發器triggers dependencies依賴關系

自學Zabbix3.6.4-觸發器triggers dependencies依賴關系

1. 前言

有時,一個主機的可用性取決于另一個主機。如果路由器壞了,某個路由器後面的伺服器就會變得不可通路。對于兩個主機都配置了觸發器,您可能會收到兩個主機的通知,而隻有路由器是有罪的一方。這是主機之間的一些依賴關系可能有用的地方。對于依賴項的依賴項通知可以被保留,并且隻通知發送的根問題的通知。

雖然Zabbix不支援直接之間的依賴關系,但他們可能會用另一種更靈活的方法來定義——觸發依賴關系。

  • 是以,在我們的簡單示例中,我們打開伺服器觸發器配置表單,并設定它依賴于路由器的相應觸發器。
  • 有了這樣的依賴,伺服器觸發器就不會改變狀态,隻要它所依賴的觸發器處于“問題”狀态,是以不會采取依賴的操作,也不會發送通知。
  • 如果伺服器和路由器都是關閉的,而依賴項是存在的,那麼Zabbix就不會為依賴的觸發器執行操作。
  • 如果觸發器依賴于觸發器,則不會執行依賴觸發器的操作。

例如:

    配置了兩個觸發器,一個觸發器定義www.carlos.com這個HOST是否在運作中,另一個是www.carlos.com的網絡是否通暢。

  • 假如網絡出現故障,但是calos伺服器并未出現故障,我們依舊會收到這兩個觸發器給到的故障通知。
  • 現在的問題很明顯,HOST是正常的,肯定不希望收到他的故障資訊,因為它正常工作。
  • 是以在配置HOST觸發器時,我們需要增加依賴關系,依賴網絡是否暢通這個觸發器。一旦網絡出現故障,将不會出發HOST故障的通知。單個觸發器可以依賴于多個觸發器。

注意:

      一台HOST的觸發器可以依賴其他HOST的觸發器,但是注意不要有死循環依賴。比如A依賴B,B依賴C,C又依賴A。

依賴觸發器的操作不會被執行,如果觸發器依賴:

  • 将其狀态從“問題”更改為“未知”
  • 在基于時間的函數的幫助下關閉
  • 由一個不涉及到依賴觸發器的項的值來解析
  • 是disable,有disable的項目或殘障人士項目的host

請注意,上述情況下的“二級”(從屬)觸發器不會立即更新。

  • 觸發器依賴可以從任何主機觸發器添加到任何其他主機觸發器,隻要它不會導緻循環依賴。
  • 觸發器依賴可以從模闆添加到模闆中。如果模闆a的觸發器依賴于模闆B的觸發器,那麼模闆a隻能與一個主機(或另一個模闆)和模闆B連結在一起,但是模闆B可能與一個主機(或另一個模闆)連接配接在一起。
  • 觸發器依賴可以從模闆觸發器添加到主機觸發器。在這種情況下,将這樣一個模闆連結到一個主機将會建立一個主機觸發器,該觸發器依賴于相同的觸發器模闆觸發器。例如,這允許有一個模闆,其中一些觸發器依賴于路由器(主機)觸發器。與此模闆連結的所有主機都将依賴于這個特定的路由器。
  • 觸發從主機觸發器到模闆觸發器的依賴性可能不會被添加。
  • 觸發器依賴可以從觸發器原型中添加到另一個觸發器原型(在相同的低級發現規則中)或一個真正的觸發器。觸發器原型可能不依賴于來自不同LLD規則的觸發器原型,也不依賴觸發器原型建立的觸發器。主機觸發器原型不能依賴于模闆的觸發器。

2. zabbix觸發器依賴

一個模闆的觸發器可以依賴另外一個模闆的觸發器,例如模闆A觸發器依賴模闆B觸發器。一個HOST要連結A模闆,那麼它同時要連結A模闆(因為模闆A中的觸發器依賴了模闆B中的觸發器),但是HOST可以單獨連結模闆B(B是被依賴)。在一個host單獨連結template A,結果出現如下錯誤,是以别忘記了一起把template B也連結到HOST中。

自學Zabbix3.6.4-觸發器triggers dependencies依賴關系

模闆中的觸發器可以依賴HOST中的觸發器。如果某個HOST連結這類模闆,那麼HOST建立的相應的觸發器也同樣會依賴那個HOST的觸發器。

舉個官方的例子,某個模闆中的一些觸發器依賴了route/主機的觸發器,凡事連結(了解為套用)了這個模闆的機器都會依賴這些router/主機。說了那麼多,其實就是繼承了。

HOST中的觸發器不能依賴模闆中的觸發器。

配置

編輯觸發器,選擇頁籤“dependencies”,點選Add,選擇你需要依賴的觸發器,如下圖:

自學Zabbix3.6.4-觸發器triggers dependencies依賴關系

然後點選儲存,可以看到觸發器多了一個depend on

自學Zabbix3.6.4-觸發器triggers dependencies依賴關系

多個依賴執行個體

借用官方文檔的示例,Host前面有個Router2,Router2前面有Router1,如下:

Zabbix-Router1-Router2-Host      
'Host is down'trigger depends on'Router2 is down'
trigger'Router2 is down'trigger depends on'Router1 is down'trigger      

繼續閱讀