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,severitysla_measurements必须包含:service_code,metric,actual_value,sample_window,measured_atalert_delivery_logs必须包含:alert_id,channel,delivered_at,ack_at,status
9. 实施注意事项
- 压测数据与真实业务特征要匹配。
- 演练脚本需可复用并纳入版本管理。
- 告警配置变更要走双人复核。
## 适用场景
- 调度系统 SLA 验收
- 高可用业务发布前检查
- 可观测与告警体系建设
