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

查询和数据库监控

本文档描述了查询和数据库监控页面,用于分析 Amazon Redshift 预调配集群或无服务器工作组的性能的 Amazon Web Services Management Console功能以及针对它们运行的查询。

您可以使用查询和数据库监控页面调查以下情况:

  • 监控指定时间段内的数据仓库指标

  • 查询会对数据仓库的整体性能产生哪些影响

  • 了解查询运行时间细分为其生命周期事件的情况,例如锁定等待时间、编译时间和执行时间

  • 哪些用户在指定时间段内运行的资源密集型查询最多

  • 监控补丁事件对查询性能产生的影响

权限

用于访问控制台的 Amazon Web Services 账户的权限会影响查询和数据库监控页面显示的查询。默认情况下,您只能查看自己的查询。要查看其他用户拥有的查询,请将 SYS:MONITOR 角色授予您的账户。要允许用户从查询和数据库监控页面终止正在运行的查询,请向用户授予 SYS:OPERATOR 权限。

要自动将 sys:monitor 角色分配给 Amazon Redshift Serverless 或预置的 IAM 用户或角色,请运行以下命令:

create role monitor; grant role sys:monitor to monitor;

要更新用于查询监控的 IAM 角色,请执行以下操作:

  1. 选择标签选项卡。

  2. 选择管理标签

  3. 添加具有键 RedshiftDbRoles 和值 monitor 的标签。

  4. 保存更改

要将数据库凭证添加到用户,请运行以下命令:

grant role sys:monitor to <username>

要使用查询监控,IAM 用户需要访问 Amazon Redshift 数据面板的权限。确保 IAM 用户在其权限策略中具有以下权限:

{ "Sid": "DataAPIPermissions", "Action": [ "redshift-data:ExecuteStatement", "redshift-data:CancelStatement", "redshift-data:GetStatementResult", "redshift-data:DescribeStatement", "redshift-data:ListDatabases" ], "Effect": "Allow", "Resource": "arn:aws:redshift-serverless:us-west-2:123456789012:workgroup/01234567-89ab-cdef-0123-456789abcdef" },

使用您的 IAM 身份的临时凭证

仅在连接到集群时此选项才可用。使用此方法,查询和数据库监控功能会将用户名映射到您的 IAM 身份并生成临时密码,以便使用您的 IAM 身份连接到数据库。必须允许使用此方法进行连接的用户对 redshift:GetClusterCredentialsWithIAM 拥有 IAM 权限。要防止用户使用此方法,请修改其 IAM 用户或角色以拒绝此权限。

查询和数据库监控控制台

此部分介绍如何使用查询和数据库监控控制台页面。

您可以使用查询和数据库监控控制台来快速了解数据仓库的性能。您可以监控一段时间内的数据仓库性能,并检查数据仓库的预配置集群或单个查询的性能,以便充分识别瓶颈和其他需要改进的方面。

查询和数据库监控页面具有以下特征:

  • 提高安全性 – 您需要提升的权限才能监控其他用户的查询。有关更多信息,请参阅 权限

  • 七天查询历史记录 – 保证可访问七天的查询历史记录

  • 查询监控 – 您可以在用户查询级别监控预调配集群和无服务器工作组中的查询。

  • 查询趋势分析 – 您可以比较符合指定条件的相似查询的性能。

要访问查询和数据库监控页面,请执行以下操作:

  1. 通过 https://console.aws.amazon.com/redshiftv2/ 登录到 Amazon Redshift 控制台。

  2. 从导航窗格中选择查询和数据库监控

查询和数据库监控控制台页面如下所示:

查询和数据库监控页面具有以下组成部分:

  • 数据仓库概览 – 监控预调配集群和无服务器工作组的平均查询性能。您可以在此页面上查看峰值或高活动期间的统计数据,快速了解特定集群或工作组的性能问题。

  • 查询性能摘要 – 监控特定预调配集群或无服务器工作组的平均查询性能。还可以通过单击数据仓库概览列表中的某个集群或工作组来访问查询性能摘要页面。

查询性能摘要

在从查询和数据库监控页面中选择查询性能摘要,或从数据仓库概览页面选择集群或工作组时,控制台会显示单个预调配集群或无服务器工作组的性能摘要。

此页面包含以下组成部分:

  • 集群或工作组下拉列表 – 选择要分析的集群或工作组。

  • 数据仓库性能 – 此窗格显示指定时间段内的集群或工作组历史记录,并显示每个查询阶段所花费的时间。如果您看到某个查询阶段出现峰值,如上图中所示,1 月 20 日的计划和执行时间已增加,则可以使用此信息来识别查询性能问题。显示的默认时间段为最近七天,但您可以根据分析需求调整时间段。

  • 查询历史记录 – 此窗格显示指定筛选器内每个查询运行的性能历史记录。您可以使用此信息来排查单个查询的性能问题。要进一步分析某个特定查询,可以从此图表或数据仓库性能图表中选择该查询。

    将鼠标悬停在图表上的数据点上方时,会出现一个弹出窗口。此弹出窗口显示该数据点的时间指标细分。如果数据点包含查询数据,则可以选择向下钻取,将图表的时间范围更新为该数据点的下一个最小时间单位。这些时间单位如下所示:

    • 小时

    • 15 分钟

    • 5 分钟

    • 1 minute

    例如,如果您在数据点上选择向下钻取,则图表的范围将更改为一天。再次选择向下钻取会将图表的范围更改为一小时。

  • 查询探查器 - 用于监控查询性能的图形工具。有关更多信息,请参阅 查询分析器

查询详细信息

在从集群或工作组详细信息页面的数据仓库性能查询历史记录窗格中选择查询时,将打开查询详细信息页面。

有关查询详细信息页面的信息,请参阅查询详细信息页面

查询模式

可以通过在查询性能摘要页面的查询历史记录窗格中选择查看查询模式按钮,查看具有相同模式的查询历史记录。查询模式页面显示您指定的 SQL 语句在过去一周内检索到的所有查询。

查询模式页面包含以下组成部分:

  • 查询模式 – 检索正在分析的查询的 SQL 语句。

  • 查询性能趋势分析 – 显示查询模式选择的所有查询所用时间的条形图。按天对结果进行分组。

  • 具有相同模式的查询历史记录 – 查询模式选择的查询的每个阶段所花费的时间。

使用查询模式页面,可以获得以下洞察:

  • 在每天的特定时间运行的查询的趋势

  • 定期对数据仓库运行的查询的运行时峰值。