之前的文章中已经实现了zabbix 邮件告警和微信告警,生产环境上测试出消息抵达很及时,但是!万一服务器在大半夜突发故障微信、邮件这些通知都是废物了,大晚上还能听到微信通知吗?显然不可能(我的某朋友就因为这事到处找语音告警,推荐onealert 给他后实现了晚上电话告警)。
  onealert 官方有提供两种方式的文档,一个是一键安装包,但是显然对于自定义安装zabbix的情况不太合适,使用通用安装方式实现了对接:http://wiki.110monitor.com/integration/zabbix-manual.html
  官方的这篇文档有个坑,这个agent是需要手动启动的!需要运行 alert-agent/bin/start.sh 脚本启动官方提供的客户端。

  1. [root@aliyun bin] /usr/local/zabbix/alertscripts/alert-agent/bin/start.sh &

  如果是这样的方式何必写这文章呢,这里是自己写了个非常非常简单的脚本通过对接开放API 推送消息进行告警(类似微信方式):

一:添加REST API应用获取key:

1.添加REST API应用 后可以获取到对应的key 并且下方有事例信息,看了下流程就是把一段json 内容通过post 方式传递到API 服务器即可。

2.配置通知策略为电话告警:

二:zabbix 配置:

这里基本和邮件报警类似:《zabbix 配置邮件报警 》
1. 在alertscripts 目录创建脚本文件:
  zabbix 传入参数message ,脚本获取参数写入到文件onealert 中暂存,curl 使用post 方式将文件onealert 中的值传到API 服务器。

  1. [root@aliyun ~] cd /usr/local/zabbix/alertscripts
  2. [root@aliyun alertscripts] vim onealert.sh
  3. #!/bin/bash
  4. POSTURL="http://api.110monitor.com/alert/api/event"
  5. onea=/tmp/onealert
  6. echo "$1" >$onea
  7. curl -H "Content-type: application/json" -X POST -d @$onea $POSTURL
  8. [root@aliyun alertscripts] chown zabbix.zabbix onealert.sh
  9. [root@aliyun alertscripts] touch /tmp/onealert
  10. [root@aliyun alertscripts] chown zabbix.zabbix /tmp/onealert

2. 配置zabbix 报警媒介和动作:
  这里的参数只填写{ALERT.MESSAGE} 即可


3.配置用户通知:
  收件人 也就是Send to 随意填写,因为收件人信息稍后会写到message 里面,通知时间这里,语音告警一般用于晚上,所以可以设置为00:00-07:00时间段。


4.配置动作:
  app 处填写应用KEY ,详细参数请参看官方文档:http://wiki.110monitor.com/api/event_api.html
Default subject 填写trigger

  1. {
  2. "app": "xxxxxxxxxxxxxxxxxxxxx",
  3. "eventId": "{EVENT.ID}",
  4. "eventType": "trigger",
  5. "alarmName": "{TRIGGER.NAME}",
  6. "entityName": "{HOSTNAME}",
  7. "entityId": "{IPADDRESS}",
  8. "priority": 3,
  9. "alarmContent": "{IPADDRESS} {ITEM.NAME}:{ITEM.VALUE}"
  10. }

Recovery subject 填写resolve

  1. {
  2. "app": "xxxxxxxxxxxxxxxxxxxxx",
  3. "eventId": "{EVENT.ID}",
  4. "eventType": "resolve",
  5. "alarmName": "{TRIGGER.NAME}",
  6. "entityName": "{HOSTNAME}",
  7. "entityId": "{IPADDRESS}",
  8. "priority": 3,
  9. "alarmContent": "{IPADDRESS} {ITEM.NAME}:{ITEM.VALUE}"
  10. }



  好了,配置完了,模拟故障测试一下看看情况,如果在onealert 的告警中已经看到告警任务,电话告警配额也已经消耗了一条(免费用户每月50个电话通知),但是没有电话打进来,可以换个号码测试一下,之前一个朋友测试到电信号码不成功,换移动号后正常了。

