监控告警与事故响应
High Contrast
Dark Mode
Light Mode
Sepia
Forest
3 min read559 words

监控告警与事故响应

系统跑起来只是第一步——能在故障扩散前发现并快速恢复,才是生产成熟度的真正标志。

告警体系架构

graph TB subgraph 数据采集 M1[Prometheus 指标] M2[结构化日志] M3[分布式追踪] end subgraph 告警引擎 RULES[告警规则] SILENCE[静默规则] AM[Alertmanager] end subgraph 通知渠道 SLACK[Slack/钉钉] PAGE[PagerDuty] EMAIL[邮件] end subgraph 事故响应 TRIAGE[分级判断] RUNBOOK[Runbook] POSTMORTEM[事后复盘] end M1 --> RULES M2 --> RULES M3 --> RULES RULES --> SILENCE SILENCE --> AM AM --> SLACK AM --> PAGE AM --> EMAIL SLACK --> TRIAGE PAGE --> TRIAGE TRIAGE --> RUNBOOK RUNBOOK --> POSTMORTEM style TRIAGE fill:#fff3e0,stroke:#f57c00,stroke-width:2px style POSTMORTEM fill:#c8e6c9,stroke:#388e3c,stroke-width:2px

告警分级标准

级别 响应时间 触发条件示例 通知方式
P0 – 严重 5 分钟内 服务完全不可用、错误率 > 50% 电话 + 页面
P1 – 高 15 分钟内 延迟 P99 > 10 s、错误率 > 5% IM 即时消息
P2 – 中 1 小时内 Token 用量超预算 20%、缓存命中率骤降 IM 群组
P3 – 低 下个工作日 个别接口慢、非关键任务失败 邮件汇总

关键告警规则示例

# Prometheus 告警规则(prometheus/rules/llm.yml)
groups:
- name: llm_production
rules:
- alert: HighErrorRate
expr: rate(llm_requests_total{status="error"}[5m]) /
rate(llm_requests_total[5m]) > 0.05
for: 2m
labels:
severity: P1
annotations:
summary: "LLM 错误率超过 5%"
runbook: "https://wiki/runbooks/llm-error-rate"
- alert: HighLatencyP99
expr: histogram_quantile(0.99,
rate(llm_request_duration_seconds_bucket[5m])) > 10
for: 5m
labels:
severity: P1
annotations:
summary: "P99 延迟超过 10 秒"
- alert: TokenBudgetAlert
expr: llm_token_cost_usd_total > llm_token_budget_usd * 0.8
labels:
severity: P2
annotations:
summary: "Token 消耗已达预算 80%"

事故响应标准流程

sequenceDiagram participant A as 告警系统 participant B as 值班工程师 participant C as 事故指挥官 participant D as 团队 A->>B: 触发告警通知 B->>B: 确认 & 评估严重级别 B->>C: P0/P1 升级通知 C->>D: 拉起事故频道 D->>D: 并行排查(日志/追踪/指标) D->>C: 定位根因 C->>D: 执行修复 Runbook D->>A: 问题解决,关闭告警 C->>D: 48 小时内完成 Postmortem

实用 Runbook 模板

每条 P0/P1 告警都应对应一个 Runbook,包含以下固定章节:

  1. 症状描述 — 告警触发时用户/系统的表现
  2. 影响范围 — 受影响的服务、用户数量估算
  3. 排查步骤 — 按顺序列出具体命令/查询
  4. 常见修复方案 — 重启服务、切换模型、回滚版本
  5. 升级路径 — 15 分钟内无法修复时联系谁

事后复盘(Postmortem)要素

好的 Postmortem 聚焦在"系统性改进"而非"追责":

行动清单


下一章:02 - 模型部署 → 部署方案与平台选型