Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告警的及时处理。
先决条件
准备事项
- 微信企业号
- 企业号已经被部门成员关注
- 企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息
需要得到的信息
CorpID
和Secret
、AgentId
- 记录用户的账号
说明
解释下上面的几个条件。添加一个可以发送消息的应用,就可以给组织中的所有成员发送消息;如果没有权限可以联系企业微信管理员帮忙添加。这里使用的是警报通知
。添加应用过程如下:
点击企业应用
,新增应用
设置应用
同样也可以在微信插件里面二维码邀请关注加入通讯录
创建完成后记录下AgentID
及Secret
获取CorpID
获取用户账号
像某位用户发送告警需要知道该用户的账号,可在通讯录中查找。若没有权限,请向您的企业微信管理员查询。
打开通讯录
,查看成员列表
单击成员以查看成员详情
注:以上图片来自网络。
配置前的准备
获取Zabbix脚本路径
1 | [root@opstrip.com ~]# grep -i alertscripts /etc/zabbix/zabbix_server.conf |
我们设置zabbix默认脚本路径,这样在web端就可以获取到脚本
获取告警脚本
1 | [root@opstrip.com alertscripts]# cd /usr/lib/zabbix/alertscripts |
运行脚本进行测试
1 | [root@opstrip.com alertscripts]# ./wechat --corpid=wwcxxxxxxxxxxxxxxxx --corpsecret=Q-HMnIo9HKX8kZwbT4m1SUcS-kmYhmiuRgr4DCLreQA --msg="您好,告警测试" --user=testUser --agentid=1000002 |
提示:
--corpid= 我们企业里面的id
--corpsecret=这里就是我们Secret里面的id
--msg=内容
--user=用来接收告警的企业微信账号
因为脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or --help 查看
在Zabbix中启用企业微信告警
创建报警媒介
依次在Zabbix打开管理
→报警媒介类型
→创建媒体类型
以创建企业微信告警:
添加企业微信告警:
说明:
--corpid=我们企业里面的id,这里是wwcxxxxxxxxxxxxxxxx
--corpsecret=我们Secret里面的id,这里是Q-HMnIo9HKX8kZwbT4m1SUcS-kmYhmiuRgr4DCLreQA
--agentid=Agentld ID,这里是1000002
--user={ALERT.SENDTO},发送给谁,创建动作时提供
--msg={ALERT.MESSAGE},发送的信息,由触发器提供
添加动作
假定您已完成好Zabbix其他的前期工作,如用户的创建
、告警添加
、触发器创建
等。
正常添加动作规则及触发器条件,在操作选项卡里添加以下规则:
1 | 【告警】 {TRIGGER.NAME} |
测试验证
停掉zabbix-agent进程
1 | [root@opstrip.com ~]# systemctl stop zabbix-agent |
大概5分钟后,报警如下
打开微信,看到警报通知
已经有收到告警了
至此,企业微信告警配置完成。