搜索

3.3. 配置分布式追踪

download PDF

启用分布式追踪,追踪 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 客户端中配置追踪。

小心

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

流程

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

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

    启用 OpenTelemetry 的配置示例

    bridge.tracing=opentelemetry 1

    1
    启用 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。
  4. 使用启用用于追踪的属性运行 Kafka Bridge 脚本。

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

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

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

3.3.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

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

3.3.2. 支持的 Span 属性

除了标准的 OpenTelemetry 属性外,Kafka Bridge 还添加了以下属性,用于 HTTP 的 OpenTelemetry 标准惯例 到其 span。

属性键

属性值

peer.service

硬编码为 kafka

http.request.method

用于发出请求的 http 方法

url.scheme

URI 方案 组件

url.path

URI 路径组件

url.query

URI 查询 组件

messaging.destination.name

生成或读取的 Kafka 主题的名称

messaging.system

硬编码为 kafka

http.response.status_code

OK 用于 200 到 300 之间的 http 响应。所有其他状态代码 的错误

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.