![]()
Airbnb 工程师花了 3 年时间自认"纪律涣散",直到 2024 年一次内部复盘才发现:他们写不好警报不是因为懒,而是因为根本看不见警报跑起来什么样。
这家公司支撑着数千个微服务,跑了约 30 万条警报。按传统思路,警报质量差通常被归结为"文化问题"——工程师不够上心、缺乏最佳实践。Airbnb 最初也是这么想的,直到他们重新设计了可观测性即代码(Observability as Code,OaC)工具链,才发现真正的瓶颈藏在开发流程里。
从"写代码"到"看效果",隔着一条看不见的河
Airbnb 的 OaC 体系原本已经相当规范:所有警报用代码定义,走 Git 版本控制,强制代码评审。评审能抓语法错误、逻辑漏洞,甚至能讨论阈值设得合不合理。
但有一个致命盲区:评审通过、合并上线之后,警报在真实流量里会怎么表现,工程师只能靠猜。
他们无法预判一条警报会不会在凌晨 3 点把 on-call 同事炸醒,会不会对正常波动过度敏感,会不会在真正出问题时哑火。这种"黑箱部署"让工程师陷入两难:要么保守设置,导致覆盖率不足;要么激进配置,结果噪音泛滥。
一位参与改造项目的工程师在内部文档里写道:「我们曾以为大家不想写好警报,后来发现是工具没给任何人机会去验证。」
![]()
新工具链把"数周"压缩成"数分钟"
2024 年,Airbnb 推出了一套新的警报开发工作流,核心改动只有两个字:预览。
工程师现在可以在提交代码前,用历史数据回放警报逻辑。系统会告诉你:这条警报在过去 30 天里会触发多少次,哪些是真故障、哪些是误报,on-call 会被叫醒几次。所有计算在本地完成,不需要真正部署到生产环境。
这个改动彻底扭转了开发体验。警报开发周期从原来的数周缩短到数分钟——不是夸张修辞,Airbnb 在官方技术博客中明确用了"minutes"这个词。更关键的是,工程师终于能对警报质量负责了,因为他们第一次拥有了"负责"所需的可见性。
配合预览功能,团队还重构了警报配置的结构化模板。过去 300 人各有各的写法,现在强制统一字段和命名规范,迁移工具自动把旧警报翻译成新格式。到 2025 年初,超过 30 万条警报完成平台迁移,噪音率下降幅度未公开具体数字,但内部评价是"dramatically"。
"文化问题"是个偷懒的诊断
Airbnb 这个案例最有趣的地方在于它对行业惯性的打脸。
![]()
技术团队遇到系统性质量问题,第一反应往往是"人的问题":培训不够、考核不严、意识薄弱。于是开始搞最佳实践宣讲、写更长的规范文档、在复盘会上点名批评。Airbnb 自己也走过这条路,直到他们发现工程师不是不想遵守规范,是遵守了也看不到结果。
这有点像让厨师凭记忆做菜,却不许尝味道——菜做咸了,你说他态度有问题?
可观测性领域这几年有个趋势:把"可观测性"本身也做成可观测的。不只是监控业务系统,还要监控监控系统的有效性。Netflix 早年推行的"混沌工程"是往生产环境扔故障验证韧性,Airbnb 这次则是往历史数据里扔警报逻辑验证准确性。两种思路异曲同工:用工程手段解决工程问题,而不是指望人的自觉性。
一个被忽略的成本:on-call burnout
警报噪音的直接受害者是 on-call 工程师。Airbnb 没有公布具体数据,但行业内有参考坐标:PagerDuty 2023 年调研显示,47% 的运维人员因频繁无效警报产生职业倦怠,平均每周被叫醒 3 次以上的团队,人员流失率显著高于 baseline。
Airbnb 的改造逻辑里有一条隐性线索:降低噪音不只是技术优化,是组织健康投资。当工程师能睡个好觉,他们留下的意愿、写代码的谨慎程度、对系统的整体理解,都会连锁改善。
这套新工具链上线后,内部反馈里最常被引用的不是某个技术指标,而是一条相对主观的评价:「现在改警报不再让人焦虑了。」
Airbnb 在博客结尾提到,他们正在考虑把预览功能扩展到更复杂的场景——比如多条件组合的关联警报,以及基于机器学习异常检测的动态阈值。这些方向是否走得通,取决于他们能否保持同一个原则:让工程师在按回车键之前,先看见后果。
如果你的团队还在用"加强意识"来解决警报质量问题,也许该问问自己:到底是人不靠谱,还是工具没给靠谱的机会?
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.