Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News AWS Adds Distributed Tracing to Their Elasticsearch Service

AWS Adds Distributed Tracing to Their Elasticsearch Service

This item in japanese

Amazon has announced the addition of Trace Analytics to their Amazon Elasticsearch Service. Trace Analytics adds distributed tracing to their service with support for OpenTelemetry. This new feature also integrates with the AWS Distro for OpenTelemetry.

Trace Analytics is included in the default installation of Kibana for Amazon ElasticSearch Service. Amazon Elasticsearch Service runs on the AWS supported Open Distro for Elasticsearch, a fork of Elasticsearch and Kibana originally created by Elastic. Trace Analytics supports OpenTelemetry, a Cloud Native Computing Foundation (CNCF) sandbox project. OpenTelemetry provides a set of APIs, libraries, agents, and collector services for capturing distributed traces and metrics.

Trace Analytics Kibana interface within the Amazon Elasticsearch Service

Trace Analytics Kibana interface within the Amazon Elasticsearch Service (credit: AWS)


There is full support for collection of trace data from application libraries and SDKs that are compatible with the OpenTelemetry Collector. This includes the OpenTelemetry SDKs, AWS X-Ray SDK, Jaeger, and Zipkin. This instrumentation step occurs outside of Amazon Elasticsearch and needs to be done to each application where trace data is to be collected from. The OpenTelemetry Collector receives this data and formats it into OpenTelemetry data. The Data Prepper, a component of the Open Distro for Elasticsearch, formats OpenTelemetry data for use within the Amazon Elasticsearch Service. Data Prepper is similar to Logstash and runs on a machine outside of the Elasticsearch cluster.

Flow diagram illustrating data flow from application into Kibana

Flow diagram illustrating data flow from application into Kibana (source: Open Distro for Elasticsearch)


This feature combines well with the AWS Distro for OpenTelemetry. This distro provides an AWS-supported distribution of the OpenTelemetry project and is compatible with running applications on Amazon EC2, Amazon Elastic Container Service (ECS), Amazon Elastic Kubernetes Service (EKS) on EC2, and AWS Fargate. It can also be leveraged to run on-premises workloads. Lambda support is available via the OpenTelemetry Lambda layer, which supports Python 3.8 lambda runtimes.

AWS CloudFormation templates are available to deploy to AWS environments. Included within the distribution are SDKs to support a number of languages including: Go, Java, JavaScript, Python, and .NET. The repo also includes full examples on how to get started with each language.

Elastic released support for OpenTelemetry back in July on both Elastic Cloud and Elastic APM. This release included them adding the Elastic APM exporter into the OpenTelemetry collector contrib repository. This addition includes examples and a getting started guide. Once the setup is complete the telemetry data can be viewed within the APM app similar to data collected by Elastic APM agents.

These additions by AWS and Elastic continue a trend by observability platforms adding support for OpenTelemetry. Earlier this month, Lightstep announced support for OpenTelemetry within their platform.

Trace Analytics is supported on all Amazon Elasticsearch Service domains running at version 7.9 or later. There is currently support across 24 AWS regions including US East, US West, Europe, Canada, and AWS GovCloud.

Rate this Article