使用 CloudWatch 指标监控 Athena 查询 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 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 使用情况指标的信息,请参阅 监控 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. 选择 Amazon/Athena 命名空间。

借助 CLI 查看指标
  • 请执行以下操作之一:

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

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

      aws cloudwatch list-metrics"

Athena 的 CloudWatch 指标与维度列表

如果您在 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

工作组

工作组的名称。