一、背景介绍:

起初使用邮件报警,接收效果一直不好,需要打开邮箱才看到报警邮件。后来使用微信企业公众号,方便,省事,接收及时,可以做到第一时间相应。现在微信企业公众号更新成企业微信了。发送报警的方式有稍微改变。之前借用别人的脚本,密密麻麻。借此机会,自己写了个脚本与之分享、

二、实现步骤:

1、申请企业微信号

2、创建告警脚本

3、设置web管理界面触发脚本。

4、修改zabbix_server端配置文件。并重启

5、测试报警触发功能

6、完成

三、实施部署:

完成第一步:申请企业微信号:

地址:https://work.weixin.qq.com/wework_admin/register_wx?from=myhome_mp_home

注册信息共计三步,按照指示填写相关信息,下一步即可:

1、填写企业信息:

zabbix之企业微信报警通知_第1张图片

2、管理员使用微信扫二维码

zabbix之企业微信报警通知_第2张图片

3、填写管理员基本信息

zabbix之企业微信报警通知_第3张图片

4、注册成功:


zabbix之企业微信报警通知_第4张图片

企业号申请完成。创建工作组

zabbix之企业微信报警通知_第5张图片

创建完成、红框内的内容需要注意。脚本中需要用到

zabbix之企业微信报警通知_第6张图片

zabbix之企业微信报警通知_第7张图片

完成第二步:脚本编写

zabbix之企业微信报警通知_第8张图片

#!/bin/bash
# SCRIPT_NAME:  weixin.sh
# DESCRIPTION:  send message from weixin for zabbix monitor
# Email:        [email protected]
# DATE :        2017-06-06
CropID='wxeadc9b62be8e382b'
Secret='ovd5WejYR68V7pj9BJ95eYcYrlmOA1gYNEvtVdJ-Zhc'
#获取access_token
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 () {
   local Meg=$(echo "$@" | cut -d" " -f3-)
   echo """{
    \"touser\" : \"@all\",
    \"msgtype\" : \"text\",   
    \"agentid\" : 1,
    \"text\" : {           
        \"content\" : \"$Meg\"}   
}"""
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL

完成第三部:web管理界面触发脚本

1、建立报警媒介类型

zabbix之企业微信报警通知_第9张图片

2、映射用户触发(由哪个用户发送报警):

zabbix之企业微信报警通知_第10张图片

3、创建触发动作:

zabbix之企业微信报警通知_第11张图片

zabbix之企业微信报警通知_第12张图片

完成第四步、修改配置文件并重启:(报警脚本目录)

将报警脚本放置本目录下

cat zabbix_server.conf
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts

wKioL1k2Sa_DYtYZAAAXk9GRdRw689.png-wh_50

完成第五步:测试报警功能:

修改一个item的触发器。使之触发报警脚本

wKiom1k2SbCzg01PAAAhe6cvG2k427.png-wh_50

zabbix之企业微信报警通知_第13张图片

完成。参考文档:https://work.weixin.qq.com/api/doc#10087