写点什么

PagerDuty 的 Kafka 故障导致数千家公司无法收到报警

作者:Matt Saunders

  • 2025-09-18
    北京
  • 本文字数:1331 字

    阅读完需:约 4 分钟

大小:649.94K时长:03:41
PagerDuty的Kafka故障导致数千家公司无法收到报警

PagerDuty是一个事件管理平台,被成千上万的组织用来提醒他们系统上的问题,它在 2025 年 8 月 28 日遭遇了一次重大的服务中断。在一份全面的服务中断报告中,该公司详细说明了问题的范围、对客户的影响,以及如何防止故障再次发生。

 

这次事件中断或延迟了对 PagerDuty 美国服务区域客户接收传入事件的处理。严重的服务降级影响了 PagerDuty 超过 9 个小时。在高峰期,大约 95%的事件在 38 分钟内被拒绝,18%的创建请求在 130 分钟内产生了错误。

 


根据服务中断报告,原因是在推出一项新功能时出现了一个缺陷,该功能旨在改善 API 和密钥使用的审计和日志记录。随着增量推出进程的进行,PagerDuty 的 Kafka 集群的使用量错误地超过了系统的容量。

 

由于上述功能的逻辑错误,每个 API 请求都实例化了一个新的 Kafka 生产者,而不是使用单个 Kafka 生产者来产生消息。

 

报告解释说,PagerDuty 对如何使用pekko-connectors-kafka Scala库的解释导致了这个编码错误。报告详细说明了额外负载的范围:“Kafka 最终在高峰时每小时追踪了近 420 万个额外的生产者,这比我们通常的新生产商数量高出 84 倍。”它继续解释了 Kafka 如何开始抖动,然后耗尽可用的 JVM 堆,导致集群的级联故障。

 

由于我们的许多系统都依赖于 Kafka,这种减速会蔓延开来,服务最终完全失去了与 Kafka 交互的能力。

 

这在依赖 Kafka 进行通信的其他服务中引起了连锁反应,因为它们无法连接到 Kafka 集群。这增加了服务中断的影响和恢复情况所需的时间。公司承认,“级联故障本质上很难预测,一个服务中的小问题可能会以系统图上不明显的方式波及到其他服务。”

 

更具有讽刺意味的是,这一事件影响了一个主要的事件管理平台,由于 PagerDuty 工作人员起草的更新没有出现在公共状态页面上,导致了外部沟通的延迟。进一步增加客户的混乱,因为这种“元故障”意味着他们无法在服务中断期间获得更新。

 

PagerDuty 并不是最近唯一遭受长时间停机的事件管理平台,Opsgenie 的客户在 2022 年就经历了14天的停机

 

社区的反应显示了现代组织对可靠事件管理系统的重视,Reddit 上的一位用户解释了服务中断期间缺乏系统可见性造成的压力:“今天应该是工作的大日子。相反,我因为 PagerDuty 崩溃而被客户责骂……你有没有在值班时感觉自己就像瞎了一样?”用户 Vimda 随后建议为所有系统增加冗余:“总是有一个备用警报系统,即使是手动分类。”用户 Twirrim 对此表示赞同,他深思熟虑地认为监控工具本身也需要监控,并指出:“单点故障是可靠性的最大敌人。有时它们是不可避免的(例如,成本过高),所以你必须考虑‘如果出了问题怎么办’。”

 

除了详细的服务中断时间线和原因外,PagerDuty 还列出了一些未来的改进和承诺,以避免任何重复的情况,包括扩大他们自己的监控,特别是在 JVM 和 Kafka 层面,并实施更严格的变更管理护栏,以便工程师仍然可以快速工作,但增加了安全性。

 

社区的反应证实了所有组织都需要确保自己的系统和流程具有弹性,通过有意识地确保在第三方中断的情况下有冗余和备份计划。PagerDuty 自己的服务中断报告和未来的改进计划反映了一种强大且心理上安全的文化。

 

PagerDuty 的持续学习文化意味着我们从这样的事件中变得更强大——无论是在我们的技术还是我们的团队中。

 

原文链接:

https://www.infoq.com/news/2025/09/pagerduty-kafka-outage/

2025-09-18 09:594411

评论

发布
暂无评论

如何避免数据湖变成数据沼泽

Kyligence

数据湖 数据管理 智能多维数据库

故障处理 | DM 搭建 MySQL 8.0 同步链路报错:code=26005

TiDB 社区干货传送门

安装 & 部署 TiDB 源码解读

离线部署系列文章之一:TiDBv5.3.0集群部署&源码部署 Haproxy v2.5.0

TiDB 社区干货传送门

实践案例 版本升级 管理与运维 安装 & 部署 扩/缩容

高效完成需求计划的四个关键 | 敏捷开发

LigaAI

Scrum 敏捷开发 Sprint LigaAI spring event

Python图像处理丨基于OpenCV和像素处理的图像灰度化处理

华为云开发者联盟

Python 人工智能 图像

5分钟,带你看完24岁60W年薪架构师的简历,上面竟然写着精通JVM

收到请回复

Java JVM java面试 简历模板 金九银十

7 天能找到 Go 工作吗?学学 Go 数组和指针试试

梦想橡皮擦

Python 爬虫 8月月更

如何在企业数字化团队内部实现数据分析建模成果的结构化整合沉淀

ModelWhale

工作流 数字化转型 数字化 案例分享 提高效率

打了15天,如何做到在容器权限上不失一分?

青藤云安全

容器安全 攻防演练

ABAP 一组关键字 IS BOUND, IS NOT INITIAL 和 IS ASSIGNED 的用法辨析

汪子熙

指针 应用 SAP abap 8月月更

【8.12-8.19】写作社区精彩技术博文回顾

InfoQ写作社区官方

优质创作周报

20万字的《Kafka运维实战宝典》PDF现在免费下载了

石臻臻的杂货铺

大数据 kafka

如何在 TiDB Cloud 上使用 Databricks 进行数据分析 | TiDB Cloud 使用指南

TiDB 社区干货传送门

数据中台逼近炒作顶峰之际,Gartner给想建数据中台的一些建议

雨果

数据中台 Gartner

数字知识库-知识图谱管理系统

金陵老街

Java 数字化 知识图谱 企事业系统

马拉车算法 (最长回文串 例题 密码截获)

Five

算法 8月月更

当内卷风波及代码领域,看Alluxio将会采取怎样的块分配策略

Alluxio

腾讯 存储 Alluxio block 8月月更

SAP ABAP 和 Java 里的弱引用(WeakReference)和软引用(SoftReference)

汪子熙

Java 引用 SAP abap 8月月更

Web3.0 DAPP项目智能合约系统开发技术详情

开发微hkkf5566

开源一夏 | 在 STM32L051 上使用 RT-Thread (四、无线温湿度传感器 之 串口通讯)

矜辰所致

开源 RT-Thread 8月月更 STM32L051

前半个月的行动中,整个圈子都在疯传的“内网King”到底是个啥?

青藤云安全

网络安全 主机安全 攻防演练

字节一面:HTTPS 一定安全可靠吗?

程序员小毕

Java 程序员 面试 https 校招

优雅,永不过时!SpringBoot中这样编写Controller层代码,那叫一个完美

Java永远的神

Java 程序员 面试 程序人生 springboot

前端监控系列3 | 如何衡量一个站点的性能好坏

字节跳动终端技术

字节跳动 前端 性能监控 火山引擎 站点性能

一文带你认知定时消息发布RocketMQ

华为云开发者联盟

云计算 后端

Meta项目功能测试 | 开启PrestoDB和Aria扫描优化

Alluxio

hive presto Alluxio 大数据 开源 8月月更

九章云极DataCanvas公司与中国信通院完成可信AI基础软件战略合作

九章云极DataCanvas

人工智能 数据智能 数智化 可信AI

OpenHarmony有氧拳击之设备端开发

OpenHarmony开发者

OpenHarmony

修筑产学研用一体化的通衢,从一场比赛背后瞭望苏州园区人才培养新范式

脑极体

云图说丨初识可信分布式身份服务

华为云开发者联盟

云计算 安全 后端

手把手教你实现 TiFlash 向量化函数丨十分钟成为 TiFlash Contributor

TiDB 社区干货传送门

PagerDuty的Kafka故障导致数千家公司无法收到报警_软件工程_InfoQ精选文章