现实生产环境中,我们已经使用过邮件和短信接收zabbix报警信息,但是邮件的延迟是比较高的,外包公司的短信接口又太贵,复杂环境中使用短息报警会使运维成本增加很多。微信提供了很好的第三方接口,我们可以利用微信报警以求降低运维成本。
实现此功能分为2部分:
1.申请公众微信号
2.配置zabbix进行微信报警触发
第一部分
①微信的第三方接口要求我们先申请一个企业号,连接地址:https://qy.weixin.qq.com/
②在创建公众微信号需要注意,是企业的公众号(主要用于推送信息,人员上限是200人,足够应付绝大多数场景)
③审核完成后,需要在手动添加管理员和被发送成员的信息。添加完成后,对应的成员可以通过扫描企业的二维码,进行信息的匹配核实身份(必须核实身份后才能进行微信推送的功能 )
④创建短信报警的应用
两点需要注意:
1.应用类型请选择:消息型应用
2.可见范围就是手动添加的人员的群组(如果只有公司一个组织架构,那就是全公司的对应成员)
⑤给创建的短信报警的应用赋予权限
1.管理员具有修改查看的权限,群成员最好只有查看的权限
2.产生的CoreID和Secret两个重要的信息,务必保存好,以后的脚本就需要使用到
以上步骤基本完成了第一部分,如果想测试应用是否有效可以跳转到http://qydev.weixin.qq.com/debug进行短暂的测试
第二部分
①准备好发送微信的脚本,传送门--http://download.csdn.net/detail/zhoutimo/9579840
只需要修改CoreID和Secret以及应用的ID(如果只有一个应该就是1)部门ID(如果只有一个部门就是1)
②调整微信脚本
默认zabbix的脚本路径是:/usr/local/zabbix/share/zabbix/alertscripts
1.由于我使用的zabbix版本过低,不支持py(weixin.py)结尾的脚本,随后新增了一个sh(weixin.sh)脚本,作为跳板
#!/bin/bash
/usr/bin/python /usr/local/zabbix/share/zabbix/alertscripts/weixin.py $1 $2 $3
2.赋予weixin.py和weixin.sh执行的权限
③配置Zabbix发送报警
1.添加新的发送媒介
2.新增用户,把媒介添加到用户中去(由于已经指定核对了第一步所有用户组员的微信信息,所以在没必要Zabbix中添加对应的用户组员的信息,只需要一个虚拟的用户信息就可以了)
3.新增触发条件
通过weixin媒介发送给创建的用户
以下是测试图片
关于Zabbix的完整安装和配置附上链接地址:http://blog.csdn.net/zhoutimo/article/details/51979599