关于告警,要想做好,从这些方面着手

各类监控系统都会产生告警事件,于是,就产生了 FlashDuty、PagerDuty、Opsgenie 这类产品,做告警事件的收敛降噪、排班认领升级等。如果你想增强自己公司的告警事件处理能力,参考(chao xi)这些产品的功能就可以了 😎。

  • 告警集成:目标是在一个Oncall平台上处理所有告警,一般常见的监控工具,都有对接webhook的能力,因此Oncall平台可以对不同监控工具进行接口适配,提供一个相应的webhook,对用户来说配置成本最低。还有一些不那么开放的监控工具,可能只对外提供了发邮件通知的方式,如果Oncall平台能够接受这些邮件并对内容进行解析的话,也是一种兜底的告警集成方式。

  • 标签增强:告警信息中的标签越丰富,工程师在接收到告警的时候处理起来就更高效。现实情况中很多监控工具发送出来的告警只有光秃秃的有限的几个字段,比如机器名、监控项、阈值,如果能对接外部元数据(比如CMDB),对告警的字段进行扩充,那就可以利用扩充出来的字段,更自动化的分发告警,以及在处理故障的时候,让工程师能快速判断告警的影响面和严重程度。

  • 聚合降噪:对相似的告警进行聚合、对频发的告警进行收敛,能够显著降低告警数量,减少对工程师的无效打扰。基于规则、基于语义相似度都是可行的聚合方式。告警的聚合,可以跨监控数据来源,比如来源于Zabbix的告警和来源于Prometheus的告警,如果“相似”,就可以聚合。

  • 告警抑制:可以是高级别的告警抑制低级别的告警,也可是底层基础设施的告警抑制上层模块的告警,总而言之是引入了“某种依赖关系”。这些依赖关系的维护成本较高,且不容易解释,不推荐大规模场景重度使用。

  • 值班排班:目的是避免整个团队被经常性打断。日常值班、节假日值班、临时调班、公平轮换都是排班时要考虑的因素,值班轮换交接时,要有清晰的通知机制。值班人也要有角色的概念,比如主备值班人。

  • 认领:理论上来说,所有的告警都需要被认领。如果一个告警发送出来后,没有人认领,也没有产生任何不良的后果,那这个告警是无意义的,就不应该发送出来。通常会用 MTTA 量化告警认领的效率和效果。

  • 升级/转派:针对不同等级的告警,提前建立清晰的升级路线,会降低Oncall工程师心理压力,有助于快速、准确的解决问题。告警升级可以是手动升级,也可以是自动升级,比如当某个告警超过30分钟未被处理,且未恢复,那么就自动升级到主管或者备份人员,确保问题最终得到及时的处理。

  • 协同:在告警处理的过程中,可以随时把相关的人员拉进来协同(通常,把相关人员拉齐,问题就解决了一半,如果能自动创建 warroom 就更好了),添加协同人时需要准确及时的通知到对方,并把告警处理的过程和时间线,清晰的保留下来,供协作方快速了解全貌。

  • 通知:国外Slack可以连接巨大的周边生态,很多协同工作是在Slack中完成的,说是协同领域的操作系统也不夸张;在国内那就是企微、飞书、钉钉三足鼎立了,这些IM支持开发应用,在这些内置应用中接收告警、认领、关闭、转派、处理,是提升Oncall体验的关键方法。移动办公的体验感,用过都说好。

  • 统计分析运营:告警压缩率、MTTA、MTTR、告警认领比例、告警数量是衡量Oncall效率的关键指标,通过按业务、按团队、按个人等维度分析以上指标,能够有效的推动告警的优化和治理工作,让Oncall更有效率。

这类产品缺少开源项目,可能是随着越来越多的开源作者养家糊口都困难,没人愿意用爱发电了。如果有预算,建议上 FlashDuty,我觉得这是东半球最好用的 OnCall 产品。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/52708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用统计方法在AMD GPU上使用JAX Profiler可靠地比较大型生成AI模型中的算法性能

Using statistical methods to reliably compare algorithm performance in large generative AI models with JAX Profiler on AMD GPUs — ROCm Blogs 摘要 本文提供了一份详细的指南,介绍如何在JAX实现的生成AI模型中测量和比较各种算法的性能。利用JAX Profiler…

35岁程序员的4条出路!请提早布局!

小编准备入门了Python入门学习籽料80个Python爬虫实战入门实例 点击 领取(无偿获得) 20多岁,初入职场,满腔热血,对未来充满憧憬; 30多岁,家庭事业双重压力,开始迷茫,对…

阿里云发送短信功能(Java)

