标准答案
- 日志记录离散事件和上下文,例如错误码、业务 ID、状态变化和异常原因,适合钻取单次问题。
- 指标以聚合时间序列展示吞吐、错误、延迟、资源饱和度和业务结果,适合趋势判断和自动告警。
- 链路追踪把同一请求跨服务、数据库和消息组件的耗时与调用关系串起来,适合识别慢点和失败传播。
- 三者要共享 Trace ID、服务版本、环境和业务维度,才能从告警快速关联到具体请求和日志。
题目解析
只有日志时,很难及时发现趋势;只有指标时,很难知道是哪条请求和参数导致问题;只有追踪时,又可能缺少详细业务状态和全局容量信号。
可观测性设计应从要回答的问题出发,而不是先堆采集工具。每个字段和指标都要能支持一次判断或动作。
常见误区
- 把完整请求体和敏感信息写进日志,增加泄露风险。
- 只监控平均延迟,忽略 P95、P99 和错误分布。
- 链路没有统一上下文,跨服务时 Trace 被断开。