Based on the DVA-C02 exam guideReport an error
Over one week we examined CloudWatch, X-Ray, CloudTrail, EventBridge separately. Yet these four are actually one question answered from four angles: "What's happening in the running system, how do we know, and how do we respond?" This final day doesn't just review individual services; it shows how these four interlock into one observability picture, then validates that understanding through comprehensive scenario questions.
The most common exam mistake is memorizing "name → function." Instead, two axes create coordinates revealing why each tool sits where it does.
First axis: what do we observe — numbers (metrics)? text (logs)? request path (traces)? action records (audit)? Second axis: when it acts — passive observation only, or real-time response?
| Service | What | Core Question |
|---|---|---|
| CloudWatch | Metrics, logs (quantitative state) | "Healthy now? What's slow?" |
| X-Ray | Request path (causality) | "Where is it slow? Which step is bottleneck?" |
| CloudTrail | API call record (audit) | "Who did what?" |
| EventBridge | Events (response) | "How do we respond to this event?" |
From this coordinate: CloudWatch answers "what's slow" but X-Ray answers "where." CloudTrail tracks responsibility, not performance. EventBridge isn't an observer but a responder — others "know," EventBridge "acts." The most powerful pattern combines: CloudTrail detects root login, EventBridge responds with Lambda calling SNS → operator notification.
💡 Related theory: Modern monitoring redefines as "observability" — control theory term: "from external outputs, how much can we infer internal state?" Observability's three pillars are metrics, logs, traces — exactly CloudWatch (metrics + logs) and X-Ray (traces). CloudTrail adds fourth: audit — security/compliance observability. Key insight: "monitoring watches expected problems (alarms pre-set); observability lets us forensically explore unexpected problems post-hoc." CloudTrail enables post-incident forensics. Observability requires all three pillars; monitoring may use only one.
Exams test nuance. Here's one week's traps consolidated.
| Confusing Pair | Core Difference |
|---|---|
| EC2 Basic / Detailed Monitoring | 5-min / 1-min (Detailed extra cost) |
| Default / high-resolution metrics | 1-min / 1-sec (high-res paid) |
DiskReadOps / disk_used_percent | Basic / Agent required (hypervisor boundary) |
| EC2 memory | Always Agent required (OS-internal) |
| Management / Data Events | Control plane/default ON / data plane/default OFF/paid |
| CloudTrail Event History / Trail | 90-day query cache / S3 permanent |
| CloudWatch Events / EventBridge | Same service (EB backward-compatible) |
| X-Ray Annotation / Metadata | Indexed/searchable(50 limit) / not indexed/unlimited |
| Lambda Active Tracing / EC2 daemon | Toggle only / daemon manual run (UDP 2000) |
| Synthetics / R53 Health Check | Script/multi-step / simple ping |
| Anomaly Detection / static threshold | ML seasonality band / fixed line |
| EMF / PutMetricData | Log auto-extract / sync API |
| Metric Stream / Subscription Filter | Metrics outbound / logs outbound |
| Container Insights / AMP | CloudWatch push / Prometheus pull |
| cron / rate | Specific time/calendar / periodic interval |
⚠️ Trap: Top-3 mistake sources. ① EC2 memory, disk space aren't basic metrics — hypervisor can't peer inside OS. ② CloudTrail Data Events default OFF — S3 GetObject, Lambda Invoke need explicit enable. ③ ALB doesn't support X-Ray — tracing starts from API Gateway. These three account for half of Week 10 wrong answers.
[Application]
|
+-- API call ────→ [CloudTrail] ──→ [EventBridge] ──→ [Lambda] ──→ Security Response
| (root login pattern match)
|
+-- Distributed request ───→ [X-Ray] (Trace ID propagation, service map)
|
+-- Performance metrics ────→ [CloudWatch Metrics] ──→ [Alarm] ──→ [SNS / Auto Scaling]
| ↑
| [EMF / Metric Filter]
| ↑
+-- Logs ──────────→ [CloudWatch Logs] ──→ [Logs Insights / Subscription Filter]
Critical: arrow direction. CloudTrail, X-Ray, CloudWatch receive signals from application. EventBridge and Alarm loop back to respond automatically. Observation and response cycle is monitoring's essence.
🔍 Going deeper: Often missed: "logs → metrics → alarms" transformation. Logs (text) alone can't gate alarms — alarms need metrics (numbers). Metric Filter and EMF bridge the gap. Without this transform, "ERROR in logs → alert" isn't direct; it must become "ERROR count (metric) > threshold." CloudWatch's all auto-responses reduce to "metric → alarm → action," all other signals (logs, events) convert to join this path.
| Abbr | Full | Note |
|---|---|---|
| CW / CWL / CWA | CloudWatch / Logs / Agent | |
| EMF | Embedded Metric Format | Auto-extract metrics from logs |
| EB | EventBridge | Old: CloudWatch Events |
| ADOT | AWS Distro for OpenTelemetry | X-Ray-compatible standard tracing |
| AMP / AMG | Managed Prometheus / Grafana | Kubernetes standard monitoring |
| SLO / SLI / SLA | Service Level Objective/Indicator/Agreement | |
| RUM | Real User Monitoring | CloudWatch RUM |
| APM | Application Performance Monitoring |
Click a choice to reveal the answer and explanation.
Question 1
API Gateway → Lambda → DynamoDB → external payment API chain, intermittent timeout. To identify which stage delays:
Question 2
EC2 monitoring needs: memory usage, disk space used (%), and DiskReadOps. What's required?
Question 3
Compliance audit: S3 object downloads (GetObject) — who, when — must retain 7 years. Appropriate strategy:
Question 4
Microservice: "search all traces for specific userId in X-Ray console," plus "attach order JSON body for debug (not searched)." Each needs what?
Question 5
Lambda business metric to CloudWatch, minimize cost/latency. EC2/ECS X-Ray traces not visible. Separate solutions:
Question 6
Root account console login → instant Slack alert. Standard pattern:
Question 7
Traffic low/high/weekend variance makes single CPU threshold fail — "80% oversensitive early morning, undersensitive noon." Solution without manual threshold swap:
Question 8
"Error count > 100 alarm" triggered when traffic 10x, alerting constantly despite normal error rate. More robust alarm:
Question 9
Stream CloudWatch metrics to Datadog real-time AND application logs to OpenSearch. Each tool/method:
Question 10
ECS Fargate: one task memory-starved, restarts repeatedly; host average shows normal. Container-level visibility:
Question 11
Schedule: "exactly 9 AM daily," scaling to thousands of future schedules. Appropriate expression + tool:
Question 12
Post-deploy: API returns 200, but payment button on screen broken, unclickable. Metrics show all normal. Detect "technically works, user-broken" automatically:
Week 10's four services form one cycle: "observe, respond." CloudWatch observes what (metrics), X-Ray observes where (causal), CloudTrail observes who (responsibility), EventBridge responds. Traps mostly ask fine details on this unified pipeline — EC2 memory boundary, Data Events default, Annotation indexing, Lambda toggle vs. EC2 daemon. Understanding each tool's coordinate ("what/when") rather than memorizing alone lets you tackle novel scenarios: find its coordinate, deduce the answer.