日志系统
日志(Logging)是可观测性三大支柱中最「原始」的数据形式——它是人类可读的事件记录,每个日志条目描述的是系统在某个时刻发生的一件事情。日志的价值在于其细节丰富度:它可以记录任何上下文信息,包括错误堆栈、请求参数、用户操作序列等,这些都是指标和链路追踪难以完整表达的。
但日志的「原始」也带来了挑战:数量庞大、格式不一、质量参差。传统日志管理靠「grep 大法」,在单机时代勉强够用;但在分布式系统中,日志分散在数百台机器上,这种方式已经完全失效。现代日志系统的核心目标,就是将散落在各处的日志汇聚起来,提供统一的检索和分析能力。
日志 vs 指标 vs 链路
三者各有侧重,互补而非替代。日志擅长记录离散事件和详细上下文,适合排查「某次请求为什么失败」这类问题;指标擅长表达聚合后的数值状态,适合监控「系统整体健康度」;链路追踪擅长展示请求在服务间的流转路径,适合分析「哪个环节变慢了」。
一个成熟的故障排查流程通常是:指标告警触发发现异常 → 链路追踪缩小问题范围 → 日志提供详细信息定位根因。三者的关联是现代可观测性的核心能力。