先日志
日志回答谁与什么,是任何事故的第一问。用结构化 logger 替换 console.log,每行 emit 请求 id、用户 id 与动作。无请求 id 的日志无法关联。
log.info({ reqId, userId, action: 'checkout' }, 'checkout started');
再指标再追踪
加 RED 指标使仪表盘显示速率、错误与延迟。加追踪使慢请求显示耗时 span。追踪最后加,因其最贵且首遍最少用到。
接运行手册
无可观测性运行手册的观测只是噪声。写一条从告警到日志到追踪到修复的路径,on-call 在压力下可循。手册才让信号有用。
验证
日志行含请求 id,仪表盘显示 RED,追踪含 span,运行手册路径端到端可用。生产按 1% 采样追踪、staging 100% 以控成本。日志先于指标,因其回答事故第一问。