Jaeger Collector是Jaeger分布式追踪系统的核心组件,用于接收来自SDK的追踪数据并将其标准化、处理后发送到指定的存储系统,实现追踪数据的集中收集与持久化。
收藏数: 24
下载次数: 157478854
类型:

jaegertracing/jaeger-collectorJaeger Collector是Jaeger分布式追踪系统的关键组件,负责接收来自应用程序SDK(如Jaeger Client)发送的追踪数据(跨度Span),对数据进行验证、标准化和聚合处理后,将其持久化到后端存储系统(如Elasticsearch、Cassandra、Kafka等)。该镜像提供了开箱即用的Collector服务,支持云原生环境部署,是构建分布式系统可观测性的重要工具。
bashdocker run -d \ --name jaeger-collector \ -p ***:***/tcp \ # gRPC接收端口 -p ***:***/tcp \ # HTTP接收端口 -e SPAN_STORAGE_TYPE=elasticsearch \ # 指定存储类型 -e ES_SERVER_URLS=[***] \ # Elasticsearch服务地址 jaegertracing/jaeger-collector:latest
| 环境变量 | 描述 | 示例值 | 必填 |
|---|---|---|---|
SPAN_STORAGE_TYPE | 指定后端存储类型 | elasticsearch、cassandra、kafka | 是 |
ES_SERVER_URLS | Elasticsearch服务地址(当SPAN_STORAGE_TYPE=elasticsearch时) | [***] | 否(依存储类型而定) |
CASSANDRA_SERVERS | Cassandra服务地址(当SPAN_STORAGE_TYPE=cassandra时) | cassandra-node1:9042,cassandra-node2:9042 | 否(依存储类型而定) |
KAFKA_BROKERS | Kafka broker地址(当SPAN_STORAGE_TYPE=kafka时) | kafka-node1:9092,kafka-node2:9092 | 否(依存储类型而定) |
COLLECTOR_HTTP_PORT | HTTP接收端口 | *** | 否(默认***) |
COLLECTOR_GRPC_PORT | gRPC接收端口 | *** | 否(默认***) |
LOG_LEVEL | 日志级别 | debug、info、warn、error | 否(默认info) |
如需更复杂的配置(如采样策略、数据处理规则等),可通过挂载配置文件进行自定义:
bashdocker run -d \ --name jaeger-collector \ -p ***:*** \ -p ***:*** \ -v /path/to/collector-config.yaml:/etc/jaeger/collector-config.yaml \ jaegertracing/jaeger-collector:latest \ --config-file=/etc/jaeger/collector-config.yaml
配置文件示例(collector-config.yaml):
yamlreceivers: jaeger: protocols: grpc: endpoint: 0.0.0.0:*** thrift_http: endpoint: 0.0.0.0:*** processors: batch: timeout: 5s send_batch_size: 1000 exporters: elasticsearch: endpoints: ["[***]"] index: jaeger-span-%{date:yyyy-MM-dd} service: pipelines: traces: receivers: [jaeger] processors: [batch] exporters: [elasticsearch]
以下示例展示如何使用docker-compose部署Jaeger Collector与Elasticsearch存储后端:
yamlversion: '3.8' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.17.0 environment: - discovery.type=single-node - ES_JAVA_OPTS=-Xms512m -Xmx512m ports: - "9200:9200" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9200/_cluster/health"] interval: 10s timeout: 10s retries: 5 jaeger-collector: image: jaegertracing/jaeger-collector:latest depends_on: elasticsearch: condition: service_healthy environment: - SPAN_STORAGE_TYPE=elasticsearch - ES_SERVER_URLS=[***] - LOG_LEVEL=info ports: - "***:***" # gRPC接收端口 - "***:***" # HTTP接收端口 - "***:***" # 健康检查端口 restart: unless-stopped
启动命令:docker-compose up -d
以下是 jaegertracing/jaeger-collector 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。






manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务