OpenTelemetry 日志记录详解
1. 日志在可观测性中的作用
日志是最早的遥测形式之一,在许多语言中都有原生支持,并且有完善的框架可将其生成为结构化或非结构化事件。不过,OpenTelemetry 日志规范仍在开发的实验阶段,相关概念和示例可能会发生变化。
1.1 日志在可观测性中的角色
在分布式追踪普及之前,应用程序通常使用日志来获取与单个事务相关的高粒度数据,如访问日志、异常和描述服务内部状态的消息。但这种方式存在一些挑战:
- 缺乏预定义结构 :即使可以访问上下文 API,日志也缺乏分布式追踪的预定义结构,可观测性平台难以在没有追踪背景的情况下跨服务和操作关联日志。
- 日志采样困难 :没有追踪上下文,日志采样变得困难且意义不大。在操作失败或持续时间过长时,我们通常希望查看同一事务中其他服务的遥测数据以获得更多调试上下文,但日志事件只能单独考虑,导致组织内很少对日志进行采样,大规模情况下会产生高成本但调试价值低。
在大多数情况下,追踪是比日志更好的信号,用于为可观测性目的对分布式事务中的操作进行检测。但标准的、未采样的访问日志在安全或威胁检测等领域仍然很有用,可视为一种审计日志。不过,这些领域的数据需求与可观测性系统不同,它们更注重数据集的完整性和较低的存储成本,可接受稍长的数据交付延迟或无跨信号关联。对于这些情况,使用更便宜的存储形式或构建更可靠的事件交付管道可能更有价值,OpenTelemetry SDK 和收集器可以帮助标准化日志生产并将其过滤和分发到合适的后端。
1.2 日志的关键用例
日志在可
超级会员免费看
订阅专栏 解锁全文
19

被折叠的 条评论
为什么被折叠?



