一、软件版本
- 操作系统:Centos-6-x86_64
- zabbix版本:3.2.1
- zabbix安装方式:yum安装
- 微信企业号
二、微信企业号注册与配置
- 注册微信企业号 https://qy.weixin.qq.com/
登录微信企业号,添加部门或组织.联系人,通过让别人扫码关注企业号。
- 添加 消息应用 记住应用ID 设置可见范围(信息接收部门或成员)
三、脚本设置
- zabbix 设置脚本执行路径,编辑zabbix_server.conf文件 去掉 #AlertScriptsPath=/usr/lib/zabbix/alertscripts 前面的#号 修改自己的路径
AlertScriptsPath=/usr/lib/zabbix/alertscripts
- shell脚本使用
/usr/lib/zabbix/alertscripts/wechat.sh
[root@zabbix alertscripts]# cat wechat.sh
#!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###
###wuhf###
###V1-2015-08-25###
CropID='XXXXXXXX' #企业号的CropID
Secret='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxXx' #企业号的Secret
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 #部门成员ID
local PartyID=1 #部门ID
local Msg=$(echo "$@" | cut -d" " -f3-)
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
wechat.sh添加执行权
- 创建接收用户
管理——–用户——-创建用户
新建的用户不要忘记权限中添加主机群组的读写权限
- 创建动作
管理——动作——-创建动作
恢复操作设置和操作里面差不多,操作与恢复操作中的信息内容如下:
故障主题
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
告警主机:{HOSTNAME1}
告警IP:{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}
告警IP:{HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}{ITEM.VALUE1}
事件ID:{EVENT.ID}
暂时没有评论,期待你说点什么。