zabbix监控-企业webhook告警并使⽤markdown格式zabbix监控-企业webhook告警并使⽤markdown格式
最终告警样式:
markdown格式与text格式的优点:⽂字排版清晰,可对不同⽂字标识颜⾊,⼤⼩等。
此⽅法使⽤zabbix提供的webhook⽅式,不需要建⽴脚本⽂件。
zabbix版本:Zabbix 5.2.3
⼀、创建企业聊机器⼈
点开聊,右上⾓更多,输⼊名字,创建完成即可
⼆、新建报警媒介类型
名称随意,类型选择webhook
参数设置:
Message{ALERT.MESSAGE}
Subject{ALERT.SUBJECT}
To{ALERT.SENDTO}
Token聊机器⼈webhook地址的key  Token复制聊机器⼈KEY=后⾯的字符(⿏标移动到聊机器⼈头像就能看到)
脚本(脚本参考⽹络上⼤神的,不是我原创):
var Wechat = {
token: null,
to: null,
message: null,
parse_mode: null,
sendMessage: function() {
var params = {
msgtype: "markdown",
chat_id: ,
markdown: {
ssage
},
disable_web_page_preview: true,
disable_notification: false
},
data,
response,
request = new CurlHttpRequest(),
url = 'qyapi.weixin.qq/cgi-bin/webhook/send?key=' + ken;
if (Wechat.parse_mode !== null) {
params['parse_mode'] = Wechat.parse_mode;
}
request.AddHeader('Content-Type: application/json');
data = JSON.stringify(params);
// Remove replace() function if you want to see the exposed token in the log file.
Zabbix.Log(4, '[Wechat Webhook] URL: ' + ken, '<TOKEN>'));        Zabbix.Log(4, '[Wechat Webhook] params: ' + data);
response = request.Post(url, data);
Zabbix.Log(4, '[Wechat Webhook] HTTP code: ' + request.Status());
Zabbix.Log(4, '[Wechat Webhook] response: ' + response);
try {
response = JSON.parse(response);
}
catch (error) {
response = null;
Zabbix.Log(4, '[Wechat Webhook] response parse error');
}
if (request.Status() !== 200 ||  de !== 0 || sg !== 'ok') {            if (sg === 'string') {
sg;
}
else {
throw 'Unknown error. Check debug log for more information.'
}
}
}
}
}
try {
var params = JSON.parse(value);
if (typeof params.Token === 'undefined') {
throw 'Incorrect value is given for parameter "Token": parameter is missing';    }
if (['Markdown', 'HTML', 'MarkdownV2'].indexOf(params.ParseMode) !== -1) {
Wechat.parse_mode = params.ParseMode;
}
< = params.To;
Wechat.sendMessage();
return 'OK';
}
catch (error) {
Zabbix.Log(4, '[Wechat Webhook] notification failed: ' + error);
throw 'Sending failed: ' + error + '.';
}
添加报警模板:
模板类型选择问题,内容如下,根据个⼈喜好配置,也可直接复制下⽅内容。
主题:
### 【监控告警】主机: <font color="warning">{HOST.NAME}</font>  IP地址:<font color="warning">{HOST.IP}</font>消息:
>主机名称:**<font color="comment">{HOST.NAME}</font>**
>主机IP:<font color="comment">{HOST.IP}</font>
>告警时间:<font color="comment">{EVENT.DATE}-{EVENT.TIME}</font>
>问题名称:<font color="warning">{EVENT.NAME}</font>
>问题详情:<font color="comment">{ITEM.NAME}:{ITEM.VALUE}</font>
>⽬前状态:<font color="comment">{TRIGGER.STATUS}</font>
>操作数据:<font color="comment">{EVENT.OPDATA}</font>
我只配置了问题发送,如需配置问题解决消息,也可同样在这⾥添加,类型选“问题恢复”,这⾥我没有加markdown格式的参数配置。
三、zabbix添加动作
名称:随意命名
条件:添加与下图⼀致,表⽰当告警等级⼤于“警告”才会触发这个动作。
添加操作:
error parse new操作类型:发送消息
步骤和持续时间:可与下⽅图⽚设置⼀致。
发送的⽤户:我这⾥添加到admin⽤户。
仅送到:选择已创建好的报警媒介webhook

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。