CloudWatch を使用した Amazon DocumentDB のモニタリング - Amazon DocumentDB

CloudWatch を使用した Amazon DocumentDB のモニタリング

Amazon DocumentDB (MongoDB 互換) は Amazon CloudWatch メトリクスと統合して、クラスターの運用メトリクスを収集および分析できるようにします。これらのメトリクスは、CloudWatch コンソール、Amazon DocumentDB コンソール、AWS Command Line Interface (AWS CLI)、または CloudWatch API を使用してモニタリングできます。

CloudWatch では、メトリクスが指定したしきい値を超過すると通知を受け取ることができるように、アラームを設定することもできます。超過が発生した場合に修正作業を行うことができるように、Amazon CloudWatch Events を設定することもできます。CloudWatch とアラームの使用方法の詳細については、Amazon CloudWatch のドキュメントを参照してください。

CloudWatch データの表示

Amazon CloudWatch データは、CloudWatch コンソール、Amazon DocumentDB コンソール、AWS Command Line Interface (AWS CLI)、または CloudWatch API を使用して表示できます。

Amazon DocumentDB コンソールに表示される CloudWatch インスタンスメトリクス

Amazon DocumentDB インスタンスの状態とパフォーマンスをモニタリングするには、Amazon DocumentDB コンソールで、次のインスタンスメトリクスを表示できます。

  • ChangeStreamLogSize

  • CPUUtilization

  • DatabaseConnections

  • FreeLocalStorage

  • FreeableMemory

  • WriteIOPS

  • ReadIOPS

  • WriteLatency

  • ReadLatency

  • WriteThroughput

  • ReadThroughput

  • NetworkThroughput

  • NetworkTransmitThroughput

  • NetworkReceiveThroughput

  • EngineUptime

  • SwapUsage

  • DiskQueueDepth

  • BufferCacheHitRatio

  • BackupRetentionPeriodStorageUsed

  • SnapshotStorageUsed

  • TotalBackupStorageBilled

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

  1. AWS マネジメントコンソールにサインインして、https://console.aws.amazon.com/docdb で Amazon DocumentDB コンソールを開きます。

  2. ナビゲーションペインで、[インスタンス] を選択します。次に、インスタンスの一覧から、メトリクスを表示する対象のインスタンスの名前を選択します。

    ヒント

    画面の左側にナビゲーションペインが表示されない場合は、ページの左上隅にあるメニューアイコン () を選択します。

    インスタンスのメトリクスのグラフィカル表現を表示するには、[CloudWatch] セクションが表示されるまでページを下へスクロールします。各メトリクスに対してグラフを生成する必要があるため、[CloudWatch] グラフにデータが入力されるまでに数分かかる場合があります。次の図は、Amazon DocumentDB コンソールの 17 個の CloudWatch メトリクスのうち 2 個を示しています。

    
                        Amazon DocumentDB コンソールの 17 個の CloudWatch メトリクスのうち 2 個 (writeiops および readiops)。

Amazon DocumentDB の CloudWatch データは、以下のパラメータを指定し、CloudWatch get-metric-statistics オペレーションを使用して表示できます。

パラメータ

  • --namespace — 必須。CloudWatch メトリクスを表示するサービス名前空間。Amazon DocumentDB の場合、これは AWS/DocDB である必要があります。

  • --metric-name — 必須。データを表示するメトリクスの名前。

  • --start-time — 必須。最初に返すデータポイントを決定するタイムスタンプ。

    指定された値は含まれます。つまり、結果には指定されたタイムスタンプのデータポイントが含まれます。タイムスタンプは ISO 8601 UTC 形式である必要があります (例: 2016-10-03T23:00:00Z)。

  • --end-time — 必須。最後に返すデータポイントを決定するタイムスタンプ。

    指定された値は含まれます。つまり、結果には指定されたタイムスタンプのデータポイントが含まれます。タイムスタンプは ISO 8601 UTC 形式である必要があります (例: 2016-10-03T23:00:00Z)。

  • --period — 必須。返されるデータポイントの詳細度 (秒)。通常の解像度のメトリクスについては、期間は最短 1 分 (60 秒) で、60 の倍数である必要があります。1 分未満の間隔で収集される高解像度メトリクスについては、期間は 1、5、10、30、60、または 60 の倍数にできます。

  • --dimensions — 省略可能。メトリクスに複数のディメンションが含まれている場合は、各ディメンションの値を含める必要があります。CloudWatch は、ディメンションの一意の組み合わせを、それぞれ別のメトリクスとして扱います。ディメンションの特定の組み合わせが発行されていない場合は、その統計を取得することはできません。メトリクス作成時に使用した同じディメンションを指定する必要があります。

  • --statistics — 省略可能。パーセンタイル以外のメトリクス統計。パーセンタイル統計の場合は、ExtendedStatistics を使用します。GetMetricStatistics を呼び出すときは、Statistics または ExtendedStatistics のどちらかを指定する必要があります。両方を指定することはできません。

    許可される値:

    • SampleCount

    • Average

    • Sum

    • Minimum

    • Maximum

  • --extended-statistics — 省略可能。percentile の統計情報。p0.0 と p100 の間の値を指定します。GetMetricStatistics を呼び出すときは、Statistics または ExtendedStatistics のどちらかを指定する必要があります。両方を指定することはできません。

  • --unit — 省略可能。特定のメトリクスの単位。メトリクスが複数の単位で報告される場合があります。単位を指定しない結果、すべての単位が返されます。メトリクスが報告しない単位のみを指定した場合、呼び出しの結果は null になります。

    使用できる値:

    • Seconds

    • Microseconds

    • Milliseconds

    • Bytes

    • Kilobytes

    • Megabytes

    • Gigabytes

    • Terabytes

    • Bits

    • Kilobytes

    • Megabits

    • Gigabits

    • Terabits

    • Percent

    • Count

    • Bytes/Second

    • Kilobytes/Second

    • Megabytes/Second

    • Gigabytes/Second

    • Terabytes/Second

    • Bits/Second

    • Kilobits/Second

    • Megabits/Second

    • Gigabits/Second

    • Terabits/Second

    • Count/Second

    • None

