监控 Amazon Glue Studio 中的 ETL 任务 - Amazon Glue Studio
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

监控 Amazon Glue Studio 中的 ETL 任务

监控是保持 Amazon Glue 和 Amazon Glue Studio 中所用 ETL 任务的可靠性、可用性和性能的重要环节。您应从 Amazon 解决方案的所有部分收集监控数据,以便更轻松地调试出现的多点故障。

访问任务监控控制面板

您可以在 Amazon Glue Studio 导航窗格中选择 Monitoring (监控) 链接,从而访问任务监控控制面板。

任务监控控制面板概览

任务监控控制面板提供任务运行的总体摘要,以及状态 Running (正在运行)Canceled (已取消)Success (成功) 或者 Failed (失败)。其他磁贴提供总体任务运行成功率、任务的预估 DPU 使用率,以及按任务类型、工件类型和天细分的任务状态计数。

磁贴中的图形是交互式。您可以选择图形中的任意数据块来运行筛选条件,仅显示页面底部 Job runs (任务运行) 表中的任务。

您可以使用 Date range (日期范围) 选择器更改此页面上显示的信息的日期范围。更改日期范围时,信息磁贴会进行调整,显示代表当前日期之前指定天数的值。如果您从日期范围选择器中选择 Custom (自定义),您还可以使用特定日期范围。

任务运行视图

Job runs (任务运行) 资源列表显示符合指定日期范围和筛选条件的任务。

您可以根据其他条件(如状态、工件类型、任务类型和任务名称)筛选任务。在表格顶部的筛选条件框中,您可以输入要用作筛选条件的文本。当您输入文本时,将使用包含匹配文本的行更新表结果。

您可以从任务监控控制面板上的图形中选择元素,查看任务的子集。例如,如果您选择 Job runs summary (任务运行摘要) 磁贴中正在运行的任务的数量,则 Job runs (任务运行) 列表仅显示当前状态为 Running 的任务。如果您选择 Worker type breakdown (工件类型细分) 条形图,则 Job runs (任务运行) 列表中仅显示具有匹配工件类型和状态的任务运行。

Job runs (任务运行) 资源列表显示任务运行的详细信息。可以通过选择列标题对表中的行进行排序。此表包含以下信息:

属性 描述
任务名称 任务名称
类型

任务环境的类型:

  • Glue ETL:在由 Amazon Glue 管理的 Apache Spark 环境中运行。

  • Glue Streaming:在 Apache Spark 环境中运行,并在数据流上执行 ETL。

  • Python Shell:以 Shell 运行 Python 脚本

开始时间

此作业运行的启动日期和时间。

结束时间

此作业运行的完成日期和时间。

运行状态

任务运行的当前状态。值可以是:

  • STARTING

  • RUNNING

  • STOPPING

  • STOPPED

  • SUCCEEDED

  • FAILED

  • TIMEOUT

运行时间 任务运行使用资源的时间长度(以秒为单位)。
Capacity

此任务运行时可分配的 Amazon Glue 数据处理单元(DPU)的最大数量。有关容量规划的更多信息,请参阅《Amazon Glue 开发人员指南》中的 DPU 容量规划监控

工作线程类型

任务运行时分配的预定义工件的类型。值可以是 StandardG.1X 或者 G.2X

DPU 小时

任务运行使用的 DPU 的估计数量。DPU 是处理能力的相对衡量标准。DPU 用于确定任务运行成本。有关更多信息,请参阅 Amazon Glue 价格页面

您可以在列表中选择任何任务运行并查看其他信息。选择任务运行,然后执行以下任一操作:

  • 选择 Actions (操作) 菜单和 View job (查看任务) 选项,在可视化编辑器中查看任务。

  • 选择 Actions (操作) 菜单和 Stop run (停止运行) 选项,停止任务的当前运行。

  • 选择 View CloudWatch logs (查看 CloudWatch 日志) 按钮,查看该任务的任务运行日志。

  • 选择 View run details (查看运行详细信息),查看任务运行详细信息页面。

查看任务运行日志

