使用 CloudWatch 监控 Athena 查询指标 - Amazon Athena

使用 CloudWatch 监控 Athena 查询指标

如果选择 publish query metrics to CloudWatch(将查询指标发布到 CloudWatch)选项,Athena 会将与查询相关的指标发布到 Amazon CloudWatch。您可以创建自定义控制面板,对 CloudWatch 中的指标设置警报和触发器,或从 Athena 控制台直接使用预先填充的控制面板。

为工作组中的查询启用查询指标时,这些指标将显示在 Workgroups(工作组)面板中的 Metrics(指标)选项卡,用于 Athena 控制台中的每个工作组。

Athena 会将以下指标发布到 CloudWatch 控制台:

  • DPUAllocated – 在容量预留中预置的用于运行查询的 DPU(数据处理单元)总数。

  • DPUConsumed – 在预留的给定时间内,处于 RUNNING 状态的查询主动消耗的 DPU 数量。只有当工作组与容量预留关联并且包括与预留关联的所有工作组时,才会发出指标。

  • DPUCount – 查询消耗的最大 DPU 数量,仅在查询完成时发布一次。

  • EngineExecutionTime – 运行查询所耗费的毫秒数。

  • ProcessedBytes – Athena 为每个 DML 查询扫描的字节数。

  • QueryPlanningTime – Athena 计划查询处理流程所耗费的毫秒数。

  • QueryQueueTime – 查询在查询队列中等待资源所耗费的毫秒数。

  • ServicePreProcessingTime – 在将查询提交给查询引擎之前,Athena 用于预处理查询的毫秒数。

  • ServiceProcessingTime – 查询引擎执行完查询后,Athena 处理查询结果所耗费的毫秒数。

  • TotalExecutionTime – Athena 运行 DDL 或 DML 查询所耗费的毫秒数。

有关更完整的说明,请参阅本文档后面的 Athena 的 CloudWatch 指标与维度列表

这些指标具有以下维度:

  • CapacityReservation – 用于执行查询的容量预留的名称(如果适用)。

  • QueryStateSUCCEEDEDFAILEDCANCELED

  • QueryTypeDMLDDLUTILITY

  • WorkGroup – 工作组的名称

Athena 会将以下指标发布到 AmazonAthenaForApacheSpark 命名空间下的 CloudWatch 控制台:

  • DPUCount – 会话期间为执行计算而使用的 DPU 数量。

该指标具有以下维度:

  • SessionId – 提交计算的会话 ID。

  • WorkGroup – 工作组名称。

有关更多信息,请参阅本主题后面的 Athena 的 CloudWatch 指标与维度列表。有关 Athena 使用情况指标的信息,请参阅 使用 CloudWatch 监控 Athena 使用情况指标

您可以在 Athena 控制台或 CloudWatch 控制台中查看查询指标。

在 Athena 控制台中查看工作组的查询指标
  1. https://console.aws.amazon.com/athena/ 打开 Athena 控制台。

  2. 如果控制台导航窗格不可见,请选择左侧的扩展菜单。

    选择扩展菜单。
  3. 在导航窗格中,选择 Workgroups(工作组)。

  4. 从列表中选择所需的工作组,然后选择 Metrics(指标)选项卡。

    此时将显示指标控制面板。

    注意

    如果您最近刚为工作组启用了指标和/或没有最近的查询活动,则控制面板上的图形可能为空。根据您在下一步中指定的间隔从 CloudWatch 检索查询活动。

  5. Metrics(指标)部分中,选择 Athena 应该用于从 CloudWatch 中提取查询指标的指标间隔,或指定自定义间隔。

    在 Athena 控制台中为工作组指定指标检索间隔。
  6. 要刷新显示的指标,请选择刷新图标。

    选择刷新图标。
  7. 单击刷新图标旁边的箭头,选择指标显示的更新频率。

    为 Athena 控制台中的工作组指标显示选择刷新间隔。
要使用 Amazon CloudWatch 控制台查看指标
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,依次选择 Metrics(指标)、All metrics(所有指标)。

  3. 选择 AWS/Athena 命名空间。

使用 AWS CLI 查看指标
  • 请执行以下操作之一:

    • 要列出 Athena 的指标,请打开命令提示符,然后使用以下命令:

      aws cloudwatch list-metrics --namespace "AWS/Athena"
    • 要列出所有可用的指标,请使用以下命令:

      aws cloudwatch list-metrics"

如果您在 Athena 中启用了 CloudWatch 指标,则它会按工作组将以下指标发送到 CloudWatch。以下指标使用 AWS/Athena 命名空间。

指标名称 描述
DPUAllocated

在容量预留中预置的用于运行查询的 DPU(数据处理单元)总数。

DPUConsumed 在预留的给定时间内,处于 RUNNING 状态的查询主动消耗的 DPU 数量。只有当工作组与容量预留关联并且包括与预留关联的所有工作组时,才会发出此指标。如果将工作组从一个预留转移到另一个预留,则指标将包含从该工作组属于第一个预留起的数据。有关容量预留的更多信息,请参阅管理查询处理容量
DPUCount 查询消耗的最大 DPU 数量,仅在查询完成时发布一次。只有工作组附加到了容量预留,才会发出此指标。
EngineExecutionTime

运行查询所花费的毫秒数。

ProcessedBytes

Athena 为每个 DML 查询扫描的字节数。对于已取消的查询(由用户取消,或者因为达到限制而自动取消),此指标包含在取消时间之前扫描的数据量。对于 DDL 或 CTAS 查询,不会报告此指标。

QueryPlanningTime Athena 计划查询处理流程所花费的毫秒数。这包括从数据源检索表分区所花费的时间。请注意,由于查询引擎执行查询计划,因此查询计划时间是 EngineExecutionTime 的子集。
QueryQueueTime 查询在查询队列中等待资源所花的毫秒数。请注意,如果发生临时错误,则可以自动将查询添加回队列。
ServicePreProcessingTime 在将查询提交给查询引擎之前,Athena 用于预处理查询的毫秒数。
ServiceProcessingTime 查询引擎执行完查询后,Athena 处理查询结果所耗费的毫秒数。
TotalExecutionTime Athena 运行 DDL 或 DML 查询所花费的毫秒数。TotalExecutionTime 包括 QueryQueueTime、 QueryPlanningTime、EngineExecutionTime 和 ServiceProcessingTime。

Athena 的指标具有以下维度。

维度 描述
CapacityReservation

用于执行查询的容量预留的名称(如适用)。如果不使用容量预留,此维度不会返回任何数据。

QueryState

查询状态。

有效统计数据:SUCCEEDED(成功)、FAILED(失败)或 CANCELED(已取消)。

QueryType

查询类型。

有效统计数据:DDLDMLUTILITY。运行的查询语句的类型。DDL 表示 DDL(数据定义语言)查询语句。DML 表示 DML(数据操作语言)查询语句,例如 CREATE TABLE AS SELECTUTILITY 表示 DDL 和 DML 以外的查询语句,例如 SHOW CREATE TABLEDESCRIBE TABLE

工作组

工作组的名称。