次の例では、60 秒ごとにサンプルを取得し、2 時間の期間の最大 CPUUtilization を見つけます。

複数 Linux、macOS、または Unix:

aws cloudwatch get-metric-statistics \ --namespace AWS/DocDB \ --dimensions \ Name=DBInstanceIdentifier,Value=docdb-2019-01-09-23-55-38 \ --metric-name CPUUtilization \ --start-time 2019-02-11T05:00:00Z \ --end-time 2019-02-11T07:00:00Z \ --period 60 \ --statistics Maximum

複数 Windows:

aws cloudwatch get-metric-statistics ^ --namespace AWS/DocDB ^ --dimensions ^ Name=DBInstanceIdentifier,Value=docdb-2019-01-09-23-55-38 ^ --metric-name CPUUtilization ^ --start-time 2019-02-11T05:00:00Z ^ --end-time 2019-02-11T07:00:00Z ^ --period 60 ^ --statistics Maximum

このオペレーションの出力は、次のようになります。

{ "Label": "CPUUtilization", "Datapoints": [ { "Unit": "Percent", "Maximum": 4.49152542374361, "Timestamp": "2019-02-11T05:51:00Z" }, { "Unit": "Percent", "Maximum": 4.25000000000485, "Timestamp": "2019-02-11T06:44:00Z" }, ********* some output omitted for brevity ********* { "Unit": "Percent", "Maximum": 4.33333333331878, "Timestamp": "2019-02-11T06:07:00Z" } ] }

Amazon DocumentDB メトリクス

次の Amazon DocumentDB メトリクスは Amazon CloudWatch から入手できます。これらのメトリクスを使用し、レプリケーション遅延、ディスク使用率、CPU 使用率など、Amazon DocumentDB デプロイのさまざまな側面をモニタリングできます。Amazon DocumentDB は、値がゼロ以外のメトリクスのみを CloudWatch に送信します。

メトリクス 説明
BackupRetentionPeriodStorageUsed Amazon DocumentDB の保持期間内で特定時点への復元機能をサポートするために使用される、バックアップストレージの合計容量 (GiB 単位)。TotalBackupStorageBilled メトリクスによって報告される合計に含まれます。各 Amazon DocumentDB クラスターに対して個別に計算されます。
BufferCacheHitRatio バッファキャッシュから提供されたリクエストの割合 (パーセント)。
ChangeStreamLogSize 変更ストリームログを保存するためにクラスターが使用するストレージの容量 (MB)。この値は、クラスターの合計ストレージのサブセット (VolumeBytesUsed) であり、クラスターのコストに影響します。ストレージ料金の情報については、Amazon DocumentDB の製品ページを参照してください。変更ストリームのログサイズは、クラスターで発生している変更の量と、変更ストリームの長期保存期間の関数です。変更ストリームの詳細については、「Amazon DocumentDB での変更ストリームの使用」を参照してください。
CPUUtilization インスタンスによって使用される CPU のパーセント。
DatabaseConnections インスタンスへの接続の数。
DBInstanceReplicaLag プライマリインスタンスからレプリカインスタンスにアップデートをレプリケートする際の遅延時間 (ミリ秒単位)。
DBClusterReplicaLagMaximum クラスター内のプライマリインスタンスと各 Amazon DocumentDB インスタンス間の最大遅延時間 (ミリ秒単位)。
DBClusterReplicaLagMinimum クラスター内のプライマリインスタンスと各レプリカインスタンス間の最小遅延時間 (ミリ秒単位)。
DiskQueueDepth 未処理のディスクアクセス (読み取り/書き込みリクエスト) の数。
EngineUptime インスタンスの実行時間 (秒単位)。
FreeableMemory 使用可能な RAM の容量 (バイト単位)。
FreeLocalStorage

このメトリクスでは、各インスタンスの一時テーブルとログで使用できるストレージの量が報告されます。この値は、インスタンスクラスによって異なります。インスタンスに対してより大きなインスタンスクラスを選択することで、インスタンス用の空きストレージ容量を増やすことができます。

