Add a MonitoringConstruct (lib/constructs/monitoring.ts) wiring CloudWatch alarms to the shared site-alerts SNS topic for the seahaven-slack-bot stack. Every alarm uses an SNS alarm action only (no OK action) and treats missing data as NOT_BREACHING; alarm names are repo-namespaced kebab-case. Coverage: - Lambda (9 fns): Errors, Throttles, Duration (p99, eval3/dp2, ~80% of timeout) - DynamoDB (seahaven-conversations, seahaven-unanswered-questions): ThrottledRequests + SystemErrors via the per-operations metric-math helpers (the bare TableName-only helpers are deprecated/invalid); operations scoped to 6 CRUD ops to stay under the 10-metric alarm-math cap - API Gateway v2 (seahaven-slack-webhook): 5xx, 4xx, Latency (ApiId dimension) - ECS Fargate (seahaven-socket-mode): CPU + Memory utilization (AWS/ECS) Expose qbo-oauth Lambda and the ECS cluster/service as public readonly handles without changing logical IDs. RunningTaskCount alarm is gated off pending Container Insights sign-off (separate commit). |
||
|---|---|---|
| .. | ||
| bedrock-agent.ts | ||
| conversation-log.ts | ||
| knowledge-base.ts | ||
| monitoring.ts | ||
| notion-sync.ts | ||
| po-sync.ts | ||
| slack-handler.ts | ||
| socket-mode.ts | ||
| workorder-sync.ts | ||