岁月绵长,人间静好

Hey guys, Here is GouGui's Blog !

Zabbix集成OneAlert实现微信短信电话全方位告警

1. 前言

告警将重要信息发送给运维「或者其他相关人」,及时发现并且处理问题。在所有开源监控软件里面,Zabbix的告警方式无疑是最棒的。告警的方式各式各样,从Email告警到飞信、139/189邮箱、最后到微信甚至电话告警,接入存在各种问题以及困难,有没有什么软件能够将他们All In one呢?还真有OneAlert。
2. Zabbix传统告警方法
Email:调用 sendmail 、sendEmail等脚本通过SMTP发送邮件
飞信:飞信已经退出历史舞台,不再有人使用
189/139:发送邮箱邮件至邮箱,邮箱将短信转到用户手机短信,存在一定的延迟
微信:需要申请一个微信公众号,并接入API,整个流程比较复杂,而且存在会话时间限制
短信:众多短信网关收费不同、稳定性也不确定,需要通过API接入
3.传统告警 VS OneAlert
在整个使用过程中,得出了传统告警方式的不足以及介绍了OneAlert告警的功能,具体如下:
3.1 传统告警方式的不足
Zabbix 邮件告警经常发不出去
如需短信告警,要么购买短信猫要么购买短信API,整个流程太麻烦
微信告警需要申请公众号以及API接入,而且会话有时间限制
夜间的告警基本成为一个摆设,试问谁能被微弱的短信声叫醒
阿里云、腾讯云、Zabbix 各种系统告警都需要单独配置,工作繁琐
普遍缺少告警分析
139/189 发送告警存在明显的延迟
3.2 onealert告警功能
告警 All In One,支持微信、邮箱、短信、APP、电话告警
支持接入 Zabbix、Nagios、阿里云、腾讯云、监控宝等等告警信息
灵活的分配策略,可灵活的分配告警信息发送给相关人员
微信、邮箱、app 等告警方式全部免费
备注:OneAlert目前正在支持更多告警方式,例如:钉钉、webhook、QQ等等
4.接入准备
由于Zabbix官方已经升级到zabbix-3.2.6,考虑到未来的趋势,我也迫不及待的升级到了3.2.6,除了Web风格变化,大部分都差不多。所以本文适用于 Zabbix2.x 与 Zabbix3.x 版本。所以在这里我就不再赘述如何安装zabbix了,请确定你的zabbix已经安装配置完成,接下来跟着我将OneAlert接入Zabbix,如有任何疑问或者不足,欢迎留言一起交流!
安装OneAlert Agent
先登录OneAlert官网进行注册账号并登录http://c.onealert.com/ucid/registerForABTest/register.jsp
配置->应用->添加应用->点击ZABBX图标,如下图:

1.创建应用KEY

2.选择操作系统

3. 安装Agent

以上步骤做了如下工作:
安装OneAlert Agent,定期调用Zabbix API获取事件,并回传到OneAlert平台。So,你不需要配置Action
创建OneAlert用户:OneAlert
创建OneAlert组:OneAlert
启动onealert

配置分派策略
Agent安装完毕之后,OneAlert平台可以接收到Zabbix所有触发器事件。接下来配置分派策略,告知OneAlert应该将什么级别、类型的告警分配给谁!
配置->分派策略->新增策略

如上图配置,只要是来自zabbix-onealert应用的通知都会分配给用户“1105576170”
配置通知策略
OneAlert已经能成功将一个告警分配给一个用户,但是如何通知到用户呢?规则是什么?[通知策略]!
配置->通知策略

告警认领和告警关闭看是否必要再配置

注意,免费用户是不能使用短信和电话告警的且只能选择2种告警方式,使用微信告警要先关注公众号且在公众号里登录后绑定。
配置成功后,关闭一台服务器器zabbix agent服务,查看是否成功告警。

微信和邮件都成功收到了告警信息!

总结

这里只是简单介绍了OneAlert通过微信邮件告警方式,其它方式配置大同小异,大家自行配置就好了,OneAlert还有很多比较实用的应用,是否适合使用,还需要看大家各自的业务环境。

点赞