Dash0 integrates with Amazon CloudWatch Transaction Search to collect distributed trace spans from AWS applications for complete transaction visibility.
Amazon CloudWatch Transaction Search captures 100% of your application spans as structured logs, giving you complete distributed trace visibility without missing any transaction data. When enabled, AWS automatically stores all spans in a CloudWatch log group that you can stream directly to Dash0.
This integration lets you bring your complete AWS application traces into Dash0 for advanced analysis, correlation with metrics and logs, and unified observability across your AWS accounts.
Integrating CloudWatch Transaction Search with Dash0 involves two main steps:
aws/spans
CloudWatch log groupaws/spans
log group to Dash0This integration allows you to analyze your complete distributed traces in Dash0 while maintaining cost-effective span collection through CloudWatch.
Before starting, ensure you have:
Note: After enabling Transaction Search, it can take up to 10 minutes for spans to become available in the aws/spans
log group.
Follow these steps to create a Firehose delivery stream that will send span data to Dash0:
Or open this direct link to create a Firehose stream which preselects the HTTP Endpoint destination.
dash0-cloudwatch-spans
).In the HTTP Endpoint URL field, enter the AWS CloudWatch Spans via Firehose HTTP endpoint from your Dash0 organization settings under Endpoints:
Authentication:
Create a Dash0 authentication token for the Firehose stream. By default, data will be sent to the default dataset. If you want to send data to another dataset, you can restrict the token access to that specific dataset. It's recommended to grant only the ingestion permission to this token.
You can either:
api_key
and the value being your Dash0 authentication token.Create or choose an existing S3 bucket to store data in case of delivery failures.
Review your settings and click Create Firehose stream.
NOTE: You might get an error on the first attempt to create the Firehose stream. Please try again after a few seconds by clicking the "Create Firehose stream" button again.
Now you'll create a subscription filter to forward spans from the aws/spans
log group to your Firehose delivery stream.
Create an IAM role that allows CloudWatch Logs to send data to Firehose:
Note: Replace <region>
and <account-id>
with your actual values.
AmazonKinesisFirehoseFullAccess
policy, or create a custom policy with minimal permissions:Note: Replace <region>
, <account-id>
, and <delivery-stream-name>
with your actual values.
CloudWatchLogsFirehoseRole
) and create it.In the AWS console, go to CloudWatch > Logs > Log groups.
Find and select the aws/spans
log group.
Note: This log group is automatically created when you enable Transaction Search. If you don't see it, ensure Transaction Search is enabled and wait up to 10 minutes.
Click Actions > Create subscription filter > Create Amazon Data Firehose subscription filter.
In Choose destination, select the Firehose delivery stream you created earlier.
In Grant permission, select the IAM role you created.
Configure the filter:
Give your subscription filter a name and click Create.
aws/spans
log groupTo manage costs and avoid excessive data retention, set a retention policy for the aws/spans
log group:
aws/spans
log group.To verify your setup is working:
aws/spans
log group is receiving span data.Once everything is configured, your CloudWatch Transaction Search spans will be available in Dash0 for advanced analysis. You can:
The spans will include all the rich metadata from your applications, including custom attributes, business context, and full trace hierarchy information in the OpenTelemetry format.