SigNoz offers three ways to monitor your AWS infrastructure. This guide helps you choose the right approach.
Quick Comparison
| Feature | One-Click Integration | Self-Managed Metric Streams | Manual Setup (OpenTelemetry) |
|---|---|---|---|
| Availability | SigNoz Cloud only | SigNoz Cloud only | Cloud & Self-Hosted |
| Setup Time | ~5 minutes | One-time per account and region | 15-60 minutes per service |
| Pre-built Dashboards | ✅ Included | ✅ Imported manually | ❌ Build your own |
| Auto-Discovery | ✅ New resources detected automatically | ❌ Namespace and metric filters | ❌ Manual configuration |
| AWS Cost | CloudWatch + Firehose charges | CloudWatch + Firehose charges | Minimal (OpenTelemetry based) |
| Granular Control | Limited | Namespace and metric level | Full control |
| Best For | Quick start, managed experience | Terraform-managed or IAM-restricted accounts | Cost optimization, self-hosted |
One-Click Integration
Get Started
See the One-Click AWS Integrations Guide for setup instructions.
How It Works
- Connect AWS Account: Deploy a CloudFormation stack that creates necessary IAM roles
- Auto-Discovery: SigNoz automatically discovers your AWS resources
- CloudWatch Integration: Metrics and logs are streamed via CloudWatch Metric Streams and Firehose
- Pre-built Dashboards: Dashboards are automatically imported for each service
Supported Services
- EC2, ECS, EKS, Lambda
- RDS, DynamoDB, ElastiCache
- ALB, API Gateway
- MSK, SQS, SNS
- S3 (via S3 Sync)
AWS Cost Considerations
| Component | Pricing Model |
|---|---|
| CloudWatch Metric Streams | ~$0.003 per 1,000 metric updates |
| Kinesis Firehose | ~$0.03 per GB ingested |
| CloudWatch Logs (if enabled) | ~$0.50 per GB ingested (region & tier dependent) |
Actual AWS bills depend heavily on number of metrics, resolution, enabled logs, and region. Use AWS Pricing Calculator for exact estimates. View AWS pricing docs.
Self-Managed Metric Streams (Firehose)
Instead of letting the CloudFormation stack provision them, you can create the CloudWatch metric stream and Kinesis Data Firehose delivery stream yourself and point them at SigNoz Cloud. Everything is standard AWS configuration, so it can be provisioned with Terraform.
Firehose Delivery Stream
Create a delivery stream with Direct PUT as the source and HTTP Endpoint as the destination:
- HTTP endpoint URL:
https://ingest.<region>.signoz.cloud/awsfirehose/cwmetrics. The/awsfirehose/cwmetricspath is required. - Access key: your SigNoz ingestion key.
- Content encoding: GZIP.
- S3 backup: choose Failed data only. Because you own the Firehose IAM role, its S3 permissions can then be scoped to the backup bucket alone.
Verify these values:
<region>: Your SigNoz Cloud region.
CloudWatch Metric Stream
Create the metric stream with Custom setup with Firehose and select the delivery stream above.
- Set the output format to JSON. The
/awsfirehose/cwmetricsendpoint requires JSON records. - Select the namespaces to stream, and optionally filter down to specific metrics within each namespace.
Dashboards
Metrics ingested this way use the same aws_ naming as the one-click integration (for example, aws_RDS_CPUUtilization_max), so the per-service pre-built dashboards work as-is. Import the dashboard JSON for each service from the SigNoz repository. Each service folder has an assets/dashboards directory. Services without a pre-built dashboard need custom dashboards.
Validate
Metrics appear in SigNoz within a few minutes. Open Metrics Explorer and search for an aws_ metric, such as aws_RDS_CPUUtilization_max. If nothing arrives, check the Failed data only S3 backup bucket for rejected records.
Manual Setup (OpenTelemetry)
How It Works
Deploy OpenTelemetry Collectors to collect metrics and logs directly from your AWS resources. This approach works with both SigNoz Cloud and Self-Hosted deployments.
Collection Methods
1. OTel Collection Agents (Recommended for ECS/EKS)
Deploy collectors as sidecars or DaemonSets to collect infrastructure metrics and application telemetry.
- ECS EC2: OTel Collector for ECS EC2
- ECS Serverless: OTel Collector for ECS Serverless
- EKS/K8s: OTel Collector for K8s
- EKS Fargate: OTel Collector for EKS Fargate
2. CloudWatch Receiver (Logs Only)
Use the awscloudwatch receiver to poll for CloudWatch logs directly.
Note: This receiver does not collect metrics.
receivers:
awscloudwatch:
region: us-east-1
logs:
poll_interval: 1m
groups:
named:
/aws/lambda/my-function:See Send CloudWatch Logs to SigNoz for full configuration.
3. S3 Lambda Forwarder (Log Files in S3)
For services that export logs to S3, deploy a Lambda function to forward logs to SigNoz.
See individual service docs for specific configurations:
4. AWS Service Metrics (Manual via CloudWatch Exporter)
For AWS services where metrics are only available via CloudWatch (RDS, DynamoDB, Lambda, etc.), you can manually set up the CloudWatch Exporter if you are not using One-Click Metric Streams.
See the "Manual Setup" tab in each service guide for the specific YAML configuration:
5. Lambda OTel Layers (Lambda Traces & Logs)
For AWS Lambda, use OpenTelemetry Lambda layers to auto-instrument your functions and send traces/logs directly to SigNoz.
How it works:
- Add the language-specific OTel auto-instrumentation layer (Python, Node.js, Java, Ruby)
- Add the OTel Collector layer to forward telemetry
- Configure environment variables to point to SigNoz
# Example layer ARNs (replace <region> with your AWS region)
# Python auto-instrumentation
arn:aws:lambda:<region>:184161586896:layer:opentelemetry-python-0_11_0:1
# OTel Collector (x86_64)
arn:aws:lambda:<region>:184161586896:layer:opentelemetry-collector-amd64-0_12_0:1See the detailed guides:
- Lambda Logs - S3-based log forwarding
- Lambda Traces - OTel auto-instrumentation with layers
AWS Cost Considerations
Manual setup minimizes AWS costs:
| Component | Cost |
|---|---|
| OTel Collector (EC2/ECS) | Compute cost only |
| CloudWatch Receiver | API calls (~$0.01 per 1,000 requests) |
| S3 Lambda Forwarder | Lambda invocations + S3 GET requests |
When to Choose Manual
- You're using Self-Hosted SigNoz
- You need fine-grained control over what's collected
- You want to minimize AWS costs
- You need custom processing (filtering, transforming data)
Hybrid Approach
You can combine the methods:
- Use One-Click or Self-Managed Metric Streams for services where pre-built dashboards save time
- Use Manual for services where you need custom collection or cost control
The data from all methods flows into the same SigNoz instance and can be queried together.