Send AWS CloudWatch Logs to Aient with Firehose
Amazon CloudWatch Logs can stream log groups to an HTTPS endpoint through Amazon Data Firehose. Point Firehose at Aient and your AWS logs enter the same detection and remediation loop as SDK and Vercel telemetry. Aient accepts the standard CloudWatch Logs payload, stamps each event to the selected organisation and environment, groups error-class records into problems, and uses stack traces as evidence for root cause analysis and reviewed GitHub fix pull requests.This path ingests CloudWatch Logs. It does not replace OpenTelemetry traces. For distributed
trace context, keep using the server telemetry quickstart or a standard
OTLP client pointed at Aient.
What you get
- CloudWatch logs in Aient. CloudWatch
DATA_MESSAGErecords arrive as Aient log telemetry without changing application code. - Problem detection from AWS errors. Error- and fatal-level records can become Aient problems, especially when logs include a clear message, error name, and stack trace.
- Retry-safe delivery. Firehose retries are deduplicated from CloudWatch event identity, so transient delivery failures should not inflate problem occurrence counts.
- Closed-loop remediation. When Aient can connect the stack frame to a repository it can read, it investigates the root cause and opens a GitHub pull request for review.
Prerequisites
- An Aient account with an environment that should receive the logs.
- AWS permissions to create or update:
- an Amazon Data Firehose delivery stream,
- IAM roles for Firehose and CloudWatch Logs,
- CloudWatch Logs subscription filters,
- an S3 bucket for failed Firehose deliveries.
- One or more CloudWatch log groups you want Aient to monitor.
Get your Aient Firehose endpoint
In Aient, go to Settings -> Environments, open the target environment, and select Drains. Click AWS Firehose. Aient shows you, once:-
Endpoint URL - the HTTPS URL for this Aient drain:
- X-Amz-Firehose-Access-Key - the access key you paste into the Firehose HTTP endpoint destination.
Set up Firehose in AWS
Create an Amazon Data Firehose delivery stream with:
Then add CloudWatch Logs subscription filters for the log groups you want to monitor:
- Create or choose an S3 bucket for failed Firehose deliveries.
- Create an IAM role trusted by
firehose.amazonaws.comwith permission to write failed records to that S3 bucket. - Create the Firehose delivery stream using the Aient endpoint and access key.
- Create an IAM role trusted by
logs.amazonaws.comwith permission to callfirehose:PutRecordandfirehose:PutRecordBatchon the delivery stream. - Add a CloudWatch Logs subscription filter to each log group:
- destination: the Firehose delivery stream ARN,
- role: the CloudWatch Logs role,
- filter pattern:
""for all logs, or a narrower CloudWatch Logs filter pattern.
CONTROL_MESSAGE records to test reachability. Aient accepts and ignores those;
they do not create logs or problems.
Terraform example
This example creates one Firehose stream and subscribes existing log groups to it.Verify the connection
After applying the AWS configuration:- Write a test log line to a subscribed log group.
- Wait for the Firehose buffer interval, usually about 60 seconds with the Terraform example.
- In Aient, the drain should move from No data yet to Receiving.
- In Firehose metrics, check delivery success and HTTP response codes.
- In the backup S3 bucket, failed objects indicate Firehose exhausted retries.
Troubleshooting
Related
- OpenTelemetry endpoints - send standard OTLP traces and logs to Aient.
- Server telemetry quickstart - add the Aient SDK for richer spans and release metadata.
- Upload source maps - resolve bundled stack frames to original source.