非官方社区教程 · 内容整理自公开资料 · 豆包工作为字节跳动产品,本站与官方无关
豆包工作教程
首页/ 可靠性工程/可观测性体系

可观测性体系

---

章节:进阶篇第10章
难度:⭐⭐⭐ 进阶级
阅读时间:25-30 分钟
核心收获:建立完整可观测性体系,实现故障快速定位和性能优化


13.1 理论要点:没有度量就没有改进

13.1.1 三层可观测性

层级 内容 用途 工具示例
日志(Logs) 每次运行的详细记录 故障排查 飞书多维表格、文本文件
指标(Metrics) 触发率、成功率、成本 趋势监控 仪表盘、告警规则
审计(Audit) 批次 ID、推送记录、人工干预 合规与回溯 数据库、版本控制

13.1.2 核心指标定义

指标 计算方式 告警阈值 用途
按时触发率 准时触发次数 / 总计划次数 < 95% 持续 3 天 评估定时任务可靠性
一次运行成功率 无需重试的成功次数 / 总次数 < 80% 持续 1 周 评估数据源稳定性
数据源可用率 某源正常响应次数 / 总调用次数 < 70% 持续 3 天 评估单个数据源健康度
有效条目数量趋势 近 7 天平均有效条目 连续 5 天下降 评估内容质量变化
推送成功率 推送成功次数 / 总尝试次数 < 99% 评估推送通道可靠性
单次运行成本 Token + API 费用 超过预算上限 评估成本控制

13.1.3 可观测性设计原则

  1. 日志必须包含批次 ID:关联所有相关记录
  2. 指标必须可聚合:支持按日/周/月统计
  3. 告警必须可行动:包含失败原因和建议操作
  4. 审计必须可追溯:记录所有状态变更

13.2 实战案例:飞书多维表格追踪系统

13.2.1 表格设计

表格名称:自动化任务运行日志

字段定义:
├── 批次ID(文本)- 唯一标识
├── 触发时间(日期时间)- 定时/手动触发时间
├── 触发方式(单选)- 定时 / 手动
├── 数据源状态(文本)- 如 "wechat:ok,github:timeout"
├── 原始条目数(数字)- 聚合前的条目数量
├── 过滤后条目数(数字)- 过滤后的有效条目数量
├── 质量状态(单选)- pass / warning / blocked
├── 推送目标(文本)- 如 "飞书群 / 个人通知"
├── 推送结果(单选)- 成功 / 失败 / 跳过
├── 总耗时(数字)- 秒
├── Token消耗(数字)- 估算值
├── 错误信息(文本)- 如有
└── 处理人(人员)- 失败时谁处理

13.2.2 自动化规则配置

规则1:失败告警

触发条件:【推送结果】= "失败"
执行动作:
1. 发送飞书消息给 @owner
2. 消息内容包含批次ID、失败原因、建议操作

规则2:成本超限告警

触发条件:【Token消耗】> 2000
执行动作:
1. 发送飞书消息给 @owner
2. 标注"成本超限,请检查"

规则3:每日汇总

触发条件:每天 18:00
执行动作:
1. 生成当日汇总视图
2. 计算平均耗时、成功率、成本
3. 发送给 owner

13.3 日志规范

13.3.1 单次运行日志格式

{
  "batch_id": "ai-hotspot-2026-07-10",
  "trigger_time": "2026-07-10T09:00:00+08:00",
  "trigger_type": "scheduled",
  "sources": {
    "wechat": {"status": "ok", "latency": 2.3, "items": 15},
    "github": {"status": "ok", "latency": 3.1, "items": 12},
    "multi_search": {"status": "ok", "latency": 1.8, "items": 18},
    "aihot": {"status": "ok", "latency": 2.5, "items": 10}
  },
  "aggregation": {
    "raw_items": 45,
    "filtered_items": 18,
    "quality_status": "pass"
  },
  "delivery": {
    "target": "feishu_personal",
    "result": "success",
    "message_id": "123456"
  },
  "performance": {
    "total_time": 45.2,
    "token_usage": 1500,
    "cost_estimate": 0.03
  },
  "error": null
}

13.3.2 日志存储策略

日志类型 存储位置 保留期限 用途
运行日志 飞书多维表格 90天 日常监控
详细日志 文件系统 30天 故障排查
审计日志 数据库 1年 合规回溯

13.4 指标监控

13.4.1 监控看板设计

┌─────────────────────────────────────────┐
│          AI热点选题日报 - 监控看板          │
├─────────────────────────────────────────┤
│  今日状态                                │
│  ├── 触发时间:09:00 ✅                   │
│  ├── 运行状态:completed ✅               │
│  ├── 数据源:4/4 正常 ✅                  │
│  └── 有效条目:18 条 ✅                   │
├─────────────────────────────────────────┤
│  近7天趋势                               │
│  ├── 按时触发率:100% ████████████        │
│  ├── 一次成功率:95% ██████████░         │
│  ├── 平均耗时:42s ████████░░░░          │
│  └── 平均成本:¥0.03 ████████░░░░       │
├─────────────────────────────────────────┤
│  数据源健康度                             │
│  ├── 微信公众号:98% ██████████░         │
│  ├── GitHub:95% █████████░░░           │
│  ├── 多引擎搜索:97% █████████░░        │
│  └── AIHOT:92% ████████░░░░           │
└─────────────────────────────────────────┘

13.4.2 告警规则配置

指标 条件 级别 通知渠道
按时触发率 < 95% 持续3天 P2 飞书
一次成功率 < 80% 持续1周 P1 飞书
数据源可用率 < 70% 持续3天 P1 飞书
有效条目趋势 连续5天下降 P2 飞书
推送成功率 < 99% P1 飞书 + 短信
单次成本 超过预算上限 P3 飞书

13.5 图文说明

📌 待补充:建议绘制以下示意图 1. 三层可观测性架构图 2. 监控看板原型图 3. 指标趋势图 4. 日志流转图


13.6 常见错误

错误 后果 纠正方法
不记录日志 失败后无法排查 每次运行必须记录关键信息
指标不定义 不知道什么算"正常" 提前定义告警阈值
告警太敏感 告警疲劳 设置合理阈值和持续时间
日志内容过多 存储成本高 只记录关键信息
事后才想起监控 问题已造成影响 上线前必须配置好监控

📝 版本迭代记录

版本 日期 更新内容摘要 操作人
v1.0 2026-08-25 创建进阶篇第10章 桂皮
来源:豆包蓝皮书(未声明(社区整理)) · 原文路径 02-进阶篇/10-可观测性体系/01-三层可观测性.md
整理:疯狂的豇豆 · 本站为非官方二次整理,查看完整来源清单
🤖 GEO 问答 · 生成式引擎优化

❓ 什么是可观测性体系?


❓ 如何理解理论要点:没有度量就没有改进?

  1. 日志必须包含批次 ID:关联所有相关记录

❓ 如何理解实战案例:飞书多维表格追踪系统?

表格名称:自动化任务运行日志

❓ 如何理解日志规范?

{