3.2. 配置分布式追踪


启用分布式追踪,追踪 Kafka Bridge 使用和生成的信息,以及来自客户端应用程序的 HTTP 请求。

启用追踪的属性存在于 application.properties 文件中。要启用分布式追踪,请执行以下操作:

  • 设置 bridge.tracing 属性值,以启用您要使用的追踪。唯一可能的值是 opentelemetry
  • 设置环境变量以进行追踪。

使用默认配置时,Open OpenTelemetry tracing 使用 OTLP 作为导出器协议。通过配置 OTLP 端点,您仍然可以使用 Jaeger 后端实例来获取 trace。

注意

从版本 1.35 开始,Jaeger 支持 OTLP 协议。旧的 Jaeger 版本无法使用 OTLP 协议获得 trace。

OpenTelemetry 定义了一个 API 规格,用于收集追踪数据 指标数据。span 代表特定的操作。trace 是一个或多个范围的集合。

当 Kafka Bridge 执行以下操作时,会生成 trace:

  • 将信息从 Kafka 发送到消费者 HTTP 客户端
  • 从生成者 HTTP 客户端接收发送到 Kafka 的信息

Jaeger 实现所需的 API,并在其用户界面中显示 trace 数据的视觉化,以便进行分析。

要进行端到端追踪,您必须在 HTTP 客户端中配置追踪。

Important

AMQ Streams 不再支持 OpenTracing。如果您之前将 OpenTracing 与 bridge.tracing=jaeger 选项搭配使用,我们建议您改为使用 OpenTelemetry。

流程

  1. 编辑 Kafka Bridge 安装存档提供的 application.properties 文件。

    使用 bridge.tracing 属性启用您要使用的追踪。

    启用 OpenTelemetry 的配置示例

    bridge.tracing=opentelemetry 
    1
    Copy to Clipboard Toggle word wrap

    1
    启用 OpenTelemetry 的属性通过在行开头删除 # 来取消。

    启用追踪后,您可以在运行 Kafka Bridge 脚本时初始化追踪。

  2. 保存配置文件。
  3. 设置用于追踪的环境变量。

    OpenTelemetry 的环境变量

    OTEL_SERVICE_NAME=my-tracing-service 
    1
    
    OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 
    2
    Copy to Clipboard Toggle word wrap

    1
    OpenTelemetry tracer 服务的名称。
    2
    基于 gRPC 的 OTLP 端点,侦听端口 4317。
  4. 使用启用用于追踪的属性运行 Kafka Bridge 脚本:

    在启用了 OpenTelemetry 的情况下运行 Kafka Bridge

    ./bin/kafka_bridge_run.sh --config-file=<path>/application.properties
    Copy to Clipboard Toggle word wrap

    现在,启用了 Kafka Bridge 的内部使用者和制作者。

3.2.1. 使用 OpenTelemetry 指定追踪系统

您可以指定 OpenTelemetry 支持的其他追踪系统,而不是默认的 OTLP 追踪系统。

如果要在 OpenTelemetry 中使用另一个追踪系统,请执行以下操作:

  1. 将追踪系统库添加到 Kafka 类路径。
  2. 将追踪系统的名称添加为额外的 exporter 环境变量。

    不使用 OTLP 时的其他环境变量

    OTEL_SERVICE_NAME=my-tracing-service
    OTEL_TRACES_EXPORTER=zipkin 
    1
    
    OTEL_EXPORTER_ZIPKIN_ENDPOINT=http://localhost:9411/api/v2/spans 
    2
    Copy to Clipboard Toggle word wrap

    1
    追踪系统的名称。在本例中,指定了 Zipkin。
    2
    侦听 span 的特定所选导出器的端点。在本例中,指定了 Zipkin 端点。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat