如何将 OpenTelemetry MDC 日志与追踪无缝融合?

2026-04-27 21:590阅读0评论建站教程
  • 内容介绍
  • 文章标签
  • 相关推荐
日志与追踪的完美融合:OpenTelemetry MDC 实践指南

文章浏览阅读1.8k次,点赞19次,收藏18次。

前言:这玩意儿,真让人头大!

前言在前面两篇实战文章中:OpenTelemetry 实战:从零实现分布式链路追踪OpenTelemetry 实战:从零实现应用指标监控覆盖了可观测中的指标追踪和 metrics 监控,下面理应开始第三部分:日志。但在开始日志之前还是要先将链路追踪和日志结合起来堪堪应用实际使用的实践。通常我们排查问题的方式是先查询异常日志,判断是否是当前系统的问题。如guo不是,则在日志中捞出 trace_id 再到链路查询系统中查询链路, 堪堪具体是哪个系统的问题,染后再Zuo具体的排查,别犹豫...。

类似于这样:


{
  "timestamp" : "2024-08-05 17:27:31.097",
  "level" : "INFO",
  "thread" : "http-nio-9191-exec-1",
  "mdc" : {
    "trace_id" : "26242f945af80b044a60226af00211fb",
    "trace_flags" : "01",
    "span_id" : "3a7842b3e28ed5c8"
  },
  "logger" : "",
  "message" : "request: name: \"1232\"",
  "context" : "default"
}

这里的日志里关联 trace 信息的Zuo法有个专有名词:MDC:。简单来说就是用于排查问题的上下文信息,通常是由键值对组成,整一个...。

什么是MDC? 我者阝快忘了…

MDC就像一个神秘的宝箱,里面装着各种各样的上下文信息。你可依往里面放仁和你想放的东西,比如用户ID、请求ID、甚至是一杯咖啡的名字。关键在于,这些信息会在整个应用程序中传递下去,方便你在日志中找到问题的根源。

阅读全文
日志与追踪的完美融合:OpenTelemetry MDC 实践指南

文章浏览阅读1.8k次,点赞19次,收藏18次。

前言:这玩意儿,真让人头大!

前言在前面两篇实战文章中:OpenTelemetry 实战:从零实现分布式链路追踪OpenTelemetry 实战:从零实现应用指标监控覆盖了可观测中的指标追踪和 metrics 监控,下面理应开始第三部分:日志。但在开始日志之前还是要先将链路追踪和日志结合起来堪堪应用实际使用的实践。通常我们排查问题的方式是先查询异常日志,判断是否是当前系统的问题。如guo不是,则在日志中捞出 trace_id 再到链路查询系统中查询链路, 堪堪具体是哪个系统的问题,染后再Zuo具体的排查,别犹豫...。

类似于这样:


{
  "timestamp" : "2024-08-05 17:27:31.097",
  "level" : "INFO",
  "thread" : "http-nio-9191-exec-1",
  "mdc" : {
    "trace_id" : "26242f945af80b044a60226af00211fb",
    "trace_flags" : "01",
    "span_id" : "3a7842b3e28ed5c8"
  },
  "logger" : "",
  "message" : "request: name: \"1232\"",
  "context" : "default"
}

这里的日志里关联 trace 信息的Zuo法有个专有名词:MDC:。简单来说就是用于排查问题的上下文信息,通常是由键值对组成,整一个...。

什么是MDC? 我者阝快忘了…

MDC就像一个神秘的宝箱,里面装着各种各样的上下文信息。你可依往里面放仁和你想放的东西,比如用户ID、请求ID、甚至是一杯咖啡的名字。关键在于,这些信息会在整个应用程序中传递下去,方便你在日志中找到问题的根源。

阅读全文