干货|Webhook配置钉钉/飞书机器人告警

马嘉炜 | Zabbix开源社区签约专家

SRE运维工程师,六年Zabbix监控系统使用经验。在Zabbix架构设计及性能优化领域有丰富的经验,擅长监控模板制作及Zabbix API的二次开发。

官方使用手册《Zabbix标准模板指南》译者

简介
自 Zabbix 4.4.4 版本开始,Zabbix 的报警媒介类型加入了Webhook的支持。

Webhook 类型可用于使用自定义 JavaScript 代码进行 HTTP 调用,可以很方便的和外部系统进行集成,例如钉钉机器人、飞书机器人、企业微信等。

也可以集成第三方的系统来实现更加高级的功能,例如当主机自动注册到 Zabbix 中时,通过 Webhook 类型调用 API,将资产信息同步到 CMDB 系统,或者报警发生时,调用自动化平台的 API 来实现故障自愈的能力。

Webhook VS 自定义脚本

在这里插入图片描述

配置钉钉机器人告警
一、创建报警媒介
打开 Web 界面,并导航到管理 -> 报警媒介类型,点击右上角创建媒介类型

在这里插入图片描述

  1. 配置报警媒介类型
    配置参考如下:

名称:DingTalk
类型:Webhook
参数:
| 名称 | 值 | 说明 |
| —- | —- | —- |
| HTTPProxy | | Http代理地址 |
| Message | {ALERT.MESSAGE} | 告警消息内容 |
| Subject | {ALERT.SUBJECT} | 告警消息主题 |
| To | {ALERT.SENDTO} | 告警消息接收者 |

脚本:见下文
超时:30s

其他配置及说明参考文档:Webhook

脚本内容:

try {
   
       // 实例化参数
    var params = JSON.parse(value),
        req = new HttpRequest(),
        msg = {
   
   
            msgtype: 'text',
            text: {
   
   
                content: params.Subject + '\n' + params.Message
            }
        },
        resp;    // 判断是否需要配置HTTP代理
    if (params.HTTPProxy) {
   
   
        req.setProxy(params.HTTPProxy);
    }    // 添加header头变量
    req.addHeader('Content-Type: appl
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值