Amazon DocumentDB と CloudWatch のモニタリング - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon DocumentDB と CloudWatch のモニタリング

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

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

Amazon DocumentDB のメトリクス

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

注記

以下の表のメトリクスは、インスタンスベースのクラスターとElastic クラスターの両方に適用されます。

リソース使用率
メトリクス 説明
BackupRetentionPeriodStorageUsed Amazon DocumentDB の保持期間内で特定時点への復元機能をサポートするために使用される、バックアップストレージの合計容量 (GiB 単位)。TotalBackupStorageBilled メトリクスによって報告される合計に含まれます。各 Amazon DocumentDB クラスターに対して個別に計算されます。
ChangeStreamLogSize 変更ストリームログを保存するためにクラスターが使用するストレージの容量 (MB)。この値は、クラスターの合計ストレージのサブセット (VolumeBytesUsed) であり、クラスターのコストに影響します。ストレージの料金については、Amazon DocumentDB 製品ページ を参照してください。変更ストリームのログサイズは、クラスターで発生している変更の量と、変更ストリームの長期保存期間の関数です。変更ストリームの詳細については、[Amazon DocumentDB を用いての変更ストリームの使用] を参照してください。
CPUUtilization インスタンスによって使用される CPU のパーセント。
DatabaseConnections 1 分間隔で取得するインスタンスで開いている接続の数。
DatabaseConnectionsMax 1 分間にインスタンスで開いているデータベース接続の最大数。
DatabaseCursors 1 分間隔で取得するインスタンスで開いているカーソルの数。
DatabaseCursorsMax 1 分間にインスタンスで開いているカーソルの最大数。
DatabaseCursorsTimedOut 1 分間にタイムアウトしたカーソルの数。
FreeableMemory 使用可能な RAM の容量 (バイト単位)。
FreeLocalStorage

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

LowMemThrottleQueueDepth

1 分間隔で消費される使用可能なメモリが少ないためにスロットされたリクエストのキューの深度。

LowMemThrottleMaxQueueDepth

1 分間隔で消費される使用可能なメモリが少ないためにスロットされたリクエストの最大キュー深度。

LowMemNumOperationsThrottled

1 分間に消費される使用可能なメモリが少ないためにスロットされたリクエストの数。

SnapshotStorageUsed バックアップ保持期間外に特定の Amazon DocumentDB クラスターのすべてのスナップショットによって使用されているバックアップストレージの合計容量 (GiB 単位)。TotalBackupStorageBilled メトリクスによって報告される合計に含まれます。各 Amazon DocumentDB クラスターに対して個別に計算されます。
SwapUsage インスタンスで使用するスワップ領域の量。
TotalBackupStorageBilled 特定の Amazon DocumentDB クラスターに対して請求されるバックアップストレージの合計容量 (GiB 単位)。BackupRetentionPeriodStorageUsed メトリクスおよび SnapshotStorageUsed メトリクスによって測定されるバックアップストレージが含まれます。各 Amazon DocumentDB クラスターに対して個別に計算されます。
TransactionsOpen 1 分間隔で実行されるインスタンスで開いているトランザクションの数。
TransactionsOpenMax 1 分間にインスタンスで開いているトランザクションの最大数。
VolumeBytesUsed クラスターで使用されたストレージ容量 (バイト単位)。この値は、クラスターのコストに影響します。料金情報については、Amazon DocumentDB 製品ページ を参照してください。
レイテンシー
メトリクス 説明
DBClusterReplicaLagMaximum クラスター内のプライマリインスタンスと Amazon DocumentDB インスタンス間の最大遅延時間 (ミリ秒単位)。
DBClusterReplicaLagMinimum クラスター内のプライマリインスタンスと各レプリカインスタンス間の最小遅延時間 (ミリ秒単位)。
DBInstanceReplicaLag プライマリインスタンスからレプリカインスタンスにアップデートをレプリケートする際の遅延時間 (ミリ秒単位)。
ReadLatency 1 回のディスク I/O オペレーションにかかる平均時間。
WriteLatency 1 回のディスク I/O オペレーションにかかる平均時間 (ミリ秒単位)。
オペレーション
メトリクス 説明
DocumentsDeleted 1 分間に削除されたドキュメントの数。
DocumentsInserted 1 分間に挿入されたドキュメントの数。
DocumentsReturned 1 分間に返送されたドキュメントの数。
DocumentsUpdated 1 分間に更新されたドキュメントの数。
OpcountersCommand 1 分間に発行されたコマンドの数。
OpcountersDelete 1 分間に発行された削除オペレーションの数。
OpcountersGetmore 1 分間に発行されたゲットモアの数。
OpcountersInsert 1 分間に発行された挿入オペレーションの数。
OpcountersQuery 1 分間に発行されたクエリの数。
OpcountersUpdate 1 分間に発行された更新オペレーションの数。
TransactionsStarted 1 分間にインスタンスで開始されたトランザクションの数。
TransactionsCommitted 1 分間にインスタンスでコミットされたトランザクションの数。
TransactionsAborted 1 分間にインスタンスで中断されたトランザクションの数。
TTLDeletedDocuments 1 分間にTTLMonitor によって削除されたドキュメントの数。
スループット
メトリクス 説明
NetworkReceiveThroughput クラスター内の各インスタンスが各クライアントから受信したネットワークスループットの量 (バイト/秒単位)。クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。
NetworkThroughput Amazon DocumentDB クラスター内の各インスタンスがクライアントで送受信したネットワークスループットの量 (バイト/秒単位)。クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。
NetworkTransmitThroughput クラスター内の各インスタンスが各クライアントに対して送信したネットワークスループットの量 (バイト/秒単位)。クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。
ReadIOPS 1 秒あたりのディスク読み取り I/O オペレーションの平均回数。Amazon DocumentDB レポートは、IOPS の読み取りと書き込みを 1 分間隔で個別に行います。
ReadThroughput 1 秒あたりのディスクからの平均読み取りバイト数。
VolumeReadIOPs

