9.2. 为 Kafka 客户端设置追踪


初始化 Jaeger tracer,以检测您的客户端应用程序以进行分布式追踪。

9.2.1. 为 Kafka 客户端初始化 Jaeger tracer

使用一组 追踪环境变量 配置和初始化 Jaeger tracer。

流程

在每个客户端应用程序中:

  1. 将 Jaeger 的 Maven 依赖项添加到客户端应用程序的 pom.xml 文件中:

    <dependency>
        <groupId>io.jaegertracing</groupId>
        <artifactId>jaeger-client</artifactId>
        <version>1.5.0.redhat-00001</version>
    </dependency>
    Copy to Clipboard Toggle word wrap
  2. 使用 追踪环境变量 定义 Jaeger tracer 的配置。
  3. 从您在第两个步骤中定义的环境变量创建 Jaeger tracer:

    Tracer tracer = Configuration.fromEnv().getTracer();
    Copy to Clipboard Toggle word wrap
    注意

    有关初始化 Jaeger tracer 的替代方法,请参阅 Java OpenTracing 库 文档。

  4. 将 Jaeger tracer 注册为全局 tracer:

    GlobalTracer.register(tracer);
    Copy to Clipboard Toggle word wrap

现在,为要使用的客户端应用程序初始化 Jaeger tracer。

9.2.2. 用于追踪的环境变量

在为 Kafka 客户端配置 Jaeger tracer 时使用这些环境变量。

注意

追踪环境变量是 Jaeger 项目的一部分,可能会有所变化。有关最新的环境变量,请参阅 Jaeger 文档

Expand
属性必需Description

JAEGER_SERVICE_NAME

Jaeger tracer 服务的名称。

JAEGER_AGENT_HOST

通过 User Datagram Protocol (UDP)与 jaeger-agent 通信的主机名。

JAEGER_AGENT_PORT

用于通过 UDP 与 jaeger-agent 通信的端口。

JAEGER_ENDPOINT

trace 端点。只有在客户端应用程序将绕过 jaeger-agent 并直接连接到 jaeger-collector 时,才定义此变量。

JAEGER_AUTH_TOKEN

以 bearer 令牌的形式发送到端点的身份验证令牌。

JAEGER_USER

如果使用基本身份验证发送到端点的用户名。

JAEGER_PASSWORD

如果使用基本身份验证发送到端点的密码。

JAEGER_PROPAGATION

用于传播 trace 上下文的以逗号分隔的格式列表。默认为标准 Jaeger 格式。有效值为 jaegerb3w3c

JAEGER_REPORTER_LOG_SPANS

指明报告程序是否还应记录范围。

JAEGER_REPORTER_MAX_QUEUE_SIZE

报告者的最大队列大小。

JAEGER_REPORTER_FLUSH_INTERVAL

报告者的清除间隔,以 ms 为单位。定义 Jaeger reporter flushes span batches 的频率。

JAEGER_SAMPLER_TYPE

用于客户端 trace 的抽样策略:

  • 常数
  • probabilistic
  • 速率限制
  • 远程(默认)

要示例所有 trace,请使用 Constant sampling 策略和参数 1。

如需了解 Jaeger 架构和客户端抽样配置参数概述,请参阅 Jaeger 文档

JAEGER_SAMPLER_PARAM

sampler 参数(数字)。

JAEGER_SAMPLER_MANAGER_HOST_PORT

如果选择了 Remote sampling 策略,要使用的主机名和端口。

JAEGER_TAGS

添加到所有报告的 span 的 tracer 级别标签的逗号分隔列表。

该值也可以使用 ${envVarName:default} 格式来引用环境变量。:default 是可选的,并在找不到环境变量时标识要使用的值。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat