13.3. 为 MirrorMaker 和 Kafka Connect 设置追踪


本节论述了如何为分布式追踪配置 MirrorMaker、MirrorMaker 2.0 和 Kafka Connect。

您必须为每个组件启用 Jaeger tracer。

13.3.1. 为 MirrorMaker 启用追踪

通过将 Interceptor 属性作为消费者和制作者配置参数传递,为 MirrorMaker 启用分布式追踪。

消息从源集群追踪到目标集群。跟踪数据记录消息进入和离开 MirrorMaker 组件。

流程

  1. 配置并启用 Jaeger tracer。
  2. 编辑 /opt/kafka/config/consumer.properties 文件。

    添加以下 Interceptor 属性:

    consumer.interceptor.classes=io.opentracing.contrib.kafka.TracingConsumerInterceptor
    Copy to Clipboard Toggle word wrap
  3. 编辑 /opt/kafka/config/producer.properties 文件。

    添加以下 Interceptor 属性:

    producer.interceptor.classes=io.opentracing.contrib.kafka.TracingProducerInterceptor
    Copy to Clipboard Toggle word wrap
  4. 使用消费者和制作者配置文件作为参数启动 MirrorMaker:

    su - kafka
    /opt/kafka/bin/kafka-mirror-maker.sh --consumer.config /opt/kafka/config/consumer.properties --producer.config /opt/kafka/config/producer.properties --num.streams=2
    Copy to Clipboard Toggle word wrap

13.3.2. 为 MirrorMaker 2.0 启用追踪

通过在 MirrorMaker 2.0 属性文件中定义 Interceptor 属性,为 MirrorMaker 2.0 启用分布式追踪。

信息在 Kafka 集群之间追踪。trace 数据记录进入和离开 MirrorMaker 2.0 组件的消息。

流程

  1. 配置并启用 Jaeger tracer。
  2. 编辑 MirrorMaker 2.0 配置文件 ./config/connect-mirror-maker.properties,并添加以下属性:

    header.converter=org.apache.kafka.connect.converters.ByteArrayConverter 
    1
    
    consumer.interceptor.classes=io.opentracing.contrib.kafka.TracingConsumerInterceptor 
    2
    
    producer.interceptor.classes=io.opentracing.contrib.kafka.TracingProducerInterceptor
    Copy to Clipboard Toggle word wrap
    1
    防止 Kafka Connect 将消息标头(包含 trace ID)转换为 base64 编码。这样可确保在源和目标集群中消息都相同。
    2
    为 MirrorMaker 2.0 启用 Interceptors。
  3. 使用 第 8.7 节 “使用 MirrorMaker 2.0 在 Kafka 集群间同步数据” 中的说明启动 MirrorMaker 2.0。

13.3.3. 为 Kafka Connect 启用追踪

使用配置属性为 Kafka Connect 启用分布式追踪。

只有 Kafka Connect 本身生成和使用的消息才会被 traced。要跟踪 Kafka Connect 和外部系统之间发送的消息,您必须在连接器中为这些系统配置追踪。

流程

  1. 配置并启用 Jaeger tracer。
  2. 编辑相关的 Kafka Connect 配置文件。

    • 如果您以独立模式运行 Kafka 连接,请编辑 /opt/kafka/config/connect-standalone.properties 文件。
    • 如果您以分布式模式运行 Kafka Connect,请编辑 /opt/kafka/config/connect-distributed.properties 文件。
  3. 在配置文件中添加以下属性:

    producer.interceptor.classes=io.opentracing.contrib.kafka.TracingProducerInterceptor
    consumer.interceptor.classes=io.opentracing.contrib.kafka.TracingConsumerInterceptor
    Copy to Clipboard Toggle word wrap
  4. 保存配置文件。
  5. 设置追踪环境变量,然后在独立或分布式模式下运行 Kafka Connect。

Kafka Connect 的内部使用者和制作者中的 Interceptors 现在被启用。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat