一、微信告警

1.注册企业微信

zabbix企业微信告警脚本 告警通知 企业微信_邮件


然后设置总部门添加成员

zabbix企业微信告警脚本 告警通知 企业微信_zabbix企业微信告警脚本_02

2.添加一个部门

注:记住部门ID

zabbix企业微信告警脚本 告警通知 企业微信_zabbix企业微信告警脚本_03

3.添加用户

zabbix企业微信告警脚本 告警通知 企业微信_服务器_04


没有用户的可以从其他部门导入

4.创建应用

zabbix企业微信告警脚本 告警通知 企业微信_微信_05


添加logo,名称以及用户

zabbix企业微信告警脚本 告警通知 企业微信_邮件_06


创建完成记住AgentID和Secret

zabbix企业微信告警脚本 告警通知 企业微信_邮件_07


企业ID也要记住

zabbix企业微信告警脚本 告警通知 企业微信_zabbix企业微信告警脚本_08

5. 微信企业号接口调试工具

https://open.work.weixin.qq.com/wwopen/devtool/interface/combine

zabbix企业微信告警脚本 告警通知 企业微信_服务器_09


填入screct和看结果是否为OK

6、配置脚本

在zabbix server上操作
(1)安装requests组件

dnf provides */pip3     #寻找没有依赖的pip包
yum install python3-pip-9.0.3-8.el7.noarch      #下载合适的包

(2)进入到 /usr/lib/zabbix/alertscripts 编写脚本

vim  wx.sh

#!/bin/bash
CorpID="wwa585bddbc4b9e9be"
Secret="YDrBM8tcNmcABuZ0dFe5umbVj36zc0NhtoT_nhmF30w"
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
    local UserID="@all"
    local PartyID=2
    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

给权限

chmod +x wx.sh
chown zabbix.zabbix wx.sh
systemctl restart zabbix-server.service

zabbix企业微信告警脚本 告警通知 企业微信_微信_10


(3)命令行测试发送:

./weixin.sh test123 {"errcode":0,"errmsg":"ok","msgid":"mrVtVXE39it1tWVvd57npJdUhX1zmSZZyLiL4oKQeXbJ t9VoCB--nykac4P9nGRzwWn0lVah5HxQ26PmXpV37g"}

zabbix企业微信告警脚本 告警通知 企业微信_微信_11

7.zabbix web界面中配置微信报警

1> 进入:管理 -> 报警媒介类型 -> 创建媒体类型:
脚本参数
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

zabbix企业微信告警脚本 告警通知 企业微信_zabbix企业微信告警脚本_12


配置模板

1、问题模板

zabbix企业微信告警脚本 告警通知 企业微信_服务器_13


2、恢复模板

zabbix企业微信告警脚本 告警通知 企业微信_预警_14

8 用户和报警媒介关联

zabbix企业微信告警脚本 告警通知 企业微信_zabbix企业微信告警脚本_15

9 配置动作和操作

zabbix企业微信告警脚本 告警通知 企业微信_微信_16

.10 测试报警

zabbix企业微信告警脚本 告警通知 企业微信_zabbix企业微信告警脚本_17


zabbix企业微信告警脚本 告警通知 企业微信_zabbix企业微信告警脚本_18


微信获得预警

二、邮件告警

1.如图所示进行设置

zabbix企业微信告警脚本 告警通知 企业微信_服务器_19


注意:密码是邮箱授权码

2.创建完成后测试发送邮件

zabbix企业微信告警脚本 告警通知 企业微信_微信_20


zabbix企业微信告警脚本 告警通知 企业微信_zabbix企业微信告警脚本_21


zabbix企业微信告警脚本 告警通知 企业微信_预警_22

3.修改模板

1.问题模板

zabbix企业微信告警脚本 告警通知 企业微信_服务器_23

修改默认报警模板
设置动作
默认接收人:故障{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}

2.恢复模板

zabbix企业微信告警脚本 告警通知 企业微信_预警_24

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

4.创建用户

zabbix企业微信告警脚本 告警通知 企业微信_zabbix企业微信告警脚本_25

5.配置动作

zabbix企业微信告警脚本 告警通知 企业微信_微信_26


zabbix企业微信告警脚本 告警通知 企业微信_预警_27

7.测试报警

zabbix企业微信告警脚本 告警通知 企业微信_微信_28


zabbix企业微信告警脚本 告警通知 企业微信_服务器_29


邮件预警完成