← 返回文档中心

监控告警方案

版本:v1.0 最后更新:2025-01 负责人:基础架构组 状态:已评审


1. 监控体系架构

1.1 监控分层

本平台采用"全栈可观测性"理念,从基础设施到业务层实现全覆盖。

层级 工具 覆盖范围 数据保留
基础设施 Node Exporter + Prometheus CPU/内存/磁盘/网络 30 天
数据库 Pigsty 内置(PG Exporter) PG 指标 451 个 90 天
缓存 Redis Exporter 命中率/内存/key数 30 天
消息队列 RabbitMQ Exporter 队列深度/消费者/速率 30 天
应用 自定义 Metrics + OpenTelemetry QPS/延迟/错误率 30 天
日志 Loki + Promtail 结构化日志收集查询 90 天
链路追踪 OpenTelemetry + Jaeger 全链路 Trace 14 天

1.2 数据流

┌─────────────┐     ┌──────────────────┐     ┌───────────────────────────────┐
│   应用服务   │────▶│ OTel Agent/Sidecar│────▶│   OTel Collector              │
└─────────────┘     └──────────────────┘     │  ├─→ Prometheus(指标)         │
┌─────────────┐     ┌──────────────────┐     │  ├─→ Jaeger(链路追踪)         │
│   基础设施   │────▶│ Node Exporter    │────▶│  └─→ Loki(日志)              │
└─────────────┘     └──────────────────┘     └───────────────────────────────┘
┌─────────────┐     ┌──────────────────┐
│   数据库     │────▶│ PG Exporter      │────▶ Prometheus
└─────────────┘     └──────────────────┘
┌─────────────┐     ┌──────────────────┐
│   缓存       │────▶│ Redis Exporter   │────▶ Prometheus
└─────────────┘     └──────────────────┘
┌─────────────┐     ┌──────────────────┐
│   消息队列   │────▶│ RabbitMQ Exporter│────▶ Prometheus
└─────────────┘     └──────────────────┘

数据流路径:应用 → OpenTelemetry Agent → Collector → Prometheus + Jaeger + Loki

1.3 技术选型依据

方面 选型 理由
指标存储 Prometheus 云原生事实标准,与 Grafana 深度集成
日志 Loki 轻量级,与 Prometheus 标签体系一致,成本低
链路追踪 Jaeger 兼容 OpenTelemetry,社区成熟
采集 OpenTelemetry Collector 统一采集标准,多协议支持
可视化 Grafana 灵活看板,告警支持,生态丰富
告警 Alertmanager 与 Prometheus 原生集成,支持路由/分组/抑制

1.4 部署架构

┌─────────────────────────────────────────────────┐
│               Grafana(统一看板)                  │
│         告警 → Alertmanager → 飞书/短信/电话        │
└─────────────────────────────────────────────────┘
         ▲              ▲              ▲
    Prometheus      Loki           Jaeger
         ▲              ▲              ▲
         └──────────────┴──────────────┘
                        ▲
              OTel Collector(网关)
         ▲         ▲         ▲         ▲
      应用服务   基础设施   数据库    中间件

2. 业务指标监控

2.1 核心业务指标

指标 Metric 名称 计算方式 正常范围 采集频率 告警阈值
查价 QPS b2b_rate_request_total rate(request_count[1m]) 基线 ±30% 实时(15s) < 基线50% 或 > 基线200%
缓存命中率 b2b_cache_hit_ratio cache_hit / total > 85% 每分钟 < 70%
查价穿透率 b2b_cache_miss_ratio cache_miss / total < 15% 每分钟 > 30%
试单成功率 b2b_trial_success_ratio success / trial > 90% 每分钟 < 80%
订单确认率 b2b_order_confirm_ratio confirmed / ordered > 95% 每小时 < 85%
查价 P99 延迟 b2b_rate_latency_p99 histogram_quantile(0.99, ...) < 500ms 实时(15s) > 2s
查价 P95 延迟 b2b_rate_latency_p95 histogram_quantile(0.95, ...) < 200ms 实时(15s) > 800ms
供应商可用率 b2b_supplier_up_ratio up_check / total > 99% 每分钟 < 95%
代理商活跃数 b2b_agent_active_count distinct(active_agents) > 0 每分钟 = 0
订单创建速率 b2b_order_create_rate rate(order_created[5m]) 基线 ±20% 每分钟 异常波动
库存同步延迟 b2b_inventory_sync_lag now() - last_sync_time < 5min 每分钟 > 15min
价格更新延迟 b2b_price_update_lag now() - last_price_update < 2min 每分钟 > 10min

