小知识:Zabbix 5.2 由浅入深之钉钉机器人告警(webhook方式)

%小知识:Zabbix 5.2 由浅入深之钉钉机器人告警(webhook方式)-猿站网-插图

前面有提到通过python的方式告警,但由于每个人的环境都不一样,容易出现格式缩进等一些问题,而实际上钉钉机器人也是通过webhook的方式来实现的,Zabbix 5.2版本原生支持webhook的方式去推送事件。

首先贴下代码,下面的title部分记得修改为自己的

var dingding = {    keynull   message: null   msgtype: “markdown”   proxy: null sendMessage: function () {      var params = {         msgtype: dingding.msgtype,         markdown: {            title: “IT小白Kasar”,(注意这里可以修改)            text: dingding.message          },        },        data,        response,        request = new CurlHttpRequest(),        url =          “https://oapi.dingtalk.com/robot/send?access_token=” +          dingding.key     if (dingding.proxy) {        request.setProxy(dingding.proxy);      }      request.AddHeader(“Content-Type: application/json”);      data = JSON.stringify(params);      // Remove replace() function if you want to see the exposed keyin the log file.      Zabbix.Log(        4,        “[dingding Webhook] URL: “ + url.replace(dingding.key“<BOT KEY>”     );      Zabbix.Log(4, “[dingding Webhook] params: “ + data);      response = request.Post(url, data);      Zabbix.Log(4, “[dingding Webhook] HTTP code: “ + request.Status());      try {        response = JSON.parse(response);      } catch (error) {        response = null     }      if (request.Status() !== 200 || response.errcode !== 0) {        if (typeof response.errmsg === “string”) {          throw response.errmsg;        } else {          throw “Unknown error. Check debug log for more information.”       }      }    },  };  try {    var params = JSON.parse(value);    if (typeof params.Key === “undefined”) {      throw Incorrect value is given for parameter “Key”: parameter is missing   }    dingding.key = params.Key   if (params.HTTPProxy) {      dingding.proxy = params.HTTPProxy;    }    dingding.to = params.To   dingding.message = params.Subject + “\n” + params.Message;    dingding.sendMessage();    return“OK” } catch (error) {    Zabbix.Log(4, “[dingding Webhook] notification failed: “ + error);    throw “Sending failed: “ + error + “.”

这个脚本贴在下图的这个位置,在报警媒介类型下

%小知识:Zabbix 5.2 由浅入深之钉钉机器人告警(webhook方式)-1猿站网-插图

需要将key部分修改为自己的机器人的token,主要是下图里的”access_token=”的一串字符串。

%小知识:Zabbix 5.2 由浅入深之钉钉机器人告警(webhook方式)-2猿站网-插图

添加完成后,我们就可以测试下

%小知识:Zabbix 5.2 由浅入深之钉钉机器人告警(webhook方式)-3猿站网-插图

%小知识:Zabbix 5.2 由浅入深之钉钉机器人告警(webhook方式)-4猿站网-插图

然后添加下默认告警媒介

%小知识:Zabbix 5.2 由浅入深之钉钉机器人告警(webhook方式)-5猿站网-插图

最终效果

%小知识:Zabbix 5.2 由浅入深之钉钉机器人告警(webhook方式)-6猿站网-插图

未美化效果

%小知识:Zabbix 5.2 由浅入深之钉钉机器人告警(webhook方式)-7猿站网-插图

写在最后

这种方式就摆脱了格式问题,可以实现开箱即用,而且无需装额外的环境即可实现,快去试试吧。最后感谢官方的模板,有借鉴部分。

原文链接:https://www.toutiao.com/i6965679632477848101/

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Docker安装MySQL和Redis的方法步骤

2023-3-25 12:08:02

建站知识

小知识:docker-compose快速搭建docker私有仓库的步骤

2023-3-25 12:22:47

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索