zabbix配置钉钉报警通知脚本

上期已经讲述了 然后在树莓派中安装zabbix服务器

现在我们配置一下zabbix的 钉钉通知

实际这部分我也是网站找了好久才找到一个能用的,其他的 脚本执行起来都会报错

首先就是要在钉钉中创建一个机器人,当然是先要创建个钉钉群才能建立这个机器人

1、或得 这个机器人的  webhook   保留好备用

2、进入  /usr/lib/zabbix/alertscripts/    目录  创建脚本 dingding.sh

#!/bin/bash
to=$1
subject=$2
text=$3
curl '这里修改成上面获取到的钉钉 webhook 地址' \
-H 'Content-Type: application/json' \
-d '
{"msgtype": "text",
"text": {
"content": "'"$text"'"
},
"at":{
"atMobiles": [ "'"$1"'" ],
"isAtAll": false
}
}'

然后测试一下 能不能正常发送消息

<span class="hljs-comment">#chmod +x dingding.sh                           #赋予执行权限</span>
#bash send.sh hello lyshark test123                  #发送test123  进行测试
{<span class="hljs-string">"errmsg"</span>:<span class="hljs-string">"ok"</span>,<span class="hljs-string">"errcode"</span>:0}

 

成功以后

点击图形界面,选择管理->报警媒介->创建报警媒介.

名称:钉钉报警

新增脚本参数:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}.

 

 

点击图形界面,选择配置->动作->创建动作,首先创建一个动作.

紧接着点击操作->配置一下故障报警消息格式

标题改为:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

信息改为:
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

 

继续往下看,点击新的,配置一个报警用户组和报警使用消息.

下图表示触发5次动作,每隔120秒触发一次,告警发给 admin 用户,用钉钉媒介发送.

 

当配置完成一个故障报警后,下面就继续配置一个恢复后的提示.

 

标题改为:
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

信息改为:
告警主机:{HOSTNAME1}
告警地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

 

最终点击蓝色字体的  添加选项,  继续点击  下方   蓝色背景  白色字体的    “添加”增加.

配置告警用户,点击管理->用户->Admin->报警媒介,修改 类型为钉钉报警 ,收件人 填写  注册钉钉群的 手机号   ,其他默认勾选就可以点添加

最后点击更新按钮完成任务了.

Momostudent
Momostudent
因为喜欢所以折腾。。。