zabbix电话告警V1
最近决定将夜班值班人员取消,夜里告警采用机器人电话通知。总结一下这么几个情况,有问题还请指出,希望也能给大家多一个思路。
V1做的太糙了,预计年初上V2
一、用谁家的服务
费用我没有太关注,主要就是看了哪个简单一些。
国内:
问了几家国内云平台的客服,他们都需要公司的营业执照,我直接就选择了放弃
国外:
Nexmo,这是我们现在用的,第一次成功打出电话用的就是他,后来直接选择他了。网上对他的介绍也很多,大家可以去看看,直接调用,不需要向他们提供多余的信息,付款也是支持paypal,所以很方便
二、思路
1、zabbix端:
将符合告警条件的内容,通过Action下发到服务器中日志。
2、内容处理
将告警的内容进行文本化,最后以curl的形式,访问电话url
3、判断接口
一个中间接口,这个接口会对发过来的内容进行判断,在30分钟内,相同主机组的主机,将不会被进行二次告警,因为如果是大规模的告警,很有可能打爆你的电话
三、具体的优化和操作
1、zabbix端:
在zabbix的action对需要告警的内容做一个划分,我们这里只对“High”级别才会触发下发内容
其中的"Default message"很关键,他可以有效的帮助我简化对文本的操作

