首页 > 解决方案 > Nginx:如何生成 X-B3-SpanId 16 个随机字节用于跟踪

问题描述

我正在尝试从 nginx 生成 zipkin 跟踪 ID,以便能够从 nginx 跟踪到应用程序。为此,我想了解如何生成 16 个随机字节用于 X-B3-SpanId,因为 $request_id 生成 32 个字节(可用于 X-B3-TraceId)。

标签: nginxtracezipkinopentracing

解决方案


仅供参考,这在生成虚拟 X-B3-SpanId 后起作用;只要 X-B3-TraceId 是唯一的,它就可以工作。

例如

map $http_x_b3_traceid $_request_id {
    default   $http_x_b3_traceid;
    ""        $request_id;
}
map $http_x_b3_spanid $_span_id {
    default   $http_x_b3_spanid;
    ""        "1111111111111111";
}

推荐阅读