This integration is supported only in Satellite version 2019-08-05_21-29-55Z and later.

If you’re currently using Jaeger for tracing, you can configure the Jaeger agent to send that data directly to Microsatellites with little change. This is a great way to reuse your existing instrumentation architecture either directly in production or to quickly try out Lightstep Observability for the first time.

You should use version 1.11.0 of the Jaeger Agent or later. These versions support secure gRPC.
The minimum acceptable version of the Jaeger agent v1.9.0. This version had experimental support of the gRPC endpoint.

Configure Jaeger to work with Lightstep Observability

To use the Jaeger agent with Lightstep Observability, you need to make the following changes:

  • The Lightstep Jaeger adapter only supports a gRPC endpoint for ingesting Jaeger spans. Set this using the following flag:
    --reporter.grpc.host-port=<grpchost:grpcport>
  • If you’re using a secure endpoint, configure TLS with the following flag:
    --reporter.grpc.tls.enabled=true
  • Microsatellites need your project’s access token to accept the data. The easiest (and recommended) way to do this is to pass the token with the request. You can do this in one of two ways:
    • Launch the Jaeger agent with the flag:
      --jaeger.tags=access_token=<access_token>
    • Set the tag access_token=<access_token> as a part of the configuration when initializing the tracer in the services.

If you only have one project, then you can launch the Microsatellite in a single project mode and not send a project access token. However, if you add a project, the Jaeger integration will not work until you pass in an access token.

  • Set the sampler.param property value to const and the sampler.param value to 1.
  • Ensure your Microsatellite is configured to accept traffic over gRPC.
  • Optional: For your service’s language to appear in the Lightstep Observability UI, set the telemetry.sdk.language tag to the correct language. This will populate the badge next to each service on the Service Directory page, and the language shown on the Reporting Status Dashboard.

If you’re using Public Microsatellites, make sure your tracers use the correct protocol to communicate with the Microsatellites.

Use Jaeger tracers with Lightstep tracers

If you’re using a mix of Jaeger and Lightstep Observability you must use Zipkin’s B3 header propagation.

Limitations:

  • Jaeger’s C++ tracer does not support B3 header propagation.