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

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

使用 Amazon Redshift 指标监控CloudWatch

利用 Amazon Redshift 的 CloudWatch 指标,您可以获取有关集群的运行状况和性能的信息,并查看节点级别的信息。在使用这些指标时,请注意,每个指标都有一个或多个维度与之关联。这些维度告诉您指标适用于什么,即指标的范围。Amazon Redshift 有以下两个维度:

  • 拥有 NodeID 维度的指标指的是提供集群节点性能数据的指标,这组指标包括领导节点和计算节点。例如以下指标:CPUUtilizationReadIOPSWriteIOPS

  • 只有 ClusterIdentifier 维度的指标指的是提供集群性能数据的指标。例如以下指标:HealthStatusMaintenanceMode

    注意

    在使用某些指标时,特定于集群的指标表示节点行为的聚合。在这类情况下,由于领导节点的行为与计算节点聚合,在解释指标值时请小心谨慎。

有关 CloudWatch 指标和维度的一般信息,请参阅 中的 CloudWatch 概念Amazon CloudWatch 用户指南

有关 Amazon Redshift 的 CloudWatch 指标的进一步说明,请参阅以下部分。

Amazon Redshift指标

AWS/Redshift 命名空间包括以下指标。除非另有说明,否则每隔 1 分钟收集一次指标。

Title
指标 Description
CommitQueueLength

在给定的时间点等待提交的事务数。

单位:Count

维度: ClusterIdentifier

ConcurrencyScalingActiveClusters

在任何给定时间主动处理查询的并发扩展集群的数量。

单位:Count

维度: ClusterIdentifier

ConcurrencyScalingSeconds

具有活动查询处理活动的并发扩展集群使用的秒数。

单位:总计

维度: ClusterIdentifier

CPUUtilization

CPU 使用百分率。对于集群,该指标代表所有节点 (领导节点和计算节点) CPU 使用率值的总和。

单位:百分比

维度:ClusterIdentifier,NodeID

维度: ClusterIdentifier

DatabaseConnections

集群中的数据库连接数量。

单位:Count

维度: ClusterIdentifier

HealthStatus

表示集群的运行状况检查。每分钟集群连接到其数据库并执行一次简单的查询。如果可以成功执行此操作,则表示集群的运行状况良好。否则,视为集群运行状况不佳。当数据库集群负载极重,或者集群上的数据库存在配置问题时,集群会出现运营状况不佳的情况。

注意

在 Amazon CloudWatch 中,此指标报告为 1 或 0,而在 Amazon Redshift 控制台中,为了方便起见,此指标显示为 HEALTHYUNHEALTHY。当该指标在 Amazon Redshift 控制台中显示时,采样平均值会被忽略,仅显示 HEALTHYUNHEALTHY。在 Amazon CloudWatch 中,由于采样问题,可能出现 1 和 0 以外的值。HealthStatus 的所有 1 以下的值均报告为 0 (UNHEALTHY)。

单位:Count (1/0) (HEALTHY 控制台中的 UNHEALTHY/Amazon Redshift)

维度: ClusterIdentifier

MaintenanceMode

表示集群是否处于维护模式。

注意

在 Amazon CloudWatch 中,此指标报告为 1 或 0,而在 Amazon Redshift 控制台中,为了方便起见,此指标显示为 ONOFF。当该指标在 Amazon Redshift 控制台中显示时,采样平均值会被忽略,仅显示 ONOFF。在 Amazon CloudWatch 中,由于采样问题,可能出现 1 和 0 以外的值。MaintenanceMode 的所有 0 以上的值均报告为 1 (ON)。

单位:计数 (1/0) (在 ON 控制台为 OFF/Amazon Redshift)。

维度: ClusterIdentifier

MaxConfiguredConcurrencyScalingClusters

从参数组配置的最大并发扩展集群数。有关更多信息,请参阅Amazon Redshift 参数组

单位:Count

维度: ClusterIdentifier

NetworkReceiveThroughput

节点或集群接收数据的速率。

单位:字节/秒 (Amazon Redshift 控制台中为 MB/s)

维度:ClusterIdentifier,NodeID

维度: ClusterIdentifier

NetworkTransmitThroughput

节点或集群写入数据的速率。

单位:字节/秒 (Amazon Redshift 控制台中为 MB/s)

维度:ClusterIdentifier,NodeID

维度: ClusterIdentifier

PercentageDiskSpaceUsed

