9.4. 为 MirrorMaker、Kafka Connect 和 Kafka Bridge 设置追踪


MirrorMaker、MirrorMaker 2.0、Kafka Connect 和 AMQ Streams Kafka Bridge 支持分布式追踪。

MirrorMaker 和 MirrorMaker 2.0 中的追踪

对于 MirrorMaker 和 MirrorMaker 2.0,信息会根据源集群追踪到目标集群。trace 数据记录输入并离开 MirrorMaker 或 MirrorMaker 2.0 组件的消息。

Kafka Connect 中的追踪

只有 Kafka Connect 本身生成和使用的消息才会被追踪。要跟踪 Kafka Connect 和外部系统之间发送的消息,您必须在连接器中配置这些系统的追踪。更多信息请参阅 第 2.3.1 节 “配置 Kafka 连接”

在 Kafka Bridge 中的追踪

Kafka Bridge 生成并消耗的消息会被追踪。另外还会跟踪来自客户端应用程序来发送和接收通过 Kafka Bridge 的信息的 HTTP 请求。要具有端到端追踪,您必须在 HTTP 客户端中配置追踪。

更新 KafkaMirrorMakerKafkaMirrorMaker2KafkaConnectKafkaBridge 自定义资源的配置,为每个资源指定并配置 Jaeger tracer 服务。更新 OpenShift 集群中启用了追踪的资源会触发两个事件:

  • 拦截器类在 MirrorMaker、MirrorMaker 2.0、Kafka Connect 或 AMQ Streams Kafka Bridge 中的集成使用者和生产者更新。
  • 对于 MirrorMaker、MirrorMaker 2.0 和 Kafka Connect,追踪代理根据资源中定义的追踪配置初始化 Jaeger tracer。
  • 对于 Kafka Bridge,基于资源中定义的追踪配置由 Kafka Bridge 本身初始化 Jaeger tracer。

流程

为每个 KafkaMirrorMakerKafkaMirrorMaker2KafkaConnectKafkaBridge 资源执行这些步骤。

  1. spec.template 属性中配置 Jaeger tracer 服务。例如:

    Kafka Connect 的 Jaeger tracer 配置

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaConnect
    metadata:
      name: my-connect-cluster
    spec:
      #...
      template:
        connectContainer: 
    1
    
          env:
            - name: JAEGER_SERVICE_NAME
              value: my-jaeger-service
            - name: JAEGER_AGENT_HOST
              value: jaeger-agent-name
            - name: JAEGER_AGENT_PORT
              value: "6831"
      tracing: 
    2
    
        type: jaeger
      #...
    Copy to Clipboard Toggle word wrap

    MirrorMaker 的 Jaeger tracer 配置

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaMirrorMaker
    metadata:
      name: my-mirror-maker
    spec:
      #...
      template:
        mirrorMakerContainer:
          env:
            - name: JAEGER_SERVICE_NAME
              value: my-jaeger-service
            - name: JAEGER_AGENT_HOST
              value: jaeger-agent-name
            - name: JAEGER_AGENT_PORT
              value: "6831"
      tracing:
        type: jaeger
    #...
    Copy to Clipboard Toggle word wrap

    MirrorMaker 2.0 的 Jaeger tracer 配置

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaMirrorMaker2
    metadata:
      name: my-mm2-cluster
    spec:
      #...
      template:
        connectContainer:
          env:
            - name: JAEGER_SERVICE_NAME
              value: my-jaeger-service
            - name: JAEGER_AGENT_HOST
              value: jaeger-agent-name
            - name: JAEGER_AGENT_PORT
              value: "6831"
      tracing:
        type: jaeger
    #...
    Copy to Clipboard Toggle word wrap

    Kafka Bridge 的 Jaeger tracer 配置

    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaBridge
    metadata:
      name: my-bridge
    spec:
      #...
      template:
        bridgeContainer:
          env:
            - name: JAEGER_SERVICE_NAME
              value: my-jaeger-service
            - name: JAEGER_AGENT_HOST
              value: jaeger-agent-name
            - name: JAEGER_AGENT_PORT
              value: "6831"
      tracing:
        type: jaeger
    #...
    Copy to Clipboard Toggle word wrap

    1
    使用 追踪环境变量 作为模板配置属性。
    2
    spec.tracing.type 属性设为 jaeger
  2. 创建或更新资源:

    oc apply -f your-file
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat