- 支持的 Kafka 版本:3.x
Kafka 可以用作 collector 和实际存储之间的中间缓冲区。Jaeger 可以配置为同时充当将链路追踪数据导出到 Kafka 主题的 collector,以及从 Kafka 读取数据并将其写入存储后端的 ingester。
flowchart LR
A(Application) --> C@{ shape: procs, label: "Jaeger
collectors"}
C --> K@{ img: "/img/kafka.png", w: 120, h: 60 }
K --> I@{ shape: procs, label: "Jaeger
ingesters"}
I --> S[(Storage)]
style C fill:#9AEBFE,color:black
style I fill:#9AEBFE,color:black
将数据写入 Kafka 对于构建后处理数据管道特别有用。
flowchart LR
A(Application) --> C@{ shape: procs, label: "Jaeger
collectors"}
C --> K@{ img: "/img/kafka.png", w: 120, h: 60 }
K --> I@{ shape: procs, label: "Jaeger
ingesters"}
I --> S[(Storage)]
K --> P@{ shape: stadium, label: "Post-processing" }
style C fill:#9AEBFE,color:black
style I fill:#9AEBFE,color:black
Kafka 还提供以下来自社区的官方支持资源:
- Docker 容器,用于快速启动单节点
- Bitnami 提供的 Helm chart
- Strimzi Kubernetes Operator
配置
请参阅以下示例配置文件:
- collector:config-kafka-collector.yaml
- ingester:config-kafka-ingester.yaml
Jaeger 使用 opentelemetry-collector-contrib 仓库中的 Kafka exporter 和 receiver。有关配置详细信息,请参阅它们各自的 README。
主题与分区
除非您的 Kafka 集群配置为自动创建主题,否则您需要提前创建主题。您可以参阅 Kafka 快速入门文档了解创建方法。