想象你是一位家庭管家,掌管着每月 100 元的“可出错基金”——只要家里出的小岔子(比如打碎一个碗、迟到一次约会)都在这个额度内,这个月就算“服务达标”。可问题是:钱是以多快的速度花掉的? 如果月初 10 天就烧掉了 80 元,那你必须立刻踩刹车;如果月末还剩 50 元,那偶尔打碎个碗也不用心惊肉跳。SLO 与告警体系中的 燃尽策略(Burn Rate Strategy),干的就是这件“盯紧花钱速度”的事。 在 AI 系统可观测性里,我们为模型服务设定一个服务质量目标(SLO),比如“每月 99.9% 的请求要在 500ms 内返回”。与之对应,系统拥有一笔“错误预算”——100% 减去 SLO,就是允许出错的额度。燃尽率衡量的正是这笔预算被消耗的速度:烧得太快,告警系统就大声疾呼;烧得平稳,就只需默默记录。这套策略让 AI 工程师从“被噪音告警淹没”的困境中解放出来,真正做到把精力花在最危险的时刻。

岗位关联

学习燃尽策略,你将掌握 AI 系统可观测性中最实用的告警兵法——用“剩余预算 + 消耗速度”双维决策,告别告警疲劳,让每一次告警都打在七寸上。这是 SRE 与 AI 工程岗位的高阶核心技能。

目录
  1. 可视化演示
  2. 燃尽策略概述
  3. SLO与错误预算
  4. 燃尽率的计算
  5. 多级告警设计
  6. 动态阈值调优
  7. 多窗口策略
  8. 工程应用实践
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态展示告警从原始源头经去重/聚合/分级/抑制四阶段降噪管线到达输出的过程,切换策略观察各阶段告警削减效果与信噪比变化。

本节配有交互动效(进入视口后自动加载,约 3KB)。

燃尽策略概述

想象你是奶茶店店长,每月有 100 杯“试错赠饮额度”——只要因为做错口味、超时出杯送出的赠饮不超过这个数,总部就认为你服务达标。但你很快发现:最可怕的不是月底超支,而是月初 5 天就送掉了 80 杯。 这时你必须立刻调整配方、加派人手;如果月末还剩 50 杯,员工偶尔手抖也无需兴师动众。燃尽策略的核心,就是把“还剩多少”和“烧得多快”两件事结合起来做决策。

在 AI 系统可观测性中,告警系统如果只盯着“当前错误率是否超过 5%”,就像店长只看“今天送了几杯”——完全忽略了预算消耗的速度。一个 5% 的错误率放在月初可能无伤大雅,放在预算快见底的月末就是灾难。燃尽策略的洞察是:告警的紧急程度应由“剩余错误预算”和“消耗速度”共同决定,而非一个静态的百分比红线。

这套逻辑落地到工程上,就是围绕错误预算建立“燃尽率”指标。当燃尽率超过某个阈值,说明按当前速度,预算会在窗口结束前耗尽——此时立即触发高等级告警,让工程师火速介入。它解决了传统告警两大痛点:一是告警噪音太多导致“狼来了”效应,二是真正致命的缓慢劣化反而无人察觉。燃尽策略让告警系统像一位精明的账房先生,只在最危险的时刻敲响警钟。

SLO与错误预算

SLO(Service Level Objective,服务等级目标) 是团队对外承诺的服务质量指标,比如“系统每月 99.9% 的请求延迟低于 500ms”。这个数字不是拍脑袋定的,而是产品需求与技术成本之间的平衡。设定 SLO 的同时,我们其实悄悄定义了一笔 错误预算(Error Budget) :

有了预算,就有了“记账”的依据。系统每发生一次错误请求,就从错误预算中扣除一笔;每天结束后,剩余预算 = 初始预算 − 已消耗预算。如果剩余预算长期保持充裕,说明服务质量健康;如果它像盛夏的冰块一样迅速融化,那就要警惕了。

这里的关键在于“预算”这个词的双重含义。在财务上,预算告诉你还能花多少钱;在 SRE 中,错误预算是你还能犯多少错的许可证。燃尽策略正是围绕这笔“犯错本金”设计的——它不关心你犯了什么错,只关心本金以什么速度消失。

错误预算=1−SLO=1−0.999=0.001=0.1%\text{错误预算} = 1 - \text{SLO} = 1 - 0.999 = 0.001 = 0.1\%
错误预算是“允许出错的额度”——服务在 30 天里可以有 0.1% 的请求不达标,这笔“本金”花完之前,一切正常;花完,就说明服务在违背承诺。
  1. SLO 的小数化把百分比形式的 SLO(如 99.9%)转换为小数 0.999,方便数学计算。
    0.999=99.91000.999 = \frac{99.9}{100}
  2. 预算等于 1 减目标用 100% 减去 SLO,得到允许出错的剩余空间。
    1−0.999=0.0011 - 0.999 = 0.001
  3. 转化为百分比将小数乘以 100%,得到直观的错误预算比例。
    0.001×100%=0.1%0.001 \times 100\% = 0.1\%

燃尽率的计算

现在,我们要量化“烧钱速度”。燃尽率(Burn Rate)的定义是:在给定时间窗口内,错误预算被消耗的比例。用公式表示,就是窗口内已消耗预算占窗口期理论总预算的比例:

燃尽率的精妙之处在于,它是一个无量纲的倍数,天然适应不同规模的服务。无论你的错误预算是 0.1% 还是 1%,燃尽率 4 都意味着“预算会提前 4 倍速度耗尽”。这让团队可以用统一的阈值(如 1、2、4、8)来分级告警,而不必逐服务调参。

但燃尽率有一个隐藏变量——时间窗口长度。同样是燃尽率 2,放在 5 分钟窗口里可能只是瞬时毛刺,放在 24 小时窗口里就是真实劣化。因此工程上往往同时计算多个窗口的燃尽率,这就是后文将提到的“多窗口策略”。

Burn Rate=窗口内已消耗预算窗口时长×单位时间错误预算\text{Burn Rate} = \frac{\text{窗口内已消耗预算}}{\text{窗口时长} \times \text{单位时间错误预算}}
燃尽率 = 1 意味着用“标准速度”消耗预算,月末刚好花光;燃尽率 = 2 意味着速度翻倍,预算会在半个月内耗尽;燃尽率 > 2,你就该拉响警报了。
  1. 分子已消耗预算:统计窗口内所有不达标请求占用的预算比例,比如 0.002。
    已消耗=0.002\text{已消耗} = 0.002
  2. 分母标准额度:用窗口时长乘以单位时间错误预算,得到该窗口允许消耗的“正常用量”。
    标准=30 天×0.1%30 天=0.001\text{标准} = 30\ \text{天} \times \frac{0.1\%}{30\ \text{天}} = 0.001
  3. 两者相除得燃尽率用实际消耗除以标准用量,得到速度倍数。
    Burn Rate=0.0020.001=2\text{Burn Rate} = \frac{0.002}{0.001} = 2

多级告警设计

有了燃尽率这把尺子,告警等级就清晰了。我们可以根据剩余错误预算和燃尽率,把告警划分为多个等级:低危、中危、高危。设计原则是:剩余预算越少、燃尽率越高,告警级别越高,响应的工程师级别也越高。

多级告警的实际效果是“收敛响应”——把不同紧急度的问题分流到不同级别的处理通道。低危告警可能只是一条手机推送,中危告警要求 30 分钟内响应,高危告警则启动紧急热线。这样的设计避免了全军覆没式的“全员 on-call”,也防止了重要告警被海量噪音淹没。

此处的关键洞察是:告警级别可以随剩余预算动态变化。同样是 5% 的错误率,月初可能只发低危通知,月末却会升级为高危——因为在预算不足时,任何一点消耗都可能是压垮骆驼的最后一根稻草。

