CloudWatch メトリクスを使用した Amazon Redshift のモニタリング - Amazon Redshift

CloudWatch メトリクスを使用した Amazon Redshift のモニタリング

Amazon Redshift の CloudWatch メトリクスを使うと、クラスターのヘルスとパフォーマンスに関する情報を取得し、ノードレベルで情報を表示できます。これらのメトリクスを使用するときは、各メトリクスには 1 つ以上のディメンションが関連付けられていることに注意してください。これらのディメンションにより、メトリクスが適用される対象、つまりメトリクスの範囲がわかります。 には次の 2 つのディメンションがあります。Amazon Redshift には、次の 2 つのディメンションがあります。

  • NodeID ディメンションを持つメトリクスは、クラスターのノードのパフォーマンスデータを提供するメトリクスです。このメトリクスのセットには、リーダーノードおよびコンピューティングノードが含まれます。これらのメトリクスの例には、CPUUtilizationReadIOPSWriteIOPS があります。

  • ClusterIdentifier ディメンションのみを持つメトリクスは、クラスターのパフォーマンスデータを提供するメトリクスです。これらのメトリクスの例には、HealthStatusMaintenanceMode があります。

    注記

    一部のメトリクスでは、クラスター固有のメトリクスはノード動作の集計を表します。このような場合は、メトリクス値の解釈には注意が必要です。これは、リーダーノードの動作はコンピューティングノードとともに集計されるためです。

CloudWatch メトリクスとアラームの詳細については、Amazon CloudWatch ユーザーガイドの「CloudWatch の概念」を参照してください。

Amazon Redshift の CloudWatch メトリクスの詳細については、以下のセクションを参照してください。

Amazon Redshift メトリクス

AWS/Redshift 名前空間には、次のメトリクスが含まれます。特に明記されていない限り、メトリクスは 1 分間隔で収集されます。

タイトル
メトリクス 説明
CommitQueueLength

特定の時点のコミット待ちのトランザクションの数。

単位: 個

ディメンション: ClusterIdentifier

ConcurrencyScalingActiveClusters

任意の時点でアクティブにクエリを処理している同時実行スケーリングクラスターの数。

単位: 個

ディメンション: ClusterIdentifier

ConcurrencyScalingSeconds

アクティブなクエリ処理アクティビティを持つ同時実行スケーリングクラスターによって使用される秒数。

単位: Sum

ディメンション: ClusterIdentifier

CPUUtilization

CPU 使用率。このメトリクスは、クラスターに対するすべてのノード (リーダーおよびコンピューティング) の CPU 使用率の値の集計を表します。

単位: パーセント

ディメンション: ClusterIdentifierNodeID

ディメンション: ClusterIdentifier

DatabaseConnections

クラスターへのデータベース接続の数。

単位: 個

ディメンション: ClusterIdentifier

HealthStatus

クラスターの状態を示します。クラスターは毎分データベースに接続し、簡単なクエリを実行します。この操作を正しく実行できる場合、クラスターは正常な状態であると見なされます。それ以外の場合、クラスターは正常な状態ではありません。正常でない状態が発生する可能性があるのは、クラスターデータベースに極端に高い負荷がかかっているか、クラスター上のデータベースに設定の問題がある場合です。

注記

Amazon CloudWatch では、このメトリクスは 1 または 0 と報告されますが、Amazon Redshift コンソールでは、このメトリックはわかりやすくするために HEALTHY または UNHEALTHY という単語で表示されます。このメトリクスが Amazon Redshift コンソールで表示される場合、サンプリング平均は無視され、HEALTHY または UNHEALTHY のみが表示されます。Amazon CloudWatch では、サンプリングの問題により、1 または 0 以外の値が発生する場合があります。HealthStatus に対して 1 未満の値は 0(UNHEALTHY)と報告されます。

単位: カウント (1/0) (Amazon Redshift コンソールの HEALTHY/UNHEALTHY)

ディメンション: ClusterIdentifier

MaintenanceMode

クラスターがメンテナンスモードかどうかを示します。

注記

Amazon CloudWatch では、このメトリクスは 1 または 0 と報告されますが、Amazon Redshift コンソールでは、このメトリックはわかりやすくするために ON または OFF という単語で表示されます。このメトリクスが Amazon Redshift コンソールで表示される場合、サンプリング平均は無視され、ON または OFF のみが表示されます。Amazon CloudWatch では、サンプリングの問題により、1 または 0 以外の値が発生する場合があります。MaintenanceMode に対して 0 より大きい値は 1(ON)と報告されます。

単位: カウント (1/0) (Amazon Redshift コンソールの ON/OFF)

ディメンション: ClusterIdentifier

MaxConfiguredConcurrencyScalingClusters

パラメータグループから設定された同時実行スケーリングクラスターの最大数。詳細については、Amazon Redshift パラメータグループを作成します。 を参照してください。

単位: 個

ディメンション: ClusterIdentifier

NetworkReceiveThroughput

ノードまたはクラスターがデータを受け取るレート。

単位: バイト/秒 (Amazon Redshift コンソールでは MB/秒)

ディメンション: ClusterIdentifierNodeID

ディメンション: ClusterIdentifier

NetworkTransmitThroughput

ノードまたはクラスターがデータを書き込むレート。

単位: バイト/秒 (Amazon Redshift コンソールでは MB/秒)

ディメンション: ClusterIdentifierNodeID

ディメンション: ClusterIdentifier

PercentageDiskSpaceUsed

使用中のディスク容量の割合。

単位: パーセント

ディメンション: ClusterIdentifier

ディメンション: ClusterIdentifierNodeID

QueriesCompletedPerSecond

1 秒あたりに完了したクエリの平均回数。5 分間隔で報告されます。

単位: カウント/秒

ディメンション: ClusterIdentifier, latency

ディメンション: ClusterIdentifierwlmid

QueryDuration

クエリを完了するまでの平均時間。5 分間隔で報告されます。

単位: マイクロ秒

ディメンション: ClusterIdentifierNodeIDlatency

ディメンション: ClusterIdentifierlatency

ディメンション: ClusterIdentifierNodeIDwlmid

QueryRuntimeBreakdown

クエリステージごとのクエリの実行にかかった合計時間。5 分間隔で報告されます。

単位: ミリ秒

ディメンション: ClusterIdentifier、NodeID、stage

ディメンション: ClusterIdentifier、stage

ReadIOPS

1 秒あたりのディスク読み取り操作の平均回数。

単位: カウント/秒

ディメンション: ClusterIdentifierNodeID

ディメンション: ClusterIdentifier

ReadLatency

ディスク読み取り I/O 操作にかかる平均時間。

単位: Seconds

ディメンション: ClusterIdentifierNodeID

ディメンション: ClusterIdentifier

ReadThroughput

1 秒あたりのディスクからの平均読み取りバイト数。

単位: バイト (Amazon Redshift コンソールでは GB-s)

ディメンション: ClusterIdentifierNodeID

ディメンション: ClusterIdentifier

RedshiftManagedStorageTotalCapacity

マネージドストレージの総容量。

単位: メガバイト

ディメンション: ClusterIdentifier

TotalTableCount

特定の時点で開いているユーザーテーブルの数。この合計には Amazon Redshift Spectrum テーブルは含まれません。

単位: 個

ディメンション: ClusterIdentifier

WLMQueueLength

ワークロード管理 (WLM) キューに入るために待機しているクエリの数。

単位: 個

ディメンション: ClusterIdentifier, service class

ディメンション: ClusterIdentifierQueueName

WLMQueueWaitTime

ワークロード管理 (WLM) キューでクエリの待機にかかった合計時間。5 分間隔で報告されます。

単位: ミリ秒

ディメンション: ClusterIdentifier, QueryPriority

ディメンション: ClusterIdentifier, wlmid

ディメンション: ClusterIdentifierQueueName

WLMQueriesCompletedPerSecond

ワークロード管理 (WLM) キューで完了した 1 秒あたりの平均クエリ数。5 分間隔で報告されます。

単位: カウント/秒

ディメンション: ClusterIdentifier, wlmid

ディメンション: ClusterIdentifierQueueName

WLMQueryDuration

ワークロード管理 (WLM) キューのクエリを完了するまでの平均時間。5 分間隔で報告されます。

単位: マイクロ秒

ディメンション: ClusterIdentifier, wlmid

ディメンション: ClusterIdentifierQueueName

WLMRunningQueries

WLM キューごとのメインクラスターと同時実行スケーリングクラスターの両方から実行されているクエリの数。

単位: 個

ディメンション: ClusterIdentifier, wlmid

ディメンション: ClusterIdentifierQueueName

WriteIOPS

1 秒あたりの書き込み操作の平均回数

単位: カウント/秒

ディメンション: ClusterIdentifierNodeID

ディメンション: ClusterIdentifier

WriteLatency

ディスク書き込み I/O 操作にかかる平均時間。

単位: Seconds

ディメンション: ClusterIdentifierNodeID

ディメンション: ClusterIdentifier

WriteThroughput

1 秒あたりのディスクへの平均書き込みバイト数。

単位: バイト (Amazon Redshift コンソールでは GB-s)

ディメンション: ClusterIdentifierNodeID

ディメンション: ClusterIdentifier

SchemaQuota

スキーマの構成済みクォータ。

単位: メガバイト

ディメンション: ClusterIdentifierDatabaseSchema

周期/プッシュ: Periodic

頻度: 5 minutes

停止条件:スキーマの削除またはクォータの削除

NumExceededSchemaQuotas

クォータを超過したスキーマの数。

単位: 個

ディメンション: ClusterIdentifier

周期/プッシュ: Periodic

頻度: 5 minutes

停止基準: 該当なし

StorageUsed

スキーマによって使用されるディスクまたはストレージ領域。

単位: メガバイト

ディメンション: ClusterIdentifierDatabaseSchema

周期/プッシュ: Periodic

頻度: 5 minutes

停止条件:スキーマの削除またはクォータの削除

PercentageQuotaUsed

構成されたスキーマクォータを基準としたディスクまたは記憶域スペースの割合。

単位: パーセント

ディメンション: ClusterIdentifierDatabaseSchema

周期/プッシュ: Periodic

頻度: 5 minutes

停止条件:スキーマの削除またはクォータの削除

UsageLimitAvailable

FeatureType に応じて、UsageLimitAvailable は次の値を返します。

  • FeatureType が CONCURRENCY_SCALING の場合、UsageLimitAvailable は、同時実行スケーリングで使用できる合計時間を 1 分単位で返します。

  • FeatureType が CROSS_REGION_DATASHARING の場合、UsageLimitAvailable は、スキャンできるデータの合計時間を1-TB 単位で返します。

  • FeatureType が SPECTRUM の場合、UsageLimitAvailable は、スキャンできるデータの合計時間を1-TB 単位で返します。

単位: 分または TB

ディメンション: ClusterIdentifierFeatureTypeUsageLimitId

UsageLimitConsumed

FeatureType に応じて、UsageLimitConsumed は次の値を返します。

  • FeatureType が CONCURRENCY_SCALING の場合、UsageLimitAvailable は、同時実行スケーリングで使用する合計時間を 1 分単位で返します。

  • FeatureType が CROSS_REGION_DATASHARING の場合、UsageLimitAvailable は、スキャンできるデータの合計時間を 1-TB 単位で返します。

  • FeatureType が SPECTRUM の場合、UsageLimitAvailable は、スキャンできるデータの合計時間を 1-TB 単位で返します。

単位: 分または TB

ディメンション: ClusterIdentifierFeatureTypeUsageLimitId

Amazon Redshift メトリクスのディメンション

Amazon Redshift のデータは、次の表にあるいずれかのディメンションでフィルタリングできます。

ディメンション 説明
latency

指定できる値は次のとおりです。

  • short – 10 秒未満

  • medium – 10 秒~10 分

  • long – 10 分超過

NodeID

フィルターにより、クラスターのノードに固有のデータが要求されました。NodeID は、「Leader」、「Shared」、または「Compute-N」のいずれかになります。ここで、N はクラスターのノード数を表す 0、1、... です。"Shared" は、クラスターには 1 つのノードのみがあることを意味します。つまり、リーダーノードとコンピューティングノードが組み合わされています。

CPUUtilizationNetworkTransmitThroughput、および ReadIOPS のメトリクスは、リーダーノードおよびコンピューティングノードに対してのみレポートされます。NodeId ディメンションを使用するその他のメトリクスは、コンピューティングノードに対してのみレポートされます。

ClusterIdentifier

フィルターにより、クラスターに固有のデータが要求されました。クラスターに固有のメトリクスには、HealthStatusMaintenanceModeDatabaseConnections があります。ノードのメトリクスでもある、このディメンションの全般的なメトリクス (ReadIOPS など) は、ノードメトリクスデータの集計を表します。これらのメトリクスは、リーダーノードおよびコンピューティングノードの動作を集計するため、その解釈には注意してください。

service class

WLM サービスクラスの識別子。

stage

クエリの実行ステージ。指定できる値は次のとおりです。

  • QueryPlanning: SQL ステートメントの解析と最適化にかかった時間。

  • QueryWaiting: WLM キューの待機にかかった時間。

  • QueryExecutingRead: 読み込みクエリの実行にかかった時間。

  • QueryExecutingInsert: 挿入クエリの実行にかかった時間。

  • QueryExecutingDelete: 削除クエリの実行にかかった時間。

  • QueryExecutingUpdate: 更新クエリの実行にかかった時間。

  • QueryExecutingCtas: テーブル作成クエリの実行にかかった時間。

  • QueryExecutingUnload: アップロードクエリの実行にかかった時間。

  • QueryExecutingCopy: コピークエリの実行にかかった時間。

  • QueryCommit: コミットにかかった時間。

wlmid

ワークロード管理キューの ID。

QueryPriority

クエリの優先度です。使用できる値は、CRITICALHIGHESTHIGHNORMALLOW、および LOWEST です。

QueueName

ワークロード管理キューの名前。

FeatureType

使用制限によって制限される機能。指定できる値は CONCURRENCY_SCALINGCROSS_REGION_DATASHARING、および SPECTRUM です。

UsageLimitId

使用制限の識別子。

Amazon Redshift クエリおよびロードパフォーマンスデータ

CloudWatch メトリクスに加えて、Amazon Redshift はクエリ/ロードパフォーマンスデータを提供します。クエリ/ロードパフォーマンスデータを使用すると、データベースのパフォーマンスとクラスターメトリクス間の関係を理解するのに役立ちます。例えば、クラスターの CPU 使用率が急上昇したことに気付いた場合、クラスターの CPU グラフでその上昇を見つけ、そのときに実行されていたクエリを表示できます。逆に、特定のクエリについて確認している場合、メトリクスデータ (CPU など) がコンテキストに表示されるので、クラスターメトリクスに対するクエリの影響について理解できます。

クエリおよびロードパフォーマンスデータは CloudWatch メトリクスとして公開されず、Amazon Redshift コンソールのみで表示できます。クエリとロードのパフォーマンスデータは、データベースのシステムテーブルを使用したクエリから生成されます (詳細については、Amazon Redshift デベロッパーガイドの「システムテーブルのリファレンス」を参照してください)。ユーザー独自のカスタムデータベースパフォーマンスクエリを生成することもできますが、コンソールに表示されているクエリ/ロードパフォーマンスデータで開始することをお勧めします。データベースパフォーマンスを自分で測定およびモニタリングする方法については、Amazon Redshift デベロッパーガイドの「パフォーマンスの管理」を参照してください。

次の表に、Amazon Redshift コンソールでアクセスできるクエリ/ロードデータのさまざまな側面を示します。

クエリ/ロードデータ 説明
クエリの概要

指定された期間のクエリのリストです。このリストは、クエリ ID、クエリ実行時間、ステータスなどの値に基づいて並べ替えることができます。このデータは、クラスターの詳細ページの [Query monitoring (クエリのモニタリング)] タブに表示されます。

クエリの詳細

次のものを含む、特定のクエリの詳細を提供します。

  • クエリ ID、タイプ、クエリが実行されたクラスター、実行時間などのクエリのプロパティ。

  • クエリのステータス、エラー数などの詳細。

  • 実行された SQL ステートメント。

  • 利用可能な場合は説明プラン。

  • クエリ実行中のクラスターのパフォーマンスデータ (詳細については、「クエリ履歴データの表示」を参照してください)。

ロードの概要

指定された期間のすべてのロードをリストします。このリストは、クエリ ID、クエリ実行時間、ステータスなどの値に基づいて並べ替えることができます。このデータは、クラスターの詳細ページの [Query monitoring (クエリのモニタリング)] タブに表示されます。

ロードの詳細

次のものを含む、特定のロードオペレーションの詳細を提供します。

  • クエリ ID、タイプ、クエリが実行されたクラスター、実行時間などのロードのプロパティ。

  • ロードのステータス、エラー数などの詳細。

  • 実行された SQL ステートメント。

  • ロードされたファイルのリスト。

  • ロード操作中のクラスターのパフォーマンスデータ (詳細については、「クエリ履歴データの表示」を参照してください)。