(1)注册用户,并且开通短信套餐 (2) 点击快速学习,然后绑定测试的手机号码。 选用专用测试签名(自定义的话阿里可能会验证什么什么的比较麻烦) 然后在选取调用API (3&…

10、Flink 动态表之表到流的转换详解

表到流的转换 动态表可以像普通数据库表一样通过 INSERT、UPDATE 和 DELETE 来不断修改,它可能是一个只有一行、不断更新的表,也可能是一个 insert-only 的表,没有 UPDATE 和 DELETE 修改,或者介于两者之间的其他表。 在将动态表转换为流或将其写入外部系统时,需要对这些…

3秒AI写真出图,Stable Diffusion2024升级版+使用教程来了!(无需安装,解压即用)

要说今年摄影圈最大的新秀 那妥妥的就Stable Diffusion 比如下面的写真照片 你敢信这是SD绘画生成的? 就在刚刚它又全面升级了 新版无需安装,直接解压就能用 比之前推送的更加智能、快速和简单 另外还特意为大家准备了 Stable Diffusion 人工智能…

故障诊断 | 基于小波时频图与Swin Transformer的轴承故障诊断方法(PyTorch)

文章目录 文章概述程序设计参考资料文章概述 基于小波时频图与Swin Transformer的轴承故障诊断方法 针对用传统的故障诊断方法难以对非线性非平稳的柴油机故障信号进行准确高效诊断的问题, 提出基于小波时频图与Swin Transformer的故障诊断方法。该方法可以有效结合小波时频分…

Git实战精粹

一、快速入门 1. 什么是Git Git是一个分布式的版本控制软件。 软件,类似于QQ、office、dota等安装到电脑上才能使用的工具版本控制,类似于毕业论文、写文案、视频剪辑等,需要反复修改和保留原历史数据分布式 文件夹拷贝本地版本控制集中式…

03-Python的运行方式

《Python 教程》总结 持续更新中,学习交流请加作者微信: python-baby 脚本和模块 脚本(Scripts) 在计算机术语中,脚本是指一个包含逻辑顺序的文本文件,我们可以运行脚本来完成特定任务。这些逻辑顺序通常用脚本语言…

如何在Java中使用protobuf

写在前面 本文看下在Java中如何使用protofbuf。 1:介绍 1.1:什么是protobuf 是一种数据格式,同json,xml,等。但是一种二进制数据格式。 1.2:强在哪里?为啥要用? 小&#xff0c…

org.apache.commons.lang.math.NumberUtils#isNumber 解释

源码 /*** <p>Checks whether the String a valid Java number.</p>** <p>Valid numbers include hexadecimal marked with the <code>0x</code>* qualifier, scientific notation and numbers marked with a type* qualifier (e.g. 123L).</…

JS中this的指向问题、JS的执行机制、offset、client、scroll

JS中this的指向问题 1. 在全局环境下 在全局环境中&#xff08;在浏览器中是 window 对象&#xff0c;在Node.js中是 global 对象&#xff09;&#xff0c;this 指向全局对象。 console.log(this window); // 在浏览器中为 true console.log(this.document ! undefined); //…

如何练高音技巧

如何练高音技巧 高音的练习技巧有&#xff1a;练“a”(啊)音&#xff0c;让口腔打开&#xff0c;声带放松&#xff0c;反复几次&#xff1b;再练“u”(呜)音&#xff0c;这个音可以有按摩声带的功能&#xff0c;也使声带进一步放松&#xff1b;发“i”(衣)音&#xff0c;逐步加…

缓存失效问题-雪崩/击穿/穿透

1. 缓存雪崩 1.1. 定义 大量缓存同一时间失效&#xff0c;大量访问数据库。 1.2. 发生条件 大量key相同过期时间缓存服务器重启 1.3. 解决方案 设置随机的缓存过期时间缓存预热高可用缓存集群降级限流 2. 缓存击穿 2.1. 定义 一个热点数据在缓存里失效&#xff0c;很多…

k8s 四种Service类型(ClusterIP、NodePort、LoadBalancer、ExternalName)详解

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Kubernetes航线图&#xff1a;从船长到K8s掌舵者》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、k8s概述 2、Service在Kubernetes中的…

大模型本地化部署2-Docker部署MaxKB

大模型本地化部署2-Docker部署MaxKB 0、MaxKB简介1、安装docker2、在docker中拉取MaxKB镜像3、运行镜像4、访问MaxKB5、创建应用6、使用应用进行对话 0、MaxKB简介 MaxKB是一款基于LLM大预言模型的知识库问答系统。具有以下特点&#xff1a; 多模型支持&#xff1a;支持对接主…

开放式耳机怎么戴?佩戴舒适在线的几款开放式耳机分享

开放式耳机的佩戴方式与传统的入耳式耳机有所不同&#xff0c;它采用了一种挂耳式的设计&#xff0c;提供了一种新颖的佩戴体验&#xff0c;以下是开放式耳机的佩戴方式。 1. 开箱及外观&#xff1a;首先&#xff0c;从包装盒中取出耳机及其配件&#xff0c;包括耳机本体、充电…

什么是密码学?

什么是密码学&#xff1f; 密码学是一种通过使用编码算法、哈希和签名来保护信息的实践。此信息可以处于静态&#xff08;例如硬盘驱动器上的文件&#xff09;、传输中&#xff08;例如两方或多方之间交换的电子通信&#xff09;或使用中&#xff08;在对数据进行计算时&#…

软件造价之如何确定定开和成品软件的边界?

在软件项目中&#xff0c;我们常常面临选择&#xff1a;是直接购买并使用成品软件&#xff0c;还是根据特定需求定制开发&#xff1f;这一决策不仅关乎项目成本也关乎到我们成本测算方法的选择。因此&#xff0c;明确定开与成品软件的边界&#xff0c;是软件造价的首要任务。 …

设计模式-结构性模式-桥接模式

1.桥接模式定义 桥接模式就是将抽象部分与他的实现部分分离&#xff0c;使他们都可以独立的变化&#xff1b; 桥接模式用一种巧妙地方式处理多层继承存在的问题&#xff0c;用抽象关联来取代传统的多层继承&#xff0c;将类之间的静态继承关系转变为动态的组合关系&#xff0c;…

vs属性表生效顺序

vs属性表生效顺序 在VS中打开一个项目&#xff0c;在属性管理器中可以看到很多属性表&#xff0c;如下&#xff1a; Application Unicode Support Core windows Libraries相信很多人会有和我一样的疑惑&#xff0c;这么多属性表&#xff0c;最终的属性以哪个表为准呢&#xf…