在 5 分钟内对生产环境新事件进行分级
何时使用: PagerDuty 刚把你叫醒。Sentry 显示错误数量激增。你需要快速知道发生了什么、为什么发生,以及是否需要回滚。
前置条件
- Sentry 组织 slug + 项目 slug — 查看任何 Sentry URL:sentry.io/organizations/<ORG>/issues/?project=<ID>
- 具有
event:read和project:read权限的 Sentry 用户认证 token — sentry.io/settings/account/api/auth-tokens/
步骤
-
找到过去一小时内排名最靠前的新问题我们
web-prod项目在过去一小时内排名最靠前的新问题是什么?按事件数量排序。✓ 已复制→ 单个问题,包含标题、事件数量、受影响用户、首次出现的时间戳 -
获取最新事件的完整堆栈跟踪 + 面包屑获取该问题的最新事件。展示堆栈跟踪、发布版本和崩溃前的最后 5 条面包屑。✓ 已复制→ 触发错误的函数的文件:行号 + 错误前用户操作的顺序
-
确定引入问题的发布版本这个问题是在首次出现时的同一个发布版本中首次看到的,还是从之前的版本遗留下来的?比较发布版本标签。✓ 已复制→ 是/否,并提供置信度——驱动回滚决策
结果: 一个 3 行的事件摘要,可以粘贴到 Slack:什么坏了、谁受影响了、哪个发布版本导致了它、推荐操作。
注意事项
- 如果你的发布版本标签没有接上,你就无法分辨哪次部署引入了这个 bug — 在依赖此功能前,在 CI 中设置
sentry-cli releases——没有它,你只能猜测 - 堆栈跟踪是压缩后的 JS,无法读取 — 验证 sourcemap 已上传——
sentry-cli sourcemaps upload应该在你的构建流水线中