15.5. 为 MirrorMaker 2.0 启用追踪
通过在 MirrorMaker 2.0 属性中定义 Interceptor 属性,为 MirrorMaker 2.0 属性启用分布式追踪。在 Kafka 集群间追踪信息。trace 数据记录输入和离开 MirrorMaker 2.0 组件的消息。
您可以启用使用 OpenTelemetry 或 OpenTracing 的追踪。
流程
-
在
opt/kafka/libs目录中添加追踪工件。 在
opt/kafka/config/connect-mirror-maker.properties文件中配置制作者和消费者追踪。在配置文件中添加以下追踪拦截器属性:
OpenTelemetry 的属性
header.converter=org.apache.kafka.connect.converters.ByteArrayConverter producer.interceptor.classes=io.opentelemetry.instrumentation.kafkaclients.TracingProducerInterceptor consumer.interceptor.classes=io.opentelemetry.instrumentation.kafkaclients.TracingConsumerInterceptor
header.converter=org.apache.kafka.connect.converters.ByteArrayConverter producer.interceptor.classes=io.opentelemetry.instrumentation.kafkaclients.TracingProducerInterceptor consumer.interceptor.classes=io.opentelemetry.instrumentation.kafkaclients.TracingConsumerInterceptorCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenTracing 的属性
header.converter=org.apache.kafka.connect.converters.ByteArrayConverter producer.interceptor.classes=io.opentracing.contrib.kafka.TracingProducerInterceptor consumer.interceptor.classes=io.opentracing.contrib.kafka.TracingConsumerInterceptor
header.converter=org.apache.kafka.connect.converters.ByteArrayConverter producer.interceptor.classes=io.opentracing.contrib.kafka.TracingProducerInterceptor consumer.interceptor.classes=io.opentracing.contrib.kafka.TracingConsumerInterceptorCopy to Clipboard Copied! Toggle word wrap Toggle overflow ByteArrayConverter会阻止 Kafka Connect 将消息标头(包含追踪 ID)转换为 base64 编码。这样可确保信息在源和目标集群中都是相同的。启用追踪后,您可以在运行 Kafka MirrorMaker 2.0 脚本时初始化追踪。
- 保存配置文件。
- 设置 用于追踪的环境变量。
使用制作者和消费者配置文件作为参数启动 MirrorMaker 2.0:
su - kafka /opt/kafka/bin/connect-mirror-maker.sh \ /opt/kafka/config/connect-mirror-maker.properties
su - kafka /opt/kafka/bin/connect-mirror-maker.sh \ /opt/kafka/config/connect-mirror-maker.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,为追踪启用 MirrorMaker 2.0 的内部使用者和制作者。