#!/bin/bash ###SCRIPT_NAME:weixin### ###send message from weixin for zabbix monitor### ###yangguang######V1-2016-06-12### CropID='wx9a5706b19f11' Secret='jWPdGauAGusDWkETQnIe-w-FhtHhSUD3rmsQ_ro87x8un8jbOAVrS' GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken? corpid=$CropID&corpsecret=$Secret" Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F" '{print $4}') PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken" function body(){ local int AppID=1 # 企业号中的应用id local UserID=$1 # 部门成员idzabbix中定义的微信接收者 local PartyID=2 # 部门id定义了范围组内成员都可接收到消息 local Msg=$(echo "$@" | cut -d" " -f3-) # 过滤出zabbix中传递的第三个参数 printf '{' printf '"touser": "'"$User"""," printf '"toparty": "'"$PartyID"""," printf '"msgtype": "text",' printf '"agentid": "'" $AppID """," printf '"text": {' printf ' "content":"'"$Msg""" " printf '},' printf '"safe":"0"' printf '}' } /usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
创建媒体类型
名称自定义
脚本名称这需要和服务器中的脚本名称一样。否则会在推送时候找不到脚本文件错误。
2.创建动作
主要是动作和操作
动作服务器发生问题以及恢复后通过脚本发送给终端的相关信息。
具体如下
名称告警
默认接收人故障{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}
恢复信息
恢复主旨恢复{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}
操作发送具体人和发送方式等定义
3.发送的用户报警属性定义
4.服务器端配置。
打开zabbix_server.conf 找到如下几行
### Option: AlertScriptsPath
# Full path to location of custom alert scripts.
# Default depends on compilation options.
#
# Mandatory: no
# Default:
AlertScriptsPath=/usr/local/zabbix/alertscripts ##自定义脚本的位置。
脚本内容为文章开头部分。
注意事项复制粘贴后要修改下格式
set fileformait=unix
5.企业公众账号设置
a)注意不是微信订阅号是企业号。
b)需要提供如下信息给脚本获取
i.组织部门ID
ii.应用ID
iii.CropID
iv.Secret
v.成员账号
6.企业号设置比较傻瓜
新建组织架构添加微信报警组并新建成员
新建应用关键
新建管理组及权限
以上三张图片覆盖了我们需要的信息和操作。
注意企业号、企业号、企业号。重要事说三遍
7.测试