Jaeger

You can use the Instana host agent to ingest Jaeger tracing data.

Setup

  1. Install an Instana host agent on the same host as the processes that emit Jaeger traces.
  2. Set the JAEGER_ENDPOINT environment variable to http://localhost:42699/com.instana.plugin.jaeger.trace, assuming that the Jaeger-traced process can connect to the host agent on that IP address and port; this is not a given in some containerized environments, in which case the network setup and the value of the JAEGER_ENDPOINT environment variable must be adjusted accordingly.

Infrastructure correlation

Starting from host agent 1.1.582, Jaeger tracing data that is received by the host agent is correlated with the process that sends them, if the following preconditions are met:

  1. The host agent is running on a Linux system where the following commands are available: lsns, nsenter, and ss.
  2. The process that sends the tracing data is running on the same host as the host agent.
  3. The process that sends the tracing data is not ignored by using the Ignore Processes capability.
  4. Traces are reported directly to the host agent, rather than running over a proxy like the OpenTelemetry Collector. If the tracing data goes over a proxy, the proxy is associated with the traces instead.

The Application Perspective Service dashboard in the Instana UI correctly references any process from which related traces were ingested, including, for example, infrastructure changes that took place for this service.

If any of these described preconditions are not fulfilled, the tracing data is correlated with the host on which the host agent is running.

Known limitations

  • The tracing data that is collected from Jaeger is not correlated with the tracing data that is collected with AutoTrace, resulting in separate traces even if the systems that are traced by Jaeger and Instana AutoTrace, respectively, were directly interacting with one another.

  • Because the Jaeger tracing data does not convey a notion of which process is sending them to the host agent, Instana correlates those traces to the host underpinning the host agent. This prevents the association with the process, and also the container and platform hierarchy (for example, Kubernetes pod, namespace, and cluster).

  • Jaeger has no notion of user monitoring (although this might eventually change with the adoption of W3C TraceContext). As such, beacons that are collected with Instana Website monitoring are not correlated with backend traces that are collected from Jaeger.

  • The host agent supports the collection of Jaeger traces only over HTTP. UDP, which is the protocol used if you configure the JAEGER_AGENT_HOST and JAEGER_AGENT_PORT environment variables, is not supported.