Skip to content

SLA 与可观测性验收规则

适用于对响应时效、可用性、告警链路有明确 SLA 要求的业务系统验收。

规则文件内容

请复制以下内容,保存为 .cursor/rules/sla-observability-validation.mdc

markdown
---
description: SLA 验证、告警链路验收、可观测指标与故障演练规则
globs: tests/perf/**, tests/chaos/**, src/observability/**, docs/sla/**
---

# SLA 与可观测性验收业务规则

## 1. 核心原则
- **SLA 可量化**:所有时效承诺必须映射到可计算指标。
- **告警可触达**:异常必须在时限内触发并送达责任人。
- **故障可恢复**:关键故障需验证降级和恢复路径。

## 2. SLA 指标规则
- 响应时延:`P95/P99`
- 成功率:`success_rate`
- 任务超时率:`timeout_rate`
- 可用性:`availability`

## 3. 验收阈值规则
- `P95` 小于目标阈值。
- `success_rate` 高于约定阈值。
- `critical` 告警触发至通知送达不超过 `5` 分钟。

```ts
interface SlaCheckResult {
  metric: string;
  target: number;
  actual: number;
  passed: boolean;
}

4. 告警链路规则

  • 告警至少两条通道(站内 + IM/短信)。
  • 告警去重窗口需可配置,避免风暴。
  • 未确认告警按升级链自动升级。

5. 演练与故障注入规则

  • 每月至少一次关键链路故障演练。
  • 演练覆盖:下游超时、队列堆积、数据库只读。
  • 演练结束必须产出复盘与修复清单。

6. 观测数据完整性规则

  • Trace 覆盖核心请求链路。
  • 日志必须含 trace_id、租户、业务对象ID。
  • 指标采集周期与看板刷新周期需对齐。

7. 发布门禁规则

  • SLA 验收失败默认阻断发布。
  • 若走灰度豁免,需配置自动回滚阈值。
  • 发布后 24 小时需持续观察关键指标。

8. 数据模型约束

  • sla_targets 必须包含:service_code, metric, target_value, window, severity
  • sla_measurements 必须包含:service_code, metric, actual_value, sample_window, measured_at
  • alert_delivery_logs 必须包含:alert_id, channel, delivered_at, ack_at, status

9. 实施注意事项

  • 压测数据与真实业务特征要匹配。
  • 演练脚本需可复用并纳入版本管理。
  • 告警配置变更要走双人复核。

## 适用场景

- 调度系统 SLA 验收
- 高可用业务发布前检查
- 可观测与告警体系建设

基于 AI 辅助开发,快速、灵活、可靠