Skip to main content

Monitoring

Monitoring exists to answer three questions quickly: is the service healthy, if not where is it failing, and what changed? A dashboard that does not answer those questions is decoration.

The standard. Cloud and network monitoring — metrics, logs, alarms and dashboards — designed around the customer's operational questions, not a service inventory.

What "established" means​

PropertyTest
CompleteEvery critical component emits metrics and logs; nothing important is unmonitored
RelevantMetrics map to workload behaviour, not only to infrastructure health
AlarmedEvery metric that indicates a user-visible problem has an alarm with an owner
ActionableEvery alarm has a runbook entry and a known response
OwnedEach alarm routes to a named team, not a shared inbox
ReviewedThresholds and coverage are reviewed on a cadence, not set once

Layers of telemetry​

┌─ Business KPIs (orders, signups, exam submissions)
├─ Application (request rate, errors, latency)
├─ Runtime (CPU, memory, GC, connections)
├─ Platform (ALB, RDS, cache, queue)
└─ Network (flow logs, VPC endpoints, DNS)

An alarm on CPU utilisation tells you a symptom. An alarm on checkout success rate tells you the problem.

Metrics​

Infrastructure​

  • EC2: CPUUtilization, StatusCheckFailed, disk and network I/O, memory via the CloudWatch agent.
  • ECS / Fargate: CPU and memory utilisation, task count, deployment state.
  • EKS: pod CPU and memory, container restarts, pending pods, available replicas.
  • Lambda: invocations, errors, duration, throttles, concurrent executions, iterator age.

Platform​

  • Elastic Load Balancer: request count, 4xx and 5xx, TargetResponseTime, healthy and unhealthy hosts, active connections.
  • API Gateway: count, 4xx, 5xx, Latency, IntegrationLatency.
  • CloudFront: requests, bytes, error rate, cache hit rate, latency.
  • RDS: CPU, free storage, connections, IOPS, latency, DatabaseLoad, replica lag.
  • DynamoDB: consumed capacity, throttle events, throttled requests.
  • ElastiCache: connections, hits and misses, evictions, memory, CPU.
  • SQS: visible messages, age of oldest message, DLQ depth.

Application​

  • Request rate, error rate and duration per endpoint (RED).
  • Saturation: thread pool, connection pool, queue depth.
  • Business events: successful checkouts, failed payments, completed jobs.

See Monitoring metrics for the per-tier reference.

Logs​

  • Centralised. CloudWatch Logs with a consistent naming convention: /<service>/<environment>/<component>.
  • Structured. JSON with timestamp, level, service, correlation id, request id, message and relevant fields.
  • Retained deliberately. 30 days hot by default; longer for audit and security logs. Retention is a cost decision, made explicitly.
  • Queryable. CloudWatch Logs Insights queries saved and shared for common investigations.
  • Not a dumping ground. No secrets, tokens, personal data or full request bodies.

Alarms​

Alarm design rules:

  1. Alarm on user impact first. Error rate, latency, success rate, queue age.
  2. Then on leading indicators. Saturation, connection pool, disk growth.
  3. Every alarm has an owner and a runbook. An alarm with no response path is noise.
  4. Composite alarms to reduce noise. A single "service degraded" alarm from several signals is more actionable than five separate ones.
  5. Review alarm volume. If an alarm fires more than it is acted on, its threshold is wrong or its response is missing.
  6. Snooze deliberately. A maintenance window disables expected alarms; an alarm disabled permanently should be deleted.
Alarm classExampleResponse
Availability5xx rate above 1% for 3 minutesIncident process
Latencyp95 above target for 5 minutesInvestigate, scale, or roll back
SaturationCPU above 85% for 10 minutesScale out; review capacity
DataReplica lag above 30 secondsFailover decision
QueueOldest message older than 5 minutesConsumer health check
SecurityRoot login, guard duty findingSecurity incident

Dashboards​

Dashboards are organised by audience, not by service inventory.

DashboardAudienceContent
Service healthOn-callRequest rate, error rate, latency, saturation, deployment markers
PlatformPlatform teamCluster, database, network, queue health
BusinessProduct and leadershipWorkload KPIs with trend
SecuritySecurity teamFindings, Config compliance, GuardDuty
CostFinance and platformSpend by service, tag, environment

Every dashboard shows the same time range and annotates deployments. Correlating a latency change with a deployment is the most common first diagnostic step.

Network monitoring​

  • VPC Flow Logs enabled on every VPC, delivered to a central bucket.
  • Rejected traffic reviewed for unexpected patterns.
  • VPC endpoints monitored for failures.
  • DNS query logging where the workload depends on internal resolution.
  • Reachability checks from outside the environment for public endpoints.

Evidence​

  • Metric and alarm inventory with owners.
  • Dashboard exports or screenshots.
  • Alarm-to-runbook mapping.
  • Log group and retention configuration.
  • Sample CloudWatch Logs Insights query results.