zabbix 语音告警的更多相关文章

  1. zabbix邮件告警

    Zabbix邮件告警看了很多文档,写的那叫一个蛋疼,明明没有发出去邮件,硬要糊弄观众,我也跟着被糊弄. 操作系统环境: CentOS 5.5 x84_64位 Zabbix版本2.2.3 Web服务器: ...

  2. 通过python为zabbix发送告警邮件

    最近部署ZABBIX的邮件告警时,用刚学的python来写告警邮件脚本. 由于时间有限,我只对关键步骤做截图,对zabbix的基本配置略过. python代码如下 1 #!/usr/bin/pytho ...

  3. zabbix监控告警Received empty response from Zabbix Agent Assuming that agent dropped connection

    zabbix监控告警Received empty response from Zabbix Agent Assuming that agent dropped connection错误 查看zabbi ...

  4. zabbix邮件告警之 通过shell脚本发送告警

    说明:本文讲如何通过shell脚本实现zabbix发送告警邮件,共有5步1.设置mailx账号:是配置mailx的发信账号2.zabbix服务器端编写邮件发送脚本:是增加zabbix的告警方式,增加通 ...

  5. zabbix:告警、恢复消息次数

    之前zabbix配置告警,存在告警信息发送多次并且恢复信息也跟着发送多次了,导致企业微信流量不够用,没有找到恢复信息单独的设置项 动作中的步骤我个人理解为:1-5的意思是发送5条告警消息      3 ...

  6. Zabbix微信告警

    Zabbix微信告警 摘要 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信 ...

  7. zabbix 微信告警配置

    作者信息 邮箱:sijiayong000@163.com Q Q:601566386 Zabbix 微信告警 摘要:Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是 ...

  8. Zabbix邮箱告警

    一.安装邮箱 yum install mailx 二.配置邮箱 vim /etc/mail.rc set from=875667601@qq.com set smtp=smtp.qq.com set ...

  9. zabbix微信告警实践

    首先你得有个企业号!!!具体操作步骤可以参考http://itnihao.blog.51cto.com/1741976/1733245,里面写的很详细就不重复了. 微信公众号注册并配置完成后,还需要让 ...

随机推荐

  1. P3393 逃离僵尸岛

    P3393 逃离僵尸岛 啊.好久不写dij手都生了 这道题就是预先处理出是否是危险城市,然后跑一个最短路就行了 然后因为我感觉这个对时间要求不大紧.判断危险城市时就写了个电风扇(DFS) 然后T飞了呜 ...

  2. 【题解】洛谷P2914[USACO08OCT]断电Power Failure

    洛谷P2914:https://www.luogu.org/problemnew/show/P2914 哇 这题目在暑假培训的时候考到 当时用Floyed会T掉 看楼下都是用Dijkstra 难道没有 ...

  3. yarn下资源配置

    http://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.0.6.0/bk_installing_manually_book/content/rpm-ch ...

  4. Python基础—07-函数使用(01)

    #函数使用 零碎知识 灵活的if-else a = 3 if False else 5 # 等价于 if False: a = 3 else: a = 5 灵活的and/or # 当前面为真,才会进行 ...

  5. oracle导出/导入 expdp/impdp

    Oracle使用EXPDP和IMPDP数据泵进行导出导入的方法(常用方法) 使用expdp和impdp时应该注重的事项: 1.exp和imp是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用 ...

  6. 【PTA 天梯赛】L2-1 分而治之(结构体存边)

    分而治之,各个击破是兵家常用的策略之一.在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破.为此参谋部提供了若干打击方案.本题就请你编写程序,判断每个方案的可行性 ...

  7. ABAP术语-IDOC

    IDOC 原文:http://www.cnblogs.com/qiangsheng/archive/2008/02/21/1075988.html Intermediate Document Inte ...

  8. mysql的密码忘记了,怎么办, 来来来.

    尤其是在学习的过程, 也是天天和数据库打交道, 难免会有脑子短路的时候, 比如root密码忘记了, 你说怎么办~~~, 没关系, 往下看 mysql提供了一种跳过用户认证的配置, 参数, 你配置上这个 ...

  9. eventlet详解

    正真工作才发现很懒,没这么多时间写文,毕竟小白,参照大神写的,不喜勿喷 1.eventlet是什么eventlet - 具有WSGI支持的异步框架eventlet是python库函数,一个是处理和网络 ...

  10. yaml文件 .yml

    YAML文件简介 我们可能在spring配置文件里见到过.yml格式的东东,配置文件不都是.propertie或者.xml文件吗?.yml是什么鬼,今天我带你们来一探究竟. YAML(Yet Anot ...