NetworkReceiveThroughput クラスター内の各インスタンスが各クライアントから受信したネットワークスループットの量 (バイト/秒単位)。クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。
NetworkThroughput Amazon DocumentDB クラスター内の各インスタンスが各クライアントで送受信したネットワークスループットの量 (バイト/秒単位)。クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。
NetworkTransmitThroughput クラスター内の各インスタンスが各クライアントに対して送信したネットワークスループットの量 (バイト/秒単位)。クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。
ReadIOPS 1 秒あたりのディスク読み取り I/O 操作の平均回数。Amazon DocumentDB は、1 分間隔で読み込みおよび書き込み IOPS を個別に報告します。
ReadLatency 1 回のディスク I/O 操作にかかる平均時間。
ReadThroughput 1 秒あたりのディスクからの平均読み取りバイト数。
SnapshotStorageUsed バックアップ保持期間外に特定の Amazon DocumentDB クラスターのすべてのスナップショットによって使用されているバックアップストレージの合計容量 (GiB 単位)。TotalBackupStorageBilled メトリクスによって報告される合計に含まれます。各 Amazon DocumentDB クラスターに対して個別に計算されます。
SwapUsage インスタンスで使用するスワップ領域の量。
TotalBackupStorageBilled 特定の Amazon DocumentDB クラスターに対して請求されるバックアップストレージの合計容量 (GiB 単位)。BackupRetentionPeriodStorageUsed および SnapshotStorageUsed メトリクスによって測定されるバックアップストレージが含まれます。各 Amazon DocumentDB クラスターに対して個別に計算されます。
VolumeBytesUsed クラスターで使用されたストレージ容量 (バイト単位)。この値は、クラスターのコストに影響します。料金情報については、Amazon DocumentDB の製品ページを参照してください。
VolumeReadIOPs 課金読み取り I/O オペレーションの平均回数は 5 分間隔で報告されます。課金読み取りオペレーションはクラスターボリュームレベルで計算され、クラスター内のすべてのインスタンスから集計された後、5 分おきに報告されます。この値は読み取りオペレーションのメトリクスを 5 分間受け取ることによって計算されます。課金読み取りオペレーションのメトリクスを受け取って 300 秒で割ることで、1 秒あたりの課金読み取りオペレーションの回数を決定できます。たとえば、課金読み取りオペレーションが 13,686 を返す場合、1 秒あたりの課金読み取りオペレーションは 45 (13,686 / 300 = 45.62) です。バッファキャッシュに存在しないデータベースのページをリクエストするクエリの課金読み取りオペレーションが発生するため、ストレージからロードする必要があります。課金読み取りオペレーションはストレージからクエリの結果が読み取られるのと同様に急増することがありますが、その後バッファキャッシュにロードされます。
VolumeWriteIOPs 課金書き込み I/O オペレーションの平均回数は 5 分間隔で報告されます。課金書き込みオペレーションはクラスターボリュームレベルで計算され、クラスター内のすべてのインスタンスから集計された後、5 分おきに報告されます。この値は、5 分間にわたる書き込みオペレーションメトリクスの値を受け取ることによって計算されます。課金書き込みオペレーションメトリクスの値を受け取って 300 秒で割ることで、1 秒あたりの課金書き込みオペレーションの回数を決定できます。たとえば、課金書き込みオペレーションが 13,686 を返す場合、1 秒あたりの課金書き込みオペレーション回数は 45 (13,686 / 300 = 45.62) です。
WriteIOPS 1 秒あたりのディスク書き込み I/O 操作の平均回数。読み取りおよび書き込み IOPS は個別に 1 分間隔で報告されます。
WriteLatency 1 回のディスク I/O 操作にかかる平均時間 (ミリ秒単位)。
WriteThroughput 1 秒あたりのディスクへの平均書き込みバイト数。

Amazon DocumentDB ディメンション

Amazon DocumentDB のメトリクスは、アカウントまたはオペレーションの値で分類されます。CloudWatch コンソールを使用して、以下の表に示す任意のディメンションによってフィルター処理された Amazon DocumentDB データを取得できます。

ディメンション 説明
DBClusterIdentifier 特定の Amazon DocumentDB クラスターに対してリクエストするデータをフィルター処理します。
DBClusterIdentifier, Role 特定の Amazon DocumentDB クラスターに対してリクエストしたデータをフィルター処理して、インスタンスロール (WRITER/READER) 別にメトリクスを集計します。たとえば、クラスターに属するすべての READER インスタンスのメトリクスを集計できます。
DBInstanceIdentifier 特定のデータベースインスタンスに対してリクエストするデータをフィルター処理します。

データベース接続のモニタリング

db.runCommand( { serverStatus: 1 }) などのデータベースエンジンコマンドを使用して接続数を表示すると、CloudWatch を介して DatabaseConnections で表示される数よりも最大 10 個多い接続数が表示される場合があります。 これは、Amazon DocumentDB によりDatabaseConnections で考慮されない定期的なヘルスチェックとメトリクス収集タスクが実行されるためです。DatabaseConnections は、お客様が開始した接続のみを表します。