TABLE OF CONTENTS
Note: The OpenTelemetry support in Instana is in technical preview, and we are hard at work to make OpenTelemetry a first-class citizen with full interoperability with Instana's own AutoTrace technology!
Using our host agent processes as proxy, OpenTelemetry implementations can send tracing data to the Instana agent, which are then sent to the Instana backend for processing.
In the Technical Preview phase, OpenTelemetry ingestion in the host agent is deactivated by default.
To enable the reception of OpenTelemetry data in the host agent, add the following snippet to your host agent's
com.instana.plugin.opentelemetry: enabled: true
After activating the configuration above, the host agent will activate on port
55680 (the default gRPC port) an ingestor for OpenTelemetry's default
- Correlate OpenTelemetry traces that use the default W3C Trace Context exporter over HTTP communication from Instana-monitored applications to OpenTelemetry monitored ones.
- Some support for the trace data semantics conventions.
Starting with host agent version
otlp tracing data received by the host agent are correlated with the process sending them, provided that:
- the host agent is running on a Linux system with the following commands available:
- the process sending the tracing data is running on the same host as the host agent;
- the process sending the tracing data is not ignored using the Ignore Processes capability;
- report traces directly to the host agent, rather than running over a proxy like the OpenTelemetry Collector; if the tracing data go over a proxy, the proxy will be associated with the traces instead.
The Application Perspective Service dashboard will correctly reference any process from which related traces were ingested, including for example infra changes that took place for this service.
If any of the preconditions above is not fulfilled, the tracing data will be correlated with the host on which the host agent is running.
Note: The optional Instana Agent Service provided on Kubernetes via the Instana Agent Helm Chart is very useful in combination with the OpenTelemetry support, as it ensures that the data is pushed to the Instana Agent running on the same Kubernetes node, ensuring the Instana Agent can correctly fill in the infrastructure correlation data.
- No trace continuity with protocols other than HTTP; there is currently no common specification in the industry for propagating trace contexts with protocols other than HTTP, that is, there is no non-HTTP equivalent to W3C Trace Context.
linksare not supported.
- Collection of OpenTelemetry metrics is not supported; the host agent will show some benign exceptions if it receives OpenTelemetry metrics data.
- Collection of OpenTelemetry logs is not supported; the host agent will show some benign exceptions if it receives OpenTelemetry logs data.
- Mixing the default context propagator with exporters other than
otlpis not supported.
OpenTelemetry supports exporters others than its native
Jaeger, as well as matching context-propagators.
When using Jaeger or Zipkin exporters, the host agent will be able to ingest the data and process them the same as with other Zipkin and Jaeger implementations; refer to the Zipkin documentation and Jaeger documentation, respectively.
TLS encryption can be enabled on the Agent, so that all data send to the OpenTelemetry ingestion endpoint is TLS encrypted as well. See Enabling TLS Encryption for more information on how to set this up.