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

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 CloudWatch 指标监控 Athena 查询

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

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

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

  • EngineExecutionTime— 以毫秒为单位

  • ProcessedBytes— 每个 DML 查询扫描的总数据量

  • QueryPlanningTime— 以毫秒为单位

  • QueryQueueTime— 以毫秒为单位

  • ServiceProcessingTime— 以毫秒为单位

  • TotalExecutionTime— 以毫秒为单位,用于 DDL 和 DML 查询

这些指标具有以下维度:

  • QueryStateQUEUEDRUNNINGSUCCEEDEDFAILED,或者CANCELLED

  • QueryTypeDMLDDL

  • WorkGroup— 工作组的名称

有关更多信息,请参阅本主题后面的 Athena 的 CloudWatch 指标与维度列表

在控制台中查看工作组的查询指标

  1. https://console.aws.amazon.com/athena/ 打开 Athena 控制台。

  2. 选择 Workgroup:<name> (工作组:) 选项卡。

    要查看工作组的指标,无需切换到该工作组,可以留在其他工作组中。但您需要从列表中选择工作组。您还必须拥有查看其指标的权限。

  3. 从列表中选择工作组,然后选择 View details (查看详细信息)。如果您具有权限,Overview (概览) 选项卡中将显示工作组的详细信息。

  4. 选择 Metrics (指标) 选项卡。

    
                        选择指标选项卡上的 Athena 控制台中工作组的详细信息页面。

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

    注意

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

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

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

    
                        选择刷新图标。
  7. 单击刷新图标旁边的向下箭头,以便为指标显示选择 Auto refresh (自动刷新) 选项和刷新间隔。

    
                        为 Athena 控制台中的工作组指标显示选择刷新间隔。

在 Amazon CloudWatch 控制台中查看指标

  1. 通过以下网址打开 CloudWatch 控制台:https://console.aws.amazon.com/cloudwatch/

  2. 在导航窗格中,选择指标

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

借助 CLI 查看指标

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

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

    aws cloudwatch list-metrics"

Athena 的 CloudWatch 指标与维度列表

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

指标名称 描述
EngineExecutionTime

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

ProcessedBytes

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

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

Athena 的 CloudWatch 指标具有以下维度。

维度 描述
QueryState

查询状态。

有效统计数据:已排队、运行、成功、失败或取消。

注意

在某些瞬态错误的情况下,Athena 会自动重试查询。因此,您可能会看到查询状态从 RUNNING(正在运行)或 FAILED(失败)转换为 QUEUED(已排队)。

QueryType

查询类型。

有效统计数据:DDLDML

WorkGroup

工作组的名称。