2、内容处理
将下发的内容进行格式化,将多余的空格清理掉;
cat ${logs_path}ss.log | awk -vstart=$start_time -vend=$end_time -F'^' 'start<=$1 && $1<=end {print $0}' | awk '{gsub(/\r[[:blank:]]|[[:blank:]]/,"")}1' > ${alertlogs_path}format$(date +"%Y%m%d%H%M").log
通过切割后的日志,查看triggerid,从zabbix的数据库中提出groupid;
for triggerid in $(awk -F ^ '{print $2}' /usr/local/zabbix_ora/alertscripts/alertshell_dir/alertlog_dir/format$(date +"%Y%m%d%H%M").log )
do
su - oracle <<!
sqlplus -S user/passwd@$IP:1521/zabbix << EOF
set heading off
set feedback off
set pagesize 0
set verify off
set termout off
spool ${alertlogs_path}groupid$(date +"%Y%m%d%H%M").log append
select '${triggerid}^'||groupid from hosts_groups where hostid = (select hostid from items where itemid = (select itemid from functions where triggerid = $triggerid));
spool off
EOF
exit
!
done
将处理的文本和group中的trigger相同的行输出;
awk -F '^' 'NR==FNR{a[$2]=$0;next}{print a[$1]"^"$2}' ${path}format$(date +"%Y%m%d%H%m").log ${path}groupid$(date +"%Y%m%d%H%M").log | awk '{gsub(/[[:blank:]]/,"",$0);print $0}' > ${path}formatmethod.log
将log转换为可执行的语句,并执行
cat /dev/null > transitionkey.sh
for line in `cat ${path}formatmethod.log`
do
echo "${line}" | awk -F ^ '{print "curl '\''$URL="$2"&alertGroupNumber="$6"&alertSummary="$4"&alertDetail="$5"&alertAction=T'\''"}' >> transitionkey.sh
done
zabbix电话告警V1的更多相关文章
- Zabbix全方位告警接入-电话/微信/短信都支持
百度告警平台地址: http://gaojing.baidu.com 联系我们: 邮箱:gaojing@baidu.com 电话:13924600771 QQ群:183806029 对于使用zabbi ...
- Zabbix实现电话告警通知的配置方法分享
如果要讨论下当下热门的监控系统,我想zabbix应该能够占有自己的一席之地,拥有不小的话语权吧.然而身为一名苦逼的运维,为了不错过重大的告警信息,就需要配置个[电话告警]来进行最快速的通知. zabb ...
- zabbix 告警实践分享 一键实现zabbix 电话、邮件、微信告警
众所周知Zabbix 是一款用来监控IT基础设施的监控套件,同时也具有很多方便运维人员使用的优秀功能,如:支持多条件告警,支持多种告警方式,支持多组模板.支持模板继承,因此在众多的开源运维监控软件中独 ...
- zabbix邮件告警
Zabbix邮件告警看了很多文档,写的那叫一个蛋疼,明明没有发出去邮件,硬要糊弄观众,我也跟着被糊弄. 操作系统环境: CentOS 5.5 x84_64位 Zabbix版本2.2.3 Web服务器: ...
- zabbix 语音告警
之前的文章中已经实现了zabbix 邮件告警和微信告警,生产环境上测试出消息抵达很及时,但是!万一服务器在大半夜突发故障微信.邮件这些通知都是废物了,大晚上还能听到微信通知吗?显然不可能(我的某朋友就 ...
- 通过python为zabbix发送告警邮件
最近部署ZABBIX的邮件告警时,用刚学的python来写告警邮件脚本. 由于时间有限,我只对关键步骤做截图,对zabbix的基本配置略过. python代码如下 1 #!/usr/bin/pytho ...
- 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 ...
- zabbix邮件告警之 通过shell脚本发送告警
说明:本文讲如何通过shell脚本实现zabbix发送告警邮件,共有5步1.设置mailx账号:是配置mailx的发信账号2.zabbix服务器端编写邮件发送脚本:是增加zabbix的告警方式,增加通 ...
- zabbix:告警、恢复消息次数
之前zabbix配置告警,存在告警信息发送多次并且恢复信息也跟着发送多次了,导致企业微信流量不够用,没有找到恢复信息单独的设置项 动作中的步骤我个人理解为:1-5的意思是发送5条告警消息 3 ...
随机推荐
- Makefile 知识点
$@ $@ is the name of the target. $? The $? macro stores the list of dependents more recent than the ...
- mysqldump造成Buffer Pool污染的研究
前言: 最近Oracle MySQL在其官方Blog上贴出了 5.6中一些变量默认值的修改.其中innodb_old_blocks_time 的默认值从0替换成了1000(即1s) 关于该参数的作用摘 ...
- curl命令的基本用法
我们知道在linux环境下,可以调用curl下载网页. 但curl有些高级的应用,只需要几行命令行,可能比你写多行php.python.C++的程序要快些. 下面从问题驱动的角度来谈谈curl的用法 ...
- 【转】iOS 硬件授权检测:定位服务、通讯录、日历、提醒事项、照片、蓝牙共享、麦克风、相机等
iOS系统版本的不断升级的前提,伴随着用户使用设备的安全性提升,iOS系统对于App需要使用的硬件限制也越来越严格,App处理稍有不妥,轻则造成功能不可用用户还不知道,重则会造成App Crash. ...
- JSF 2 hidden value example
In JSF, you can use the <h:inputHidden /> tag to render a HTML hidden value field. For example ...
- AutoCAD.NET二次开发:创建自定义菜单(COM)
当我们要在CAD中创建自定菜单时,可以引用COM组件来实现. 下面是实现方式: 1.新建类库项目,并引用CAD目录(我这里用的是CAD2008)下的acdbmgd.dll.acmgd.dll,并将引用 ...
- Spring Data JPA 教程(翻译)
写那些数据挖掘之类的博文 写的比较累了,现在翻译一下关于spring data jpa的文章,觉得轻松多了. 翻译正文: 你有木有注意到,使用Java持久化的API的数据访问代码包含了很多不必要的模式 ...
- SuperSlidev2.1 轮播图片和无缝滚动
使用方法,狠狠的点击下面链接 http://down.admin5.com/demo/code_pop/18/562/index.html 简单使用方法如下 html <div class=&q ...
- 教你50招提升ASP.NET性能(十九):静态集合
(30)Static collections 招数30: 静态集合 If a collection is static, make sure it only contains the objects ...
- POJ 2420 A Star not a Tree? 爬山算法
B - A Star not a Tree? Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/co ...