zabbix 3.0微信报警配置(shell)

注册企业微信

https://work.weixin.qq.com/
注册企业微信,不用认证就可以直接使用。
记录企业id--(CropID)
zabbix 3.0微信报警配置(shell)

自定义应用

应用与小程序–创建应用。设置logo 名称等···
zabbix 3.0微信报警配置(shell)
如上图, 有一个报警的 自建应用。

下图所示,记录 agentid secret还有可见范围的分组id

zabbix 3.0微信报警配置(shell)
zabbix 3.0微信报警配置(shell)

配置微工作台

我的企业–微工作台. 配置logo 等信息

这样就个人就可以扫码关注了, 就不用非要下载使用企业微信app了。
zabbix 3.0微信报警配置(shell)

微信关注后
zabbix 3.0微信报警配置(shell)

钉钉报警脚本(shell)

脚本目录

脚本存放目录 /usr/local/zabbix/share/zabbix/alertscripts/
添加执行权限 chmod + weixin.sh
修改所属用户所属组 chown zabbix:zabbix weixin.sh

脚本参数修改

#!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###
###wuhf###
###V1-2017-09-12###

CropID='XXXXXXXXXXXXXX'
Secret='XXXXXXXXXXXXXXXXXXXXXXXXX'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" 
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $10}')

PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"

function body() {
        local int AppID=1                        #企业号中的应用id
        local UserID=$1                          #部门成员id,zabbix中定义的微信接收者
        local PartyID=1                          #部门id,定义了范围,组内成员都可接收到消息
        local Msg=$(echo "[email protected]" | cut -d" " -f3-)  #过滤出zabbix中传递的第三个参数
        printf '{\n'
        printf '\t"touser": "'"$User"\"",\n"
        printf '\t"toparty": "'"$PartyID"\"",\n"
        printf '\t"msgtype": "text",\n'
        printf '\t"agentid": "'" $AppID "\"",\n"
        printf '\t"text": {\n'
        printf '\t\t"content": "'"$Msg"\""\n"
        printf '\t},\n'
        printf '\t"safe":"0"\n'
        printf '}\n'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

保存后, 记得加执行权限

chmod +x weixin.sh

测试脚本问题

sh weixin.sh  2   234   234234

zabbix 3.0微信报警配置(shell)

Zabbix web端配置监控

管理–报警媒介类型–创建媒介类型

#脚本名称必须与服务器上脚本名称一致!!
zabbix 3.0微信报警配置(shell)
脚本参数:

{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

配置–动作–创建动作
zabbix 3.0微信报警配置(shell)
默认信息

服务器:{HOST.NAME}出现故障!\n
告警主机:{HOSTNAME1}
主机地址:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
监控项目:{ITEM.NAME}
监控取值:{ITEM.LASTVALUE}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

恢复信息

服务器:{HOST.NAME}已恢复!\n
恢复主机:{HOSTNAME1}
主机地址:{HOST.IP}
恢复时间:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持续时间:{EVENT.AGE}
故障信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}

在配置 条件, 配置 操作
zabbix 3.0微信报警配置(shell)

zabbix 3.0微信报警配置(shell)

zabbix 3.0微信报警配置(shell)

保存更新配置。

切记在用户配置中, 配置报警媒介。
配置时 收件人为 部门id 本次测试中为 2。则, 收件人处写2
zabbix 3.0微信报警配置(shell)

完成。

报警时, 关注了本企业微信应用公众号的 就可以收到报警消息。

参考;https://jingyan.baidu.com/article/5225f26b4ad810e6fb090858.html