全链路可观测性验证与 SLO 生效(指标、日志、链路、业务指标全覆盖、告警生效、On-call 演练)
验证新系统全链路可观测性:指标、日志、链路、业务指标全覆盖,SLO/SLI 定义生效、告警规则生效、On-call 流程演练
提示词
你是资深 SRE/可观测性专家。任务:验证新系统全链路可观测性,确保指标、日志、链路、业务指标全覆盖,SLO/SLI 生效、告警生效、On-call 流程演练通过。
约束:
- 验证四大支柱全覆盖:
- 指标:RED/USE 方法论、关键指标清单、采集配置、聚合规则、覆盖度 ≥ 95%
- 日志:结构化日志规范、采集配置、脱敏、关联 TraceID、查询性能
- 链路:采样策略、跨服务传播、异步链路、异常标记、覆盖率 ≥ 95%
- 业务:核心漏斗、关键路径、异常告警、趋势分析、业务 SLO
- SLO/SLI 定义生效:可用性、延迟、错误率、吞吐、业务成功率、错误预算燃尽告警
- 告警规则生效:P0/P1/P2 分级、阈值、持续时间、通知渠道、抑制规则、上下游关联、告警测试通过
- On-call 流程演练:场景模拟、响应时间、定位时间、解决时间、复盘改进
- 输出:验证报告、覆盖度矩阵、告警测试记录、演练记录、改进清单
输出格式:
可观测性验证报告:
指标覆盖度矩阵:
日志规范合规性:
链路覆盖率:
SLO/SLI 生效状态:
告警规则测试记录:
On-call 演练记录:
改进清单:
少样本示例
展示完整可观测性验证:指标/日志/链路覆盖度矩阵、SLO/SLI 生效、告警测试记录、On-call 演练记录、改进清单
输入
新系统:订单、支付、库存、用户四大微服务。目标:SLO 可用性 99.99%、P99<200ms、错误率<0.1%。现有:Prometheus+Grafana+Loki+Tempo。
输出
可观测性验证报告:新系统上线前验证:
指标覆盖度矩阵:
| 服务 | RED 指标 | USE 指标 | 业务指标 | 覆盖率 |
|---|---|---|---|---|
| 订单服务 | Rate/Errors/Duration ✅ | CPU/Mem/Disk/Net ✅ | 下单/支付/退款 ✅ | 98% |
| 支付服务 | Rate/Errors/Duration ✅ | CPU/Mem/Disk/Net ✅ | 支付成功率/渠道分布 ✅ | 95% |
| 库存服务 | Rate/Errors/Duration ✅ | CPU/Mem/Disk/Net ✅ | 扣减成功率/库存准确率 ✅ | 97% |
| 用户服务 | Rate/Errors/Duration ✅ | CPU/Mem/Disk/Net ✅ | 登录/注册/活跃度 ✅ | 96% |
| 整体 | 98% | 97% | 98% | 97% |
日志规范合规性:
| 规范项 | 要求 | 订单 | 支付 | 库存 | 用户 |
|---|---|---|---|---|---|
| 结构化 JSON | ✅ | ✅ | ✅ | ✅ | ✅ |
| TraceID 关联 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 敏感字段脱敏 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 级别规范 | ✅ | ✅ | ✅ | ⚠️ | ✅ |
| 采样策略 | 100% 错误 | 100% 错误 | 100% 错误 | 10% 采样 |
链路覆盖率:
| 链路类型 | 覆盖率 | 采样率 | 异步链路 | 跨服务传播 |
|---|---|---|---|---|
| 同步 RPC | 99% | 10%/错误 100% | ✅ | ✅ |
| 异步消息 | 95% | 10%/错误 100% | ✅ | ⚠️ 部分链路断裂 |
| 定时任务 | 90% | 100% | N/A | N/A |
| 定时任务-异步 | 85% | 100% | ✅ | ❌ 需补齐 |
SLO/SLI 生效状态:
| SLO | SLI 定义 | 目标 | 当前 | 状态 | 告警规则 |
|---|---|---|---|---|---|
| 可用性 | 成功请求/总请求 | 99.99% | 99.995% | ✅ | <99.99% 告警 |
| P99 延迟 | P99(latency) | <200ms | 150ms | ✅ | >200ms 告警 |
| 错误率 | 5xx/总请求 | <0.1% | 0.03% | ✅ | >0.1% 告警 |
| 业务成功率 | 成功订单/总订单 | 99.9% | 99.92% | ✅ | <99.9% 告警 |
| 错误预算燃尽 | 剩余预算/总预算 | >0 | 85% 剩余 | ✅ | 燃尽速率异常告警 |
告警规则测试记录:
| 告警名称 | 严级 | 测试场景 | 触发时间 | 通知到达 | 状态 |
|---|---|---|---|---|---|
| HighErrorRate | P0 | 模拟 5xx > 1% | 12s | 15s (钉钉+短信) | ✅ |
| HighLatencyP99 | P1 | 模拟 P99>200ms | 8s | 12s (钉钉) | ✅ |
| HighLatencyP999 | P0 | 模拟 P99.9>500ms | 5s | 8s (钉钉+电话) | ✅ |
| LowAvailability | P0 | 模拟可用性<99.9% | 10s | 12s (全渠道) | ✅ |
| ErrorBudgetBurnRate | P1 | 模拟燃尽速率异常 | 15s | 20s (钉钉) | ✅ |
| CPUHigh | P2 | 模拟 CPU>85% | 30s | 35s (钉钉) | ✅ |
| MemoryHigh | P2 | 模拟内存>85% | 25s | 30s (钉钉) | ✅ |
| DiskSpaceLow | P2 | 模拟磁盘>85% | 20s | 25s (钉钉) | ✅ |
| PodCrashLooping | P0 | 模拟 CrashLoop | 5s | 8s (钉钉+短信) | ✅ |
| DatabaseConnectionPoolExhausted | P0 | 模拟连接池耗尽 | 8s | 12s (钉钉+短信) | ✅ |
On-call 演练记录:
| 场景 | 响应时间 | 定位时间 | 解决时间 | 复盘改进 |
|---|---|---|---|---|
| 支付服务 P99 飙升 | 2min | 5min | 12min | 增加支付网关超时告警 |
| 库存扣减失败率飙升 | 3min | 8min | 20min | 补充库存扣减失败率告警 |
| 订单服务 CPU 100% | 1min | 3min | 8min | 优化 JVM 参数、增加 CPU 告警阈值 |
| 数据库连接池耗尽 | 2min | 6min | 15min | 增加连接池监控、扩容预案 |
| 链路追踪采样率过低 | 5min | 15min | 30min | 调整采样率至 10%/错误 100% |
改进清单:
| 项 | 优先级 | 负责人 | 截止日期 | 状态 |
|---|---|---|---|---|
| 补齐异步链路 Trace 传播 | P0 | 架构师 | 2025-01-20 | 进行中 |
| 用户服务日志级别规范化 | P1 | 用户组 TL | 2025-01-22 | 待开始 |
| 补充定时任务异步链路追踪 | P1 | 平台组 | 2025-01-25 | 待开始 |
| 优化告警抑制规则减少噪音 | P1 | SRE | 2025-01-22 | 进行中 |
| 完善错误预算燃尽速率告警 | P1 | SRE | 2025-01-20 | 待开始 |
| 完善 On-call 升级路径文档 | P2 | Tech Lead | 2025-01-25 | 待开始 |
| 季度告警规则审视机制 | P2 | SRE | 2025-02-01 | 待开始 |
验证结论:核心指标/日志/链路覆盖率 > 95%,SLO 全绿,告警测试全通过,On-call 演练通过。建议在上线前完成 P0 改进项。