首页 > 其他分享 >如何保证事件的闭环处理

如何保证事件的闭环处理

时间:2023-08-15 16:34:18浏览次数:27  
标签:协同 处理 闭环 故障 保证 事件 自动 告警 收敛

所谓的闭环,就是指告警发出、认领、协作处理、问题恢复、复盘改进的整个过程。

排班,专人做专事

这个手段听起来并不高大上,但确实非常有效。值班期间虽然提心吊胆的,生怕背锅,但因为是轮班制,心里总有个盼头,挺过这个周期就好了。

轮班的人在值班期间是第一责任人,会拿出 120% 的精力来处理问题,责任到人显然更容易推进问题解决,其他不值班的人则可以心无旁骛地做一些长线的事情,不至于总是被告警打断。

排班系统通常不开源,通常是作为事件中心的一个功能,PagerDuty 就提供了排班能力,即使没有系统支持,也建议人为制定一个排班表,把这个制度落实下去,对告警闭环处理也会有很大帮助。

值班人员在值班期间,虽然已经高度重视了,但也难免疏漏,这就需要告警升级机制了。

告警升级机制

告警升级是指在第一责任人收到告警之后没有及时响应,然后系统自动通知二线、三线人员的一种机制。一线人员没有及时响应的原因可能有很多,比如手机静音了没有听到,晚上睡着了,或者临时出去有事忘带手机了等等。这个时候系统发现某个告警一直没有恢复,也没有被认领,一段时间之后,就应该通知值班人员的领导或者二线备份人员,如果二线人员也迟迟没有响应,就应该继续往上升级。

告警升级机制需要认领功能的配合,也就是一线人员收到告警之后要通过某种机制告诉系统:“我已知晓告警,现在我开始处理了,你不要升级了”。

所以一般只有严重的告警才会启用升级机制,警告或者通知性质的告警都不用启用升级机制。当然,这个规范怎么定,各个团队可以自行商定。

告警收敛逻辑

一般收敛逻辑是三级收敛,event -> alert -> incident。

从 event 到 alert 的这个收敛逻辑,我们叫做一级收敛。只有这个收敛逻辑还不够,告警信息还是比较散,不好基于这些散乱的告警分别做协同,把多个 alert 收敛成一个 incident(故障),基于 incident 做协同才比较方便。但是,event 到 alert 是有一个固定的收敛逻辑的,可以通过程序自动收敛,而 alert 到 incident 却很难自动收敛。

1.根据时间做收敛;2. 根据时间 + 标签做收敛;3. 根据时间 + 文本相似度做收敛。

既然没办法把告警自动收敛成故障,那就手工来做。一个故障关联的关键告警,还是相对容易区分的,只要把关键告警关联到故障,后续基于这个故障做协同就可以了。所谓协同,一个是信息同步、协同处理,一个是共同复盘、管理跟进项。

故障协同处理

首先,并不是所有的告警都需要升级成故障协同处理。一般来讲,如果告警可以被值班人员直接处理掉,对别的团队负责的服务没有影响,不需要通知别的团队,通常是不需要升级成故障的,在告警层面来协同就可以了,自己团队内部消化掉;如果值班人员和他所在的团队没办法独自处理告警,才需要升级成故障,拉其他团队的人进来一起处理。

多个团队共同处理一个故障,不同团队的人会发现一些不同的线索,需要及时同步给所有相关的人,这个时候就可以在故障下面添加评论,其他人就可以及时看到。等到止损之后,大家还要根据故障时间线复盘,产出一系列跟进项,这个时候就需要这个故障管理模块具备跟进项管理的功能,或者至少能够跟任务管理系统良好打通。

有了这样一个故障协同的机制之后,故障被处理掉的概率就大幅提升了,后续再配合一些运营统计手段,统计各个团队的平均故障止损时间,建立红黑榜,大家就会有更高的热情来处理故障。当然,人的热情再高,也不如机器来得快,如果有些告警能够直接关联自动化处理逻辑,无疑可以大大增加事件闭环率。

告警自动处理

很多监控系统都可以配置 Webhook,当告警触发之后自动回调某个 HTTP 接口,来串联一些自动化的逻辑,让告警事件无人值守自动处理。比如某个机房的某个服务挂掉了,Webhook 的逻辑是自动调用切流的接口,把服务流量切走,这样来达到止损的目的。

