前面说了通过python发送告警,但是因为每个人的环境不同,容易出现一些格式缩进等问题,但实际上thenail钉钉机器人也是通过webhook实现的,Zabbix5.2版本原生支持webhook推送事件。先贴代码,记得把下面的title部分改成你自己的,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()函数如果你想在日志文件中看到暴露的key.Zabbix.Log(4,"[dingdingWebhook]URL:"+url.replace(dingding.key,""));Zabbix.Log(4,"[dingdingWebhook]参数:"+data);response=request.Post(url,data);Zabbix.Log(4,"[dingdingWebhook]HTTPcode:"+request.Status());尝试{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"发送失败:"+error+".";}这个脚本就贴在下图中这个位置。告警媒介类型下,需要修改key部分为自己机器人的token,主要是在下图中添加一串“access_token=”之后,我们可以测试一下,然后添加默认的告警媒介。最终效果没有美化。用最后一种方式写,可以解决格式问题。开箱即用,无需安装额外环境即可实现。去试试吧。.最后感谢官方模板,有参考部分。