Ingesting AWS CloudWatch metrics and logs
AWS CloudWatch allows to forward metrics and logs to third-party destinations using AWS Kinesis Data Firehose. Uptrace provides compatible HTTP endpoints for AWS Kinesis so you can monitor your AWS infrastructure with Uptrace.
Metrics
CloudWatch Metrics is a monitoring service provided by Amazon Web Services (AWS) that allows you to collect and track metrics from your applications and infrastructure resources in real-time.
You can configure AWS CloudWatch to send metrics to Uptrace using AWS Kinesis Data Firehose.
Terraform module
Uptrace provides a Terraform module that configures AWS CloudWatch to send metrics to Uptrace. Refer to the module's readme for details.
AWS Console
You can also configure CloudWatch manually using the AWS Console.
Create a new Kinesis Data Firehose Delivery Stream with the following details:
- Stream source: Direct PUT
- Kinesis endpoint:
https://api.uptrace.dev/api/v1/cloudwatch/metrics
- API Key: Enter the Uptrace DSN for your project.
- Content Encoding: GZIP.
Create a new CloudWatch Metric Stream.
- Open the CloudWatch AWS console.
- Choose Metrics → Streams.
- Click the Create metric stream button.
- Choose CloudWatch metric namespaces to include in the metric stream.
- Choose Select an existing Firehose owned by your account, and select the Firehose Delivery Stream you created earlier.
- Specify an Output Format of
json
. - Optionally, specify a name for this metric stream under Metric Stream Name.
- Click on the Create metric stream button.
Logs
CloudWatch Logs is a log management service provided by Amazon Web Services (AWS) that allows you to collect, monitor, and analyze log files from your applications and infrastructure.
You can configure AWS CloudWatch to send logs to Uptrace using AWS Kinesis Data Firehose.
Terraform module
Uptrace provides a Terraform module that configures AWS CloudWatch to send logs to Uptrace. Refer to the module's readme for details.
AWS Console
You can also configure CloudWatch manually using the AWS Console.
Create a new Kinesis Data Firehose Delivery Stream with the following details:
- Stream source: Direct PUT
- Kinesis endpoint:
https://api.uptrace.dev/api/v1/cloudwatch/logs
- API Key: Enter the Uptrace DSN for your project.
- Content Encoding: GZIP.
Create a new CloudWatch log group using the Firehose Delivery Stream you created earlier.
Conclusion
AWS CloudWatch is a powerful tool for monitoring, collecting, and analyzing data from your AWS resources and applications. It helps you identify and resolve issues, optimize resource utilization, and ensure the overall performance and availability of your AWS infrastructure.
Using AWS Kinesis Data Firehose, you can forward metrics and logs to Uptrace, open source APM tool that supports distributed tracing, metrics, and logs.