3.2. 配置分布式追踪


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

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

  • 设置 bridge.tracing 属性值,以启用您要使用的追踪。可能的值有 jaegeropentelemetry
  • 设置用于追踪的环境变量。

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

注意

Jaeger 自版本 1.35 起支持 OTLP 协议。旧的 Jaeger 版本无法使用 OTLP 协议获取 trace。

OpenTelemetry 和 OpenTracing 是收集追踪数据的 API 规格,作为指标数据的 spans。span 代表特定的操作。trace 是一个或多个范围的集合。

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

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

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

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

小心

OpenTracing 项目现已存档,因此 AMQ Streams 已被弃用对 OpenTracing 的支持。如果可能,我们将维护对 bridge.tracing=jaeger 追踪的支持,直到 2023 年 6 月后被删除。请尽快迁移到 OpenTelemetry。

流程

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

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

    启用 OpenTelemetry 的示例配置

    #bridge.tracing=jaeger 1
    bridge.tracing=opentelemetry 2

    1
    启用 OpenTracing 的属性(已弃用)。此处保留注释。
    2
    启用 OpenTelemetry 的属性会被取消注释。

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

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

    OpenTelemetry 的环境变量

    OTEL_SERVICE_NAME=my-tracing-service 1
    OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 2

    1
    OpenTelemetry tracer 服务的名称。
    2
    基于 gRPC 的 OTLP 端点,侦听端口 4317。

    OpenTracing 的环境变量

    JAEGER_SERVICE_NAME=my-jaeger-service 1
    JAEGER_AGENT_HOST=localhost 2
    JAEGER_AGENT_PORT=6831 3

    1
    OpenTracing Jaeger tracer 服务的名称。
    2
    用于与侦听 span 的 Jaeger 代理通信的主机名。
    3
    与 Jaeger 代理通信的端口。端口 6831 由 Jaeger 代理公开。
  4. 使用为追踪启用的属性运行 Kafka Bridge 脚本:

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

    ./bin/kafka_bridge_run.sh --config-file=<path>/application.properties

    Kafka Bridge 的内部消费者和制作者现在已启用用于追踪。

3.2.1. 使用 OpenTelemetry 指定追踪系统

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

如果要将另一个追踪系统与 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

    1
    追踪系统的名称。在本例中,指定了 Zipkin。
    2
    侦听 span 的特定 exporter 的端点。在本例中,指定了 Zipkin 端点。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.