2.2 业务看板

2.2.1 实时大屏(运营中心)

2.2.2 供应商健康度矩阵

供应商 可用率 平均延迟 成功率 最近告警 趋势
供应商A 99.8% 120ms 98.5%
供应商B 97.2% 350ms 92.1% P2
... ... ... ... ... ...

2.2.3 代理商 TOP10

2.2.4 收入趋势

2.3 自定义指标接入规范

// 应用内 Metrics 定义示例
var (
    rateRequestTotal = promauto.NewCounterVec(
        prometheus.CounterOpts{
            Name: "b2b_rate_request_total",
            Help: "Total number of rate requests",
        },
        []string{"supplier", "hotel_code", "status"},
    )

    rateLatency = promauto.NewHistogramVec(
        prometheus.HistogramOpts{
            Name:    "b2b_rate_latency_seconds",
            Help:    "Rate request latency",
            Buckets: []float64{.01, .025, .05, .1, .25, .5, 1, 2, 5, 10},
        },
        []string{"supplier", "hotel_code"},
    )
)

3. 系统指标监控

3.1 服务器监控

3.1.1 基础指标

指标 Metric 采集工具 告警条件
CPU 使用率 node_cpu_seconds_total Node Exporter > 85% 持续 5min
内存使用率 node_memory_MemAvailable_bytes Node Exporter > 85% 持续 5min
磁盘使用率 node_filesystem_avail_bytes Node Exporter > 80% 持续 10min
磁盘 I/O node_disk_read_time_seconds_total Node Exporter iowait > 20%
网络带宽 node_network_receive_bytes_total Node Exporter > 链路带宽 80%
网络连接数 node_netstat_Tcp_CurrEstab Node Exporter > 50000
系统负载 node_load1 / node_load5 / node_load15 Node Exporter load1 > CPU核数×1.5
文件描述符 process_open_fds Node Exporter > 80% ulimit

3.1.2 Docker 容器监控

指标 Metric 告警条件
容器 CPU container_cpu_usage_seconds_total > Limit 90%
容器内存 container_memory_working_set_bytes > Limit 85%
容器重启 container_restart_count > 3 次/小时
容器 OOM container_oom_events_total > 0

3.2 数据库监控

3.2.1 PostgreSQL 核心指标

指标 Metric 正常范围 告警条件
活跃连接数 pg_stat_activity_count < max_connections×70% > 80%
TPS pg_stat_database_tup_fetched 基线 ±30% 异常波动
复制延迟 pg_replication_lag_seconds < 1s > 10s
锁等待 pg_locks_waiting_count 0 > 5
死锁数 pg_deadlocks_total 0 > 0
事务冲突 pg_conflict_count < 10/min > 100/min
缓存命中率 pg_stat_database_blks_hit / (hit+read) > 99% < 95%
WAL 生成速率 pg_stat_wal_bytes 基线 ±20% > 基线 200%
autovacuum pg_autovacuum_running 正常运行 长时间挂起

3.2.2 慢查询监控

# 慢查询采集配置
pg_stat_statements:
  min_execution_time: 1000  # > 1s 记录为慢查询
  track: all
  max: 10000

3.2.3 表大小增长趋势

3.2.4 死锁检测

-- 死锁监控查询
SELECT datname, query, wait_event, state, wait_event_type
FROM pg_stat_activity
WHERE wait_event_type = 'Lock'
  AND state = 'active'
  AND query_start < now() - interval '30 seconds';

3.3 缓存监控(Redis)

指标 Metric 正常范围 告警条件
命中率 redis_keyspace_hits / (hits+misses) > 90% < 70%
内存使用 redis_used_memory_bytes < maxmemory×80% > 90%
Key 数量 redis_db_keys 基线 ±20% 异常增长
连接数 redis_connected_clients < 1000 > 800
被拒绝连接 redis_rejected_connections_total 0 > 0
阻塞客户端 redis_blocked_clients 0 > 10
过期 Key 速率 redis_expired_keys_total 基线 异常
淘汰 Key 速率 redis_evicted_keys_total 0 > 0
慢日志 redis_slowlog_length < 10 > 100
主从延迟 redis_master_slave_last_io_seconds < 1s > 5s

3.4 消息队列监控(RabbitMQ)

指标 Metric 正常范围 告警条件
队列深度 rabbitmq_queue_messages < 1000 > 10000
消费者数量 rabbitmq_queue_consumers > 0 = 0
消息积压速率 rate(queue_messages[5m]) 稳定 持续增长
发布速率 rabbitmq_queue_messages_published_total 基线 异常
投递速率 rabbitmq_queue_messages_delivered_total ≈发布速率 差异 > 20%
ACK 率 ack / delivered > 99.9% < 99%
Unacked 消息 rabbitmq_queue_messages_unacked < 100 > 1000
连接数 rabbitmq_connections < 500 > 400
Channel 数 rabbitmq_channels < 5000 > 4000
磁盘告警 rabbitmq_node_disk_free_bytes > 1GB < 500MB

4. 告警分级与路由

4.1 告警分级

级别 名称 响应时间 通知方式 影响范围 示例
P0 紧急 < 5 分钟 电话 + 飞书 + 短信 全站不可用 数据库宕机、主节点宕机
P1 严重 < 15 分钟 飞书 + 短信 核心功能受损 核心供应商不可用、缓存雪崩
P2 警告 < 1 小时 飞书 部分功能降级 查价成功率下降、队列积压
P3 通知 工作日处理 飞书(静默) 无直接影响 磁盘 > 70%、证书即将过期
P4 信息 人工查阅 邮件(每日汇总) 无影响 资源使用趋势变化

4.2 告警规则

4.2.1 基础设施告警规则

# 指标 条件 持续时长 级别 通知渠道 说明
1 CPU 使用率 > 85% 5min P2 飞书 服务器 CPU 过载
2 CPU 使用率 > 95% 2min P1 飞书+短信 服务器 CPU 严重过载
3 内存使用率 > 85% 5min P2 飞书 内存不足风险
4 内存使用率 > 95% 2min P1 飞书+短信 内存即将耗尽
5 磁盘使用率 > 80% 10min P3 飞书(静默) 磁盘空间预警
6 磁盘使用率 > 90% 5min P2 飞书 磁盘空间紧张
7 磁盘使用率 > 95% 2min P1 飞书+短信 磁盘即将满
8 节点可用性 down 1min P0 电话+飞书+短信 服务器宕机
9 系统负载 load1 > CPU核数×2 5min P2 飞书 系统过载

4.2.2 数据库告警规则

# 指标 条件 持续时长 级别 通知渠道 说明
10 PG 主节点 down 30s P0 电话+飞书+短信 主库不可用
11 PG 从节点 down 1min P1 飞书+短信 从库不可用
12 PG 复制延迟 > 10s 2min P1 飞书+短信 主从延迟过大
13 PG 复制延迟 > 30s 1min P0 电话+飞书+短信 主从即将断裂
14 PG 活跃连接 > 80% max 3min P2 飞书 连接池即将耗尽
15 PG 锁等待 > 5 2min P2 飞书 锁竞争严重
16 PG 死锁 > 0 即时 P1 飞书+短信 检测到死锁
17 PG 慢查询 > 5s 1min P2 飞书 严重慢查询
18 PG 慢查询 > 30s 即时 P1 飞书+短信 超慢查询
19 PG 磁盘 > 85% 5min P2 飞书 数据库磁盘告急

4.2.3 应用告警规则

# 指标 条件 持续时长 级别 通知渠道 说明
20 服务可用性 HTTP 5xx > 5% 2min P1 飞书+短信 服务异常
21 服务可用性 HTTP 5xx > 20% 30s P0 电话+飞书+短信 服务严重故障
22 服务可用性 实例 down 30s P2 飞书 实例掉线
23 查价 P99 延迟 > 2s 3min P2 飞书 响应变慢
24 查价 P99 延迟 > 5s 1min P1 飞书+短信 严重变慢
25 请求错误率 > 10% 2min P2 飞书 错误率升高

4.2.4 业务告警规则

# 指标 条件 持续时长 级别 通知渠道 说明
26 查价 QPS < 基线 50% 5min P1 飞书+短信 流量异常下降
27 试单成功率 < 80% 3min P2 飞书 试单失败增多
28 试单成功率 < 50% 1min P1 飞书+短信 试单大面积失败
29 订单确认率 < 85% 30min P2 飞书 订单确认率低
30 供应商可用率 < 95% 5min P2 飞书 供应商异常
31 供应商可用率 = 0 2min P1 飞书+短信 供应商完全不可用
32 缓存命中率 < 70% 5min P2 飞书 缓存命中率低
33 缓存命中率 < 30% 1min P0 电话+飞书+短信 疑似缓存雪崩
34 队列积压 > 10000 10min P2 飞书 消息积压严重
35 队列消费者 = 0 1min P1 飞书+短信 消费者全部掉线

4.2.5 中间件告警规则

# 指标 条件 持续时长 级别 通知渠道 说明
36 Redis 可用性 down 30s P0 电话+飞书+短信 Redis 宕机
37 Redis 内存 > 90% max 5min P2 飞书 内存即将耗尽
38 Redis 淘汰 evicted_keys > 0 5min P2 飞书 出现 Key 淘汰
39 RabbitMQ 可用性 down 30s P0 电话+飞书+短信 MQ 宕机
40 RabbitMQ 磁盘 < 500MB 2min P1 飞书+短信 磁盘不足将阻塞

4.3 告警抑制与聚合

4.3.1 抑制规则

# Alertmanager 抑制配置
inhibit_rules:
  # P0 抑制同服务 P1/P2
  - source_match:
      severity: P0
    target_match_re:
      severity: 'P1|P2'
    equal: ['alertname', 'service']

  # 节点 down 抑制该节点所有其他告警
  - source_match:
      alertname: NodeDown
    target_match_re:
      alertname: '.*'
    equal: ['instance']

  # PG 主库 down 抑制从库告警
  - source_match:
      alertname: PGPrimaryDown
    target_match_re:
      alertname: 'PGReplicationLag.*'
    equal: ['cluster']

4.3.2 聚合规则

# Alertmanager 路由与聚合
route:
  group_by: ['alertname', 'cluster', 'service']
  group_wait: 30s        # 同组告警等待 30s
  group_interval: 5m     # 同组新告警 5min 后发送
  repeat_interval: 4h    # 重复告警 4h 一次
  routes:
    - match:
        severity: P0
      repeat_interval: 5m    # P0 每 5min 重复
    - match:
        severity: P3
      group_interval: 1h
      repeat_interval: 24h   # P3 每日一次

4.3.3 维护窗口静默

# 创建静默规则示例(维护窗口)
amtool silence add \
  --author="ops" \
  --comment="计划维护:数据库版本升级" \
  --duration=2h \
  matcher="cluster=hotel-prod" \
  matcher="severity=~P1|P2|P3"

4.4 告警通知模板

4.4.1 飞书机器人消息模板

🚨 [P1-严重] PG 主库复制延迟过高

📌 告警详情
  • 集群:hotel-prod-pg-primary
  • 指标:复制延迟 = 32.5s
  • 阈值:> 10s
  • 持续:2 分钟
  • 时间:2025-01-15 14:32:18

🔗 快速链接
  • Grafana 看板:https://grafana.internal/d/pg-overview
  • 值班手册:https://wiki.internal/runbook/pg-replication-lag
  • 确认处理:https://alertmanager.internal/silence/xxx

👤 通知人:@值班-DBA @值班-运维

5. AI Agent 自动响应

与第 12 章 AI 智能运营层联动,实现告警的自动诊断与修复。

5.1 分级自动处理策略

告警级别 AI 处理策略 人工介入 示例
L1(P3/P4) 全自动处理,事后通知 不需要 清理临时文件、重启 hung 进程
L2(P1/P2) AI 自动诊断 + 建议修复方案,执行后通知 可选审批 扩容、切换供应商、重启服务
L3(P0) AI 快速诊断 + 止血措施,必须人工确认 强制审批 主从切换、回滚发布、熔断

5.2 AI Agent 能力

5.2.1 自动诊断

告警触发 → AI Agent 接收
  ├─ 收集上下文(指标、日志、链路追踪、变更记录)
  ├─ 关联分析(最近部署、配置变更、流量变化)
  ├─ 根因推断(基于知识库 + 历史案例)
  └─ 输出诊断报告

5.2.2 自动止血操作

场景 AI 自动操作 审批
缓存雪崩 降级为数据库直查 + 限流 L3
供应商不可用 自动切换备用供应商 L2
队列积压 动态扩容消费者 L2
服务 OOM 自动重启 + 采集 heap dump L2
磁盘满 清理日志/临时文件 L1
CPU 过载 临时限流 + 扩容建议 L2

5.2.3 自动修复与验证

# AI Agent 修复流程
ai_remediation:
  steps:
    1. 诊断:
       - 执行根因分析
       - 匹配 Runbook
    2. 执行:
       - 调用运维 API 执行修复
       - 记录操作审计日志
    3. 验证:
       - 检查指标是否恢复
       - 确认告警自动解除
    4. 通知:
       - 发送处理报告
       - 更新事故单状态
    5. 沉淀:
       - 生成事故复盘草稿
       - 更新知识库

5.3 AI Agent 接口规范

{
  "alert": {
    "id": "alert-20250115-001",
    "severity": "P1",
    "name": "PGReplicationLagHigh",
    "instance": "hotel-prod-pg-primary",
    "value": 32.5,
    "threshold": 10,
    "duration": "2m"
  },
  "ai_response": {
    "diagnosis": "从节点 IO 压力过大导致复制延迟,根因为大批量数据导入任务",
    "action": "暂停数据导入任务,复制延迟预计 30s 内恢复",
    "confidence": 0.92,
    "requires_approval": false,
    "knowledge_base_refs": ["KB-PG-001", "RUNBOOK-PG-LAG"]
  }
}

6. 值班与响应流程

6.1 值班制度(OPC 模式)

6.1.1 值班模式

┌─────────────────────────────────────────┐
│              AI 7×24 全天候监控           │
│  ┌─────────┐  ┌──────────┐  ┌────────┐ │
│  │ 指标监控 │  │ 日志分析  │  │ 异常检测│ │
│  └────┬────┘  └────┬─────┘  └───┬────┘ │
│       └────────────┼────────────┘       │
│                    ▼                     │
│         ┌──────────────────┐            │
│         │  AI Agent 诊断    │            │
│         └────────┬─────────┘            │
│                  ▼                      │
│    ┌─────────────┼──────────────┐       │
│    │ L1 自动处理  │ L2/L3 升级   │       │
│    └─────────────┘    ▼          │       │
│              ┌──────────────┐    │       │
│              │  人工值班响应  │    │       │
│              └──────────────┘    │       │
└─────────────────────────────────────────┘

6.1.2 值班排班

时段 负责角色 响应范围 联系方式
工作日 09:00-18:00 运维值班(On-call) P0-P4 全部 飞书 + 内线
工作日 18:00-次日09:00 电话值班 P0/P1 电话 + 短信
周末/节假日 电话值班 P0/P1 电话 + 短信
全天候 AI Agent L1 自动处理 系统自动

6.1.3 值班交接

6.2 事故响应流程

6.2.1 五步事故响应

1. 发现(Detect)           2. 诊断(Diagnose)
┌──────────────┐            ┌──────────────────┐
│ 监控告警触发  │───────▶    │ AI 自动诊断        │
│ 用户反馈     │            │ • 指标分析        │
│ 定期巡检     │            │ • 日志分析        │
└──────────────┘            │ • 变更关联        │
                            │ • 历史对比        │
                            └────────┬─────────┘
                                     ▼
3. 止损(Mitigate)        4. 修复(Resolve)
┌──────────────────┐       ┌──────────────────┐
│ AI/人工执行止血    │       │ 根因修复          │
│ • 降级/限流       │◀──────│ • 代码修复        │
│ • 切换/回滚       │       │ • 配置修正        │
│ • 扩容            │       │ • 架构优化        │
└──────────────────┘       └────────┬─────────┘
                                     ▼
5. 复盘(Review)
┌──────────────────────────────────────────┐
│ 事故复盘会议(P0/P1 必须,P2 建议)        │
│ • 根因分析(5 Why)                       │
│ • 时间线梳理                              │
│ • 改进措施                                │
│ • 知识库更新                              │
└──────────────────────────────────────────┘

6.2.2 各阶段 SLA

阶段 P0 P1 P2 P3
发现 → 认领 2min 5min 15min 4h
认领 → 诊断 5min 10min 30min
诊断 → 止损 10min 15min 1h
止损 → 修复 1h 4h 24h
修复 → 复盘 24h 48h 1 周

6.2.3 升级机制

条件 升级动作
P0 告警 5min 未认领 自动拨打二线电话
P0 告警 15min 未解决 升级至技术总监
P1 告警 30min 未认领 升级至二线值班
同类告警 1h 内重复 3 次 自动升级告警级别
跨服务影响 创建事故 War Room

6.3 事故复盘模板

6.3.1 复盘文档结构

# 事故复盘报告

## 基本信息
- **事故编号**:INC-2025-001
- **事故等级**:P0
- **影响时间**:2025-01-15 14:30 ~ 15:45(75 分钟)
- **影响范围**:全部查价服务,影响约 2,000 家代理商
- **负责人**:张三
- **复盘日期**:2025-01-16

## 事故描述
(简要描述事故现象及用户影响)

## 时间线
| 时间 | 事件 |
|------|------|
| 14:30 | 监控告警触发:Redis P99 延迟 > 5s |
| 14:32 | AI Agent 诊断:Redis 大 Key 导致阻塞 |
| 14:35 | 值班人员认领,确认影响 |
| 14:40 | 执行手动清理大 Key |
| 14:45 | 服务逐步恢复 |
| 15:45 | 全部恢复正常 |

## 根因分析(5 Why)
1. Why 查价服务不可用?→ Redis 响应超时
2. Why Redis 超时?→ 存在超大 Key(800MB)
3. Why 存在超大 Key?→ 缓存预热逻辑未做分片
4. Why 未做分片?→ 代码 Review 未覆盖此场景
5. Why Review 未覆盖?→ 缺少大 Key 检测规范

## 影响评估
- 查价请求失败:约 45,000 次
- 订单损失:约 120 单
- 预估 GMV 损失:约 ¥180,000

## 修复措施
- [x] 紧急:手动清理大 Key
- [x] 修复:缓存预热增加分片逻辑
- [x] 部署:上线 v2.3.1 hotfix
- [ ] 长期:引入 Redis 大 Key 自动检测告警

