首頁 > 軟體

zabbix 6.0 使用 JavaScript 發出釘釘告警的方法

2022-03-21 16:02:09

背景

聽說 Zabbix 6.0 出 LTS 版本了,趕緊試試。
同時從 Zabbix 4.4 開始支援使用自定義的 JavaScript 程式碼來設定釘釘告警了,不用跑到伺服器上去放一個Python指令碼設定一大堆許可權了,說幹就幹。

申請釘釘機器人

略過
注意關鍵字要和告警模板匹配

Zabbix 6.0 安裝

略過

設定釘釘告警

釘釘機器人 access_token 為:
https://oapi.dingtalk.com/robot/send?access_token=123456

報警媒介型別

管理 --> 報警媒介型別 --> 建立媒體型別

型別選 Webhook
引數:

名稱備註
access_token123456釘釘機器人access_token= 後面的字串
message{ALERT.MESSAGE} 
subject{ALERT.SUBJECT}

指令碼:

try {
    Zabbix.Log(4, 'params= '+value);
    params = JSON.parse(value);
    req = new CurlHttpRequest();
    timest = Date.now()
    data = {};
    result = {};
    req.AddHeader('Content-Type: application/json');
    data.msgtype = "markdown";
    // 對應 message引數
    data.markdown = {"title" : params.subject, "text" : params.message.replace(/\n/g, "n").replace(/awesometimestamp/g, timest)};
    Zabbix.Log(4, 'markdown= '+JSON.stringify(data.markdown));
    // 對應 user引數
    data.at = {"atMobiles": [], "isAtAll": "false"};
    // 釘釘機器人
    resp = req.Post('https://oapi.dingtalk.com/robot/send?access_token=' + params.access_token,
        JSON.stringify(data)
    );
} catch (error) {
}
return JSON.stringify(result);

然後到訊息模板

告警模板

#### <font face='微軟雅黑' color=#FF0000>xx故障告警</font> n
> 告警時間:{EVENT.DATE} {EVENT.TIME} n
> 告警名稱: {EVENT.NAME} n
> 告警主機: {HOST.NAME} n
> 告警級別: {EVENT.SEVERITY} n

恢復模板

#### <font face='微軟雅黑' color=#00FF00>xx告警恢復</font> n
> 告警恢復時間: {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME} n
> 告警資訊: {EVENT.NAME} n
> 告警持續時間: {EVENT.DURATION} n
> 告警主機: {HOST.NAME} n
> 告警級別: {EVENT.SEVERITY} n

使用者

管理 --> 使用者

動作

設定 --> 動作 --> Trigger actions
建立動作

告警展示

故障是紅色的,恢復是綠色的。

到此這篇關於zabbix 6.0 使用 JavaScript 發出釘釘告警的文章就介紹到這了,更多相關zabbix 釘釘告警內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com