用途
本技能用于为网站或 Web 应用设计并运行一套监控系统,核心目标是决定「监控什么、对什么告警、如何确保系统出问题时正确的人能收到通知」。它适合在以下场景使用:为新站点或服务搭建监控、定义 SLO(服务级别目标)与错误预算、区分哪些告警需要唤醒值班人员、哪些只发到安静频道、设计或修复值班轮换、诊断告警疲劳、根据事故暴露的监控缺口进行补全、迁移监控供应商。
不适用场景:响应进行中的事故(应使用 incident-response)、撰写事后复盘(应使用 after-action-report)、设计产品指标分析仪表盘(应使用 analytics-strategy)、性能优化本身(应使用 performance-optimization)。
主要能力
技能提供一套四层监控框架,逐层覆盖不同类别的问题:
- 第 1 层 可用性:站点是否在线。包括多区域 HTTP 检查(每 1-5 分钟)、DNS 解析检查、证书过期检查、状态码检查(对 5xx 告警,而不仅是超时)。阈值:任何持续宕机(连续 2 次以上检查失败)即触发 page。
- 第 2 层 正确性:站点在线,但返回的内容是否正确。包括合成检查(加载首页、点击按钮、校验预期文本)、关键用户旅程(注册、结账、搜索)、内容存在性检查、API 契约检查。阈值:关键路径合成检查失败触发 page;非关键页面级合成检查仅在工作时间告警。
- 第 3 层 性能:站点在线且正确,但是否足够快。包括真实用户的 Core Web Vitals(LCP、INP、CLS)、合成性能(Lighthouse、WebPageTest、自定义)、API 响应时间(p50、p95、p99)、慢查询的数据库查询时间、依赖响应时间。阈值:相对基线的回退(如 p95 在 5 分钟内翻倍),不要在没有基线的情况下使用绝对阈值告警。
- 第 4 层 错误与异常:站点对大多数人来说在线、正确且快速,但错误正在发生。包括错误率(返回 5xx 的请求占比)、客户端错误率(未捕获的 JS 异常)、日志错误量、异常检测(流量骤降)、后台任务失败、队列深度。阈值:基于比率而非计数,例如「错误率超过 1% 持续 5 分钟」优于「每分钟超过 100 个错误」。
技能还涵盖 SLO 与错误预算:SLO 是可靠性目标,常见形式为「30 天内 99.9% 的首页请求在 2 秒内成功」。其组成包括测量对象、成功标准、目标值和窗口。错误预算是其反面:0.1% 的请求可以失败。技能给出各 SLO 对应的每月允许宕机时间(99% 为 7 小时 18 分,99.9% 为 43 分钟,99.95% 为 21 分钟,99.99% 为 4 分 22 秒,99.999% 为 26 秒),并建议多数营销站点 99.9% 足够,SaaS 99.95% 合理,更高需要大量基础设施投入。错误预算的使用原则:预算健康时积极发布,消耗一半时放慢,耗尽时冻结高风险变更直到可靠性恢复。
使用方式
技能按以下工作流推进:
- 盘点已有监控:现有工具、检查、仪表盘、告警。
- 绘制系统图:前端、后端、数据库、第三方 API、队列、worker,每个框都是监控候选,并回答「up」「correct」「fast」的含义及最常见故障模式。
- 定义 SLO:选 3-5 个,需与用户可见行为挂钩、当前基础设施可达成、自动测量、至少每季度评审。
- 在四层上配置检查:为每个框配置各层检查,部分框不必四层齐全。
- 决定什么 page、什么不 page:分三层——Page(唤醒人:站点宕机、关键流程中断、错误率飙升、安全事件)、Notify(工作时间:非关键合成失败、性能回退、慢查询、依赖降级)、Log(不通知:异常供后续审查、低优先级警告、信息级事件)。第 1 层告警必须可操作、重要、罕见(目标每周少于 1-2 次)。
- 配置路由:第 1 层到寻呼系统(如 PagerDuty),直接指向值班人员;第 2 层到聊天频道(Slack、Teams);第 3 层仅仪表盘或日志。每层需有文档化的升级路径,值班人员 5-15 分钟未确认则升级。
- 构建仪表盘:按受众划分——实时运维仪表盘、SLO 仪表盘、每服务仪表盘、高管仪表盘。仪表盘与告警不同:告警说「现在看」,仪表盘说「正在发生什么」。
- 运行告警审计:每季度审计哪些告警触发过、是否可操作、是否漏报、是否嘈杂、runbook 是否最新、SLO 是否达成,并据此调优。
适用场景
适合需要建立或改进网站/Web 应用监控体系的团队,尤其是希望用 SLO 和错误预算在可靠性与发布速度之间建立反馈回路的团队,以及正在经历告警疲劳、值班轮换混乱或监控供应商迁移的团队。
限制
技能明确列出多种失败模式:对原因而非症状告警、告警没有 runbook、没有「正常」基线、单区域监控、未监控监控系统本身、严重级别分层过多、合成检查不匹配真实用户旅程、静态阈值从不调优、值班轮换没有交接、寻呼疲劳。输出格式为一份监控计划,包含系统图、SLO、各层检查、告警分级、路由、仪表盘、runbook 和审计节奏。若所需数据不可用,技能要求明确说明缺口(需要什么、实际获得或验证了什么、影响输出的哪些部分),禁止编造、估算或插值。参考文件 references/slo-design-guide.md 提供 SLO 编写、错误预算策略和常见错误的详细说明。