跳转到内容
Telemetry
浏览文档
指南更新于 2026年7月29日由 Telemetry 编辑团队和产品团队审核阅读约需 3 分钟

让编程智能体使用这篇文档

打开 Claude Code、Codex、Cursor 或其他编码代理的集中提示包,然后将其适应此处介绍的工作流程。

本页内容
  1. 定义事件契约
  2. 计算可用性合规性
  3. 监控燃烧率
  4. 添加延迟和工作流程 SLI
  5. 构建仪表板和告警路径
  6. 分页前验证

使用 SQL 进行 SLI、SLO 和错误预算监控

服务级别指标 (SLI) 衡量用户体验的结果。服务级别目标 (SLO) 在定义的窗口内设置该指标的目标。错误预算是目标隐含的允许失败量。

从有限的应用程序结果开始,例如 API 请求、结账、作业或 Webhook 交付。基础设施可用性是有用的背景,但健康的主机并不能证明客户工作流程成功。

定义事件契约

对于基于请求的可用性 SLI,请使用以下命令发出一个终端事件:

  • event_id
  • timestamp_utc
  • serviceroute_template
  • statusstatus_code
  • latency_ms
  • environmentrelease
  • 受控error_type
  • 用于影响分析的可选安全 account_id

文件资格。健康检查、综合流量、取消的请求和预期的客户端错误可能属于也可能不属于分母。整个查询、仪表板和告警中的决策必须保持一致。

计算可用性合规性

SLO 可用性 SQL 配方 区分合格请求、良好请求、不良请求和合规百分比。将其与完整的观察窗口和经过审查的好事件定义一起使用。

对于 99.9% 的目标,允许的不良分数为 0.001。以请求衡量的错误预算为:

eligible_requests * (1 - objective)

除了百分比之外,还要进行计数。两个请求的失败率为 50%,一百万个请求的失败率为 2%,需要不同的解释。

监控燃烧率

燃烧率将观察到的不良事件分数与允许的不良事件分数进行比较。 1 的消耗率完全按照计划的速度消耗预算。高于 1 的燃烧率会消耗掉它太快。

错误预算燃烧配方 计算时间段内的值。将一个短窗口与一个较长的窗口配对,该窗口可以检测快速事件,该窗口可以防止一个嘈杂的桶对团队进行寻呼。

除非查询明确考虑部分数据,否则不要对最新的不完整时间段发出告警。触发前需要最低合格交易量和持续评估点。

添加延迟和工作流程 SLI

可用性只是一种用户可见的属性。请求可能会在出现不可接受的延迟后成功。将延迟 SLI 定义为低于审核阈值的合格请求的比例,或使用 API 延迟百分位数配方 检查 p95 和 p99。

对于后台作业和 Webhooks,请围绕终端业务成果而不是个人尝试来定义成功。恢复的重试可能会消耗延迟预算,而不算作终端故障。保持尝试级诊断可用,而不会夸大 SLI 分母。

构建仪表板和告警路径

将这些视图放在一起:

  1. 合格的请求量和数据新鲜度。
  2. 完整滚动窗口的 SLO 合规性。
  3. 短窗和长窗燃烧率。
  4. 按路线、版本和错误类型划分的故障细分。
  5. 用于客户影响调查的近期事件表。

添加操作注释,其中列出所有者、目标、分母、排除和响应操作。按照 告警指南 进行评估行为,按照 事件响应指南 进行调查流程。

分页前验证

重播包含已知成功、失败、排除事件和不完整的最新存储桶的赛程。确认确切的合格数量、允许的故障、合规性和燃烧率。然后在附加待命响应之前观察没有通知的告警。

相关产品功能

对结构化事件表运行只读 DataFusion SQL 并重用结果。

内容责任与技术参考

Telemetry 编辑团队负责维护本文;产品团队审核功能行为、示例和适用范围。

查看编辑规范