2017-08-04 237 views
0

我有一個觸發器,它在ping 3次檢查之後起作用。支票間隔3分鐘。 我需要發送如下消息:Zabbix發送消息

Host unavailable from [time of first unsuccessfully check]; 
Trigger [time of trigger acts] 

我需要使用哪些宏?

+0

[觸發行爲時間]可以使用{event.time}。第一次檢查失敗的時間呢?我們可以做些事情嗎?{event.time} - 9分鐘? – Damir

+0

或者作弊,只是說「主機從[時間]起9分鐘不可用」。你當然可以編寫腳本通知,所以你可以做任何你想要的內部,如果你腳本的行動,包括數學。似乎不是很值得。 – Linwood

+0

我需要用腳本來完成它。有任何想法嗎?我能隨着時間的推移來操作嗎? – Damir

回答

0

有關腳本的評論,我將提供以下內容。

配置/操作允許您指定消息的內容。該消息可以被認爲是簡單地將參數傳遞給某個東西。簡單的默認是它發送電子郵件,但相同的參數可以傳遞給腳本。

在「操作」部分中,指定要發送給誰的操作(再次將此視爲參數)和媒體類型。用戶/組也成爲參數。

在管理,媒體類型下,您可以定義媒體類型的「腳本」。這將調用您編寫的外部腳本,並將參數傳遞給它,默認情況下前三個是發送,主題和消息內容。你可以(在後來的Zabbix版本中)也包含其他參數(我不記得是否有限制)。在此之前,我開始在消息體中以可預測和定界的方式傳遞我想要的任何數據,然後在腳本中解析出它。

在腳本本身內部,您可以拾取傳入的字符串,並執行任何您想要的操作。因此,如果一個參數(主題,明確地是第4個參數,或埋在消息正文內的可預測位置)是一個時間,那麼您可以在那個時間以您選擇的語言進行操作,替換它,對其進行闡述,等等。當你有你想要的東西時,你可以根據需要從腳本中發送消息。

可以使用不同的媒體類型發送不同的操作,因此您可以根據操作中寫入的條件(例如特定的觸發器名稱)僅對特定類型的觸發器執行腳本。因此,您可以根據需要使用某些默認行爲,並自定義編寫其他觸發器。關鍵是在配置/操作/觸發器中具有可預測的格式,並取決於管理/媒體類型參數中的格式,以及它們所調用的腳本中的格式。不要忘記讓腳本可以訪問zabbix服務帳戶,並將其放置在zabbix配置文件中指定的位置。我發現堅持使用電子郵件格式非常有用,然後我可以通過發送電子郵件來「測試」我的操作,獲取生成的電子郵件並使用它在zabbix外調用我的腳本並確保它們正常工作。

通過使用腳本來擴展默認警報(以及一個可調用的zabbix服務器本身的接口,可以在腳本執行時從zabbix中提取額外的數據),這使得警報有點神祕,但卻非常強大。通常情況下,您可以通過對腳本參數作出反應並將數據集中到電子郵件中來動態地將任何內容(包括圖表)包含在警報中。