运行与发布
Logs、Metrics 与可观测排障
用请求 ID、Workers Logs、Metrics 和结构化错误建立从症状到证据的排障闭环。
编辑与核验:橙宝书编辑团队 ·
OPERATIONS进阶22 分钟最后核验:2026-08-26
目标不是多打日志
目标是让一次失败能由请求 ID 串起入口、关键分支、下游与最终状态,同时不记录 Secret 和敏感正文。
最小事件模型
const requestId = request.headers.get('cf-ray') ?? crypto.randomUUID();
console.log(JSON.stringify({
event: 'request_complete',
requestId,
route: new URL(request.url).pathname,
status: 200,
}));只记录稳定字段。URL query、Authorization、Cookie、表单正文和模型 Prompt 默认不进日志;需要时先做字段级脱敏和保留期评审。
三层证据
| 层 | 回答 | 示例 |
|---|---|---|
| Logs | 这次请求经历了什么 | 分支、错误类、下游状态 |
| Metrics | 问题有多大、何时开始 | 请求、错误、CPU、延迟分布 |
| Trace/关联 ID | 跨组件如何串联 | Ray ID、自建 requestId |
故障演练
制造可控错误
只在本地或预览环境让一个测试路由返回 503,不在生产制造未知副作用。
从指标发现
确认错误率变化,再用时间范围和 Worker 版本缩小范围。
从日志定位
使用 requestId 找到路径与错误类别。客户端返回稳定错误码,不回显堆栈、SQL 或上游凭据。
关闭演练并复测
删除测试开关,验证成功路径与错误指标恢复;把操作写进 Runbook。
官方来源
这篇内容帮你完成目标了吗?
内测反馈只在当前浏览器生成,不会自动上传。