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

基于 SYS 视图的查询和数据库监控

本文档介绍 Amazon Redshift 控制台中为查询和数据库监控页面提供数据的 SYS 视图,它是一种用于分析查询的组件和性能的工具。有关查询和数据库监控页面的信息,请参阅查询和数据库监控

查询和数据库监控页面具有显示由 SYS 视图提供的信息的功能。控制台视图包括查询探查器,它显示查询的图形执行计划。要切换到基于 SYS 的视图,请按照此处的步骤针对新的查询和数据库监控页面授予正确的访问权限和权限。

查询和数据库监控页面的基于 SYS 的视图功能具有以下功能:

  • 提高安全性 - 您需要提升的权限才能监控其他用户的查询

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

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

默认情况下,您只能查看自己的查询。要查看其他用户拥有的查询,请将 SYS:MONITOR 角色授予您的账户。要支持用户结束正在运行的查询,请向该用户授予 SYS:OPERATOR 权限。

要向数据库用户或角色授予查看所有用户拥有的查询的权限,请运行以下命令:

grant role sys:monitor to "IAMR:role-name"; grant role sys:monitor to "IAMR:user-name";

要自动将 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" },

连接到数据库

在使用增强型查询监控功能之前,必须先连接到数据库,才能访问基于 SYS 视图的信息。要连接到数据库,请使用以下凭证之一:

  • 用户名和密码

  • 与您的 IAM 角色关联的临时凭证

  • 数据库用户

在使用增强型查询监控时,请注意以下几点:

  • 对于预置集群,您必须连接到数据库,因为增强型查询监控使用 SYS 视图。这些视图提高了安全性,并且需要提升的权限,才能访问与其他用户拥有的查询有关的数据。

  • 使用基于 SYS 视图的查询和数据库监控页面时,如果用户账户没有数据库超级用户角色,则只有 user_id 是可见的。对于非超级用户,用户名是隐藏的。

  • 作为基于 SYS 视图的查询和数据库监控页面体验的一部分,查询执行进程 ID (p_id) 显示在列标题 session_id 下。