首页 > 解决方案 > 如何配置 Jaeger 代理以将跟踪信息发送到另一台服务器上的收集器

问题描述

我正在尝试使用 Jaeger 来管理跟踪系统。Docker 与应用程序(在同一主机上)在本地运行“一体化”映像,没有任何问题。我的问题是如何在 host1 上配置 jaeger 代理,它将在另一个 host2 上发送跟踪 jaeger 收集器。Host2 配置为“一体机”。我可以在 host2 上看到 Jaeger UI,但似乎没有从 host1 获得任何痕迹。

配置跟踪器:

var configuration = new Configuration("service-name")
    .withSampler(Configuration.SamplerConfiguration.fromEnv())
    .withReporter(Configuration.ReporterConfiguration.fromEnv());
GlobalTracer.registerIfAbsent(configuration.getTracer());
return openTracer;

在 host1 的 yaml 文件中添加环境变量:

-e JAEGER_AGENT_HOST=jaeger.hostname.com \
-e JAEGER_AGENT_PORT=6831 \

在 host2 的 yaml 文件中添加了 jaeger 图像:

$ docker run -d --name jaeger \
  -p 5775:5775/udp \
  -p 6831:6831/udp \
  -p 6832:6832/udp \
  -p 5778:5778 \
  -p 16686:16686 \
  -p 14268:14268 \
  -p 9411:9411 \
  jaegertracing/all-in-one:latest

任何建议将不胜感激。

标签: jaegeropentracing

解决方案


就我而言。主机2

version: '2'

services:
    hotrod:
      image: jaegertracing/example-hotrod:1.28
      ports:
        - '8080:8080'
        - '8083:8083'
      command: ["-m","prometheus","all"]
      environment:
        - JAEGER_AGENT_HOST=jaeger-agent
        - JAEGER_AGENT_PORT=6831
        - JAEGER_SAMPLER_TYPE=remote
        - JAEGER_SAMPLING_ENDPOINT=http://jaeger-agent:5778/sampling
      depends_on:
        - jaeger-agent

    jaeger-collector:
      image: jaegertracing/jaeger-collector:1.28
      command: 
        - "--cassandra.keyspace=jaeger_v1_dc1"
        - "--cassandra.servers=cassandra"
        - "--collector.zipkin.host-port=9411"
        - "--sampling.initial-sampling-probability=.5"
        - "--sampling.target-samples-per-second=.01"
      environment: 
        - SAMPLING_CONFIG_TYPE=adaptive
      ports:
        - "14269:14269"
        - "14268:14268"
        - "14250:14250"
        - "9411:9411"
      restart: on-failure
      depends_on:
        - cassandra-schema

    jaeger-query:
      image: jaegertracing/jaeger-query:1.28
      command: ["--cassandra.keyspace=jaeger_v1_dc1", "--cassandra.servers=cassandra"]
      ports:
        - "16686:16686"
        - "16687"
      restart: on-failure
      depends_on:
        - cassandra-schema

    jaeger-agent:
      image: jaegertracing/jaeger-agent:1.28
      command: ["--reporter.grpc.host-port=jaeger-collector:14250"]
      ports:
        - "5775:5775/udp"
        - "6831:6831/udp"
        - "6832:6832/udp"
        - "5778:5778"
      restart: on-failure
      depends_on:
        - jaeger-collector

    cassandra:
      image: cassandra:4.0

    cassandra-schema:
      image: jaegertracing/jaeger-cassandra-schema:1.28
      depends_on:
        - cassandra

主机 1 是

version: '2'

services:
    jaeger-agent:
      image: jaegertracing/jaeger-agent:1.28
      command: ["--reporter.grpc.host-port=host2:14250"]
      ports:
        - "5775:5775/udp"
        - "6831:6831/udp"
        - "6832:6832/udp"
        - "5778:5778"
      restart: on-failure

这对我来说很有效


推荐阅读