您可通过多种方式查看任务日志:

  • Monitoring (监控) 页面中的 Job runs (任务运行) 表中,选择任务运行,然后选择 View CloudWatch logs (查看 CloudWatch 日志)

  • 在可视化任务编辑器中,在任务的 Runs (运行) 选项卡上,选择超链接以查看日志:

    • Logs (日志) – 链接到为任务运行启用连续日志记录时写入的 Apache Spark 任务日志。当您选择此链接时,它会将您转到 /aws-glue/jobs/logs-v2 日志组中的 Amazon CloudWatch 日志。默认情况下,日志会排除无用的 Apache Hadoop YARN 检测信号和 Apache Spark 驱动程序或执行程序日志消息。有关连续日志记录的更多信息,请参阅的《Amazon Glue 开发人员指南》中的连续日志记录 Amazon Glue 任务

    • Error logs (错误日志) – 链接到写入此任务运行的 stderr 的日志。当您选择此链接时,它会将您转到 /aws-glue/jobs/error 日志组中的 Amazon CloudWatch 日志。您可以使用这些日志查看有关任务运行期间遇到的错误的详细信息。

    • Output logs (输出日志) – 链接到写入此任务运行的 stdout 的日志。当您选择此链接时,它会将您转到 /aws-glue/jobs/output 日志组中的 Amazon CloudWatch 日志。您可以使用这些日志,查看有关在 Amazon Glue Data Catalog 中创建的表和遇到的错误的详细信息。

查看任务运行的详细信息

您可以在 Monitoring (监控) 页面上的 Job runs (任务运行) 列表中选择任务,然后选择 View run details (查看运行详细信息),查看该任务运行的详细信息。

任务运行详细信息页面上显示的信息包括:

属性 描述
任务名称 任务名称
运行状态

任务运行的当前状态。值可以是:

  • STARTING

  • RUNNING

  • STOPPING

  • STOPPED

  • SUCCEEDED

  • FAILED

  • TIMEOUT

Glue 版本 任务运行使用的 Amazon Glue 版本
最近的尝试 此任务运行的自动重试次数
开始时间

此任务运行的启动日期和时间

结束时间

此任务运行的完成日期和时间

开始时间

准备运行任务运行所花费的时间

执行时间

运行任务脚本花费的时间

触发器名称

与任务关联的触发器的名称

上次修改日期

上次修改任务的日期

安全配置

任务的安全配置,包括 Amazon S3 加密、CloudWatch 加密和任务书签加密设置

Timeout 任务运行超时阈值
已分配容量

此任务运行时可分配的 Amazon Glue 数据处理单元(DPU)的最大数量。有关容量规划的更多信息,请参阅《Amazon Glue 开发人员指南》中的 DPU 容量规划监控

最大容量

任务运行可用的最大容量。

工作线程数 任务运行所用的工件数
工作线程类型

为任务运行分配的预定义工件的类型。值可以是 StandardG.1X 或者 G.2X

日志 指向连续日志记录(/aws-glue/jobs/logs-v2)的任务日志链接
输出日志 指向任务输出日志文件(/aws-glue/jobs/output)的链接
错误日志 指向任务错误日志文件(/aws-glue/jobs/error)的链接

查看任务运行的 Amazon CloudWatch 指标

在任务运行的详细信息页面上的 Run details (运行详细信息) 部分下面,您可以查看任务指标。Amazon Glue Studio 将任务指标发送到 Amazon CloudWatch,用于每次任务运行。

Amazon Glue 每 30 秒将指标报告到 Amazon CloudWatch Amazon Glue 指标表示先前报告的值的增量值。在适当时,指标控制面板会聚合(合计)30 秒值以获取整个最后一分钟的值。但是,Amazon Glue 传递给 Amazon CloudWatch 的 Apache Spark 指标通常是表示在报告它们时的当前状态的绝对值。

注意

您必须配置您的账户才能访问 Amazon CloudWatch,如Amazon CloudWatch 权限中所述。

指标提供有关任务运行的信息,例如:

  • ETL Data Movement (ETL 数据移动) – 从 Amazon S3 中读取或向其中写入的字节数。

  • Memory Profile: Heap used (内存配置文件:使用的堆) – Java 虚拟机(JVM)堆使用的内存字节数。

  • Memory Profile: heap usage (内存配置文件:堆使用情况) – JVM 堆使用的内存所占的比例(比例:0–1)。

  • CPU Load (CPU 负载) – 使用的 CPU 系统负载所占的比例(比例:0–1)。