一、概述
假設我們已經配置了一些項(items )和觸發器(triggers ),並且現在由於一些事件而引起觸發器的狀態改變,那麼現在是時候考慮去做一些操作了。
首先,我們不想一直盯着觸發器或事件列表。如果發生了重要的事情(如問題),最好是收到通知。此外,當問題發生時,我們希望所有有關人員都得到通知。
這就是爲什麼發送通知是Zabbix提供的主要操作之一。可以定義在某個事件發生的時間和應通知的人員。
要能夠從Zabbix發送和接收通知,您必須:
- 定義一些媒體(media)
- 配置向定義的媒體之一發送消息的操作(action)
動作(actions)包括條件(conditions )和操作(operations)。基本上,當條件滿足時,就要進行操作。兩個主要操作分別是發送消息(通知)和執行遠程命令。
對於發現和自動註冊創建的事件,有一些額外的操作可用。其中包括添加或刪除主機、鏈接模板等。
二、 Custom alertscripts
如果您對用於發送警報的現有媒體類型不滿意,則有另一種方法可以這樣做。您可以創建一個腳本來按您的方式處理通知。
警報腳本在Zabbix服務器上執行。我們在服務器配置文件/etc/zabbix/zabbix_server.conf中AlertScriptsPath變量中指定這些腳本所在的目錄。
下面是一個警報腳本示例:
#!/bin/bash
to=$1
subject=$2
body=$3
cat <<EOF | mail -s "$subject" "$to"
$body
EOF
不會爲腳本保留或創建環境變量,因此應顯式處理它們。
三、配置 Custom alertscripts
配置流程:
將自定義報警腳本配置爲媒體類型:
- 轉到管理→媒體類型(Administration-->media types)
- 點擊創建媒體類型。
- 選擇腳本
所有必需的輸入字段都用紅色星號標記。
參數 | 說明 |
name | 媒體類型的名稱 |
type | 選擇“腳本”作爲類型。 |
Script name | 選擇腳本的名字 |
Script parameters | 向腳本添加命令行參數。{ALERT.SENDTO}, {ALERT.SUBJECT} and {ALERT.MESSAGE} macros 在腳本參數中被支持。 |
用戶媒體
要將特定地址分配給用戶,請執行以下操作:
轉到管理→用戶(Administration → Users)
打開“用戶屬性”窗體
在“媒體”選項卡中,單擊“添加”
用戶媒體屬性:
參數 | 說明 |
Type |
選擇“自定義的報警腳本”作爲類型。 |
Send to | 指定接收警報的收件人。 |
When active |
您可以限制發送郵件的時間,例如,僅限工作日(1-5,09:00-18:00)。 |
Use if severity |
標記要接收通知的觸發器嚴重性的複選框。 請注意,如果要接收非觸發事件的通知,則必須選中默認嚴重性(“未分類”)。 保存後,所選觸發嚴重性將以相應的嚴重性顏色顯示,未選擇的觸發嚴重性將變灰。 |
Enabled |
用戶媒體的狀態。 Enabled-正在使用。 DIsabled-未使用。 |
參考文獻:
https://www.zabbix.com/documentation/4.2/manual/config/notifications/media/script