Amazon CloudWatch を使用した Amazon RDS メトリクスのモニタリング - Amazon Relational Database Service

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

Amazon CloudWatch はメトリクスリポジトリです。リポジトリは、Amazon RDS から raw データを収集し、リアルタイムに近い読み取り可能なメトリクスに加工することができます。

デフォルトでは、Amazon RDS はメトリクスデータを 1 分間隔で CloudWatch に自動的に送信します。期間が 60 秒 (1 分) のデータポイントは、15 日間使用できます。これにより、履歴情報にアクセスし、ウェブアプリケーションやサービスのパフォーマンスを確認できます。


            AWS CloudWatch の RDS メトリクス

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

注記

Amazon RDS Performance Insights を使用している場合は、追加のメトリクスが利用可能です。詳細については、「Amazon CloudWatch に発行される Performance Insights のメトリクス」を参照してください。

Amazon RDS のメトリクス

AWS/RDS 名前空間には、次のメトリクスが含まれます。

注記

Amazon RDS コンソールには、Amazon CloudWatch に送信された単位とは異なる単位でメトリクスが表示される場合があります。例えば、Amazon RDS コンソールにはメトリクスがメガバイト (MB) で表示されますが、Amazon CloudWatch にはメトリクスはバイト単位で送信されます。

メトリクス コンソール名 説明 単位
BinLogDiskUsage

バイナリログのディスク使用状況 (MB)

プライマリでバイナリログが占有するディスク領域の量。MySQL リードレプリカに適用されます。

バイト

BurstBalance

バースト残量 (%)

汎用 SSD (gp2) のバーストバケット I/O クレジットの利用可能パーセント。

パーセント

CPUUtilization

CPU 使用率 (%)

CPU 使用率。

パーセント

CPUCreditUsage

CPU クレジット使用状況 (数)

(T2 インスタンス) CPU 使用率に関してインスタンスで消費される CPU クレジットの数。1 CPUクレジットは、1 分間 100% の使用率で実行される 1 つの vCPU、または vCPU、使用率、時間の同等の組み合わせに相当します。例えば、2 分間 50% の使用率で実行されている 1 つの vCPU、または 2 分間 25% の使用率で実行されている 2 つの vCPU があるとします。

CPU クレジットメトリクスは、5 分間隔でのみ利用可能です。5 分を超える期間を指定する場合は、Sum 統計の代わりに Average 統計を使用します。

クレジット (vCPU 分)

CPUCreditBalance

CPU クレジット残量 (数)

(T2 インスタンス) インスタンスが起動または開始後に蓄積した獲得 CPU クレジットの数。T2 スタンダードの場合、CPUCreditBalance には蓄積された起動クレジットの数も含まれます。

クレジットは、獲得後にクレジット残高に蓄積され、消費されるとクレジット残高から削除されます。クレジット残高には、インスタンスサイズによって決まる上限があります。制限に到達すると、獲得された新しいクレジットはすべて破棄されます。T2 スタンダードの場合、起動クレジットは制限に対してカウントされません。

CPUCreditBalance のクレジットは、インスタンスがそのベースライン CPU 使用率を超えてバーストするために消費できます。

インスタンスが実行中の場合、CPUCreditBalance のクレジットは期限切れになりません。インスタンスが停止すると、CPUCreditBalance は保持されず、蓄積されたすべてのクレジットが失われます。

CPU クレジットメトリクスは、5 分間隔でのみ利用可能です。

クレジット (vCPU 分)

DatabaseConnections

DB 接続 (数)

使用中のデータベース接続の数。

メトリクス値には、データベースによってまだクリーンアップされていない、切断されたデータベース接続が含まれていない可能性があります。したがって、データベースによって記録されるデータベース接続の数は、メトリクス値よりも多い可能性があります。

カウント

DiskQueueDepth

キューの深さ (数)

未処理のディスク I/O アクセス (読み取り/書き込みリクエスト) の数。

カウント

EBSByteBalance%

EBS バイトバランス (%)

RDS データベースのバーストバケットに残っているスループットクレジットの割合。このメトリクスは基本モニタリング専用です。

このメトリクスをサポートするインスタンスサイズを確認するには、Linux インスタンス用 Amazon EC2 ユーザーガイド の「デフォルトで最適化された EBS」の表で、アスタリスク (*) の付いたインスタンスサイズを参照してください。Sum 統計は、このメトリクスに該当しません。

パーセント

EBSIOBalance%

EBS IO バランス (%)

RDS データベースのバーストバケットに残っている I/O クレジットの割合。このメトリクスは基本モニタリング専用です。

このメトリクスをサポートするインスタンスサイズを確認するには、Linux インスタンス用 Amazon EC2 ユーザーガイド の「デフォルトで最適化された EBS」の表で、アスタリスク (*) の付いたインスタンスサイズを参照してください。Sum 統計は、このメトリクスに該当しません。

このメトリクスは BurstBalance とは異なります。このメトリクスの使用方法については、Amazon EBS で最適化されたインスタンスバースト機能によるアプリケーションのパフォーマンスの向上とコスト削減を参照してください。

パーセント

FailedSQLServerAgentJobsCount

失敗した SQL Server エージェントジョブ数 (数/分)

直近 1 分間に失敗した Microsoft SQL Server エージェントジョブの数。

カウント/分

FreeableMemory

解放可能なメモリ (MB)

使用可能な RAM の容量。

MariaDB、MySQL、Oracle、および PostgreSQL DB インスタンスの場合、このメトリクスは MemAvailable/proc/meminfo フィールドの値を報告します。

バイト

FreeStorageSpace

空きストレージ領域 (MB/秒)

使用可能なストレージ領域の容量。

バイト

MaximumUsedTransactionIDs

最大使用済みトランザクション ID (数)

最大使用済みトランザクション ID 数。PostgreSQL に適用されます。

カウント

NetworkReceiveThroughput

ネットワーク受信スループット (MB/秒)

モニタリングとレプリケーションに使用する顧客データベーストラフィックと Amazon RDS トラフィックの両方を含む、DB インスタンスの受信ネットワークトラフィック。

Bytes/Second

NetworkTransmitThroughput

ネットワーク送信スループット (MB/秒)

モニタリングとレプリケーションに使用する顧客データベーストラフィックと Amazon RDS トラフィックの両方を含む、DB インスタンスの送信ネットワークトラフィック。

Bytes/Second

OldestReplicationSlotLag

最も古いレプリケーションスロット遅延 (MB)

受信した先行書き込み (WAL) データに関して最も遅延の長いレプリカの遅延サイズ。PostgreSQL に適用されます。

バイト

ReadIOPS

読み取り IOPS (数/秒)

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

Count/Second

ReadLatency

読み取りレイテンシー (ミリ秒)

1 回のディスク I/O 操作にかかる平均時間。

Seconds

ReadThroughput

読み取りスループット (MB/秒)

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

Bytes/Second

ReplicaLag

レプリカ遅延 (ミリ秒)

ソース DB インスタンスからリードレプリカ DB インスタンスまでのラグ。MySQL、MariaDB、Oracle、PostgreSQL、および SQL Server のリードレプリカに適用されます。

Seconds

ReplicationSlotDiskUsage

レプリカスロットディスク使用状況 (MB)

レプリケーションスロットファイルで使用されているディスク容量。PostgreSQL に適用されます。

バイト

SwapUsage

スワップ使用状況 (MB)

DB インスタンスで使用するスワップ領域の量。このメトリクスは SQL Server では利用できません。

バイト

TransactionLogsDiskUsage

トランザクションログディスク使用状況 (MB)

トランザクションログで使用されているディスク容量。PostgreSQL に適用されます。

バイト

TransactionLogsGeneration

トランザクションログ生成 (MB/秒)

1 秒あたりに生成されるトランザクションログのサイズ。PostgreSQL に適用されます。

Bytes/Second

WriteIOPS

書き込み IOPS (数/秒)

1 秒あたりのディスク書き込み I/O 操作の平均回数。

Count/Second

WriteLatency

書き込みレイテンシー (ミリ秒)

1 回のディスク I/O 操作にかかる平均時間。

Seconds

WriteThroughput

書き込みスループット (MB/秒)

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

Bytes/Second

Amazon RDS ディメンション

次の表に示す任意のディメンションを使用して、Amazon RDS メトリックスデータをフィルタリングができます。

ディメンション 以下で要求されたデータをフィルタリングします。
DBInstanceIdentifier

特定の DB インスタンス。

DatabaseClass

データベースクラスのすべてのインスタンス。例えば、db.r5.large というデータベースクラスに属するすべてのインスタンスのメトリクスを集計できます。

EngineName

特定されたエンジン名のみ。例えば、メトリクスを組み合わせて、mysql というエンジン名を有する全インスタンスを抽出することができます。

SourceRegion

指定されたリージョンのみ。例えば、us-east-1 リージョンのすべての DB インスタンスのメトリクスを集計できます。

Amazon RDS のメトリクスおよびディメンションの表示

Amazon RDS リソースを使用する場合、Amazon RDS は 1 分ごとにメトリクスとディメンションを Amazon CloudWatch に送信します。Amazon RDS のメトリクスを表示するには、以下の手順を使用できます。

Amazon CloudWatch コンソールを使用してメトリクスを表示するには

メトリクスはまずサービスの名前空間ごとにグループ化され、次に各名前空間内のさまざまなディメンションの組み合わせごとにグループ化されます。

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. 必要に応じて AWS リージョンを変更します。ナビゲーションバーから、AWS リソースがある AWS リージョンを選択します。詳細については、「リージョンとエンドポイント」を参照してください。

  3. ナビゲーションペインで [Metrics (メトリクス)] を選択します。RDS のメトリクスの名前空間を選択します。

    
                        メトリクスの名前空間を選択する
  4. メトリクスディメンションを選択します。例えば [データベースクラス別] を選択します。

  5. メトリクスを並べ替えるには、列見出しを使用します。メトリクスをグラフ表示するには、メトリクスの横にあるチェックボックスを選択します。リソースでフィルタするには、リソース ID を選択し、[Add to search] (検索に追加) を選択します。メトリクスでフィルタするには、メトリクス名を選択し、[Add to search] (検索に追加) を選択します。

    
                          メトリクスのフィルタリング

を使ってメトリクスを表示するにはAWS CLI

  • コマンドプロンプトで、次のコマンドを使用します。

    aws cloudwatch list-metrics --namespace AWS/RDS

Amazon RDS をモニタリングするための CloudWatch アラームの作成

アラームの状態が変わったときに Amazon SNS メッセージを送信する Amazon CloudWatch のアラームを作成することができます。1 つのアラームで、指定した期間中、1 つのメトリクスを監視します。アラームは、指定された複数の期間にわたるしきい値に関連するメトリクスの値に基づいて、1 つ以上のアクションを実行することもできます。アクションは、Amazon SNS トピックまたは Amazon EC2 Auto Scaling ポリシーに送信される通知です。

アラームは、持続している状態変化に対してのみアクションを呼び出します。CloudWatch アラームは、特定の状態にあるというだけの理由ではアクションを呼び出しません。状態が変わって、変わった状態が指定期間にわたって維持される必要があります。次の手順は、Amazon RDS でアラームを作成する方法を示しています。

CloudWatch コンソールを使用してアラームを設定するには

  1. AWS Management Console にサインインして、CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. [アラーム]、[アラームの作成] の順に選択します。これにより、アラームの作成ウィザードが起動します。

  3. [RDS Metrics (RDS メトリクス)] を選択し、Amazon RDS メトリクスをスクロールして、アラームを設定するメトリクスを見つけます。Amazon RDS メトリクスのみを表示するには、リソースの ID を検索します。アラームを作成するメトリクスを選択し、[次へ] を選択します。

  4. [名前]、[説明]、[次の時] にメトリクスの値を入力します。

  5. アラーム状態に達したときに CloudWatch から E メールを受け取るには、[アラームが次の時:] で、[状態: 警告] を選択します。[通知の送信先:] で、既存の SNS トピックを選択します。[トピックの作成] を選択すると、新しいメールサブスクリプションリスト用の名前とメールアドレスを設定できます。このリストは保存され、今後のアラーム用のフィールドに表示されます。

    注記

    [Create Topic] を使用して新しい Amazon SNS トピックを作成する場合、メールアドレスを検証しなければ、そのアドレスで通知を受け取ることができません。メールは、アラームがアラーム状態になったときにのみ送信されます。アラーム状態になったときに、E メールアドレスの検証がまだ完了していない場合は、そのアドレスで通知を受け取ることはできません。

  6. 作成するアラームを [Alarm Preview (アラームプレビュー)] 領域でプレビューし、[Create Alarm (アラームの作成)] を選択します。

AWS CLI を使用してアラームを設定するには

CloudWatch API を使用してアラームを設定するには