Analyze AWS applications end to end with Dynatrace using AWS Distro for OpenTelemetry

To enhance observability at scale in large environments, Dynatrace has contributed to OpenTelemetry from its inception. We're therefore excited to integrate with AWS to provide our customers with AI-powered analytics for observability data using AWS Distro for OpenTelemetry. Now, operations teams have end-to-end observability for workloads running in AWS, which leads to faster problem resolution.

An increasing number of companies are using cloud solutions for faster operations, greater flexibility, and to provide their customers with the best customer experience. This creates complex, heterogeneous, and highly dynamic cloud-native environments. AWS Distro for OpenTelemetry provides an easy way to obtain telemetry data for monitoring critical business applications that run on AWS.

Analyzing data for fast troubleshooting can be very complex due to the large amounts of data and variety of data sources. To solve this problem, Dynatrace automatically analyzes AWS Distribution for OpenTelemetry data, adds topological context, and makes it easy to find the root cause of problems using Dynatrace Davis®, our AI causation engine. This gives operations teams end-to-end visibility down to the code level. Dynatrace is also the only monitoring solution on the market that provides full Real User Monitoring that gives you a 360-degree diagnostic view of your end users’ experience with your AWS applications.

Here are the key advantages of using Dynatrace for AWS Distro for OpenTelemetry:

  • Ease of ingestion—with AWS Distro for OpenTelemetry
  • Topology and context—All components and dependencies in context
  • AI-powered analytics—Automatic root cause detection
  • Real User Monitoring—Complete real-time visibility into customer experience for web and mobile apps

Consider the following example that demonstrates the benefits of this new solution.

Example: Customers cannot register for a prize contest

Let’s say that to promote a new offering, a telecom company organizes a contest with prizes for its customers. For this, the development team builds a web application and successfully deploys it in AWS, using S3 for the front end, AWS API Gateway, AWS Lambda for Python, and DynamoDB in the back end.

Dynatrace provides automatic and intelligent end-to-end observability of AWS Lambda functions

The operations team monitors the application using Dynatrace to get a holistic view of the user’s experience and to trace user actions from the browser end to end.

Davis, the Dynatrace AI engine, detects an increase in an HTTP error that impacts 973 users. Davis automatically alerts the operations team. At the same time, the marketing team reports that customers are complaining about the issue on Twitter.

Screenshot Dynatrace Business impact analysis

The operations team looks at the analysis provided by Davis and digs into the details of an impacted user action at the front end.

Screenshot Dynatrace waterfall analysis

The team follows the error to the back end and sees that the issue comes from a query originating from an AWS Lambda Python service to the DynamoDB database, resulting in a 400 Bad Request Error

Screenshot Dynatrace issue code level

Dynatrace captures even more insights with AWS Distro for OpenTelemetry

The operations team decides to go a step further and add AWS Distro for OpenTelemetry for Python to their AWS Lambda function, thereby sending the OpenTelemetry trace data to Dynatrace. The team instantly gets additional insights into the error from AWS Distro for OpenTelemetry, integrated with Dynatrace and visible in the PurePath® trace:

Screenshot Dynatrace AWS Distro for OpenTelemetry

The team decides to deploy the AWS Distro for OpenTelemetry Lambda layer to the Lambda function and enable OpenTelemetry interoperability in Dynatrace to automatically capture the additional spans produced by ADOT. The error returned by DynamoDB is now clear: ResourceNotFoundException: An error occurred (ResourceNotFoundException) when calling the PutItem operation: Requested resource not found. This means that the AWS Lambda function was trying to put information in a table on DynamoDB that didn’t exist.

With help from the Dynatrace Davis AI, the operations team is now able to pinpoint the root cause of the issue and pass the information along to the development team who can then quickly get started on a fix and deploy it to production.

This example demonstrates how to leverage AWS Distro for OpenTelemetry in a Lambda environment. You can also send the trace data directly to our ingest endpoint.

What about OpenTelemetry metrics captured with the AWS Distro? Of course, all these metrics can be ingested, support auto-adaptive baselining or threshold-based alerting in Dynatrace, and are used by the Davis AI as well.

Get started today

If you’re new to Dynatrace, start your free trial today and experience seamless, end-to-end distributed tracing for your serverless Lambda functions across your heterogeneous cloud-native environment without touching code.

For more details, please see these Dynatrace Documentation topics:

We’ll continue to build on our partnership with AWS and provide you with automatic and intelligent observability for your serverless applications.

Stay updated