今天遇到了这样一件事。。Zabbix一直在用的数据库突然间崩溃,无法连接了。在down掉的那一时刻开始,zabbix向管理员报了警。然后随之而来的是铺天盖地的所有主机zabbix agent无法连接的告警。一时间引起大恐慌。。在events界面中看到的是很多闪红的trigger以及actions字段In progress(3 retries left)之类的信息。

  在得到这个情况之后,我第一反应是打开了维护期。。后来想想确实是傻,因为事件已经触发,告警脚本的运行已经被排入执行队列中了。因此大量告警依然源源不断发出。打开维护期不行之后又想直接到数据库里删数据,可是不知道删什么表的数据合适,况且不能一不小心删过头把不该删的数据给删了。于是就放弃。

  接下来收到反馈,建议我赶紧disable相关的action。这么做了,然而也在差不多的时候,所有未发出的警报也都悉数发出了。。至此,挽救误报行动失败ORZ

  然后到测试环境上继续试验。首先小总结一下问题,就是探索当action处于In progress状态的时候怎么样操作才能让其发送失败。

  继续刚才的方案,就是在In Progress的时候disable掉action。经过测试发现并没有用。当处于Progress状态的时候action就已经被触发,此时再disable为时已晚。

  然后尝试了更加暴力一点的方案,修改告警脚本文件故意让它出错,或者直接改脚本名。这次奏效了。说明In Progress状态的action还没有加载告警脚本的代码,此时如果让代码出错或者改变脚本路径让程序找不到脚本都可以阻止告警的进一步发出。

  但是多试验了几次之后发现也并不是完全一定这样。有时候,可能会发生还是成功发出报警的情况,有时也会发生页面上显示了绿色的发出报警但是实际上没发出,有时候时显示没发出也确实没发出。总之这个我估计就是看zabbix调用告警脚本和我们改告警脚本哪个手快的缘故。另外告警肯定是并发进行的,但并发不是无限量的,总的来说可能做不到拦下每一个误报,但是可以让大多数误报都不被发送出去。

  

【Zabbix】大规模监控误报发生时的处理方案的更多相关文章

  1. 一次误报引发的DNS检测方案的思考:DNS隧道检测平民解决方案

    摘自:http://www.freebuf.com/articles/network/149328.html 通过以上分析得出监控需要关注的几个要素:长域名.频率.txt类型.终端是否对解析ip发起访 ...

  2. zabbix中监控项报错

    报错信息: zabbix报错(Not all processes could be identified, non-owned process info will not be shown, you ...

  3. zabbix误报交换机重启

    交换机的sysUpTime是由一个32-bit的counter来计数的,单位是0.01秒,所以最大时间为496天,过了496天就溢出,变成0,然后又重新计算时间,所以zabbix误报. snmpwal ...

  4. zabbix server监控报主机 Lack of free swap space

    zabbix server监控报主机 Lack of free swap space,因为交换空间不足引起.该主机内存为3G,正常交换空间大小为物理内存2倍左右. #查看已有内存及交换空间 free ...

  5. zabbix 监控项报"Value "(No info could be read for "-p": geteuid()=1002 but you should be root"

    zabbix 监控项报错如下: “Value "(No info could be read for "-p": geteuid()=1002 but you shoul ...

  6. Prometheus 监控 Kubernetes Job 资源误报的坑

    转载自:https://www.qikqiak.com/post/prometheus-monitor-k8s-job-trap/ 昨天在 Prometheus 课程辅导群里面有同学提到一个问题,是关 ...

  7. zabbix企业监控

    第一节.系统初始化 1.前期环境 主机名 IP地址 操作系统 备注 zabbix-10 192.168.2.10 CentOS Linux release 7.4 zabbix服务端 agent-15 ...

  8. 基于Zabbix IPMI监控服务器硬件状况

    基于Zabbix IPMI监控服务器硬件状况 zabbix ipmi 公司有多个分部,且机房没有专业值班,机房等级不够.在这种情况下,又想实时监控机房环境,于是使用IPMI方式来达到目的.由于之前已经 ...

  9. zabbix如何监控WEB应用性能

    HTTP服务目前最流行的互联网应用之一,如何监控服务的健康状态对系统运维来说至关重要.   Zabbix本身提供了对WEB应用程序的监控,比如监控WEB程序的Download Speed,Respon ...

随机推荐

  1. 【Unity3D】Unity3D开发《我的世界》之四、创建一个Block

    转载请注明出处:http://www.cnblogs.com/shamoyuu/p/unity_minecraft_04.html 一.新建Block类 我们的Block类用来存储跟Block相关的信 ...

  2. JavaScript 使用闭包防止变量污染

    javaScript在多人协作时,如果定义过多的全局变量 有可能造成全局变量命名冲突,使用闭包来解决功能对变量的调用 将变量写到一个独立的空间里面 就是闭包里面 var name = "外部 ...

  3. 利用Caffe训练模型(solver、deploy、train_val)+python使用已训练模型

    本文部分内容来源于CDA深度学习实战课堂,由唐宇迪老师授课 如果你企图用CPU来训练模型,那么你就疯了- 训练模型中,最耗时的因素是图像大小size,一般227*227用CPU来训练的话,训练1万次可 ...

  4. 错误代码: 1305 PROCEDURE world.insert_data does not exist

    1.错误描述 1 queries executed, 0 success, 1 errors, 0 warnings 查询:call insert_data() 错误代码: 1305 PROCEDUR ...

  5. AM335x(TQ335x)学习笔记——使用dtb方式启动内核

    老式的u-boot使用ATAGS的方式启动linux内核,本文使用新式的dtb方式启动内核. 我使用的内核是linux-3.17.2版本,下面开始编译内核. (1) 解压内核 [php] view p ...

  6. 芝麻HTTP:爬虫的基本原理

    我们可以把互联网比作一张大网,而爬虫(即网络爬虫)便是在网上爬行的蜘蛛.把网的节点比作一个个网页,爬虫爬到这就相当于访问了该页面,获取了其信息.可以把节点间的连线比作网页与网页之间的链接关系,这样蜘蛛 ...

  7. Python Web-第六周-JSON and the REST Architecture(Using Python to Access Web Data)

    1.JavaScript Object Notation JSON 1.JSON 官方介绍 http://www.json.org/json-zh.html 2.json1.py import jso ...

  8. python 内置函数range和xrange

    range range 是一种类型(type),它是一个数字的序列,而且是不可变的,通常用在for循环中. class range(stop)class range(start, stop [, st ...

  9. Spring中的IOC和AOP是什么含义,他们在项目中起到什么作用,并举例说明?

    IOC:控制反转,是一种设计模式.一层哈尼是控制权的转移:由传统的在程序中控制并依赖转移到容器赖控制:第二是依赖注入:将相互以来的对象分离,在Spring配置文件中描述他们的依赖关系.他们的依赖关系只 ...

  10. A Dream (PKUWC 2018)

    A Dream (PKUWC 2018) 这是一个梦. 从没有几分节日气氛的圣诞,做到了大雪纷飞的数九寒天. 忘了罢! 不记得时间,不记得地点.随着记忆的褪去,一切也只会不复存在. Day-34? D ...