kavin

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

kavin 运维技术 2022-11-13 411浏览 0

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

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

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

vardingding={
key:null,
message:null,
msgtype:"markdown",
proxy:null,
sendMessage:function(){
varparams={
msgtype:dingding.msgtype,
markdown:{
title:"IT小白Kasar",(注意这里可以修改)
text:dingding.message
},
},
data,
response,
request=newCurlHttpRequest(),
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);
//Removereplace()functionifyouwanttoseetheexposedkeyinthelogfile.
Zabbix.Log(
4,
"[dingdingWebhook]URL:"+url.replace(dingding.key,"<BOTKEY>")
);
Zabbix.Log(4,"[dingdingWebhook]params:"+data);
response=request.Post(url,data);
Zabbix.Log(4,"[dingdingWebhook]HTTPcode:"+request.Status());
try{
response=JSON.parse(response);
}catch(error){
response=null;
}
if(request.Status()!==200||response.errcode!==0){
if(typeofresponse.errmsg==="string"){
throwresponse.errmsg;
}else{
throw"Unknownerror.Checkdebuglogformoreinformation.";
}
}
},
};
try{
varparams=JSON.parse(value);
if(typeofparams.Key==="undefined"){
throw'Incorrectvalueisgivenforparameter"Key":parameterismissing';
}
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,"[dingdingWebhook]notificationfailed:"+error);
throw"Sendingfailed:"+error+".";
}

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

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

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

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

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

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

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

然后添加下默认告警媒介

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

最终效果

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

未美化效果

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

继续浏览有关 系统运维 的文章
发表评论