We are pleased to announce the availability of the Elastic OpenTelemetry integration — available on Elastic Cloud, or when you download Elastic APM. This integration continues our commitment to openness by embracing open standards support for the evolving OpenTelemetry standard for observability
Commitment to open standards support
From open source to open code, openness is in our DNA here at Elastic. We embrace that openness not only from the point of view of the code we write and ship, but also the data we ingest. We have always been on the forefront of embracing open standards as a way to provide our users the flexibility to choose how they want to ship their data to Elasticsearch and leverage the capabilities of the Elastic Stack. This commitment to supporting open standards is reflected in our support for other open standards and other popular open source projects such as Prometheus, OpenTracing, W3C Trace-Context, and Jaeger.
In early 2019, OpenTracing and OpenCensus embarked on a journey to standardize APIs and build a complete solution, making it easier for users to capture traces and telemetry across all their instrumented services. Having built support for OpenTracing into Elastic APM, we actively participated as a member of the OpenTelemetry project. Today, we are excited to announce the ability to integrate OpenTelemetry traces into Elastic APM with ease.
What is OpenTelemetry?
OpenTelemetry is a Cloud Native Computing Foundation (CNCF) sandbox project that provides vendor-neutral, language-specific agents, SDKs, and APIs that you can use to collect distributed traces, metrics, and log data from all your monitored applications. OpenTelemetry agents are capable of automatically instrumenting application code to surface performance data that is important to help you understand the health of your services — providing flexibility to application developers to pick and choose which agents monitor their applications.
How to get started with Elastic APM and OpenTelemetry
It's easy to ingest your OpenTelemetry agent data with Elastic! To add support for OpenTelemetry to Elastic APM, we’ve extended the OpenTelemetry collector contrib repository and added the Elastic APM exporter. The exporter translates the OpenTelemetry trace data collected from your services to Elastic’s protocol before sending the data to Elastic APM via the APM server. Extending the OpenTelemetry collector means that no changes are needed in your instrumented services in order to begin using Elastic APM. Just drop the Elastic exporter into your OpenTelemetry setup and view your trace data in Elastic APM.
Once you have the exporter deployed and are sending data to Elastic, you can visualize this data in the APM app just like you would any other trace captured by the Elastic APM agents.
Open Instrumentation flexibility
By combining OpenTelemetry with the Elastic Observability solution and the Elastic Stack, you have the flexibility to choose which agents (Elastic or OpenTelemetry) you want to instrument your applications with. Regardless of what you pick, you can visualize end-to-end distributed traces in the APM app. You also get the benefits of having a unified solution to visualize traces alongside metrics and logs, powerful analytics, and capabilities like machine learning and alerting with flexibility and scale.
As OpenTelemetry evolves to include metrics and logs, we will work on enhancing our support so you can use our agents and Beats seamlessly with the OpenTelemetry agents. In the meantime, if you are looking for capturing metrics or logs you can use Metricbeat and Filebeat modules to provide you with complete visibility to monitor your stack.
Try it for yourself
Download and run Elastic APM locally, or spin up the latest release in a free trial of Elastic Cloud. See our Elastic APM getting started guide for step-by-step instructions and accelerate integrating OpenTelemetry traces into Elastic APM by reviewing the OpenTelemetry integration overview guide.