跳转至

6. 微信报警

1. 我的企业微信中zabbix应用信息

# 登录企业微信后台,查看自己的应用信息,我的如下
#名称:zabbix应用

#1. AgentId
1000005

#2. Secret ID
# 手机上查看

#3. 企业ID(corpid)
# 企业微信后台查看

# 企业微信只要这些信息拿到手就可以了

2. 微信报警脚本

#1. 进入zabbix脚本目录
cd /usr/lib/zabbix/alertscripts

#2. 编写脚本
vim weixin.sh
# 写入以下内容
#!/bin/bash
CorpID=" "  #1 你的企业id
Secret=" "  #2. 你的SecretID
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=1000005       #3. 你的agentdid
        local UserID="@all"                 # 发送的用户ID
        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

3. 测试

#1.添加权限
chmod +x scripts/weixin.sh
chown -R zabbix:zabbix /usr/local/etc/scripts/

#2. 重启zabbix
kill -9 zabbix_server
zabbix_server

#3. 测试:
root@zabbix:/usr/lib/zabbix/alertscripts# ./weixin.sh test
{"errcode":0,"errmsg":"ok","msgid":"fcLc6UhB2absSaoEDgOVFByTAUSAmwAHO7AIHOz__yPZvB1SKbLDIkzuBshkF_t0SgsjIOFo0UMFDc_2v0dDaA"}r

# 此时微信就会收到信息‘test’

4. 添加微信报警媒介类型

# 管理-报警媒介类型-钉钉-克隆
# 输入名称:企业微信zabbix告警
# 类型:脚本
# 脚本名称:weixin.sh
# 脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
# 点击添加

img_22.png

5. 添加报警媒介

# user settings-报警媒介-添加
# 类型:企业微信
# 收件人:1 (貌似写啥都可以???)
# 点击添加
# 点击更新
img_23.png

6. 设置动作

# 配置-动作-钉钉群小皮蛋告警动作-克隆
# 修改名称:企业微信zabbix告警动作
img_24.png

#1.操作
# 只修改1处:仅送到:企业微信zabbix告警
# 其他不变
默认接收人:故障{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}

img_25.png

#2.恢复操作
# 只修改1处:仅送到:企业微信zabbix告警
# 其他不变


恢复主旨:恢复{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}

img_26.png

7. 触发报警测试



最后更新: 2022-02-25 03:53:42