剩余预算=初始错误预算−已消耗预算\text{剩余预算} = \text{初始错误预算} - \text{已消耗预算}
告警等级={低危,剩余预算≥50%中危,20%≤剩余预算<50%高危,剩余预算<20% 且 Burn Rate>2\text{告警等级} =\begin{cases}\text{低危,} & \text{剩余预算} \ge 50\% \\\text{中危,} & 20\% \le \text{剩余预算} < 50\% \\\text{高危,} & \text{剩余预算} < 20\% \ \text{且} \ \text{Burn Rate} > 2\end{cases}
剩余预算 50% 以上时,服务处于安全区,只发通知级告警;剩余 20%~50% 时,需要有人值班关注;低于 20% 且燃尽率超标,必须全体动员。
  1. 安全区分诊预算充足时,告警降级为低危,避免打扰工程师。这就像家里存款丰厚时,一次小额消费不需要惊动全家。
    Budget_remaining≥50%\text{Budget\_remaining} \ge 50\%
  2. 预警区观察预算低于一半时,说明消耗偏快,触发中危告警,要求值班人员评估趋势。
    20%≤Budget_remaining<50%20\% \le \text{Budget\_remaining} < 50\%
  3. 高危区急救预算所剩无几且燃烧速度翻倍以上,直接触发高危告警,召唤全部相关工程师。
    Budget_remaining<20% ∧ Burn Rate>2\text{Budget\_remaining} < 20\% \ \wedge \ \text{Burn Rate} > 2

动态阈值调优

静态阈值最大的问题在于“刻舟求剑”。假设你为推理服务的延迟设置了 500ms 的硬阈值,但业务低谷期平均延迟只有 80ms,高峰期却长期在 450ms 徘徊——一个 450ms 的延迟在低谷期是异常,在高峰期却是常态。动态阈值调优的核心思想是:让告警阈值跟随系统的“健康基线”自适应移动,而不是钉死在一个固定数字上。

在工程中,这通常通过滑动窗口的分位数统计实现。例如,动态基线 = 过去 7 天同时间段的 P95 延迟 × 1.2。当实时延迟超过这个动态上限时,才触发告警:

动态阈值与燃尽策略是一对黄金搭档。燃尽率负责回答“错误预算烧得快不快”,动态阈值负责回答“当前这个指标是否偏离了它应有的形态”。二者结合,告警系统既懂“绝对剩余量”,也懂“相对历史形态”,误报率与漏报率同时降低。

但动态阈值需要谨慎使用:如果基线本身在缓慢劣化(比如每天变慢 1%),动态阈值会“温水煮青蛙”式地跟着抬升,让系统在不知不觉中越过 SLO。因此成熟的团队会把动态阈值与燃尽率形成双校验——阈值触发只是候选告警,燃尽率确认后才真正拉响警报。

DynamicThreshold=P95(历史延迟)×(1+α)\text{DynamicThreshold} = P_{95}(\text{历史延迟}) \times (1 + \alpha)
动态阈值 = 历史 P95 延迟乘上 1.2 的缓冲系数。它随业务周期自动升降:系统整体变慢,基线也抬升;系统变快,基线也下降。
  1. 历史分位数取过去 7 天同一时段延迟的第 95 百分位值,代表“绝大概率下的正常水平”。
    P95(历史延迟)P_{95}(\text{历史延迟})
  2. 缓冲系数在基线上增加 20% 的容错空间,避免因微小波动产生误报。
    1+α=1.21 + \alpha = 1.2
  3. 动态门限二者相乘,得到当前时段的动态告警阈值。
    DynamicThreshold=P95×1.2\text{DynamicThreshold} = P_{95} \times 1.2

多窗口策略

多窗口策略是燃尽率体系中最精妙的工程实践。它的思路来自一个朴素的生活经验:“看一个人是否发烧,不能只看一分钟的体温,也不能只测一次。”短窗口对突发敏感,长窗口对趋势稳定,组合使用才能平衡。

多窗口的本质是在“灵敏度”与“准确率”之间做权衡。只用短窗口,一次瞬时的流量尖刺就会触发一堆告警,让值班工程师疲于奔命;只用长窗口,真正的突发故障可能要等 20 分钟才暴露,业务早已受损。组合策略让短窗口负责“快”,长窗口负责“稳”。

工程中常见的窗口组合有“1 分钟 / 5 分钟 / 30 分钟”或“5 分钟 / 1 小时 / 6 小时”,具体选择取决于系统指标的特性。例如,对数据库连接池这种快速恶化的资源,短窗口更敏感;对模型精度这类缓慢变化的指标,长窗口更有意义。关键原则是:绝不让单个窗口单独作出最终判决。

燃尽率高危=Burn Rate5m>14 ∧ Burn Rate30m>7\text{燃尽率高危} = \text{Burn Rate}_{5m} > 14 \ \wedge \ \text{Burn Rate}_{30m} > 7
5 分钟窗口燃尽率超过 14(预算将在几小时内飞速耗尽)且 30 分钟窗口燃尽率超过 7 时,才触发高危告警——既能抓住闪电式故障,又能过滤瞬时抖动。
  1. 短窗捕捉突发5 分钟窗口的燃尽率对瞬间错误激增极其敏感,类似“体温计快速测量”。
    Burn Rate5m>14\text{Burn Rate}_{5m} > 14
  2. 长窗确认趋势30 分钟窗口的燃尽率滤掉了毛刺,反映持续劣化趋势,类似“多时段复测确认发烧”。
    Burn Rate30m>7\text{Burn Rate}_{30m} > 7
  3. 逻辑与组合两个窗口同时超阈值,才升级为高危告警,二者缺一不可。
    Burn Rate5m>14 ∧ Burn Rate30m>7\text{Burn Rate}_{5m} > 14 \ \wedge \ \text{Burn Rate}_{30m} > 7

工程应用实践

让我们把燃尽策略放到真实的 AI 工程场景中。假设你在维护一个大语言模型推理服务,SLO 是“99.5% 的请求在 2 秒内返回”,错误预算是 0.5%。某次上线新版本后,模型推理的 P99 延迟从 800ms 涨到 1.8s——尚未超过 2 秒阈值,传统告警系统保持沉默,但错误预算正在以 3 倍燃尽率快速消耗。

此时燃尽策略的价值尽显:告警系统检测到 1 小时窗口燃尽率 = 3.2,连续 3 个周期持续走高,触发了中危告警。值班工程师收到通知后,通过已有监控面板定位到“新版本的 KV Cache 显存占用过高导致 GC 频繁”,立即回滚新版本。整个过程从预算开始异常消耗到告警触发,不到 15 分钟——而传统阈值告警可能要到 2 秒延迟击穿 SLO 数小时后才被发现。

在数据管线场景中,燃尽策略同样适用。比如一个 AI 训练数据流水线,SLO 是“每日数据产出延迟不超过 1 小时”。错误预算就是“每天允许的延迟分钟数”。当上游数据源偶发卡顿导致产出延迟时,燃尽率会快速飙升,告警系统能精准地把它归类为“需要立即处理”的高危事件,而不是等到业务方投诉“今天的数据怎么还没到位”。

最后,工程团队还应建立告警复盘机制:每次燃尽告警触发后,回顾“这次的燃尽率曲线是否准确预判了故障?阈值是否需要调整?”通过持续迭代,燃尽策略会越来越贴合系统的真实行为模式——这正是 AI 系统可观测性从“被动救火”走向“主动治理”的关键一步。

AI 应用场景

大模型推理服务的延迟燃尽监控

阶段:模型部署与在线推理监控

解决的问题:传统固定阈值告警无法捕捉“尚未超阈值但预算在快速消耗”的隐性劣化。例如 P99 延迟从 800ms 升至 1.8s,虽然低于 2s 红线,但按此速度错误预算将在几小时內耗尽。燃尽策略让告警提前介入。

具体案例:某 AI 公司上线新版对话模型后,燃尽率在 1 小时内从 0.8 升至 3.2,触发中危告警。值班工程师通过燃尽率趋势图定位到 KV Cache 显存异常,迅速回滚,避免了一场大规模超时事故。

数据管道产出延迟的预算管理

阶段:数据工程与特征管道

解决的问题:训练数据流水线依赖多个上游系统,任何一个环节延迟都会造成连锁反应。燃尽策略把“每日允许延迟额度”当作预算,消耗速度过快时立即告警,而不必等最终产出超时。

具体案例:某推荐系统团队为特征管道设置“日产出延迟 ≤ 1 小时”的 SLO,当上游 Kafka 消费积压导致燃尽率达 4 时,系统自动通知数据工程师扩容消费者,将管道恢复时间从小时级缩短到分钟级。

Python 演示

python62 行
import randomfrom datetime import datetime, timedelta SLO = 0.999ERROR_BUDGET = 1 - SLOWINDOW_DAYS = 30daily_budget = ERROR_BUDGET / WINDOW_DAYS  def simulate_daily_errors(days: int, bad_day: int) -> list:    """模拟每日错误率: bad_day 当天爆发 5 倍错误"""    errors = []    for d in range(days):        if d == bad_day:            rate = daily_budget * 5        else:            rate = daily_budget * random.uniform(0.5, 1.2)        errors.append(rate)    return errors  def calc_burn_rate(errors: list, window: int) -> float:    """计算最近 window 天的燃尽率"""    recent = errors[-window:]    consumed = sum(recent)    standard = window * daily_budget    return consumed / standard if standard > 0 else 0  def check_alert(burn_rate: float, remaining: float) -> str:    """根据燃尽率与剩余预算确定告警等级"""    if burn_rate >= 2 and remaining < 0.3:        return "高危告警: 预算即将耗尽, 立即介入"    if burn_rate >= 1.5 or remaining < 0.5:        return "中危告警: 预算消耗偏快, 保持关注"    return "低危通知: 预算充足, 正常运行"  def main():    days = 30    bad_day = 15    errors = simulate_daily_errors(days, bad_day)    consumed = 0.0    window = 7     print(f"SLO={SLO:.3%}, 错误预算={ERROR_BUDGET:.3%}, 窗口={window}天")    print(f"{'日期':<12}{'日消耗':<10}{'燃尽率':<8}{'剩余预算':<10}{'告警状态'}")     for d in range(days):        consumed += errors[d]        remaining = ERROR_BUDGET - consumed        if d >= window - 1:            burn = calc_burn_rate(errors[: d + 1], window)        else:            burn = 0.0        level = check_alert(burn, remaining)        day_str = (datetime.now() + timedelta(days=d)).strftime("%m-%d")        print(f"{day_str:<12}{errors[d]:<10.4f}{burn:<8.2f}{remaining:<10.4f}{level}")  if __name__ == "__main__":    main()
目的:用 30 天模拟数据演示燃尽率的实时计算与告警分级,帮助理解从“错误预算消耗”到“燃尽率告警”的完整链路。
  1. SLO = 0.999设定服务质量目标,决定错误预算总额。
  2. daily_budget = ERROR_BUDGET / WINDOW_DAYS把总预算平摊到每天,作为“标准消耗速度”的基准。
  3. rate = daily_budget * 5模拟故障日错误率飙升至正常值的 5 倍。
  4. standard = window * daily_budget计算窗口期内“应该消耗”的标准预算量。
  5. return consumed / standard实际消耗除以标准消耗,得到燃尽率倍数。
  6. if burn_rate >= 2 and remaining < 0.3双重条件同时满足时,才触发最高级别告警。

常见误区

误区“燃尽率 2 不就是在说错误率是 2% 吗?我直接用错误率阈值不也一样?”

正解燃尽率是一个相对倍数,描述的是“预算消耗速度与标准速度之比”。错误率 1% 在错误预算 5% 的系统中燃尽率仅为 0.2,而在错误预算 0.5% 的系统中燃尽率高达 2——同样的错误率,风险完全不同。燃尽率把“绝对错误率”转化为“相对预算消耗”,才能统一对比不同 SLO 的服务。

为何常见:人们习惯用绝对数值衡量异常,容易忽略“同样的绝对值在不同预算背景下意义完全不同”这一层。

误区“燃尽率到 8 了,肯定比燃尽率 2 危险得多,赶紧全员告警!”

正解高燃尽率也可能是瞬时毛刺。5 分钟窗口的燃尽率 8 可能只是一次流量尖峰,30 分钟窗口的燃尽率可能只有 1.5。真正危险的是“短窗、长窗同时高企”——那说明不是偶然抖动,而是持续性劣化。多窗口联合判断,才不会被单点峰值牵着鼻子走。

为何常见:直觉上认为“数值大=危险”,忽略了时间维度对数据意义的影响。

误区“有了动态阈值,燃尽率就不重要了,系统会自动适应一切变化。”

正解动态阈值解决的是“相对于历史形态是否异常”,但无法回答“错误预算还剩多少”。一个系统的延迟可能长期低于动态阈值,但错误预算已经耗尽——此时服务实际上已违背 SLO。燃尽率与动态阈值是一体两面:前者管“预算存量”,后者管“形态偏离”,必须协同使用。

为何常见:工程师容易高估单一技术的完备性,忽略不同指标之间的互补关系。

面试题

Q1. 错误预算的计算公式是?

单选题 · easy

  • A.1 减去 SLO← 正确答案
  • B.SLO 乘以 100
  • C.1 加上 SLO
  • D.SLO 除以 100

答案:A。错误预算是“允许出错的额度”,等于 1 − SLO。例如 SLO = 99.9% 时,错误预算 = 0.1%。其他选项分别是乘法、加法、除法,均不符合定义。

Q2. 燃尽率等于 2 代表什么含义?

单选题 · easy

  • A.错误率是 2%
  • B.预算消耗速度是标准速度的 2 倍← 正确答案
  • C.系统已宕机 2 小时
  • D.SLO 是 99.98%

答案:B。燃尽率是“实际消耗速度 / 标准消耗速度”的倍数。燃尽率 2 意味着预算会在半个月内耗尽,而不是简单的错误率 2%。

Q3. 为什么单一固定阈值告警在 AI 推理服务中容易失效?

单选题 · mid

  • A.因为它无法适应业务峰谷的延迟变化← 正确答案
  • B.因为推理服务不需要监控
  • C.因为固定阈值成本太高
  • D.因为 AI 模型不存在性能波动

答案:A。AI 推理服务的延迟会随请求量、模型复杂度剧烈波动。固定阈值要么在高峰期疯狂误报,要么在低谷期漏报真正的异常。动态阈值与燃尽率结合,才能兼顾“相对历史”与“绝对预算”两个维度。

Q4. 多窗口燃尽率策略的核心优势是什么?

单选题 · mid

  • A.只用短窗口,响应最快
  • B.只用长窗口,判断最稳
  • C.短窗捕捉突发,长窗过滤噪声,组合更可靠← 正确答案
  • D.多窗口会增加计算成本,没有优势

答案:C。短窗口对突发敏感但易受毛刺干扰,长窗口稳定但响应慢。多窗口组合让两者互补——短窗负责“快发现”,长窗负责“确认真”,共同降低误报与漏报。

Q5. 以下哪种情况应当触发最高等级告警?

单选题 · mid

  • A.剩余预算 60%,燃尽率 0.8
  • B.剩余预算 40%,燃尽率 1.2
  • C.剩余预算 15%,燃尽率 2.5← 正确答案
  • D.剩余预算 80%,燃尽率 0.5

答案:C。高危告警的条件是剩余预算低于 20% 且燃尽率超过 2。只有 C 同时满足两个条件,说明预算即将耗尽且消耗速度翻倍,必须立即人工介入。

Q6. 燃尽策略相比传统阈值告警的优势有哪些?

多选题 · mid

  • A.能捕捉缓慢劣化但未超阈值的风险← 正确答案
  • B.根据预算消耗速度动态调整告警紧急度← 正确答案
  • C.不需要设定任何 SLO
  • D.减少告警疲劳,让工程师聚焦真故障← 正确答案

答案:ABD。燃尽策略把“剩余预算”和“消耗速度”作为决策依据,能识别尚未触及硬阈值但按趋势会破 SLO 的风险,并通过多级告警收敛响应。它必须依赖 SLO 才有“预算”可言,因此 C 错误。

Q7. 关于动态阈值与燃尽率的关系,正确的说法是?

多选题 · hard

  • A.动态阈值管“形态偏离”,燃尽率管“预算存量”← 正确答案
  • B.二者可以完全替代
  • C.动态阈值防止“温水煮青蛙”式基线漂移
  • D.二者协同可同时降低误报率和漏报率← 正确答案

答案:AD。动态阈值判断指标是否偏离历史基线,燃尽率判断错误预算消耗速度,二者互补。动态阈值本身会跟随基线漂移,无法防止缓慢劣化,只有燃尽率能通过预算消耗暴露这类问题,因此 B 和 C 错误。

Q8. 为什么燃尽率是与服务规模无关的“通用指标”?

多选题 · hard

  • A.因为它是实际消耗与标准消耗的比值← 正确答案
  • B.因为它不依赖 SLO 的绝对值← 正确答案
  • C.因为它只计算错误次数
  • D.因为不同 SLO 的服务可用同一阈值分级← 正确答案

答案:ABD。燃尽率是“消耗速度/标准速度”的比值,天然无量纲。错误预算 0.1% 和 1% 的服务,燃尽率 2 的含义相同,因此可统一用 1、2、4 等阈值分级,C 错在只算错误次数忽略了时间窗口。

Q9. 剩余预算低于 20% 且持续下降时,正确的做法是?

单选题 · easy

  • A.忽略,等月底自动恢复
  • B.降低 SLO 以扩大预算
  • C.立即检查燃尽率并准备应急响应← 正确答案
  • D.关闭监控系统

答案:C。剩余预算低于 20% 是预警信号,此时应结合燃尽率判断风险级别。降低 SLO 等同于“修改规则逃避问题”,关闭监控更是南辕北辙。正确做法是排查消耗原因,必要时回滚或扩容。

Q10. 以下哪些是燃尽策略要解决的痛点?

多选题 · easy

  • A.告警噪音过多导致疲劳← 正确答案
  • B.缓慢劣化无人察觉← 正确答案
  • C.快速故障无法定位
  • D.告警响应无法分级← 正确答案

答案:ABD。燃尽策略通过“速度驱动+预算区间”设计告警分级,既过滤低危噪音,又能捕捉缓慢劣化。快速故障定位依赖链路追踪等工具,不属于燃尽策略的核心目标,因此 C 不选。