3.3. 配置分布式追踪
启用分布式追踪,追踪 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。
先决条件
流程
编辑 Kafka Bridge 安装存档提供的
application.properties
文件。使用
bridge.tracing
属性启用您要使用的追踪。启用 OpenTelemetry 的配置示例
bridge.tracing=opentelemetry 1
- 1
- 启用 OpenTelemetry 的属性通过在行开头删除
#
来取消。
启用追踪后,您可以在运行 Kafka Bridge 脚本时初始化追踪。
- 保存配置文件。
设置用于追踪的环境变量。
OpenTelemetry 的环境变量
OTEL_SERVICE_NAME=my-tracing-service 1 OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 2
使用启用用于追踪的属性运行 Kafka Bridge 脚本。
在启用了 OpenTelemetry 的情况下运行 Kafka Bridge
./bin/kafka_bridge_run.sh --config-file=<path>/application.properties
现在,启用了 Kafka Bridge 的内部使用者和制作者。
3.3.1. 使用 OpenTelemetry 指定追踪系统
您可以指定 OpenTelemetry 支持的其他追踪系统,而不是默认的 OTLP 追踪系统。
如果要在 OpenTelemetry 中使用另一个追踪系统,请执行以下操作:
3.3.2. 支持的 Span 属性
除了标准的 OpenTelemetry 属性外,Kafka Bridge 还添加了以下属性,用于 HTTP 的 OpenTelemetry 标准惯例 到其 span。
属性键 | 属性值 |
|
硬编码为 |
| 用于发出请求的 http 方法 |
| URI 方案 组件 |
| |
| URI 查询 组件 |
| 生成或读取的 Kafka 主题的名称 |
|
硬编码为 |
|
|
其他资源