本系列导航
- 上一篇:第三十五章:隐私、安全与数据策略
- 下一篇:第三十七章:SEO 体系与关键词地图
- 返回目录:Birdor 商业计划书目录
本章关键词
可观测性、SRE、SLO、前端错误、API 延迟、AI 成本、任务队列、业务指标、告警、发布回滚。
适合阅读的人
- 负责 Birdor 基础设施和运维的工程师。
- 需要设计 SaaS 平台监控体系的技术负责人。
- 研究开发者工具可观测性最佳实践的 SRE 工程师。
本章摘要
Birdor 是工具平台,用户对速度和稳定性非常敏感。JSON Formatter 卡顿、JWT Decoder 解析错误、AI Log Analyzer 超时、API 返回不稳定,都会直接伤害信任。
可观测性不仅是服务器监控,还包括工具完成率、复制率、错误率、AI 成本、API 首次调用成功率和 Pro 触发。Birdor 需要同时观察技术指标和产品指标,建立从数据采集到告警响应的完整 SRE 体系。
36.1 观测对象全景
需要观测的指标分为四个维度:
| 维度 | 观测对象 | 核心问题 |
|---|---|---|
| 用户体验 | 页面加载、工具执行、错误率 | 用户能否顺利完成任务? |
| 系统性能 | API 延迟、队列长度、资源使用 | 系统是否健康? |
| AI 运营 | 调用成功率、token 消耗、成本 | AI 功能是否可持续? |
| 业务增长 | 工具完成率、转化率、留存 | 产品是否在增长? |
36.2 前端指标
前端指标直接影响用户第一印象:
性能指标
| 指标 | 采集方式 | SLO 目标 | 告警阈值 |
|---|---|---|---|
| First Contentful Paint (FCP) | Performance API | < 1.2s | > 2s |
| Largest Contentful Paint (LCP) | Performance API | < 2.5s | > 4s |
| Time to Interactive (TTI) | Lighthouse / Lab | < 3.5s | > 5s |
| Cumulative Layout Shift (CLS) | Layout Instability API | < 0.1 | > 0.25 |
| Tool Execution Time | 自定义埋点 | < 50ms | > 200ms |
| JS Error Rate | window.onerror | < 0.1% | > 0.5% |
交互指标
| 指标 | 说明 | 健康基准 |
|---|---|---|
| 工具完成率 | 用户触发→成功获得结果 | > 85% |
| 复制成功率 | 点击复制→剪贴板有内容 | > 95% |
| 下载成功率 | 点击下载→文件生成 | > 95% |
| 编辑器卡顿 | 输入响应延迟 > 100ms | < 1% 的操作 |
| 移动端可用性 | 核心功能移动端可完成 | 100% |
36.3 API 指标
API 指标反映系统稳定性和用户满意度:
黄金指标(Four Golden Signals)
| 信号 | 指标 | SLO |
|---|---|---|
| 延迟 (Latency) | p50/p95/p99 响应时间 | p95 < 200ms (确定性 API) |
| 流量 (Traffic) | 请求量 QPS | 监控趋势 |
| 错误 (Errors) | 5xx 错误率 | < 0.1% |
| 饱和度 (Saturation) | CPU / 内存 / 连接池使用率 | < 70% |
API 业务指标
| 指标 | 说明 | 目标 |
|---|---|---|
| 首次调用成功率 | 新用户第一次调用是否成功 | > 80% |
| Quota Exceeded 率 | 超过配额的请求比例 | 监控趋势 |
| Unauthorized 率 | 认证失败比例 | < 5% |
| Payload Too Large 率 | 请求过大比例 | < 2% |
| Token 使用分布 | 各 token 的调用量 | 发现异常 |
36.4 AI 指标
AI 成本必须和价值一起看:
AI 技术指标
| 指标 | 说明 | 告警条件 |
|---|---|---|
| 调用次数 | 每分钟/每小时调用量 | 突增 > 300% |
| 成功率 | 返回 200 的比例 | < 95% |
| 超时率 | 超过 30s 的比例 | > 5% |
| Token 消耗 | 输入+输出 token | 日预算 > 80% |
| 单次成本 | 每次调用的平均成本 | 突增 > 200% |
| 模型分布 | 各模型调用占比 | 异常偏离 |
AI 产品指标
| 指标 | 说明 | 目标 |
|---|---|---|
| 重新生成率 | 用户对结果不满意的比例 | < 20% |
| 输出复制率 | 用户复制 AI 输出的比例 | > 40% |
| 输出保存率 | 用户保存结果的比例 | > 15% |
| AI→Pro 转化率 | 使用 AI 后触发 Pro 的比例 | > 5% |
AI 成本控制仪表板
AI 成本监控看板:
├── 今日成本 vs 预算
├── 各工具成本分布
│ ├── AI Regex: $12
│ ├── AI Log: $45
│ └── AI Config: $8
├── 各模型使用占比
│ ├── gpt-4o-mini: 70%
│ ├── gpt-4o: 20%
│ └── claude-3.5-sonnet: 10%
├── 成本异常检测
│ └── 14:32 AI Log 成本突增 300% → 告警已触发
└── 成本优化建议
└── 建议将 AI Log 的短日志场景降级到 gpt-4o-mini
36.5 业务指标
业务指标帮助 Birdor 判断增长漏斗:
工具使用漏斗
| 阶段 | 指标 | 基准 | 优秀 |
|---|---|---|---|
| 访问 | 页面浏览量 | - | - |
| 参与 | 工具交互率(点击输入/示例) | > 30% | > 50% |
| 完成 | 工具完成率 | > 60% | > 85% |
| 复制 | 结果复制率 | > 30% | > 50% |
| 连续 | 多工具使用率 | > 10% | > 25% |
| 注册 | 注册转化率 | > 3% | > 8% |
| 付费 | Pro/API 转化率 | > 1% | > 3% |
用户健康度
| 指标 | 说明 | 目标 |
|---|---|---|
| 次日留存 (D1) | 次日回访比例 | > 15% |
| 7 日留存 (D7) | 7 日回访比例 | > 8% |
| 30 日留存 (D30) | 30 日回访比例 | > 3% |
| 回访间隔 | 平均回访间隔天数 | < 7 天 |
| API 留存 | API 用户 30 日活跃率 | > 40% |
36.6 SLO 定义
早期 SLO 应简单聚焦核心路径:
核心 SLO 表
| SLO | 目标 | 测量窗口 | 宽限期 |
|---|---|---|---|
| 工具页可用率 | 99.9% | 30 天 | 1 小时 |
| API p95 延迟 | < 200ms | 7 天 | - |
| AI 调用成功率 | > 98% | 7 天 | 15 分钟 |
| 注册/支付路径可用 | 99.99% | 30 天 | 5 分钟 |
| 任务队列处理延迟 | < 5 分钟 | 1 天 | 10 分钟 |
SLO 与错误预算
| SLO | 错误预算 | 30 天允许宕机时间 |
|---|---|---|
| 99.9% | 0.1% | 43 分钟 |
| 99.99% | 0.01% | 4.3 分钟 |
错误预算耗尽时,暂停非紧急发布,优先稳定性。
36.7 告警策略
告警分级
| 级别 | 条件 | 响应时间 | 通知方式 |
|---|---|---|---|
| P0 (紧急) | 核心工具不可用/支付失败 | 5 分钟 | 电话 + 短信 + 钉钉 |
| P1 (严重) | API 错误率 > 1%/AI 成本突增 | 15 分钟 | 短信 + 钉钉 |
| P2 (警告) | 延迟上升/队列堆积 | 1 小时 | 钉钉 |
| P3 (信息) | 指标偏离基线 | 1 天 | 日报 |
必须告警的场景
- 核心工具(JSON/JWT/Base64)无法运行
- API 5xx 错误率 > 0.5%
- API p95 延迟 > 500ms
- AI 调用成功率 < 95%
- AI 日成本 > 预算 120%
- 任务队列堆积 > 1000
- 登录或支付路径失败
- 工具完成率骤降 > 20%
- JS Error Rate > 1%
- SSL 证书即将过期
告警降噪原则
- ** actionable**:每个告警必须有明确的行动指南。
- 分级清晰:不同级别不同响应方式,避免疲劳。
- 聚合抑制:相关告警聚合,避免消息轰炸。
- 定时静默:已知维护窗口自动静默。
36.8 发布与回滚
发布策略
| 环境 | 用途 | 部署频率 |
|---|---|---|
| 本地 | 开发测试 | 随时 |
| Staging | 预发布验证 | 发布前 |
| Canary (5%) | 灰度验证 | 每次发布 |
| Production | 生产流量 | 灰度通过后 |
发布检查清单
- 代码审查通过
- 自动化测试通过
- Staging 验证通过
- 数据库迁移可回滚
- 功能开关可切换
- 监控告警已配置
- 回滚方案已准备
- 值班人员已通知
自动回滚条件
| 条件 | 窗口 | 动作 |
|---|---|---|
| 错误率上升 > 3x | 5 分钟 | 自动回滚 |
| 延迟上升 > 5x | 5 分钟 | 自动回滚 |
| 工具完成率下降 > 30% | 10 分钟 | 自动回滚 |
36.9 技术栈推荐
| 层级 | 工具 | 用途 |
|---|---|---|
| 指标采集 | Prometheus + Grafana | 时序指标和可视化 |
| 日志聚合 | Grafana Loki / Datadog | 日志查询和分析 |
| 链路追踪 | Jaeger / Datadog APM | 分布式追踪 |
| 前端监控 | Sentry | 错误追踪和性能 |
| 业务分析 | Amplitude / Mixpanel | 用户行为分析 |
| 告警通知 | PagerDuty / OpsGenie | 告警分发 |
| 状态页 | Statuspage.io | 公开状态展示 |
36.10 落地清单
第一期(MVP 阶段)
| 任务 | 时间 | 优先级 |
|---|---|---|
| 前端错误收集(Sentry) | 1 天 | P0 |
| 工具执行事件埋点 | 2 天 | P0 |
| API 请求日志 + 延迟 | 2 天 | P0 |
| AI 调用次数 + 成本统计 | 1 天 | P0 |
| 基础告警(错误率、延迟) | 2 天 | P0 |
第二期(增长阶段)
| 任务 | 时间 | 优先级 |
|---|---|---|
| 业务漏斗看板 | 3 天 | P1 |
| AI 成本优化看板 | 2 天 | P1 |
| 队列监控和告警 | 2 天 | P1 |
| 发布回滚自动化 | 3 天 | P1 |
| 移动端性能监控 | 2 天 | P2 |
FAQ
Q1: MVP 阶段需要做完整可观测性吗?
不需要。但至少需要:前端错误监控、API 延迟/错误率、AI 调用次数/成本。这三个是生死线。
Q2: AI 成本告警阈值怎么设?
建议三层:日预算 80% 发警告,100% 发严重告警,120% 触发自动降级(切换到更便宜模型)。
Q3: 工具完成率骤降可能是什么原因?
常见原因:① 前端 JS 错误导致工具无法运行;② API 超时或错误;③ 编辑器组件升级引入 bug;④ CDN 问题导致资源加载失败。
Q4: SLO 99.9% 对工具站够用吗?
够用。工具站不像支付系统需要 99.99%,99.9% 意味着月宕机 < 43 分钟,对开发者工具是合理目标。
Q5: 如何平衡快速迭代和稳定性?
使用功能开关(Feature Flag),新功能默认关闭,灰度开启。出问题立即开关回滚,无需重新部署。
延伸阅读
36.19 SRE 值班制度
Birdor 作为开发者工具平台,用户对故障容忍度极低。SRE 值班制度必须明确分工、响应标准和升级路径。
| 值班角色 | 值班时段 | 响应要求 | 升级路径 |
|---|---|---|---|
| 一线值班 | 工作日 9:00-21:00 | P0 事件 5 分钟内响应 | 15 分钟内升级至二线 |
| 二线值班 | 工作日 9:00-21:00 | P1 事件 15 分钟内响应 | 30 分钟内升级至三线 |
| 三线值班 | 7x24 小时(轮班) | P0 事件 30 分钟内响应 | 严重事件升级至管理层 |
| 管理层响应 | 7x24 小时 | 涉及数据泄露或收入影响的事件 | 协调公关、法务和客户沟通 |
值班交接清单(每班次必须完成):
- 当前活跃告警列表及处理状态
- 正在跟进但未闭环的工单
- 已知但未修复的现网问题
- 计划中的维护窗口和灰度发布
- 上一班次遗留的风险项和注意点
36.20 容量规划方法论
容量规划不是等服务器告警了才扩容,而是基于数据和预测的前瞻性工程活动。
| 规划阶段 | 核心活动 | 执行频率 | 关键产出 |
|---|---|---|---|
| 度量(Measure) | 收集全链路资源使用数据 | 持续采集 | CPU/内存/连接池的时序基线 |
| 预测(Forecast) | 基于增长趋势和业务计划预测需求 | 每月 | 未来 90 天容量预测报告 |
| 验证(Validate) | 压力测试识别真实瓶颈 | 每季度 | 容量瓶颈清单和极限数据 |
| 决策(Decide) | 确定扩容、优化或架构调整方案 | 每季度 | 正式容量计划和预算申请 |
容量规划决策树:
当前资源利用率 > 70%?
├─ 是 → 利用率 > 90%?
│ ├─ 是 → 启动紧急扩容(72 小时内)
│ └─ 否 → 纳入计划扩容(下季度执行)
└─ 否 → 增长预测未来 90 天 > 30%?
├─ 是 → 提前扩容(避免紧急状态)
└─ 否 → 维持现状,优化资源利用率
容量规划的隐藏风险:不要只看平均利用率。工具站流量存在明显的尖峰特性(如早上 9-10 点和晚上 20-22 点的使用高峰),应以 p95 利用率而非平均值作为扩容触发依据。
36.21 可观测性成本优化
可观测性体系本身也是成本中心,必须在覆盖率和支出之间取得平衡。
| 成本项 | 典型占比 | 优化策略 | 预期节省 |
|---|---|---|---|
| 日志存储 | 40-50% | 结构化日志 + 智能采样(错误 100%、成功 1%) | 50-70% |
| 指标存储 | 20-30% | 超过 7 天数据自动降精度(1min → 5min → 1h) | 30-40% |
| APM 链路追踪 | 15-25% | 生产环境 10% 采样,错误全量采集 | 90%(采样率决定) |
| 前端监控 | 5-10% | 仅当错误率 > 0.1% 时开启全量录制 | 50% |
| 告警通知 | 2-5% | 告警聚合、去重和静默窗口 | 30% |
成本优化的红线:采样策略不能影响故障排查能力。错误日志、5xx 响应和 P0 告警必须 100% 采集,不可为了省钱而丢弃关键数据。
36.22 SRE 文化建设
技术和流程之外,SRE 的核心是建立"稳定性优先"的组织文化。
| 文化活动 | 频率 | 目标 | 具体形式 |
|---|---|---|---|
| 故障演练(Game Day) | 每月 | 锻炼团队应急响应能力 | 模拟 AI 模型故障、数据库降级等场景 |
| 无事故庆祝 | 每季度 | 激励对稳定性的持续投入 | 团队聚餐 + 稳定性里程碑公告 |
| Blameless 复盘 | 每次事件(P1 及以上) | 建立安全的学习文化 | 聚焦系统改进,不追究个人责任 |
| 可靠性指标评审 | 每月 | 数据驱动资源分配决策 | SLO 达标率、告警有效率、MTTR 趋势 |
| 错误预算消耗评审 | 每次发布窗口前 | 用错误budget指导发布节奏 | 预算耗尽时暂停非紧急发布 |
SRE 文化的成熟度评估:
- L1(被动响应):只有告警,没有预防
- L2(主动监控):有完整监控和告警体系
- L3(容量规划):有数据驱动的容量管理和预测
- L4(混沌工程):主动注入故障验证韧性
- L5(自愈系统):系统能够在常见故障场景下自动恢复
Birdor 当前目标:MVP 阶段达到 L2;增长期达到 L3;平台期向 L4 演进。L5 作为长期愿景,不急于投入。
36.23 值班制度的 SLA 保障
SRE 值班不仅是响应故障,更是对用户的 SLA 承诺。Birdor 的值班 SLA 与商业承诺挂钩。
| 服务等级 | 可用性目标 | P0 响应时间 | 补偿机制 |
|---|---|---|---|
| 免费用户 | 99.0% | 无承诺 | 无 |
| Pro 用户 | 99.9% | 4 小时 | 服务时长补偿 |
| Team 用户 | 99.95% | 2 小时 | 服务时长 + 信用补偿 |
| Enterprise | 99.99% | 1 小时 | 定制补偿方案 |
SLA 的测量方式:以自然月为单位,排除计划维护窗口,按工具页可用率计算。不可用定义为核心工具(JSON/JWT/Base64 格式化)无法完成基础操作且持续超过 5 分钟。
值班轮换的健康管理:连续值班不超过 3 天,两轮之间至少 48 小时间隔。值班人员当天不安排深度开发工作,确保有足够的精力处理突发事件。
36.24 容量规划的自动化
容量规划从人工判断逐步过渡到数据驱动的自动化。
| 自动化阶段 | 能力范围 | 触发条件 | 执行动作 |
|---|---|---|---|
| L1 数据收集 | 自动采集所有资源指标 | 持续 | 时序数据入库 |
| L2 趋势预测 | 基于历史数据自动预测需求 | 每周 | 输出 90 天预测报告 |
| L3 告警触发 | 预测结果触发告警 | 预测利用率 > 70% | 通知 SRE 团队 |
| L4 半自动扩容 | 告警后一键扩容 | 利用率 > 80% 持续 1 小时 | 一键执行扩容脚本 |
| L5 全自动扩容 | 系统自主扩容 | 利用率 > 90% | 自动增加实例数 |
Birdor 的阶段目标:MVP 阶段达到 L2;增长期达到 L3-L4;平台期试点 L5。全自动扩容需要充分的混沌工程验证,不能在未验证的情况下直接启用。
36.25 可观测性成本的分配策略
可观测性成本应按业务价值分配,避免平均用力。
| 业务线 | 观测优先级 | 观测投入占比建议 | 理由 |
|---|---|---|---|
| 核心工具(JSON/JWT) | P0 | 35% | 直接影响用户留存 |
| AI 工具(Regex/Log) | P0 | 30% | 成本和收入双重敏感 |
| 账户与支付 | P0 | 20% | 直接影响收入 |
| 增长与内容 | P1 | 10% | 间接影响,可适度采样 |
| 内部工具 | P2 | 5% | 成本最低,基础监控即可 |
成本分配的复盘:每季度根据实际故障分布调整投入占比。如果某条业务线的故障占比远高于其观测投入占比,则在下季度增加该线的观测预算。
36.26 SRE 文化的持续建设
SRE 文化不是建立后就能自动维持,需要持续投入。
| 文化活动 | 目标 | 频率 | 衡量指标 |
|---|---|---|---|
| 可靠性分享会 | 传播可靠性最佳实践 | 每月 | 分享次数、参会率 |
| 事故故事集 | 将事故转化为学习材料 | 每次事故 | 学习材料阅读量 |
| 错误预算公示 | 让全员关注稳定性投入 | 每周 | 团队对错误budget的了解度 |
| 混沌工程日 | 主动验证系统韧性 | 每季度 | 发现的新韧性缺口数 |
| 跨团队轮岗 | SRE 与开发互换视角 | 每半年 | 轮岗满意度、发现的问题数 |
SRE 文化成熟度的自检清单:
- 新入职工程师能否在 1 周内找到所有监控面板
- 任何工程师能否在 10 分钟内定位到服务的依赖拓扑
- 故障发生后 24 小时内是否有公开的事后总结
- 非 SRE 团队成员是否主动参与稳定性改进
- 发布决策是否受错误预算状态的约束
36.27 告警治理
告警疲劳是 SRE 团队的头号敌人,告警治理必须持续进行。
| 治理维度 | 策略 | 目标 |
|---|---|---|
| 告警数量 | 每人每天不超过 5 条有效告警 | 减少噪音 |
| 告警质量 | 每条告警必须包含行动指南 | 提高可操作性 |
| 告警聚合 | 同源告警 5 分钟内只发送 1 条 | 减少轰炸 |
| 告警分级 | P0/P1/P2/P3 比例保持在 1:3:6:10 | 分级合理 |
| 告警复盘 | 每月分析告警触发原因和处置结果 | 持续优化 |
告警有效率(触发后有实际行动的告警比例)应保持在 70% 以上。低于 50% 说明告警规则需要全面审查。
36.28 SRE 工具链
Birdor 的 SRE 工具链需要与团队规模匹配。
| 阶段 | 工具 | 用途 |
|---|---|---|
| MVP | Sentry + Vercel Analytics | 前端错误 + 基础性能 |
| 增长期 | Prometheus + Grafana + PagerDuty | 全链路监控 + 告警 |
| 平台期 | Datadog / New Relic | APM + 业务分析 |
工具选择原则:先用开源工具验证需求,再用商业工具规模化。避免过早购买昂贵的企业级监控方案。
继续阅读
探索更多技术文章
浏览归档,发现更多关于系统设计、工具链和工程实践的内容。