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 等告警方式全部免费
4.接入准备
由于 Zabbix 官方已经升级到zabbix-3.0.0alpha,考虑到未来的趋势,我也迫不及待的升级到了 3.0,除了 Web 风格变化,大部分都差不多。所以本文适用于 Zabbix2.x 与 Zabbix3.x 版本。接下来跟着凉白开将 OneAlert 接入 Zabbix,如有任何疑问或者不足,欢迎加群或者在 ttlsa.com 留言一起交流!
5. OneAlert 后台操作
5.1 设置提醒
邮件,短信,微信,电话提醒,多策略提醒,如下图,灵活的定义告警规则。在发生告警之后立即发送邮件和微信消息给用户,10分钟后还未确认,那么发送短信,30分钟还未确认则打电话给用户。

5.2 设置分派策略
可以设定做种分派策略,在告警第一时间发送通知给哪些人,如果在 30 分钟还未处理好,可以将消息发送给上级主管人员,如下图

5.3 创建应用
登陆 OneAlert 后台,点击告警 -> 应用 -> 新增应用,集成类型包含阿里、Nagios、腾讯云等多种,我们选择 Zabbix 最后保存即可。将会生成应用 KEY,Key 在后面将会被用到!


6.安装onealert agent
#cd /usr/local/src/
# wget http://cdn.110monitor.com/open/download/alert-agent-4.0.1-RC2.tar.gz
# tar –xvf alert-agent-4.0.1-RC2.tar.gz(注意:参数为-xvf,不是-xzvf)
# cp -rp alert-agent /usr/local/zabbix-3.0.0/alertscripts
# cd /usr/local/zabbix-3.0.0/alertscripts
# cp alert-agent/plugin/zabbix-plugin/110monitor .
# chmod +x ./110monitor
7. Zabbix 集成OneAlert
以下操作均在 Zabbix Web 后台完成
7.1 创建 OneAlert 媒介
administration->Media Types->create media type,如下图

7.2 Admin 用户添加 OneAlert 媒介
Administration->Users->Admin->点击media->Add,输入如下:send to 为 OneAlert 后台生成的 key

7.3 创建触发器
点击Configuration->Action->create action
主题为
trigger和resolve,意味着告警触发和恢复都会同步到 110monitor设置告警内容,注意冒号「:」前的内容不可变更,冒号「:」后的内容可以自行编辑,只能使用以下7调告警信息,否则告警无法发送至 OneAlert 接口
alarmName:{TRIGGER.NAME}entityName:{HOSTNAME}entityId:{IPADDRESS}value:{TRIGGER.VALUE}eventId:{EVENT.ID}priority:{TRIGGER.SEVERITY}alarmContent:{IPADDRESS}{ITEM.NAME}:{ITEM.VALUE}


8. Zabbix + OneAlert 集成测试
来制造一个故障,选定一台 Zabbix 客户端,执行如下命令:
# killall zabbix_agentd
等候五分钟,OneAlert 后台有如下告警

并且也收到了微信(需要关注公众号,并且绑定账号)和短信告警
9. OneAlert 告警分析
提供了一份 Zabbix 等开源监控都没有的告警信息分析,运维能清晰的掌握最近服务器状态

