请选择 进入手机版 | 继续访问电脑版

IT运维管理,ITIL,ITSS,ITSM,ISO20000-ITIL先锋论坛

 找回密码
 微信、QQ、手机号一键注册

扫描二维码登录本站

QQ登录

只需一步,快速开始

艾拓先锋
搜索
查看: 674|回复: 0

[Zabbix专区] 如何通过微信服务号推送Zabbix告警(附赠源码)

[复制链接]
来自- 湖南娄底

参加活动:0

组织活动:12

发表于 2017-9-10 09:22:42 | 显示全部楼层 |阅读模式 来自- 湖南娄底


通过微信服务号的模板短信功能,实现zabbix告警通知

近期看到一篇通过微信实现Zabbix告警的文章,但实践时发现,无法成功发送消息。

分析原因,应该是微信公众平台加强了登录验证,在登录时会需要管理员进行扫描二维码操作才能成功登陆后台:

而之前文章中的API是通过账号密码模拟浏览器登陆方式,进行后台操作,无法通过这个安全验证,消息发送功能自然也不可用。

本文经我自己验证,是可以实现通过微信推送消息的。这种实现基于微信服务号平台的“模板短信”功能,必要条件如下:

微信服务号通过微信认证(需提交公司营业执照等等信息,同时会收取300元/年的认证服务费用)。

这个实现方法,还需要Python + Shell脚本的配合,我已经放到github上了,在如下的实施步骤中也有说明。

备注:如果个人用户的话,建议可以直接使用QQ邮件+微信邮件提醒。

好叻,下面开始我们整个步骤。

一、注册微信服务号,并进行微信认证

关于微信服务号的注册及认证,请看微信官方指引

二、开通模板消息功能以及报警通知模板

  • 在微信公众平台管理后台添加功能-模板消息
  • 从模板库中选择报警通知模板(后面以“IT/网络游戏”的“系统故障告警通知”模板进行配置,其他行业内的告警类模板可能会有不同,可参照配置)


三、下载配置告警通知脚本

# 下载告警通知脚本
# 部署告警通知脚本到zabbix的alertscripts目录
$ sudo mv misc/wxAlert /usr/lib/zabbix/alertscripts/
$ sudo mv /usr/lib/zabbix/alertscripts/{wxAlert/,}AlertWeixin.sh
$ sudo mkdir /usr/lib/zabbix/alertscripts/logs
# 为脚本添加zabbix用户执行权限
$ sudo chmod u+x AlertWeixin.sh
$ sudo chown zabbix:zabbix \
  /usr/lib/zabbix/alertscripts/{logs/,AlertWeixin.sh}
# 安装需要的python模块
$ sudo pip install -U configparser requests simplejson

修改wxAlert/wxAlert.conf,填入微信服务号相关信息
[default]
appid       = APPID
secret      = SECRET
template_id = TEMPLATE_ID

四、获取服务号订阅用户信息

# 使用wxGetUserInfo.py脚本获取服务器订阅用户列表,以及其openid
# openid用于后续的告警接收,相当于邮件告警的邮件地址
$ cd /usr/lib/zabbix/alertscripts/wxAlert/
$ python wxGetUserInfo.py  2>/dev/null
nickname:  JasonQu
openid:  AAAA
nickname:  胡文西
openid:  BBBB

五、配置Zabbix

1. 添加Media type(告警媒介)
Name:               X. AlertWeixin
Type:                 Script
Script name:     AlertWeixin.sh

2. 配置profile - Media(告警接收ID)
Type:                X. AlertWeixin
Send to:            OPENID

六、测试验证

测试告警,微信消息截图如图

0?wx_fmt=png.jpg

原创: 胡文西

本版积分规则

选择云运维时代的王牌讲师-长河老师,助你轻松入门ITIL Foundation培训课程

QQ|小黑屋|手机版|Archiver|艾拓先锋网 ( 粤ICP备11099876号-1|网站地图

Baidu

GMT+8, 2018-11-19 21:06 , Processed in 0.211161 second(s), 31 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表