## 预防措施
1. 增加 Redis 大 Key 监控告警(> 10MB)
2. 代码 Review Checklist 增加缓存设计规范
3. 压测场景增加异常数据构造

## 经验教训
- 缓存设计需要考虑数据量上限
- 监控需要覆盖中间件内部状态

6.3.2 自动沉淀机制

事故关闭 → AI 自动生成复盘草稿
  ├─ 提取告警时间线
  ├─ 关联变更记录
  ├─ 匹配相似历史事故
  ├─ 生成根因建议
  └─ 创建复盘文档 + 知识库条目

附录

A. Prometheus 关键配置

global:
  scrape_interval: 15s
  evaluation_interval: 15s

alerting:
  alertmanagers:
    - static_configs:
        - targets: ['alertmanager:9093']

rule_files:
  - /etc/prometheus/rules/*.yml

scrape_configs:
  - job_name: 'otel-collector'
    scrape_interval: 15s
    static_configs:
      - targets: ['otel-collector:8889']

  - job_name: 'node-exporter'
    static_configs:
      - targets: ['node-exporter:9100']

  - job_name: 'pg-exporter'
    static_configs:
      - targets: ['pg-exporter:9630']

  - job_name: 'redis-exporter'
    static_configs:
      - targets: ['redis-exporter:9121']

  - job_name: 'rabbitmq-exporter'
    static_configs:
      - targets: ['rabbitmq-exporter:9419']

B. Grafana 看板清单

编号 看板名称 URL 用途
D001 运营总览大屏 /d/overview 实时业务监控
D002 基础设施概览 /d/infra 服务器资源监控
D003 PostgreSQL 监控 /d/pg-overview 数据库健康度
D004 Redis 监控 /d/redis-overview 缓存健康度
D005 RabbitMQ 监控 /d/rabbitmq-overview 消息队列监控
D006 供应商健康矩阵 /d/supplier-health 供应商可用性
D007 告警大盘 /d/alert-overview 告警统计分析
D008 慢查询分析 /d/slow-query 数据库性能分析

C. Runbook 索引

编号 场景 处理手册 AI 自动化
RB001 数据库主库宕机 [链接] ✅ L3 辅助
RB002 Redis 缓存雪崩 [链接] ✅ L2 自动
RB003 队列消息积压 [链接] ✅ L2 自动
RB004 服务 OOM [链接] ✅ L2 自动
RB005 供应商不可用 [链接] ✅ L2 自动
RB006 磁盘空间不足 [链接] ✅ L1 自动
RB007 证书过期 [链接] ✅ L1 自动
RB008 DNS 解析异常 [链接] ✅ L1 自动
RB009 主从复制延迟 [链接] ✅ L2 辅助
RB010 网络分区 [链接] ❌ 人工处理

D. 告警规则 YAML 示例

groups:
  - name: b2b-business-alerts
    rules:
      - alert: RateSuccessRateLow
        expr: |
          (
            sum(rate(b2b_rate_request_total{status="success"}[5m]))
            /
            sum(rate(b2b_rate_request_total[5m]))
          ) < 0.5
        for: 3m
        labels:
          severity: P1
          team: platform
        annotations:
          summary: "查价成功率低于 50%"
          description: "当前成功率: {{ $value | humanizePercentage }}"
          runbook: "https://wiki.internal/runbook/rate-success-low"
          dashboard: "https://grafana.internal/d/overview"

      - alert: CacheHitRateLow
        expr: |
          (
            sum(rate(b2b_cache_hit_total[5m]))
            /
            sum(rate(b2b_cache_request_total[5m]))
          ) < 0.3
        for: 1m
        labels:
          severity: P0
          team: platform
        annotations:
          summary: "缓存命中率低于 30%,疑似缓存雪崩"
          description: "当前命中率: {{ $value | humanizePercentage }}"
          runbook: "https://wiki.internal/runbook/cache-avalanche"

本文档随系统演进持续更新。如有疑问请联系基础架构组。