告警自动处理的这段逻辑,未必一定能够做到告警自愈,有的时候只是使用这个机制来抓现场,也是非常有价值的。比如某个进程挂掉了,在挂掉的时候我想知道当时机器的一些运行情况,比如各项资源的占用情况、系统日志的信息等等,我们就可以借助告警自动处理的这个方式,来自动跑个脚本抓取当时机器上的一些现场信息,相比收到告警之后手工登录机器查看要高效得多。

如何保证事件的闭环处理_告警闭环

标签:协同,处理,闭环,故障,保证,事件,自动,告警,收敛
From: https://blog.51cto.com/key3feng/7090223

相关文章

  • RabbitMQ如何保证顺序消费
    面试官:你能说说RabbitMQ是如何保证消息顺序消费的吗?老任:如果我们想要保证消息是按照顺序进行发送的,发送到队列后,队列的消息应该是先进先出的,我们只需要一个队列配置一个消费者即可(窃喜中......)。面试官:我们的项目一般都是集群部署的,一个队列就会有多个消费者,怎么实现一个队列中所......
  • 深入事件循环
    浏览器进程模型:进程:程序运行都要有自己的内存空间,程序在分配的内存空间的执行过程就叫进程。每个应用至少有一个进程,进城之间相互独立,需要通信时,须要双方都同意!!!线程:一个进程至少有一个线程,进程开启的过程会自动创建一个线程来执行程序代码,称之为主线程,如果程序需要同时执行多......
  • 《高级程序员 面试攻略 》RocketMQ 如何保证顺序性
    RocketMQ提供了一种称为顺序消息的机制来确保消息的顺序性。下面是一些关键的方法和概念:1.顺序消息:顺序消息是指在发送和消费过程中,消息按照特定的顺序进行处理。RocketMQ通过将消息发送到同一个消息队列(MessageQueue)来实现顺序消息。每个消息队列都有一个全局唯一的标识符(Me......
  • elementUi table表格 标头自定义,给表头加点击事件
    <el-table-columnlabel="">  <el-table-columnprop="column":render-header="renderHeader"width="160">    <templateslot-scope="scope">      <span>{{scope.row.column[......
  • VTK 实例8:command与observe设计模式(当交互使相机变化时打印出当前相机的坐标,当发生拾
    1#include"vtkAutoInit.h"2VTK_MODULE_INIT(vtkRenderingOpenGL2);3VTK_MODULE_INIT(vtkInteractionStyle);4#include<vtkConeSource.h>5#include<vtkPolyDataMapper.h>6#include<vtkRenderer.h>7#include<vtkRende......
  • spring事件
    1、SpringEvent参考CSDN-Spring中事件监听(通知)机制详解与实践【含原理】掘金-TransactionalEventListener使用场景以及实现原理,最后要躲个大坑demo项目hy-springEvent-demo【springEventdemo项目】数据库在项目目录的datebase里面SpringEvent用于对事件的监听与处理,他是对设计......
  • 来自开源社区的最大事件--- IBM收购红帽RHEL后终止提供免费的软件源和操作系统源码
    保持Linux的开放性和自由性--我们不能不这样做作者:首席企业架构师EdwardScreven和OracleLinux开发主管WimCoekaerts-2023年7月10日甲骨文加入Linux社区已有25年。这些年来,我们的目标始终如一:帮助Linux成为人人都能免费使用的最佳服务器操作系统,并为有需要的用户......
  • Android FrameWork——Touch事件派发过程详解
    对于android的窗口window管理,一直感觉很混乱,总想找个时间好好研究,却不知如何入手,现在写的Touch事件派发过程详解,其实跟android的窗口window管理服务WindowManagerService存在紧密联系,所以从这里入手切入到WindowManagerService的研究,本blog主要讲述一个touch事件如何从用户消息的采......
  • 鼠标 - 单机/双击 - 事件区分
    单机事件://clearTimeout()方法可取消由setTimeout()方法设置的timeout。clearTimeout(timeoutID);//setTimeout()方法用于在指定的毫秒数后调用函数或计算表达式//利用时间的延迟来解决双击事件对单击事件的影响timeoutID=window.setTimeout(function(){......
  • 13.键盘监听事件
    packageGUI;importjava.awt.*;importjava.awt.event.KeyAdapter;importjava.awt.event.KeyEvent;publicclassTest13_Key{publicstaticvoidmain(String[]args){newKeyFrame();}}classKeyFrameextendsFrame{publicKeyFrame()......