zabbix监控企业微信webhook告警并使用markdown格式 最终告警样式: markdown格式与text格式的优点:文字排版清晰,可对不同文字标识颜色,大小等。 此方法使用zabbix提供的webhook方式,不需要建立脚本文件。 zabbix版本:Zabbix5。2。3 一、创建企业微信群聊机器人 点开群聊,右上角更多,输入名字,创建完成即可 二、新建报警媒介类型 名称随意,类型选择webhook 参数设置: Message {ALERT。MESSAGE} Subject {ALERT。SUBJECT} To {ALERT。SENDTO} Token 群聊机器人webhook地址的key Token复制群聊机器人KEY后面的字符(鼠标移动到群聊机器人头像就能看到) 脚本(脚本参考网络上大神的,不是我原创): varWechat{token:null,to:null,message:null,parsemode:null,sendMessage:function(){varparams{msgtype:markdown,chatid:Wechat。to,markdown:{content:Wechat。message},disablewebpagepreview:true,disablenotification:false},data,response,requestnewCurlHttpRequest(),urlhttps:qyapi。weixin。qq。comcgibinwebhooksend?keyWechat。token;if(Wechat。parsemode!null){params〔parsemode〕Wechat。parsemode;}request。AddHeader(ContentType:applicationjson);dataJSON。stringify(params);Removereplace()functionifyouwanttoseetheexposedtokeninthelogfile。Zabbix。Log(4,〔WechatWebhook〕URL:url。replace(Wechat。token,TOKEN));Zabbix。Log(4,〔WechatWebhook〕params:data);responserequest。Post(url,data);Zabbix。Log(4,〔WechatWebhook〕HTTPcode:request。Status());Zabbix。Log(4,〔WechatWebhook〕response:response);try{responseJSON。parse(response);}catch(error){responsenull;Zabbix。Log(4,〔WechatWebhook〕responseparseerror);}if(request。Status()!200response。errcode!0response。errmsg!ok){if(typeofresponse。errmsgstring){throwresponse。errmsg;}else{throwUnknownerror。Checkdebuglogformoreinformation。}}}}try{varparamsJSON。parse(value);if(typeofparams。Tokenundefined){throwIncorrectvalueisgivenforparameterToken:parameterismissing;}Wechat。tokenparams。Token;if(〔Markdown,HTML,MarkdownV2〕。indexOf(params。ParseMode)!1){Wechat。parsemodeparams。ParseMode;}Wechat。toparams。To;Wechat。messageparams。Subjectparams。Message;Wechat。sendMessage();returnOK;}catch(error){Zabbix。Log(4,〔WechatWebhook〕notificationfailed:error);throwSendingfailed:error。;} 添加报警模板: 模板类型选择问题,内容如下,根据个人喜好配置,也可直接复制下方内容。 企业微信markdown参考手册地址:群机器人配置说明接口文档企业微信开发者中心 https:developer。work。weixin。qq。comdocumentpath91770 主题: 【监控告警】主机:{HOST。NAME}IP地址:{HOST。IP} 消息: 主机名称:{HOST。NAME} 主机IP:{HOST。IP} 告警时间:{EVENT。DATE}{EVENT。TIME} 问题名称:{EVENT。NAME} 问题详情:{ITEM。NAME}:{ITEM。VALUE} 目前状态:{TRIGGER。STATUS} 操作数据:{EVENT。OPDATA} 我只配置了问题发送,如需配置问题解决消息,也可同样在这里添加,类型选问题恢复,这里我没有加markdown格式的参数配置。 三、zabbix添加动作 名称:随意命名 条件:添加与下图一致,表示当告警等级大于警告才会触发这个动作。 添加操作: 操作类型:发送消息 步骤和持续时间:可与下方图片设置一致。 发送的用户:我这里添加到admin用户。 仅送到:选择已创建好的报警媒介webhook 条件:与下方一致 想要具体知道步骤和持续时间含义,请阅读下方图片内容释义(转发): 需要恢复操作和更新操作的消息提醒,可自行添加,这里我没有添加了。 四、设置用户 进入用户admin 选择报警媒介,类型选webhook 收件人:随意名字就行 其他信息与下方图片内容一致 设置完成,消息告警就接受到了。 添加报警媒介时可以测试能否发送: