Files
lijiaoqiao/supply-api/docs/alert_escalation_v1.md
Your Name aecba5ff27 docs(review): add remediation plans and readiness artifacts
Add design, review, and production-readiness documents for the April remediation cycle.\nInclude supporting SQL and supply-api operational design notes so review conclusions and implementation guidance stay versioned together.
2026-04-13 18:54:45 +08:00

10 KiB

告警升级策略 v1.0

文档版本: v1.0 创建日期: 2026-04-07 问题: P1-011 PRD要求"预算、错误率、异常波动告警",但未定义告警升级路径和静默策略


1. 告警级别定义

1.1 告警级别矩阵

级别 名称 响应时间 说明 通知方式
P1 紧急 5分钟内 系统不可用、数据丢失风险 电话+短信+IM
P2 严重 15分钟内 核心功能受损、性能严重下降 短信+IM
P3 警告 1小时内 非核心功能异常、指标超阈值 IM+邮件
P4 提示 工作时间 需要关注但不影响业务 邮件

1.2 告警状态定义

状态 说明
Firing 告警触发中
Acknowledged 已确认,正在处理
Resolved 已解决
Silenced 已静默

2. 告警升级规则

2.1 自动升级规则

┌─────────────────────────────────────────────────────────────────┐
│                        告警升级流程                              │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  P3 警告 ──── 30分钟未响应 ────► P2 严重 ──── 15分钟未响应 ────► P1 紧急 │
│   │                          │                          │       │
│   │                          │                          │       │
│   ▼                          ▼                          ▼       │
│  值班工程师              值班TL                   值班VP/CTO    │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

2.2 升级触发条件

升级路径 触发条件 升级后级别
P3 → P2 30分钟内未确认 P2
P3 → P2 影响核心功能 P2
P2 → P1 15分钟内未解决 P1
P2 → P1 系统不可用 P1
P4 → P3 指标持续恶化 P3

2.3 升级通知模板

P1 紧急升级通知:

【紧急告警升级】
系统: Supply API
告警: {alert_name}
级别: P1 紧急
时间: {start_time}
持续: {duration}
影响: {impact}
当前状态: {status}
处理人: {assignee}
请立即处理!

3. 告警类型定义

3.1 系统层告警

告警名称 级别 条件 阈值 严重程度
CPU使用率过高 P2 5分钟平均值 > 80% 严重
CPU使用率危急 P1 5分钟平均值 > 95% 紧急
内存使用率过高 P2 5分钟平均值 > 85% 严重
内存使用率危急 P1 5分钟平均值 > 95% 紧急
磁盘空间不足 P1 剩余空间 < 10GB 紧急
数据库连接池耗尽 P1 可用连接 = 0 紧急
Redis连接异常 P2 连接状态 = 失败 严重

3.2 应用层告警

告警名称 级别 条件 阈值 严重程度
服务不可用 P1 HTTP状态码 5xx > 50% 紧急
API错误率过高 P2 5分钟错误率 > 5% 严重
API延迟过高 P2 P95延迟 > 2s 严重
API延迟危急 P1 P99延迟 > 5s 紧急
认证失败率过高 P3 5分钟失败率 > 20% 警告
Token吊销延迟 P2 吊销到生效 > 10s 严重

3.3 业务层告警

告警名称 级别 条件 阈值 严重程度
预算使用率超限 P2 账户预算 > 90% 严重
预算已用尽 P1 账户预算 = 100% 紧急
结算失败率过高 P2 5分钟失败率 > 10% 严重
账户风险评分高 P3 风险评分 > 80 警告
提现处理延迟 P2 处理队列 > 100笔 严重
订单支付超时 P3 超时订单 > 50笔 警告

3.4 安全层告警

告警名称 级别 条件 阈值 严重程度
频繁认证失败 P2 15分钟失败数 > 50次 严重
异常IP访问 P2 异常IP数 > 20个 严重
权限检查失败 P3 失败次数 > 100次 警告
可疑QueryKey P2 检测到可疑参数 > 0 严重
KMS连接异常 P1 连接状态 = 失败 紧急

4. 静默策略

4.1 静默规则定义

静默规则用于在特定时间段内抑制告警,避免不必要的打扰。

静默类型 适用场景 静默时长 审批要求
计划内维护 系统升级、数据迁移 自定义 TL审批
误报静默 已知误报源 ≤ 24h 值班工程师
事件静默 大促、重大活动 自定义 VP审批

4.2 静默规则示例

# 静默规则配置
silence_rules:
  - name: "计划内数据库维护"
    id: "silence-20260407-001"
    start_time: "2026-04-07T02:00:00Z"
    end_time: "2026-04-07T04:00:00Z"
    matchers:
      - name: "alertname"
        value: "DatabaseConnectionError"
      - name: "instance"
        value: "primary-db.*"
    reason: "数据库版本升级维护"
    created_by: "ops-lead@company.com"
    approved_by: "cto@company.com"

  - name: "已知误报"
    id: "silence-20260407-002"
    start_time: "2026-04-07T10:00:00Z"
    end_time: "2026-04-08T10:00:00Z"
    matchers:
      - name: "alertname"
        value: "APILatencyWarning"
      - name: "path"
        value: "/health"
    reason: "健康检查端点已知延迟,误报"
    created_by: "sre@company.com"

4.3 静默约束

  1. 最大静默时长: 单次静默不超过 7 天
  2. 提前申请: 计划内静默需提前 24 小时申请
  3. 最小静默范围: 必须指定具体告警或服务
  4. 审计日志: 所有静默操作必须记录

5. 通知渠道配置

5.1 通知渠道定义

渠道 用途 响应速度 配置要求
电话 P1紧急告警 即时 必须配置
短信 P1/P2告警 < 1分钟 必须配置
企业微信 P2/P3告警 < 5分钟 必须配置
邮件 P3/P4告警 < 15分钟 必须配置
钉钉 备用渠道 < 5分钟 推荐配置

5.2 通知接收人配置

notification_channels:
  on_call:
    primary:
      name: "值班工程师"
      phone: "+86-138-xxxx-xxxx"
      schedule: "weekly_rotation"
    backup:
      name: "值班TL"
      phone: "+86-139-xxxx-xxxx"
      escalation_wait: 15m

  emergency:
    name: "CTO"
    phone: "+86-136-xxxx-xxxx"
    escalation_wait: 30m

  security_team:
    name: "安全团队"
    email: "security@company.com"
    for_alerts:
      - "可疑QueryKey"
      - "异常IP访问"
      - "频繁认证失败"

6. 告警处理流程

6.1 处理流程

告警触发
    │
    ▼
┌─────────────────┐
│ P1/P2: 电话通知  │──► 值班工程师响应
│ P3: IM通知      │    │
└─────────────────┘    │
                       ▼
               ┌───────────────┐
               │  确认告警     │──否──► 等待响应
               │  (15min内)   │         (自动升级)
               └───────────────┘
                       │是
                       ▼
               ┌───────────────┐
               │  定位问题     │
               │  (30min内)   │
               └───────────────┘
                       │
                       ▼
               ┌───────────────┐
               │  解决问题     │
               │  (按SLO)     │
               └───────────────┘
                       │
                       ▼
               ┌───────────────┐
               │  验证恢复     │
               │  关闭告警     │
               └───────────────┘

6.2 告警响应时间目标

级别 确认时间 定位时间 恢复时间 SLO
P1 5分钟 15分钟 1小时 99.9%
P2 15分钟 30分钟 4小时 99.5%
P3 1小时 2小时 24小时 99%
P4 工作时间 - 72小时 95%

7. 告警管理后台

7.1 功能需求

功能 说明
告警列表 显示所有告警,支持过滤和搜索
告警详情 显示告警完整信息、波形图、处理历史
告警确认 确认告警并填写处理说明
告警静默 创建、编辑、删除静默规则
告警升级 手动升级告警级别
告警统计 显示告警趋势、MTBF、MTTR

7.2 推荐工具

工具 类型 适用规模
Prometheus Alertmanager 开源 中小型
Grafana Alerting 开源 中小型
PagerDuty 商业SAAS 中大型
Opsgenie 商业SAAS 中大型
飞书告警 商业SAAS 国内企业

8. SLO 与告警关联

8.1 SLO 定义

服务 SLO 错误预算
API可用性 99.9% 43.8分钟/月
API延迟 P95 99% < 500ms 7.3小时/月
认证成功率 99.5% 3.6小时/月
结算处理 99% 7.3小时/月

8.2 基于错误预算的告警

当错误预算消耗超过阈值时触发警告:

  • 消耗 > 50%: P3 警告
  • 消耗 > 75%: P2 严重
  • 消耗 > 100%: P1 紧急

维护记录:

  • v1.0 (2026-04-07): 初始版本