Amazon DEA-C01: 数据管道监控和故障排除 — 学习指南

属于 Amazon Data Engineer Associate DEA-C01 — 学习指南. 使用经过验证的答案练习: Amazon 考试中心, 或参加限时模拟考试: ExamRoll.io.

数据管道的监控与故障排查至关重要,它确保了流式和批量数据在 AWS 上能够及时、准确地交付。此领域涵盖了 Kinesis、Firehose、Glue、DMS、Lambda 等服务的遥测、告警和诊断技术,以及支持事件调查的 AWS 审计日志。有效的监控通过暴露消费者延迟、作业资源压力、交付延迟和未授权访问等问题,来降低平均检测/恢复时间(Mean Time To Detect/Recover)。以下各节将提供具体信号、CLI/控制台模式和决策标准,以帮助您运维和修复生产环境中的数据流。

针对数据服务的 CloudWatch 指标和告警

CloudWatch 是主要的遥测平台:您可以为关键服务指标创建指标筛选器、仪表板和告警,并将告警与 SNS、EventBridge 或 Systems Manager 集成以实现自动化修复。使用 aws cloudwatch put-metric-alarm 以编程方式创建告警;典型的标志包括 --metric-name--namespace--statistic (或 --extended-stat)、--threshold--evaluation-periods--comparison-operator。对于仪表板,可以使用 aws cloudwatch put-metric-data 推送自定义指标(例如,来自 Glue 作业元数据的指标),并指定一个类似 “MyCompany/DataPipeline” 的命名空间。

关注以下这些可操作的指标和模式:

告警的决策标准:

Glue 作业监控与错误处理

Glue 会向 CloudWatch 发送指标,并将日志写入 /aws-glue/jobs/output(作业运行日志)和 /aws-glue/jobs/error(错误日志)。使用 CloudWatch Logs Insights 查询作业运行情况:可以通过控制台或使用 aws logs start-query 运行查询,查询字符串示例:fields @timestamp, @message | filter @message like /ERROR/ | sort @timestamp desc | limit 20。从 Glue 作业运行指标中跟踪 BytesReadBytesWrittenRecordsProcessedDPUHrs——DPUHrs 与成本和作业并行度直接相关。

常见的 Glue 故障模式及修复方法:

决策权衡:

Kinesis 和 Firehose 监控

Kinesis 消费者延迟:依赖 GetRecords.IteratorAgeMilliseconds 来检测消费者的落后程度。如果 GetRecords.IteratorAgeMilliseconds 持续很高:

使用 aws kinesis describe-stream 检查分片数量,使用 aws cloudwatch get-metric-statistics 获取 GetRecords.IteratorAgeMilliseconds。在比较修复方案时,请考虑:

Firehose 交付指标:DeliveryToS3.DataFreshness 量化了交付延迟;典型的 buffering_delay 设置为 60-900 秒,它会一直持有记录,直到达到 bufferSizebufferInterval。如果 DeliveryToS3.DataFreshness 过高:

请记住 Firehose 的缓冲语义:该服务会有意延迟,最长可达缓冲间隔时间;减小缓冲间隔可以降低延迟,但代价是更频繁地向 S3 写入。

CloudTrail 与数据访问审计

CloudTrail 提供 API 活动,以及针对 S3 和 Lambda 的可选数据事件(默认不启用)。要捕获对象级别的 S3 事件,需要通过控制台或 aws cloudtrail create-trail --include-global-service-events 命令在 CloudTrail 上显式启用数据事件,并添加 S3 数据资源。如果不启用 S3 数据事件,您将无法在 CloudTrail 中看到 GetObject/PutObject 事件,这是调查过程中的一个常见疏漏。

使用 CloudTrail 日志结合 CloudWatch Logs Insights,可以将运营指标(例如 Glue 作业日志)与访问事件关联起来。查询模式:

DMS 复制任务也会发布 CloudWatch 指标:监控 FullLoadRows 以了解初始复制的完整性,监控 CDCLatencyMilliseconds 以检测复制延迟,以及监控 AppliedChanges 以确保事务正在目标端应用。当 CDCLatencyMilliseconds 超出业务 SLA 以及在全量加载行数增加后 AppliedChanges 过低时,应设置告警。

常见陷阱与决策标准

实践问题:用例场景

Acme Analytics 公司通过 Kinesis 进行实时点击流摄取,使用 Glue ETL 作业丰富事件,通过 Firehose 将过时批次持久化到 S3,并使用 DMS 复制旧有数据库。他们观察到端到端延迟:Kinesis 出现消费者延迟,Glue 作业发生 OOM,并且 Firehose 的 DeliveryToS3.DataFreshness 指标很高。

  1. 分析 Kinesis 消费者:获取 GetRecords.IteratorAgeMilliseconds 指标,检查消费者日志,并对 Kinesis 增强型扇出与分片扩展进行成本分析。
  2. 检查 Glue 作业的 CloudWatch 指标和 Logs Insights 中的 OOM 堆栈跟踪;在本地或较小的作业中测试重新分区 + 下推谓词;仅在需要时才增加 DPU/工作节点类型。
  3. 检查 Firehose 的缓冲设置 (BufferIntervalInSeconds) 和 DeliveryToS3.DataFreshness;为满足关键 SLO,缩短缓冲间隔,并验证 S3 写入权限/KMS。
  4. 配置 CloudWatch 复合告警,结合 IteratorAgeMilliseconds、Glue 作业错误率和 Firehose DataFreshness;将告警发送到待命 SNS 主题,并通过 EventBridge 触发运行手册。
  5. 启用 CloudTrail S3 数据事件,并将 GetObject/PutObject 事件与 Glue 作业启动时间和 DMS 的 applied changes 关联起来,以检测未经授权或延迟的访问。

这种方法遵循了 AWS 的最佳实践:以正确的粒度监控正确的服务指标,在扩展资源之前优先选择有针对性的代码和配置修复,并确保显式启用审计级别的日志记录,以便进行快速的根本原因分析和自动化修复。


数据安全、治理和合规 · 所有领域 · 数据工作负载成本优化

练习这些题目 → · 在 ExamRoll.io 上限时练习 →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

通过考试 →

浏览 Amazon →

Related guides

一体化访问

一次订阅。所有考试。

所有计划均可无限制搜索答案、进行模拟测试、获取AI解释以及访问完整的资源库 — 支持20多种语言。

每月
24.87
Just €0.83/day
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

最具价值
12个月
179.87
Just €0.49/daySave 40%
包含所有内容:
  • 无限答案搜索
  • 无限模拟测试
  • AI驱动的解释
  • 完整资源库
  • 20多种语言
  • 每周内容更新
  • 奖励与推荐
  • 优先支持
开始免费试用

无需信用卡*

✓ 包含免费计划 · ✓ 随时取消 · ✓ 所有计划均解锁完整产品