zabbix企业微信告警

   

1 首先你要有一个微信企业号,新建一个应用,获取到企业ID和应用的AgentId、Secret

注册地址:https://work.weixin.qq.com/wework_admin/register_wx?from=myhome

2 创建微信告警脚本,注意权限

# cd /usr/local/zabbix/share/zabbix/alertscripts/
# vim zabbixmail.sh
#!/bin/bash

CropID='XXXXXXXXXXXXXXXX'
Secret='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
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() {
        #企业号中的应用id
        local int AppID=XXXXXX
        #部门成员id,zabbix中定义的微信接收者
        local UserID=$1
        #部门id,定义了范围,组内成员都可接收到消息
        local PartyID=2     
        #过滤出zabbix传递的第三个参数
        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": "'" $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 zabbixwechat.sh
# chown -R zabbix.zabbix zabbixwechat.sh

2 zabbix配置: 管理–>配置–>创建媒体类型

效果如下

发表评论