已使用磁盘空间的百分比。

单位:百分比

维度: ClusterIdentifier

QueriesCompletedPerSecond

每秒完成的平均查询数。每隔 5 分钟报告一次。

单位:计数/秒

维度:ClusterIdentifier,latency

维度:ClusterIdentifier,wlmid

QueryDuration

完成查询的平均时间量。每隔 5 分钟报告一次。

单位:微秒

维度:ClusterIdentifierNodeIDlatency

维度:ClusterIdentifier,latency

维度:ClusterIdentifierNodeIDwlmid

QueryRuntimeBreakdown

查询在各个查询阶段运行所花费的总时间。每隔 5 分钟报告一次。

单位:毫秒

维度:ClusterIdentifier 、NodeID、阶段

维度:ClusterIdentifier ,阶段

ReadIOPS

每秒平均磁盘读取操作数。

单位:计数/秒

维度:ClusterIdentifier,NodeID

维度: ClusterIdentifier

ReadLatency

磁盘读取 I/O 操作所需的平均时间。

单位:Seconds

维度:ClusterIdentifier,NodeID

维度: ClusterIdentifier

ReadThroughput

每秒从磁盘读取的平均字节数。

单位:字节 (Amazon Redshift 控制台中为 GB/s)

维度:ClusterIdentifier,NodeID

维度: ClusterIdentifier

TotalTableCount

在特定时间点打开的用户表的数量。此总数不包括 Amazon Redshift Spectrum 表。

单位:Count

维度: ClusterIdentifier

WLMQueueLength

等待进入工作负载管理 (WLM) 队列的查询数。

单位:Count

维度:ClusterIdentifier,service class

维度:ClusterIdentifier,QueueName

WLMQueueWaitTime

在工作负载管理 (WLM) 队列中等待的查询总时间。每隔 5 分钟报告一次。

单位:毫秒。

维度:ClusterIdentifier,QueryPriority

维度:ClusterIdentifier,wlmid

维度:ClusterIdentifier,QueueName

WLMQueriesCompletedPerSecond

每秒为工作负载管理 (WLM) 队列完成的平均查询数。每隔 5 分钟报告一次。

单位:计数/秒

维度:ClusterIdentifier,wlmid

维度:ClusterIdentifier,QueueName

WLMQueryDuration

为工作负载管理 (WLM) 队列完成查询的平均时间量。每隔 5 分钟报告一次。

单位:微秒

维度:ClusterIdentifier,wlmid

维度:ClusterIdentifier,QueueName

WLMRunningQueries

对于每个 WLM 队列,从主集群和并发扩展集群运行的查询数。

单位:Count

维度:ClusterIdentifier,wlmid

维度:ClusterIdentifier,QueueName

WriteIOPS

每秒平均磁盘写入操作数。

单位:计数/秒

维度:ClusterIdentifier,NodeID

维度: ClusterIdentifier

WriteLatency

磁盘写入 I/O 操作所需的平均时间。

单位:Seconds

维度:ClusterIdentifier,NodeID

维度: ClusterIdentifier

WriteThroughput

每秒写入磁盘的平均字节数。

单位:字节 (Amazon Redshift 控制台中为 GB/s)

维度:ClusterIdentifier,NodeID

维度: ClusterIdentifier

SchemaQuota

为架构配置的配额。

单位:兆字节

维度:ClusterIdentifierDatabaseNameSchemaName

定期/推送:Periodic

频率:5 minutes

停止条件: 架构已删除或配额已删除

NumExceededSchemaQuotas

具有超过配额的架构的数量。

单位:Count

维度: ClusterIdentifier

定期/推送:Periodic

频率:5 minutes

停止条件: 不适用

StorageUsed

架构使用的磁盘或存储空间。

单位:兆字节

维度:ClusterIdentifierDatabaseNameSchemaName

定期/推送:Periodic

频率:5 minutes

停止条件: 架构已删除或配额已删除

PercentageQuotaUsed

相对于配置的架构配额的磁盘或存储空间使用百分比。

单位:百分比

维度:ClusterIdentifierDatabaseNameSchemaName

定期/推送:Periodic

频率:5 minutes

停止条件: 架构已删除或配额已删除

Amazon Redshift 指标的维度

可以按下表中的任意维度对 Amazon Redshift 数据进行筛选。

维度 Description
latency

可能值如下所示:

  • short – 不到 10 秒

  • medium – 在 10 秒到 10 分钟之间

  • long – 超过 10 分钟

NodeID

筛选条件请求的特定于集群的节点的数据。NodeID 是“领导”、“共享”或“计算 N”,其中 N 是 0、1, ...,表示集群中的节点数。“共享”意味着集群只有一个节点,即领导节点和计算节点合并到了一起。

针对领导节点和计算节点报告的指标仅针对 CPUUtilizationNetworkTransmitThroughputReadIOPS。 使用 NodeId 维度的其他指标仅为计算节点报告。

ClusterIdentifier

筛选条件请求的特定于集群的数据。特定于集群的指标包括 HealthStatusMaintenanceModeDatabaseConnections。 此维度的一般指标(例如 ReadIOPS),也是表示节点指标数据聚合的节点的指标。在解析这些指标时请小心,因为它们是领导节点和计算节点的聚合行为。

service class

WLM 服务类的标识符。

stage

查询的执行阶段。可能的值如下所示:

  • QueryPlanning: 分析和优化 SQL 语句所花的时间。

  • QueryWaiting: 在 WLM 队列中等待所花的时间。

  • QueryExecutingRead: 执行读取查询所花的时间。

  • QueryExecutingInsert: 执行插入查询所花的时间。

  • QueryExecutingDelete: 执行删除查询所花的时间。

  • QueryExecutingUpdate: 执行更新查询所花的时间。

  • QueryExecutingCtas: 执行 create table as queries (创建表作为查询所花的时间)。

  • QueryExecutingUnload: 执行卸载查询所花的时间。

  • QueryExecutingCopy: 执行复制查询所花的时间。

  • QueryCommit: 提交所花的时间。

wlmid

工作负载管理队列的标识符。

QueryPriority

查询的优先级。可能的值为 CRITICALHIGHESTHIGHNORMALLOWLOWEST

QueueName

工作负载管理队列的名称。

Amazon Redshift 查询和加载性能数据

除了 CloudWatch 指标之外,Amazon Redshift 还提供查询和加载性能数据。查询和加载性能数据有助于您了解数据库性能和集群指标之间的关系。例如,如果您注意到集群的 CPU 达到峰值,则可以在集群 CPU 图表中找到相应峰值,并了解当时正在运行的查询。相反,如果您要查看特定查询,则相应指标数据(如 CPU)会根据具体情况显示出来,以便您了解查询对集群指标的影响。

查询和加载性能数据不会作为 CloudWatch 指标发布,而只能通过 Amazon Redshift 控制台查看。查询和加载性能数据是通过查询数据库的系统表生成的(有关更多信息,请参阅 https://docs.amazonaws.cn/redshift/latest/dg/cm_chap_system-tables.html 开发人员指南 中的Amazon Redshift系统表参考)。您也可以生成自己的自定义数据库性能查询,不过我们建议您先从控制台中提供的查询和加载性能数据入手。有关自行测量和监控数据库性能的更多信息,请参阅 https://docs.amazonaws.cn/redshift/latest/dg/c-optimizing-query-performance.html 开发人员指南 中的Amazon Redshift管理性能

下表介绍了您可以通过 Amazon Redshift 控制台访问的查询和加载数据的不同方面。

查询/加载数据 Description
查询摘要

指定时间段内的查询列表。此列表可以按查询 ID、查询运行时间和状态等值排序。在集群详细信息页面的 Query monitoring (查询监控) 选项卡中查看此数据。

查询详细信息

提供某个特定查询的详细信息,包括:

  • 查询属性,如查询 ID、类型、运行查询的集群和运行时间。

  • 详细信息,例如查询的状态和错误数量。

  • 运行的 SQL 语句。

  • 说明计划(如果有)。

  • 查询执行期间的集群性能数据(有关更多信息,请参阅查看查询历史记录)。

加载摘要

列出指定时间段内的所有加载。此列表可以按查询 ID、查询运行时间和状态等值排序。在集群详细信息页面的 Query monitoring (查询监控) 选项卡中查看此数据。

加载详细信息

提供有关特定加载操作的详细信息,包括:

  • 加载属性,例如查询 ID、类型、运行查询的集群和运行时间。

  • 详细信息,例如加载的状态和错误数量。

  • 运行的 SQL 语句。

  • 已加载的文件列表。

  • 加载操作期间的集群性能数据(有关更多信息,请参阅查看查询历史记录)。