Data Operations and Support · Topic 4 of 6
Monitoring Data Pipelines
Monitor AWS data pipelines with CloudWatch metrics, alarms and logs, EventBridge events, SNS and CloudTrail, and learn which metric flags trouble.
- 4 min
- CloudWatch collects metrics, logs and alarms. Alarms notify through SNS.
- Iterator age rising on a stream means consumers are behind.
- Lambda
Errors,ThrottlesandDurationshow function health.
What it is
A pipeline that runs without anyone watching will eventually fail. Monitoring tells you when, where and why, ideally before users notice.
AWS monitoring has three pillars: metrics (numbers over time), logs (detailed text records) and events or traces (what happened and in what order).
How it works
Amazon CloudWatch metrics and alarms
Most data services publish metrics to CloudWatch automatically. An alarm watches a metric against a threshold and changes state, for example to ALARM. An alarm can send a notification through Amazon SNS or start an Auto Scaling action, and an SNS topic can in turn invoke a Lambda function.
Useful metrics by service:
| Service | Metrics worth watching |
|---|---|
| Kinesis Data Streams | GetRecords.IteratorAgeMilliseconds (consumer lag), WriteProvisionedThroughputExceeded, ReadProvisionedThroughputExceeded |
| Lambda | Errors, Throttles, Duration, ConcurrentExecutions, IteratorAge for stream sources |
| AWS Glue | Job run state, failed runs, worker usage, and job metrics when enabled |
| Amazon SQS | ApproximateAgeOfOldestMessage, queue depth |
| Amazon Redshift | CPU use, disk space used, query duration and queue wait time |
| Amazon MSK | Consumer lag, broker disk and CPU |
| DynamoDB | Throttled requests, consumed capacity |
| Step Functions | Executions failed, timed out or aborted |
Iterator age is the classic stream signal. If it grows, consumers are falling behind the producers, so add consumers, shards or batch capacity.
CloudWatch Logs
Glue, Lambda, MWAA, EMR and others write logs to CloudWatch Logs, organized into log groups and streams. Set a retention period on each log group, because the default keeps logs forever and costs grow. Logs Insights runs queries over log data, and metric filters turn log patterns into metrics you can alarm on.
fields @timestamp, @message
| filter @message like /ERROR/
| sort @timestamp desc
| limit 20
Events and notifications
Amazon EventBridge receives state change events, such as a Glue job failing, an EMR step ending or a Step Functions execution failing. A rule matches the event and sends it to SNS, Lambda or another target. This is the clean way to alert on job outcomes without polling.
SNS delivers notifications to email, SMS, HTTP endpoints and Lambda. For team chat or ticketing, subscribe a Lambda function or use a supported chat integration.
Auditing activity with CloudTrail
AWS CloudTrail records API calls such as who started a job, changed a table or altered a bucket policy. CloudTrail answers "who did what", while CloudWatch answers "how is it performing". The audit page covers CloudTrail in more detail.
Tracing and workflow visibility
AWS X-Ray traces requests across services such as Lambda and API calls, which helps find slow steps. Step Functions shows each execution graph with the state input, output and error, which is often the fastest way to find which step failed. MWAA exposes Airflow task logs, and Glue offers the Spark UI for job diagnosis.
Service specific monitoring
Amazon Redshift provides system tables and views that show running queries, queue waits and disk use. Athena lists query history with bytes scanned.
Amazon EMR logs to S3 and has cluster metrics. Amazon OpenSearch Service can store and visualize log data for team dashboards.
Designing alarms
Alarm on symptoms people care about: failed runs, late data and growing lag. Avoid alarms on every metric, which trains people to ignore alerts. Use composite alarms to combine signals, and set the missing data handling so a silent pipeline counts as a problem.
Cost and operational hygiene
Set log retention, keep dashboards for key pipelines and review alarms after each incident. Tag resources by pipeline so you can filter metrics and costs. Document runbooks so alerts lead to action.
What to remember for the exam
- CloudWatch collects metrics, logs and alarms. Alarms notify through SNS.
- Iterator age rising on a stream means consumers are behind.
- Lambda
Errors,ThrottlesandDurationshow function health. - EventBridge rules catch state changes, such as a failed Glue job, and route them to targets.
- Metric filters turn log patterns into metrics. Logs Insights queries logs.
- Set log group retention, since the default keeps logs indefinitely.
- CloudTrail records API activity. CloudWatch monitors performance.
- Step Functions execution history shows exactly which state failed.
For "alert when a Glue job fails", the low effort answer is an EventBridge rule on the Glue job state change event with an SNS target.
Common mistakes
Alarming on CPU only. Data pipelines fail through lag, errors and late data, not just CPU.
Never setting log retention. Logs pile up and cost grows with no benefit.
Confusing CloudTrail and CloudWatch. One audits API calls, the other tracks metrics and logs.
Polling for status. Event based alerts are simpler and faster than a loop that checks job status.
An alarm treats missing data as "missing" by default, so a pipeline that stops sending metrics may never alarm unless you configure it.
Check yourself
Which Kinesis metric shows that a consumer is falling behind?
GetRecords.IteratorAgeMilliseconds.How do you alert when a Glue job fails with little effort?
Use an EventBridge rule on the job state change event, with an SNS topic as the target.
Which service records who made API calls?
AWS CloudTrail.
Topic 4 of 6 in Data Operations and Support
Test yourself on Data Operations and Support
The full AWS DEA-C01 question bank has 845 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by AWS. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.