Alarms and Dashboard
CloudWatch
Amazon CloudWatch — alarms, dashboard (`event-driven-platform`), and structured Lambda logs for observability. alarms monitor
DLQ
Dead-letter queue — SQS queue receiving messages that exceeded maxReceiveCount (5). CloudWatch alarms fire when visible count ≥ 1. depth, processor health, queue backlog, and
ingest-sync errors. Wire SNS
Amazon Simple Notification Service — publishes CloudWatch alarm notifications; subscribe an email endpoint after deploy. notifications for
operational visibility.
Subscribe to alarm notifications
Section titled “Subscribe to alarm notifications”From the demo repo root:
TOPIC_ARN="$(terraform -chdir=terraform output -raw alarm_topic_arn)"
aws sns subscribe \ --topic-arn "$TOPIC_ARN" \ --protocol email \ --notification-endpoint "you@example.com"Confirm the subscription from your email inbox.
Verify alarms exist
Section titled “Verify alarms exist”aws cloudwatch describe-alarms --alarm-names \ dlq-messages-visible reprocess-dlq-messages-visible \ processor-lambda-errors processor-lambda-throttles \ process-queue-stale-messages reprocess-queue-stale-messages \ process-queue-messages-visible ingest-sync-errors \ --query 'MetricAlarms[].{Name:AlarmName,State:StateValue}'All alarms should exist. StateValue of OK is healthy; ALARM warrants investigation.
Open the dashboard
Section titled “Open the dashboard”terraform -chdir=terraform output -raw cloudwatch_dashboard_nameDashboard name: event-driven-platform. Open it in the CloudWatch console for your region.
The dashboard shows:
- Alarm status summary
- Queue depth and message age
- Processor Lambda
Processor Lambda container — runs PyTECGg calibration per SQS message; adopted when a Batch on Fargate parallel-execution quota increase was rejected. Image from `ghcr.io/platformfuzz/tec-processor-image` mirrored to ECR. throughput and concurrency - Lambda metrics for deployed layers
Alarm reference
Section titled “Alarm reference”| Alarm | Indicates |
|---|---|
dlq-messages-visible | Ingest pipeline failures after 5 retries |
reprocess-dlq-messages-visible | Reprocess job failures after 5 retries |
processor-lambda-errors | Processor invocation errors |
processor-lambda-throttles | Concurrency quota exhaustion |
process-queue-messages-visible | Ingest backlog |
process-queue-stale-messages | Messages older than 1800s on process queue |
reprocess-queue-stale-messages | Stale messages on reprocess queue |
ingest-sync-errors | Scheduled ingest failures |
See Common Issues for remediation per component.