04 · Observability

监控与告警体系

Softie 用了 4 个观测平台 + 一组 Lark 机器人。这一页讲清楚谁负责什么、出问题第一时间该看哪里。原则:能用一个工具搞定就别引入第二个,加监控前先做重叠检查。

四大观测平台

每个平台职责单一,重叠尽量少。这是 2026-04-07 决策的分工:

Sentry错误监控

所有未捕获异常 + 主动 captureException;浏览器端、Node 端、Worker 端三套 DSN 区分。

org · softieai(注意 typo,旧文档可能写 softie) 项目 · javascript-nextjs(生产)/ 已删 dev(噪音) 看哪里 · Issues by Frequency;Alerts
PostHog产品分析

用户行为漏斗、转化、留存、Feature Flag。Softie 主力分析平台,关键事件必须服务端追踪兜底。

项目 · Softie #368707 · Vivi #377981 独立 关键事件 · paywall_view / payment_success / payment_failed / chat_message_receive 注意 · 登录 identify、退出 reset;不然数据匿名 + 跨用户污染
LangfuseLLM Trace

所有 OpenRouter / Google / Groq 调用都包 trace;记录 prompt、completion、tokens、成本、用户。

区域 · US(fallback URL 必须 us.cloud.langfuse.com) 关键路径 · 推送 worker 走 generate.message.ts,95% LLM 消耗在这里 必做 · 所有退出路径(正常 + catch)都要 await flushAsync(),否则丢数据
Microsoft Clarity录屏 + 热图

免费录全部用户 session;观察用户实际操作路径、卡点、误触。

项目 · sb2b5hua80 策略 · 反转屏蔽(默认全录,敏感字段单独 mask) 平台标签 · 用 custom tag 区分 web / android
Google Analytics 4广告归因

仅用于 Google Ads 投放归因(广告组 → 转化)。日常分析走 PostHog。

ID · G-J2THM7ZNYT · AW-17491175335 不要 · 在 GA 看产品漏斗,那是 PostHog 的活
Meta PixelMeta Ads 归因

仅用于 Facebook/Instagram 广告投放归因。

状态 · Token 因安全锁(459)失效,待范丽重新授权 不引入 · Mixpanel;分析平台分工已定

Lark 机器人矩阵

所有自动化告警走 Lark 群。Webhook URL 在 ~/.claude/projects/-Users-gloom-softieweb/memory/reference_lark_webhooks.md推送前必须查记忆库确认归属,不要猜

Pay-Bot 支付异常 / 健康检查告警 / reconcile 失败 / 转化率突降 来源:payment-health-cron.yml + payment-reconcile-cron.yml
Cost-Bot 8 大服务的每日费用汇总(OpenRouter / fal / R2 / Fly / Sentry / Langfuse / OneSignal / Clarity) 来源:~/scripts/ 全局脚本,crontab 每天 10:00
Ads-Bot Google/Meta Ads 投放数据日报:花费、CPC、转化、CAC 来源:每日数据监控管道
GitHub-Bot PR opened / merged / CI failed 等仓库事件 来源:GitHub webhook
Vivi-PM PM 视角通知(产品需求、上线公告) 来源:手动 / Lark workflow
Vivi-Bot / Gus-Bot 技术上线、部署完成、Sentry 告警等技术性消息 来源:Softie 项目组群(chat_id oc_d200...4ef6
Study-Bot 学习/技能分享通知,全局可用(不限 Softie) 来源:手动 / 周期分享
Softie-Auto 每日数据报告完整版(Clarity 漏斗、PostHog 关键事件、DB 指标) 来源:daily-data-monitor.yml,10:30 BJT

Lark 卡片格式规范(CLAUDE.md 全局规则)

向 Lark 群推送必须用 interactive 卡片,禁止纯文本/post:

每日数据监控管道 v2

2026-04-07 参考 Vivi DailyLoop 重构。架构:

  1. Clarity:5 路并行拉录屏摘要 + 漏斗
  2. PostHog:16 个关键事件的漏斗(注册 → 选角色 → 发首条 → 看 paywall → 付款)
  3. Meta Ads:花费 + 触达 + 转化(API v24)
  4. DB 指标:DAU、新用户、付费用户数、Sparks 流转
  5. 需求引擎:基于异常波动生成 REQ-* 结构化需求条目
  6. 输出:写到 Bitable(每日数据看板)+ Lark 卡片(Softie-Auto 群)+ AI 建议
HogQL 参数化陷阱:某些 PostHog deployment 上 {event:String} 参数化语法报错。已改用白名单校验 + inline。改 HogQL 前先在该 deployment 试。

关键告警阈值

告警阈值动作
支付转化率15 分钟窗口跌破基线Pay-Bot 卡片 + Sentry alert
BullMQ waiting>200(warn)/ >1000(critical)每日 08:00 BJT 检查 + Lark
BullMQ failed>50(warn)/ >200(critical)每日 08:00 BJT 检查 + Lark
OpenRouter 余额< $50Cost-Bot 提醒充值
Fly 机器健康any not passingSentry uptime alert
关键 endpoint 200非 2xxstatus-monitor.yml 推 Lark

「上线后 5 分钟」规范

CLAUDE.md 全局要求:上线后 5 分钟内自动 curl 关键 endpoint,验证 200 + 关键 payload 字段在位。status-monitor.yml 负责跑这个;新关键路径上线时记得加进去。

查问题速查表

用户报错 / 现象第一站
"页面白屏"、"按钮没反应"Sentry → 浏览器端 issues
"扣费但没解锁"、"支付失败"PostHog 事件链 + 看 orders 表 + Pay-Bot 群历史
"AI 回复很慢 / 没回复"Langfuse trace + Sentry 服务端 issues
"我点不通某个 flow"Clarity 录屏看用户实际操作
"昨天的推送没收到"worker logs (fly logs -a softieweb -i worker) + 队列深度
"成本突涨"Cost-Bot 历史 + Langfuse 按 model 分组
"DAU 突降"每日数据监控管道当天报告 + Bitable

禁忌

← 上一篇
03 · 部署与 CI/CD