10. 总结
OneAlert与Zabbix的集成就说到这,如有任何疑问或者不足,欢迎加群或者在 ttlsa.com 留言一起交流!
作者:凉白开 网址:http://www.ttlsa.com
Zabbix 集成 OneAlert 实现全方位告警的更多相关文章
- Zabbix全方位告警接入-电话/微信/短信都支持
百度告警平台地址: http://gaojing.baidu.com 联系我们: 邮箱:gaojing@baidu.com 电话:13924600771 QQ群:183806029 对于使用zabbi ...
- Zabbix集成Cloud Alert(睿象云)实现电话短信预警
Zabbix 集成 睿象云智能告警平台 CA ( Cloud Alert ) 一 .简介与前期了解 Cloud Alert 通过应用,接入监控系统/平台的告警,集中管理您的告警,统一分派通知,统一分析 ...
- zabbix 集成cloud alert
1. 了解 Cloud Alert 通过应用,接入监控系统/平台的告警,集中管理您的告警,统一分派通知,统一分析.这个平台最先了解和使用是在 2017 年下半年,之前的名称叫 oneits ...
- 【运维监控】四款云服务监控工具介绍:Nagios 、 ganglia、zabbix、onealert
在我们日常的工作中,有时候需要监控和管理平台的运行状况,而服务运行是否存在异常,是否有软硬件bug等,均需要第一时间知道.对服务状态了如指掌,是一个很重要的事情.那么这个如何做到呢,我们之前在进行私有 ...
- 烂泥:haproxy与nginx、zabbix集成
本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb. 昨天介绍了haproxy的手机匹配规则,今天再来介绍下haproxy与nginx.za ...
- Zabbix中获取各用户告警媒介分钟级统计
任务内容: 获取Zabbix各用户告警媒介分钟级统计,形成趋势图,便于观察各用户在每分钟收到的告警数量,在后续处理中,可以根据用户在某时间段内(例如3分钟内)收到的邮件总数,来判断是否有告警洪水的现象 ...
- 运维监控-Zabbix Server 使用微信 WeChat 告警
运维监控-Zabbix Server 使用微信 WeChat 告警 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 微信公众号告警每个一天只支持1000次告警,如果超出这个次数了就不 ...
- Zabbix 关联onealert实现电话报警
Zabbix 关联onealert实现电话报警 系统环境:Linux Centos 7.4 应用版本:Zabbix 3.0.22 OneAlert官方地址:http://www.onealert.co ...
- Python 操作Zabbix API 获取ERROR级别告警信息并打印
1.需求:有一个语音合成播报项目,要实时获取zabbix的ERROR级别以上告警信息,将该信息合成语音播报出去.(合成语音及播报已经完成) 2.现实:整理zabbix告警级别,将不太重要的告警放到ER ...
随机推荐
- 南阳理工ACM954--N!
http://acm.nyist.net/JudgeOnline/problem.php?pid=954 循环的可怕之处!! 所有的测试数据结果完全一样.只是超时!!TimeLimitExceeded ...
- JS事件冒泡与捕获
1事件传播——冒泡与捕获 默认情况下,事件使用冒泡事件流,不使用捕获事件流.然而,在Firefox和Safari里,你可以显式的指定使用捕获事件流,方法是在注册事件时传入useCapture参数,将这 ...
- SPA解释:单页应用程序
单页Web应用(single page web application,SPA),就是只有一张Web页面的应用,是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序. 单页W ...
- Winfrom皮肤样式的使用
IrisSkin类库提供了可供我们使用的设置窗体皮肤的类,简单地说,就是给我们提供了一个皮肤引擎,通过设置皮肤引擎来达到我们想要的窗体界面. 具体的开发步骤: (1)引入IrisSkin.dll文件 ...
- MFC控件随窗口大小变化原理及实现
本文主要针对MFC的dialog,实现控件随窗口大小变化. 原理:首先获取dialog的初始大小,当窗口发送变动时,调用OnSize事件和方法,计算缩放比例,然后对界面中的所有控件进行缩放和布局. 实 ...
- java基础-注解Annotation原理和用法
在很多java代码中都可以看到诸如@Override.@Deprecated.@SuppressWarnings这样的字符,这些就是注解Annotation.注解最早在jdk5中被引入,现在已经成为j ...
- SDRAM控制器
1 初始化以及load mode 寄存器1 初始化以及load mode 寄存器 2 时间表 这里会有几个重要的时间周期: 3 AUTO REFRESH (自动刷新) 4 CAS(CL delay) ...
- webstorm 添加文件模板
Ctrl+Shift+A 搜索设置 File Teamplate 添加 File Teamplate
- Windows 8.1 序列化与反序列化
/// <summary> /// 对象序列化成 XML String /// </summary> public static void XmlSerialize<T& ...
- Lucene Field
org.apache.lucene.demo.IndexFiles类中,使用递归的方式去索引文件.在构造了一个IndexWriter索引器之后,就可以向索引器中添加Doucument了,执行真正地建立 ...