課金読み取り I/O オペレーションの平均回数は 5 分間隔で報告されます。課金読み取りオペレーションはクラスターボリュームレベルで計算され、クラスター内のすべてのインスタンスから集計された後、5 分おきに報告されます。この値は読み取りオペレーションのメトリクスを 5 分間受け取ることによって計算されます。課金読み取りオペレーションのメトリクスを受け取って 300 秒で割ることで、1 秒あたりの課金読み取りオペレーションの回数を決定できます。

例えば、VolumeReadIOPs が 13,686 を返す場合、1 秒あたりの課金読み取りオペレーションは 45 (13,686 / 300 = 45.62) です。

バッファキャッシュに存在しないデータベースのページをリクエストするクエリの課金読み取りオペレーションが発生するため、ストレージからロードする必要があります。課金読み取りオペレーションはストレージからクエリの結果が読み取られるのと同様に急増することがありますが、その後バッファキャッシュにロードされます。

VolumeWriteIOPs

課金書き込み I/O オペレーションの平均回数は 5 分間隔で報告されます。課金書き込みオペレーションはクラスターボリュームレベルで計算され、クラスター内のすべてのインスタンスから集計された後、5 分おきに報告されます。この値は、5 分間にわたる書き込みオペレーションメトリクスの値を受け取ることによって計算されます。課金書き込みオペレーションメトリクスの値を受け取って 300 秒で割ることで、1 秒あたりの課金書き込みオペレーションの回数を決定できます。

例えば、VolumeWriteIOPs が 13,686 を返す場合、1 秒あたりの課金書き込みオペレーション回数は 45 (13,686 / 300 = 45.62) です。

なお、VolumeReadIOPsVolumeWriteIOPs メトリクスは DocumentDB ストレージレイヤーによって計算され、プライマリインスタンスとレプリカインスタンスによって実行される IO が含まれます。データは 20 ~ 30 分ごとに集計され、5 分間隔でレポートされるため、その時間帯のメトリクスには同じデータポイントが出力されます。1 分間隔で挿入オペレーションと相関するメトリクスを探している場合は、インスタンスレベルの WriteIOPS メトリクスを使用できます。メトリクスは、Amazon DocumentDB プライマリインスタンスの モニタリングタブで使用できます。

