zabbix结合企业微信实现报警

首先申请企业微信

地址 https://work.weixin.qq.com/
参考:
https://work.weixin.qq.com/api/doc#10013

注册好之后需要创建应用

1.zabbix结合企业微信实现报警_第1张图片
2.zabbix结合企业微信实现报警_第2张图片
创建应用后退出,点击刚才创建的应用进入
zabbix结合企业微信实现报警_第3张图片
记录下这两个值:AgentId、Secret
然后选择企业

zabbix结合企业微信实现报警_第4张图片
记录下企业id
zabbix结合企业微信实现报警_第5张图片
记录下部门id

写脚本:

[root@localhost alertscripts]# pwd
/usr/lib/zabbix/alertscripts
#!/bin/bash
#set -x
CorpID="。。。。。。。。。。"                   #我的企业下面的CorpID
Secret="。。。。。。。。。。"            #创建的应用那有Secret
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CorpID&corpsecret=$Secret"
Token=$(/usr/bin/curl -s -G $GURL |awk -F\": '{print $4}'|awk -F\" '{print $2}')
#echo $Token
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Token"
 
function body(){
        local int agentid=1000002   #改为AgentId 在创建的应用那里看
        local UserID=$1             #发送的用户位于$1的字符串
        local PartyID=1            #第一步看的通讯录中的部门ID
        local Msg=$(echo "$@" | cut -d" " -f3-)
        printf '{\n'
        printf '\t"touser": "'"$UserID"\"",\n"
        printf '\t"toparty": "'"$PartyID"\"",\n"
        printf '\t"msgtype": "text",\n'
        printf '\t"agentid": "'"$agentid"\"",\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

``
测试脚本
[root@localhost alertscripts]# ./wechat.sh ChengWufei 测试 这是一条测试信息
{"errcode":0,"errmsg":"ok","invaliduser":"","invalidparty":"1"}[root@localhost alertscript
`

zabbix结合企业微信实现报警_第6张图片
测试没有问题,开始配置zabbix

zabbix结合企业微信实现报警_第7张图片
zabbix结合企业微信实现报警_第8张图片
zabbix结合企业微信实现报警_第9张图片
权限可以看情况分配,我这自己用可以给大一点
zabbix结合企业微信实现报警_第10张图片
选择报警媒介类型
zabbix结合企业微信实现报警_第11张图片
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
选择配置-动作
zabbix结合企业微信实现报警_第12张图片
创建动作
zabbix结合企业微信实现报警_第13张图片
默认接收人:

1故障:{TRIGGER.STATUS},服务器:{HOSTNAME1}发生:{TRIGGER.NAME}故障!

默认信息:

告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件标识:{EVENT.ID}zabbix结合企业微信实现报警_第14张图片
zabbix结合企业微信实现报警_第15张图片
zabbix结合企业微信实现报警_第16张图片
zabbix结合企业微信实现报警_第17张图片
默认接收人:

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

默认信息:

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

将zabbix_server的agent关闭看是否报警,然后再启动看是否有恢复通知
zabbix结合企业微信实现报警_第18张图片

ystemctl stop  zabbix-agent.service

zabbix结合企业微信实现报警_第19张图片

systemctl start  zabbix-agent.service

zabbix结合企业微信实现报警_第20张图片哈哈 好了

你可能感兴趣的:(zabbix结合企业微信实现报警)