SigNoz Cloud users: You can also use the One-Click AWS Integration for automated setup with pre-built dashboards. See the comparison guide to choose the best approach.
SigNoz supports multiple ways to monitor AWS Lambda. This page helps you choose the right approach for logs, traces, and metrics, then links to detailed setup guides.
Quick Decision Guide
| What you need | Recommended Method | Why |
|---|---|---|
| Logs (lower latency, no code changes) | OTel Collector Extension Layer | Telemetry API integration, lower latency than S3, no code changes |
| Logs (from existing S3 pipelines) | S3 Lambda Forwarder | Reuses existing S3 log storage, no changes to Lambda functions |
| Traces (auto-instrumentation) | OTel Lambda Layers | Language-specific layers capture traces without code changes |
| Metrics (manual, low cost) | CloudWatch Exporter | Scrapes CloudWatch metrics with minimal AWS cost |
| Logs & Metrics (fastest setup, Cloud only) | One-Click Integration | Auto-discovery, pre-built dashboards, ~5 minute setup |
Logs: OTel Extension vs S3
OTel Collector Extension Layer
The OTel Collector runs as a Lambda extension and registers with Lambda's Telemetry API to receive logs automatically. No function code changes required.
Benefits:
- ā No code changes to your Lambda function
- ā Direct integration via Lambda Telemetry API ā no CloudWatch required
- ā Lower latency than S3 for high-traffic functions
- ā Minimal AWS cost (Lambda extension overhead only)
Trade-offs:
- ā Requires adding a Lambda layer and a collector config file
- ā Logs are buffered ā sent at the start of the next invocation or during function shutdown, not immediately after each invocation. For short-lived or low-traffic functions, expect visible lag.
| Feature | Details |
|---|---|
| Setup | Add layer + config file |
| Code Changes | None |
| Latency | Next invocation or shutdown (buffered) |
| AWS Cost | Minimal (Lambda extension overhead only) |
| Best For | Most use cases |
ā Logs via OTel Extension Layer
S3 Forwarder
Lambda logs flow through CloudWatch Logs to an S3 bucket. A forwarder Lambda function is triggered on new objects and sends them to SigNoz. Use this when you already have a CloudWatch ā S3 log archival pipeline.
Benefits:
- ā No code changes to your Lambda function
- ā Reuses existing S3 log storage and pipelines
- ā Decoupled from function execution ā delivery failures don't affect your function
Trade-offs:
- ā Higher latency ā delivery depends on CloudWatch ā S3 export interval
- ā Additional AWS cost for S3 storage and forwarder Lambda invocations
- ā Requires setting up a separate forwarder Lambda function
| Feature | Details |
|---|---|
| Setup | Lambda function + S3 bucket |
| Code Changes | None |
| Latency | Delayed (depends on S3 sync) |
| AWS Cost | S3 storage + Lambda invocations |
| Best For | Existing S3 log pipelines |
ā Logs via S3
Traces: OTel Auto-Instrumentation
Add language-specific OTel layers to your Lambda function to automatically capture traces without code changes.
Benefits:
- ā No code changes ā instrumentation happens via Lambda layers
- ā Automatically captures invocation spans and outbound HTTP calls
- ā Forwards traces through a separate OTel Collector layer ā function response time is not blocked
Trade-offs:
- ā Adds cold start latency from layer initialization
- ā Custom spans require manual instrumentation
- ā Trace-log correlation requires additional setup (OTel SDK logging in your function code)
Supported languages: Python, Node.js, Java, Ruby
Metrics: CloudWatch Exporter
Scrape Lambda metrics (Invocations, Errors, Duration, Throttles) from CloudWatch using the Prometheus CloudWatch Exporter.
Benefits:
- ā No changes to Lambda functions
- ā Covers standard Lambda metrics out of the box
- ā Minimal AWS cost ā reads from CloudWatch, no additional data streams
Trade-offs:
- ā Polling-based ā not real-time; metrics lag by the scrape interval
- ā Requires running a CloudWatch Exporter instance
ā Metrics Guide
One-Click vs Manual
| Feature | One-Click Integration | Manual Setup |
|---|---|---|
| Availability | SigNoz Cloud only | Cloud & Self-Hosted |
| Setup Time | ~5 minutes | 15-60 minutes |
| Pre-built Dashboards | ā Included | ā Build your own |
| Auto-Discovery | ā New resources detected | ā Manual configuration |
| AWS Cost | CloudWatch + Firehose charges | Minimal |
| Granular Control | Limited | Full control |
| Best For | Quick start, managed experience | Cost optimization, self-hosted |
See the full One-Click vs Manual comparison for details.
Combining Approaches
Many teams use a mix:
- One-Click for metrics and pre-built dashboards
- OTel Extension Layer for lower-latency logs
- OTel Auto-Instrumentation for distributed traces
All data flows into the same SigNoz instance and can be queried together.