Zabbix飞书告警通知

zabbix告警 Leo 59 次阅读

飞书端创建群聊及机器人

image

image

image

image

image

image

image

Webhook可以使用zbx_export_mediatypes.xml文件导入,已配置完成,也可以新建

image

新建Webhook_feishu

image

image

image

image

# 问题

# 标题
服务器:{HOST.NAME} - 发生: {TRIGGER.NAME}故障

# 消息
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}

# 问题恢复
# 标题
服务器:{HOST.NAME} - 发生: {TRIGGER.NAME}已恢复

# 消息
告警主机:{HOST.NAME}
告警地址:{HOST.IP}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
当前状态:{TRIGGER.STATUS}
告警信息:{TRIGGER.NAME}
告警时间:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}

image

image

try {    // 实例化参数  
  var params = JSON.parse(value),  
    req = new HttpRequest(),  
    msg = {  
      "msg_type": "post",
      "content": {
        "post": {
          "zh-CN": {
            "title": params.Subject,
            "content": [
              [
                {
                  "tag": "text",
                  "text": params.Message
                },
              ]
            ]
          }
        }
      }
    },  
    resp;    // 判断是否需要配置HTTP代理  
  if (params.HTTPProxy) {  
    req.setProxy(params.HTTPProxy);  
  }    // 添加header头变量  

  req.addHeader('Content-Type: application/json');    // 发送HTTP Post请求,格式:req.post(url, data)  
  resp = req.post(params.To,        JSON.stringify(msg)  
                 );    // 判断HTTP请求返回的状态码,非200则抛出异常  
  if (req.getStatus() != 200) {        throw 'Response code: ' + req.getStatus();  
                              }    // 返回响应结果  
  resp = JSON.parse(resp);    return JSON.stringify(resp);  
}catch (error) {    throw 'Failed with error: ' + error;  
               }

创建用户

image

image

image

image

目录