第 15 章 设置分布式追踪
分布式追踪允许您跟踪分布式系统中应用程序之间的事务进度。在微服务架构中,跟踪服务间的事务进度。跟踪数据可用于监控应用程序性能和调查目标系统和最终用户应用程序的问题。
在 AMQ Streams 中,追踪有助于对消息的端到端跟踪:从源系统到 Kafka,然后从 Kafka 到目标系统和应用程序。它补充了在 JMX 指标、组件日志记录器中可用的指标。
以下 Kafka 组件内置了对追踪的支持:
- Kafka Connect
- MirrorMaker
- MirrorMaker 2.0
- AMQ Streams Kafka Bridge
Kafka 代理不支持追踪。
您可以在组件的属性文件中添加追踪配置。
要启用追踪,您可以设置环境变量并将追踪系统库添加到 Kafka classpath 中。对于 Jaeger 追踪,您可以为以下系统添加追踪工件:
- OpenTelemetry 与 Jaeger Exporter
- 使用 Jaeger 的 OpenTracing
对 OpenTracing 的支持已弃用。Jaeger 客户端现已停用,OpenTracing 项目存档。因此,我们不能保证其对将来的 Kafka 版本的支持。
要在 Kafka producer、消费者和 Kafka Streams API 应用程序中启用追踪,您可以 检测 应用程序代码。在检测程序时,客户端会生成 trace 数据;例如,当生成消息或向日志写入偏移时。
为 AMQ Streams 以外的应用程序和系统设置追踪不在此内容范围内。
15.1. 流程概述
要为 AMQ Streams 设置追踪,请按照以下步骤执行:
- 为 MirrorMaker、MirrorMaker 2.0 和 Kafka Connect 设置追踪: 
- 为客户端设置追踪: 
- 使用 tracers 检测客户端: 
有关为 Kafka Bridge 启用追踪的详情,请参考 使用 AMQ Streams Kafka Bridge。