WriteIOPS 1 秒あたりのディスク書き込み I/O オペレーションの平均回数。クラスターレベルで使用すると、WriteIOPs はクラスター内のすべてのインスタンスで評価されます。読み取りおよび書き込み IOPS は個別に 1 分間隔で報告されます。
WriteThroughput 1 秒あたりのディスクへの平均書き込みバイト数。
システム
メトリクス 説明
BufferCacheHitRatio バッファキャッシュから提供されたリクエストの割合 (パーセント)。
DiskQueueDepth 分散ストレージボリュームへの同時書き込み要求の数。
EngineUptime インスタンスの実行時間 (秒単位)。
IndexBufferCacheHitRatio バッファキャッシュから提供されたインデックスリクエストの割合 (パーセント)。インデックス、コレクション、またはデータベースを削除した直後は、メトリクスの権限の 100% を超えるスパイクが表示されることがあります。これは 60 秒後に自動的に修正されます。この制限は、今後のパッチアップデートで修正される予定です。
T3 インスタンスメトリクス
メトリクス 説明
CPUCreditUsage 測定期間に消費された CPU クレジットの数。
CPUCreditBalance インスタンスが蓄積する CPU クレジット数。このバランスは CPU がバーストする際に枯渇し、CPU クレジットは獲得するよりも速い速度で使用されます。
CPUSurplusCreditBalance CPUCreditBalance の値がゼロになった時に CPU パフォーマンスを保持するために消費される、余剰 CPU クレジットの数。
CPUSurplusCreditsCharged 24 時間で獲得できる CPU クレジットの最大数を越えた、追加料金が発生する分の余剰 CPU クレジットの数。詳細については、[CPU クレジットのモニタリング] を参照してください。

CloudWatch データの表示

CloudWatch コンソール、Amazon DocumentDB コンソール、AWS Command Line Interface (AWS CLI) または CloudWatch API を使用して、これらのAmazon CloudWatch のデータをモニタリングできます。

Using the AWS Management Console

Amazon DocumentDB マネジメントコンソール を使用して CloudWatch メトリクスを表示するには、次のステップを完了します。

  1. AWS Management Console にサインインして Amazon DocumentDB コンソール https://console.aws.amazon.com/docdb を開きます。

  2. ナビゲーションペインで クラスター を選択します。

    ヒント

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

  3. クラスターナビゲーションボックスに、[Cluster Identifier]の列が表示されます。インスタンスは、以下のスクリーンショットのように、クラスターの下に表示されます。

  4. インスタンスの一覧から、メトリクスを表示するインスタンスの名前を選択します。

  5. インスタンスサマリーページで、モニタリング タブを選択すると、Amazon DocumentDB インスタンスのメトリクスをグラフィカルに表示することができます。各メトリクスに対してグラフを生成する必要があるため、[CloudWatch] グラフにデータが入力されるまでに数分かかる場合があります。

    次の図は、Amazon DocumentDB コンソールでの WriteIOPSReadIOPS の 2 つの CloudWatch メトリクスをグラフィカルに表示しています。

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

Amazon DocumentDB マネジメントコンソール を使用して、CloudWatch メトリクスを表示するには、次のステップを完了します。

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

  2. ナビゲーションペインで [Metrics] (メトリクス) を選択します。次に、サービス名のリストで、[DocDB] を選択します。

  3. メトリクスのディメンション (例: クラスターメトリクス) を選択します。

  4. 全てのメトリクス タブには、DocDB にあるディメンションの全てのメトリクスが表示されます。

    1. テーブルを並べ替えるには、列見出しを使用します。

    2. メトリクスをグラフ表示するには、メトリクスの横にあるチェックボックスを選択します。すべてのメトリクスを選択するには、テーブルの見出し行にあるチェックボックスを選択します。

    3. メトリクスでフィルタリングするには、メトリクス名にカーソルを合わせ、メトリック名の隣にあるドロップダウン矢印を選択します。次に、以下のイメージに示すように、検索に追加 を選択します。

      
                                 メトリクスにカーソルを合わせ、[検索に追加] を選択して、メトリクスをフィルタリングします。
Using the AWS CLI

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 のメトリクスは、アカウントまたはオペレーションの値で分類されます。CloudWatch コンソールを使用して、以下の表のいずれかのディメンションによってフィルタリングされた Amazon DocumentDB データを取得できます。

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

Opcounter のモニタリング

Opcounter メトリクスは、アイドルクラスターに対してゼロ以外の値 (通常は 50 まで) を持ちます。これは、Amazon DocumentDB が定期的にヘルスチェック、内部オペレーション、およびメトリクス収集タスクを実行するためです。

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

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