

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

# Amazon DocumentDB のモニタリング
<a name="monitoring_docdb"></a>

 AWS サービスのモニタリングは、システムを正常かつ最適に機能させる上で重要な部分です。 AWS ソリューションのすべての部分からモニタリングデータを収集し、障害や劣化が発生した場合に、より簡単にデバッグと修正を行えるようにすることが賢明です。 AWS ソリューションのモニタリングを開始する前に、以下の質問について検討し、回答を作成することをお勧めします。
+ どのような目的でモニタリングしますか?
+ モニタリングの対象となるリソースは?
+ これらのリソースをモニタリングする頻度は?
+ どのモニタリングツールを利用しますか?
+ モニタリングを実行するための責任者は?
+ 問題が発生した場合に、だれにどのような方法で通知しますか?

現在のパフォーマンスパターンを理解するには、パフォーマンスの異常を識別し、問題に対処する方法を策定します。さまざまな時間帯に、さまざまなロード条件下でパフォーマンスメトリクスのベースラインを確立する必要があります。 AWS ソリューションをモニタリングするときは、今後の参照用、およびベースラインを確立するため、過去のモニタリングデータを保存することをお勧めします。

一般的に、パフォーマンスメトリクスの許容値は、ベースラインがどのようになっているか、アプリケーションによって何が実行されているかによって異なります。ベースラインからの一貫した差異またはトレンドになっている差異を調べます。メトリクスのタイプごとのアドバイスは以下のとおりです。
+ **CPU または RAM の大量使用** - CPU または RAM の値が高くても、アプリケーションの目標 (スループットや同時実行数など) に沿った想定内の値であれば、それは適切であると見なされます。
+ **ストレージボリュームの消費量** - 使用領域が一貫してストレージボリューム領域全体の 85% 以上である場合は、ストレージの消費量 (`VolumeBytesUsed`) を調査します。ストレージボリュームからデータを削除するか、別のシステムにデータをアーカイブすることで、領域を解放できないかどうかを判断します。詳細については、「[Amazon DocumentDB のストレージ](how-it-works.md#how-it-works.storage)」および「[Amazon DocumentDB のクォータと制限事項](limits.md)」を参照してください。
+ **ネットワークトラフィック** - ネットワークトラフィックについてシステム管理者に問い合わせて、ドメインネットワークとインターネット接続に対する想定スループットを把握します。スループットが一貫して想定よりも低い場合は、ネットワークトラフィックを調べます。
+ **データベース接続数** - ユーザー接続数が多いことが、インスタンスのパフォーマンスが下がっていること、応答時間が長くなっていることに関連しているとわかった場合、データベース接続数を制限することを検討します。インスタンスの最適なユーザー接続数は、インスタンスのクラスと実行中のオペレーションの複雑さによって異なります。
+ **IOPS メトリクス** - IOPS メトリクスの想定値はディスクの仕様とサーバーの設定によって異なるため、ベースラインを使用して一般的な値を把握します。値とベースラインとの差が一貫しているかどうかを調べます。最適な IOPS パフォーマンスを得るには、読み取りおよび書き込みオペレーションが最小限になるように、一般的な作業セットがメモリに収まることを確認してください。

Amazon DocumentDB (MongoDB 互換) は、Amazon DocumentDB クラスターとインスタンスの健全性とパフォーマンスを判断するためにモニタリングできる、さまざまな Amazon CloudWatch メトリクスを提供します。Amazon DocumentDB コンソール、CloudWatch API、Performance Insights など AWS CLI、さまざまなツールを使用して Amazon DocumentDB メトリクスを表示できます。

**Topics**
+ [クラスターのステータスのモニタリング](monitoring_docdb-cluster_status.md)
+ [インスタンスのステータスのモニタリング](monitoring_docdb-instance_status.md)
+ [Amazon DocumentDB に関する推奨事項の表示](view-docdb-recommendations.md)
+ [イベントサブスクリプション](event-subscriptions.md)
+ [Amazon DocumentDB と CloudWatch のモニタリング](cloud_watch.md)
+ [CloudTrail を使用した Amazon DocumentDB API コールのログ記録](logging-with-cloudtrail.md)
+ [オペレーションのプロファイリング](profiling.md)
+ [Performance Insights を使用したモニタリング](performance-insights.md)

# Amazon DocumentDB クラスターのステータスのモニタリング
<a name="monitoring_docdb-cluster_status"></a>

クラスターのステータスは、クラスターの状態を示します。Amazon DocumentDB コンソールまたは AWS CLI `describe-db-clusters` コマンドを使用して、クラスターのステータスを表示できます。

**Topics**
+ [クラスターステータスの値](#monitoring_docdb-status_values)
+ [クラスターのステータスのモニタリング](#monitor-cluster-status)

## クラスターステータスの値
<a name="monitoring_docdb-status_values"></a>

次の表は、クラスターのステータスの有効な値の一覧です。


| クラスターステータス | 説明 | 
| --- | --- | 
| active | クラスターはアクティブです。このステータスは Elastic クラスターにのみ適用されます。 | 
| available | クラスターは正常で、使用可能です。このステータスはインスタンスベースのクラスターにのみ適用されます。 | 
| backing-up | クラスターは現在バックアップ中です。 | 
| creating | クラスターを作成しています。作成中はクラスターにアクセスできません。 | 
| deleting | クラスターを削除しています。削除中はクラスターにアクセスできません。 | 
| failing-over | プライマリインスタンスから Amazon DocumentDB レプリカへのフェイルオーバーが実行されています。 | 
| inaccessible-encryption-credentials | クラスターの暗号化または復号に使用される AWS KMS キーにはアクセスできません。 | 
| maintenance | クラスターにメンテナンス更新を適用しています。このステータスは、Amazon DocumentDB が事前に十分スケジュールしたクラスターレベルのメンテナンスに使用されます。 | 
| migrating | クラスタースナップショットは、クラスターに復元されています。 | 
| migration-failed | 移行に失敗しました。 | 
| modifying | お客様がクラスターの変更をリクエストしたため、クラスターは変更中です。 | 
| renaming | お客様が名前の変更をリクエストしたため、クラスターの名前を変更中です。 | 
| resetting-master-credentials | お客様がリセットをリクエストしたため、クラスターのマスター認証情報をリセット中です。 | 
| upgrading | クラスターエンジンのバージョンをアップグレード中です。 | 

## クラスターのステータスのモニタリング
<a name="monitor-cluster-status"></a>

------
#### [ Using the AWS マネジメントコンソール ]

を使用してクラスターのステータス AWS マネジメントコンソール を判断する場合は、次の手順を使用します。

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

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

1. Clusters ナビゲーションボックスで、[**クラスター識別子**] という列が表示されます。インスタンスは、以下のスクリーンショットのように、クラスターの下に表示されます。  
![\[インスタンスがクラスターの下にネストされる方法を示すクラスターテーブル。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/choose-clusters.png)

1. [**クラスター識別子**] 列で、興味のあるインスタンスの名前を探します。次に、インスタンスのステータスを見つけるために、次に示すように行全体を参照して [**ステータス**] 列を見つけます。  
![\[使用可能ステータスを示すクラスターインスタンス。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/db-cluster-status-con.png)

------
#### [ Using the AWS CLI ]

を使用してクラスターのステータス AWS CLI を判断する場合は、 `describe-db-clusters`オペレーションを使用します。次のコードでは、クラスター `sample-cluster` のステータスを確認します。

Linux、macOS、Unix の場合:

```
aws docdb describe-db-clusters \
    --db-cluster-identifier sample-cluster  \
    --query 'DBClusters[*].[DBClusterIdentifier,Status]'
```

Windows の場合:

```
aws docdb describe-db-clusters ^
    --db-cluster-identifier sample-cluster  ^
    --query 'DBClusters[*].[DBClusterIdentifier,Status]'
```

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

```
[
    [
        "sample-cluster",
        "available"
    ]
]
```

------

# Amazon DocumentDB インスタンスのステータスのモニタリング
<a name="monitoring_docdb-instance_status"></a>

Amazon DocumentDB は、データベースに設定されている各インスタンスの現在の状態に関する情報を提供します。

Amazon DocumentDB インスタンスについて表示できるステータスには 3 つのタイプがあります。
+ インスタンスのステータス: このステータスは、 のクラスターテーブル**のステータス**列に表示され AWS マネジメントコンソール 、インスタンスの現在のライフサイクル条件が表示されます。**[ステータス]** 列に表示される値は `DescribeDBCluster` API レスポンスの `Status` フィールドから取得されます。
+ インスタンスのヘルスステータス: このステータスは、 のクラスターテーブルの**インスタンスのヘルス**列に表示され、データの管理と取得を担当するコンポーネントであるデータベースエンジンが実行されているかどうか AWS マネジメントコンソール を示します。**[インスタンスヘルス]** 列に表示される値は、Amazon CloudWatch `EngineUptime` システムメトリックスに基づいています。
+ メンテナンスステータス: このステータスは、 のクラスターテーブルの**メンテナンス**列に表示され AWS マネジメントコンソール 、インスタンスに適用する必要があるメンテナンスイベントのステータスを示します。メンテナンスステータスは他のインスタンスのステータスとは独立して、`PendingMaintenanceAction` API から取得されます。メンテナンスステータスの詳細については、「[Amazon DocumentDB のメンテナンス](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-maintain.html)」を参照してください。

**Topics**
+ [インスタンスのステータス値](#monitoring_docdb-instance_status-values)
+ [AWS マネジメントコンソール または を使用したインスタンスのステータスのモニタリング AWS CLI](#monitoring-instance-status)
+ [インスタンスのヘルスステータス値](#instance-health-status-values)
+ [を使用したインスタンスのヘルスステータスのモニタリング AWS マネジメントコンソール](#monitoring-instance-health-status)

## インスタンスのステータス値
<a name="monitoring_docdb-instance_status-values"></a>

次の表は、インスタンスのステータス値と、ステータス別の請求方法の一覧です。請求対象がインスタンスとストレージであるか、ストレージのみであるか、または請求なしであるかを示します。インスタンスのすべてのステータスで、バックアップの使用は常に請求されます。


| インスタンスの状態 | 請求対象 | 説明 | 
| --- | --- | --- | 
| available | 請求対象 | インスタンスは正常で、使用可能です。 | 
| backing-up | 請求対象 | インスタンスは現在バックアップ中です。 | 
| configuring-log-exports | 請求対象 | Amazon CloudWatch Logs へのログファイルの公開は、このインスタンスに対して有効または無効になっています。 | 
| creating | 非請求対象 | インスタンスは現在作成中です。作成中はインスタンスにアクセスできません。 | 
| deleting | 非請求対象 | インスタンスを削除中です。 | 
| failed | 非請求対象 | インスタンスに障害が発生し、Amazon DocumentDB は復旧できませんでした。データを復旧するには、インスタンスの復元可能な直近の時間までポイントインタイムリカバリを実行します。 | 
| inaccessible-encryption-credentials | 非請求対象 | インスタンスの暗号化または復号に使用される AWS KMS キーにアクセスできませんでした。 | 
| incompatible-network | 非請求対象 | Amazon DocumentDB はインスタンスに対してリカバリーアクションを実行しようとしていますが、VPC がアクションの完了を妨げている状態であるため、実行することができません。この状態は、たとえば、サブネット内の利用可能なすべての IP アドレスが使用中で、Amazon DocumentDB がインスタンスの IP アドレスを取得できない場合に発生する可能性があります。 | 
| maintenance | 請求対象 | Amazon DocumentDB は、インスタンスにメンテナンス更新を適用しています。このステータスは、Amazon DocumentDB が事前に十分なスケジュールを組んでいるインスタンスレベルのメンテナンスに使用されます。このステータスを通じてお客様に追加のメンテナンスアクションを提示する方法を評価中です。 | 
| modifying | 請求対象 | インスタンスの変更をリクエストしたため、インスタンスを変更中です。 | 
| rebooting | 請求対象 | Amazon DocumentDB は、インスタンスの再起動を必要とするリクエスト、または Amazon DocumentDB プロセスのために、インスタンスを再起動しています。 | 
| renaming | 請求対象 | 名前の変更をリクエストしたため、インスタンスの名前を変更中です。 | 
| resetting-master-credentials | 請求対象 | リセットをリクエストしたため、インスタンスのマスター認証情報をリセット中です。 | 
| restore-error | 請求対象 | 特定時点への復元またはスナップショットからの復元を実行する際に、インスタンスでエラーが発生しました。 | 
| starting | ストレージが請求対象 | インスタンスを起動中です。 | 
| stopped | ストレージが請求対象 | インスタンスが停止されました。 | 
| stopping | ストレージが請求対象 | インスタンスを停止中です。 | 
| storage-full | 請求対象 | インスタンスが、ストレージ容量の割り当て分に到達しました。これは非常に重要なステータスであり、すぐに修正する必要があります。インスタンスを変更して、ストレージをスケールアップしてください。このような状況にならないように、ストレージスペースが少なくなってきたときに警告するよう Amazon CloudWatch のアラームを設定します。 | 

## AWS マネジメントコンソール または を使用したインスタンスのステータスのモニタリング AWS CLI
<a name="monitoring-instance-status"></a>

 AWS マネジメントコンソール または を使用して AWS CLI 、インスタンスのステータスをモニタリングします。

------
#### [ Using the AWS マネジメントコンソール ]

を使用してクラスターのステータス AWS マネジメントコンソール を判断する場合は、次の手順を使用します。

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

1. ナビゲーションペインで **[Clusters]** (クラスター) を選択してください。
**注記**  
Clusters ナビゲーションボックスで、**[クラスター識別子]** 列にはクラスターとインスタンスの両方が表示されることに注意してください。インスタンスは、以下のスクリーンショットのように、クラスターの下に表示されます。  
![\[Amazon DocumentDB コンソールのクラスターページのクラスターとインスタンスのリスト。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/clusters.png)

1. 興味のあるインスタンスの名前を探します。次に、インスタンスのステータスを見つけるには、次に示すように [**ステータス**] 列まで行全体を読みます。  
![\[クラスターページのクラスターとインスタンスの使用可能ステータスを示すステータス列。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/instance-status.png)

------
#### [ Using the AWS CLI ]

を使用してクラスターのステータス AWS CLI を判断する場合は、 `describe-db-instances`オペレーションを使用します。次のコードでは、インスタンス `sample-cluster-instance-01` のステータスを確認します。

Linux、macOS、Unix の場合:

```
aws docdb describe-db-instances \
          --db-instance-identifier sample-cluster-instance-01  \
          --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceStatus]'
```

Windows の場合:

```
aws docdb describe-db-instances ^
          --db-instance-identifier sample-cluster-instance-01  ^
          --query 'DBInstances[*].[DBInstanceIdentifier,DBInstanceStatus]'
```

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

```
[
          [
              "sample-cluster-instance-01",
              "available"
          ]
      ]
```

------

## インスタンスのヘルスステータス値
<a name="instance-health-status-values"></a>

DB インスタンスに可能なステータス値を以下の表に示します。の**クラスター**テーブルにある**インスタンスヘルス**列には AWS マネジメントコンソール、データの保存、管理、取得を担当するコンポーネントであるデータベースエンジンが正常に動作しているかどうかが表示されます。この列には、CloudWatch で使用できる `EngineUptime` システムメトリックスに各インスタンスのヘルスステータスが表示されているかどうかも表示されます。


| インスタンスのヘルスステータス | 説明 | 
| --- | --- | 
| 正常 | データベースエンジンは Amazon DocumentDB インスタンスで実行されています。 | 
| 異常 | データベースエンジンが実行されていないか、1 分以内に再起動しました。 | 

## を使用したインスタンスのヘルスステータスのモニタリング AWS マネジメントコンソール
<a name="monitoring-instance-health-status"></a>

を使用して AWS マネジメントコンソール 、インスタンスのヘルスステータスをモニタリングします。

を使用する場合は AWS マネジメントコンソール、次の手順を使用してインスタンスのヘルスステータスを理解します。

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

1. ナビゲーションペインで **[Clusters]** (クラスター) を選択してください。
**注記**  
**[クラスター]** ナビゲーションボックスの **[クラスター識別子]** 列にはクラスターとインスタンスの両方が表示されます。インスタンスは、以下のスクリーンショットのように、クラスターの下に表示されます。  
![\[Amazon DocumentDB コンソールのクラスターページのクラスターとインスタンスのリスト。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/clusters.png)

1. 興味のあるインスタンスの名前を探します。次に、インスタンスのステータスを見つけるには、次に示すように **[インスタンスヘルス]** 列まで行全体を読みます。  
![\[クラスターページにリストされているインスタンスの正常状態と異常状態を示すインスタンスのヘルス列。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/health-status-1.png)
**注記**  
インスタンスヘルスステータスのポーリングは 60 秒ごとに発生し、CloudWatch `EngineUptime` システムメトリックスに基づいています。**[インスタンスヘルス]** 列の値は自動的に更新されます。

# Amazon DocumentDB に関する推奨事項の表示
<a name="view-docdb-recommendations"></a>

Amazon DocumentDB では、インスタンスやクラスターなどのデータベースリソースについての推奨事項が自動で表示されます。これらの推奨事項では、クラスターとインスタンスの設定を分析して、ベストプラクティスガイダンスを提供します。

これらの推奨事項の例については、以下を参照してください。


| 型 | 説明 | 推奨事項 | 追加情報 | 
| --- | --- | --- | --- | 
|  1 個の インスタンス  |  クラスターにはインスタンスが 1 つだけ含まれています。  |  パフォーマンスと可用性: 同じ DB インスタンスクラスを持つ別の DB インスタンスを別の可用性ゾーンに追加することをお勧めします。  |  [Amazon DocumentDB 高可用性とレプリケーション](https://docs.aws.amazon.com/documentdb/latest/developerguide/replication.html)  | 

Amazon DocumentDB は、リソースが作成または変更されると、リソースの推奨事項を生成します。また、Amazon DocumentDBは定期的にリソースをスキャンして、推奨事項を生成します。

**Amazon DocumentDB の推奨事項を確認してアクションを実行するには**

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

1. ナビゲーションペインで、**[推奨事項]** を選択します。  
![\[レコメンデーションオプションが選択された Amazon DocumentDB コンソールのナビゲーションペイン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/recommendations-nav-1.png)

1. **[推奨事項]** ダイアログで、関心のあるセクションを展開し、推奨タスクを選択します。

   以下の例では、推奨タスクはインスタンスが 1 つしかない Amazon DocumentDB クラスターに適用されます。パフォーマンスと可用性を改善するために、別のインスタンスを追加することをお勧めします。  
![\[Amazon DocumentDB クラスター用に選択された推奨タスクを示すレコメンデーションフォーム。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/recommendations-1.png)

1. **[今すぐ適用]** をクリックします。

   この例では、**[インスタンスの追加]** ダイアログが表示されます。  
![\[インスタンス設定のオプションがある [インスタンスの追加] フォーム。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/add-instances-1.png)

1. 新しいインスタンスの設定を変更し、**[作成]** をクリックします。

# Amazon DocumentDB イベントサブスクリプションを使用する
<a name="event-subscriptions"></a>

Amazon DocumentDB では、Amazon DocumentDB のイベントが発生したときに、Amazon Simple Notification Service (Amazon SNS) を使用して通知を送信します。これらの通知は、E メール AWS リージョン、テキストメッセージ、HTTP エンドポイントへの呼び出しなど、 の Amazon SNS でサポートされている任意の形式にすることができます。

Amazon DocumentDB は、サブスクライブ可能なカテゴリにイベントをグループ分けします。これにより、そのカテゴリのイベントが発生すると、通知を受け取ることができます。インスタンス、クラスター、スナップショット、クラスタースナップショット、または パラメータグループのイベントカテゴリをサブスクライブできます。例えば、特定のインスタンスのバックアップカテゴリをサブスクライブした場合、インスタンスに影響するバックアップ関連のイベントが発生するたびに通知が送信されます。また、イベントサブスクリプションが変更されても、通知を受け取ります。

イベントは、クラスターレベルとインスタンスレベルの両方で発生するため、クラスターまたはインスタンスをサブスクライブするとイベントを受信できます。

イベントサブスクリプションは、サブスクリプションを作成するときに指定したアドレスに送信されます。いくつかの異なるサブスクリプションを作成することもできます。例えば、すべてのイベント通知を受信するサブスクリプションと、本番稼働用のインスタンスに関する重要なイベントのみを含むサブスクリプションを作成できます。サブスクリプションを削除せずに通知を簡単にオフにできます。これを行うには、Amazon DocumentDB コンソールで **[Enabled (有効)]** ラジオボタンを [**No (なし)]**に設定します。

**重要**  
Amazon DocumentDB はイベントストリームのイベントの順番を保証しません。イベントの順番は変わる場合があります。

Amazon DocumentDB では、Amazon SNS トピックの Amazon リソースネーム (ARN) を使用して、各サブスクリプションを識別します。Amazon DocumentDB コンソールでは、サブスクリプションの作成時に ARN が作成されます。

Amazon DocumentDB イベントサブスクリプションの請求は、Amazon SNS を通じて行われます。使用したイベント通知に対して、Amazon SNS 料金が適用されます。詳細については、「Amazon Simple Notification Service の料金」を参照してください。Amazon SNS の料金以外では、Amazon DocumentDB はイベントサブスクリプションの請求は行いません。

**Topics**
+ [イベントのサブスクライブ](event-subscriptions.subscribe.md)
+ [サブスクリプションを管理する](event-subscriptions.managing.md)
+ [カテゴリとメッセージ](event-subscriptions.categories-messages.md)

# Amazon DocumentDB イベントにサブスクライブする
<a name="event-subscriptions.subscribe"></a>

Amazon DocumentDB コンソールを使用して、次のようにイベントサブスクリプションをサブスクライブできます。

1.  AWS マネジメントコンソール で にサインインします[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)。

1. ナビゲーションペインで、**[Event subscriptions]** (イベントサブスクリプション) を選択します。  
![\[[イベントサブスクリプション] オプションが強調表示された [Amazon DocumentDB コンソールナビゲーション] ペイン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/subscribe-event-subs.png)

1. [**イベントサブスクリプション**] ページで、[**イベントサブスクリプションの作成**] を選択します。  
![\[右上隅にある [イベントサブスクリプションの作成] ボタンが強調表示されたイベントサブスクリプションペイン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/subscribe-create.png)

1. [**イベントサブスクリプションの作成**] ダイアログボックスで、次の操作を行います。
   + [**名前**] に、イベント通知サブスクリプションの名前を入力します。  
![\[[詳細] セクションと [名前] 入力フィールドを示す [イベントサブスクリプションの作成] フォーム。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/subscribe-name.png)
   + [**ターゲット**]で、通知を送信する場所を選択します。既存の **ARN** を選択できます。または [**新しい電子メールトピック**] を選択して、トピックの名前と受取人のリストを入力します。  
![\[通知の送信先を指定するオプションがある [ターゲット] セクション。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/subscribe-target.png)
   + [**ソース**] で、ソースタイプを選択します。選択したソースタイプに応じて、イベント通知を受け取る対象のイベントカテゴリとソースを選択します。  
![\[イベント通知を受信するソースタイプを選択する [ソース] セクション。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/subscribe-source.png)
   + **[作成]** を選択します。  
![\[右下隅に [作成] ボタンがある [ソース] セクション。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/subscribe-create-2.png)

# Amazon DocumentDB イベント通知サブスクリプションを管理する
<a name="event-subscriptions.managing"></a>

Amazon DocumentDB コンソールのナビゲーションペインで [**イベントサブスクリプション**] を選択すると、サブスクリプションカテゴリと現在のサブスクリプションのリストを表示できます。特定のサブスクリプションを変更または削除することもできます。

## 現在の Amazon DocumentDB イベント通知サブスクリプションを変更するには
<a name="event-subscriptions.modify"></a>

1.  AWS マネジメントコンソール で にサインインします[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)。

1. ナビゲーションペインで、[**イベントサブスクリプション**] を選択します。[**イベントサブスクリプション**] ペインにイベント通知サブスクリプションが一覧表示されます。  
![\[[イベントサブスクリプション] オプションが強調表示された [Amazon DocumentDB コンソールナビゲーション] ペイン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/modify-event-subs.png)

1. [**イベントサブスクリプション**] ペインで、変更するサブスクリプションを選択し、[**編集**] をクリックします。  
![\[選択したサブスクリプションと [編集] ボタンを示す [イベントサブスクリプション] ペイン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/modify-edit.png)

1. [**ターゲット**] セクションまたは [**ソース**] セクションのいずれかでサブスクリプションを変更します。[ソース] セクションで選択または選択解除することで、ソース識別子を追加または削除できます。  
![\[[ターゲット] セクションを強調表示する [イベントサブスクリプションの変更] フォーム。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/modify-target.png)

1. **[Modify]** (変更) を選択します。Amazon DocumentDB コンソールでは、サブスクリプションが変更されることが示されます。  
![\[[変更] ボタンが強調表示された [イベントサブスクリプションの変更] フォームの最後。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/modify-button.png)

## Amazon DocumentDB イベント通知サブスクリプションの削除
<a name="event-subscriptions.delete"></a>

不要になったサブスクリプションは削除できます。トピックへのすべてのサブスクライバは、サブスクリプションにより指定されたイベント通知を受け取らなくなります。

1.  AWS マネジメントコンソール で にサインインします[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)。

1. ナビゲーションペインで、**[Event subscriptions]** (イベントサブスクリプション) を選択します。  
![\[[イベントサブスクリプション] オプションが強調表示された [Amazon DocumentDB コンソールナビゲーション] ペイン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/delete-event-subs.png)

1. [**イベントサブスクリプション**] ペインで、削除するサブスクリプションを選択します。  
![\[選択したサブスクリプションを示す [イベントサブスクリプション] ペイン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/delete-select.png)

1. **[削除]** を選択します。  
![\[[削除] ボタンが強調表示された [イベントサブスクリプション] ペイン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/delete-delete.png)

1. この通知を完全に削除するかどうかを尋ねるポップアップウィンドウが表示されます。**[削除]** を選択します。  
![\[右下隅の [削除] ボタンが強調表示されたイベントサブスクリプションの削除を確認するダイアログボックス。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/event-subs/delete-delete-2.png)

# Amazon DocumentDB イベントのカテゴリとイベントメッセージ
<a name="event-subscriptions.categories-messages"></a>

Amazon DocumentDB では、 コンソールを使用してサブスクライブできるカテゴリ内で多数のイベントが生成されます。各カテゴリはインスタンス、クラスター、スナップショットまたはパラメータグループである 1 つのソースタイプに適用されます。

**注記**  
Amazon DocumentDB では既存の Amazon RDS イベント定義と ID が使用されます。

## インスタンスから発生する Amazon DocumentDB イベント
<a name="event-subscriptions.db-origin"></a>


| Category | 説明 | 
| --- | --- | 
| 可用性 | インスタンスが再起動しました。 | 
| 可用性 | インスタンスがシャットダウンしました。 | 
| 設定変更 | 変更をインスタンスクラスに適用します。 | 
| 設定変更 | 変更をインスタンスクラスに適用しました。 | 
| 設定変更 | プライマリ認証情報をリセットします。 | 
| 作成 | インスタンスが作成されました。 | 
| 削除 | インスタンスが削除されました | 
| 失敗 | インスタンスは、互換性のない設定または基本的なストレージの問題により失敗しました。インスタンスのポイントインタイムの復元を開始します。 | 
| 通知 | インスタンスが停止しました。 | 
| 通知 | インスタンスが起動しました。 | 
| 通知 | 停止中の最大許容時間を超えたため、インスタンスが起動されています。 | 
| 復旧 | インスタンスの復旧が開始しました。復旧時間は、復旧するデータの量に応じて変わります。 | 
| 復旧 | インスタンスの復旧が完了しました。 | 
| セキュリティパッチ | ご使用のインスタンスに対するオペレーティングシステムアップデートがあります。アップデートの適用方法については、「[Amazon DocumentDB のメンテナンス](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-instance-maintain.html)」を参照してください。 | 

## クラスターから発生する Amazon DocumentDB イベント
<a name="event-subscriptions.cluster-origin"></a>


| Category | 説明 | 
| --- | --- | 
| 作成 | クラスターが作成されました | 
| 削除 | クラスターが削除されました。 | 
| フェイルオーバー | 以前のプライマリを再度プロモートします。 | 
| フェイルオーバー | インスタンスへのフェイルオーバーが完了しました。 | 
| フェイルオーバー | DB インスタンスへのフェイルオーバーを開始しました: %s | 
| フェイルオーバー | DB インスタンスへの同じ AZ フェイルオーバーを開始しました: %s | 
| フェイルオーバー | DB インスタンスへのクロスAZ フェイルオーバーを開始しました: %s | 
| メンテナンス | クラスターにパッチが適用されました。 | 
| メンテナンス | データベースクラスターはアップグレードできない状態です: %s | 
| 通知 | クラスターが停止しました。 | 
| 通知 | クラスターが開始しました。 | 
| 通知 | クラスターの停止が失敗しました。 | 
| 通知 | 停止中の最大許容時間を超えたため、クラスターが開始されています。 | 
| 通知 | クラスターの名前を %s から %s に変更しました。 | 

## クラスタースナップショットから発生する Amazon DocumentDB イベント
<a name="event-subscriptions.snapshot-origin"></a>

次の表は、Amazon DocumentDB クラスターのスナップショットがソースタイプである場合のイベントカテゴリとイベントのリストを示しています。


| Category | 説明 | 
| --- | --- | 
| バックアップ | 手動クラスタースナップショットの作成 | 
| バックアップ | 手動クラスタースナップショットが作成されました。 | 
| バックアップ | 自動クラスタースナップショットを作成しています。 | 
| バックアップ | 自動クラスタースナップショットが作成されました。 | 

## パラメータグループから発生する Amazon DocumentDB イベント
<a name="event-subscriptions.parameter"></a>

次の表は、パラメータグループがソースタイプである場合のイベントカテゴリとイベントのリストを示します。


| Category | 説明 | 
| --- | --- | 
| 設定変更 | 適用メソッド %s でパラメータ %s を %s に更新しました | 

# Amazon DocumentDB と CloudWatch のモニタリング
<a name="cloud_watch"></a>

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

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

**Topics**
+ [Amazon DocumentDB のメトリクス](#cloud_watch-metrics_list)
+ [CloudWatch データの表示](#cloud_watch-view_data)
+ [Amazon DocumentDB ディメンション](#cloud_watch-metrics_dimensions)
+ [Opcounter メトリクスのモニタリング](#cloud_watch-monitoring_opcounters)
+ [データベース接続のモニタリング](#cloud_watch-monitoring_connections)

## Amazon DocumentDB のメトリクス
<a name="cloud_watch-metrics_list"></a>

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

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

**Topics**
+ [リソース使用率メトリクス](#resource-utilization)
+ [レイテンシーメトリクス](#latency-metrics)
+ [NVMe-backed インスタンスメトリクス](#nvme-metrics)
+ [オペレーションメトリクス](#operations-metrics)
+ [スループットメトリクス](#throughput-metrics)
+ [システムメトリクス](#system-metrics)
+ [T3 インスタンスメトリクス](#t3-instance-metrics)

### リソース使用率メトリクス
<a name="resource-utilization"></a>


| メトリクス | 説明 | 
| --- | --- | 
| BackupRetentionPeriodStorageUsed | Amazon DocumentDB の保持期間内で特定時点への復元機能をサポートするために使用される、バックアップストレージの合計容量 (バイト単位)。TotalBackupStorageBilled メトリクスによって報告される合計に含まれます。各 Amazon DocumentDB クラスターに対して個別に計算されます。 | 
| ChangeStreamLogSize | 変更ストリームログを保存するためにクラスターが使用するストレージの容量 (MB)。この値は、クラスターの合計ストレージのサブセット (VolumeBytesUsed) であり、クラスターのコストに影響します。ストレージの料金については、[Amazon DocumentDB 製品ページ](https://aws.amazon.com//documentdb/pricing) を参照してください。変更ストリームのログサイズは、クラスターで発生している変更の量と、変更ストリームの長期保存期間の関数です。変更ストリームの詳細については、[[Amazon DocumentDB を用いた変更ストリームの使用](change_streams.md)] を参照してください。 | 
| CPUUtilization | インスタンスによって使用される CPU のパーセント。 | 
| DatabaseConnections | 1 分間隔で取得するインスタンスで開いている接続 (アクティブおよびアイドル) の数。 | 
| DatabaseConnectionsMax | 1 分間にインスタンスで開いているデータベース接続 (アクティブおよびアイドル) の最大数。 | 
| DatabaseConnectionsLimit | 任意の時点でインスタンスで許可される同時データベース接続 (アクティブおよびアイドル) の最大数。 | 
| DatabaseCursors | 1 分間隔で取得するインスタンスで開いているカーソルの数。 | 
| DatabaseCursorsMax | 1 分間にインスタンスで開いているカーソルの最大数。 | 
| DatabaseCursorsLimit | 任意の時点でインスタンスで許可されるカーソルの最大数。 | 
| DatabaseCursorsTimedOut | 1 分間にタイムアウトしたカーソルの数。 | 
| FreeableMemory | 使用可能な RAM の容量 (バイト単位)。 | 
| FreeLocalStorage | このメトリクスでは、各インスタンスの一時テーブルとログで使用できるストレージの量が報告されます。この値は、インスタンスクラスによって異なります。インスタンスに対してより大きなインスタンスクラスを選択することで、インスタンス用の空きストレージ容量を増やすことができます。(これは DocumentDB Serverless には適用されません）。  | 
| LowMemThrottleQueueDepth | 1 分間隔で消費される使用可能なメモリが少ないためにスロットされたリクエストのキューの深度。  | 
| LowMemThrottleMaxQueueDepth | 1 分間に消費される使用可能なメモリが少ないためにスロットされたリクエストの最大キュー深度。  | 
| LowMemNumOperationsThrottled | 1 分間に消費される使用可能なメモリが少ないためにスロットされたリクエストの数。  | 
| SnapshotStorageUsed | バックアップ保持期間外に特定の Amazon DocumentDB クラスターのすべてのスナップショットによって使用されているバックアップストレージの合計容量 (バイト単位)。TotalBackupStorageBilled メトリクスによって報告される合計に含まれます。各 Amazon DocumentDB クラスターに対して個別に計算されます。 | 
| SwapUsage | インスタンスで使用するスワップ領域の量。 | 
| TotalBackupStorageBilled | 特定の Amazon DocumentDB クラスターに対して請求されるバックアップストレージの合計容量 (バイト単位)。BackupRetentionPeriodStorageUsed メトリクスおよび SnapshotStorageUsed メトリクスによって測定されるバックアップストレージが含まれます。各 Amazon DocumentDB クラスターに対して個別に計算されます。 | 
| TransactionsOpen | 1 分間隔で実行されるインスタンスで開いているトランザクションの数。 | 
| TransactionsOpenMax | 1 分間にインスタンスで開いているトランザクションの最大数。 | 
| TransactionsOpenLimit | 任意の時点でインスタンスで許可される同時トランザクションの最大数。 | 
| VolumeBytesUsed | クラスターで使用されたストレージ容量 (バイト単位)。この値は、クラスターのコストに影響します。料金情報については、[Amazon DocumentDB 製品ページ](https://aws.amazon.com//documentdb/pricing) を参照してください。 | 

### レイテンシーメトリクス
<a name="latency-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
| DBClusterReplicaLagMaximum | クラスター内のプライマリインスタンスと Amazon DocumentDB インスタンス間の最大遅延時間 (ミリ秒単位)。 | 
| DBClusterReplicaLagMinimum | クラスター内のプライマリインスタンスと各レプリカインスタンス間の最小遅延時間 (ミリ秒単位)。 | 
| DBInstanceReplicaLag | プライマリインスタンスからレプリカインスタンスにアップデートをレプリケートする際の遅延時間 (ミリ秒単位)。 | 
| ReadLatency | 1 回のディスク I/O オペレーションにかかる平均時間。 | 
| WriteLatency | 1 回のディスク I/O オペレーションにかかる平均時間 (ミリ秒単位)。 | 

### NVMe-backed インスタンスメトリクス
<a name="nvme-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
| NVMeStorageCacheHitRatio | 階層型キャッシュから提供されたリクエストの割合 (パーセント)。 | 
| FreeNVMeStorage | 使用できる Ephemeral NVMe ストレージの容量。 | 
| ReadIOPSNVMeStorage | Ephemeral NVMe ストレージへのディスク読み取り I/O オペレーションの平均数。 | 
| ReadLatencyNVMeStorage | Ephemeral NVMe ストレージのディスク読み取り I/O オペレーションごとにかかる平均時間。 | 
| ReadThroughputNVMeStorage | Ephemeral NVMe ストレージ用にディスクから読み取られた 1 秒あたりの平均バイト数。 | 
| WriteIOPSNVMeStorage | Ephemeral NVMe ストレージへのディスク書き込み I/O オペレーションの平均数。 | 
| WriteLatencyNVMeStorage | Ephemeral NVMe ストレージのディスク書き込み I/O オペレーションごとにかかる平均時間。 | 
| WriteThroughputNVMeStorage | Ephemeral NVMe ストレージ用にディスクに書き込まれる 1 秒あたりの平均バイト数。 | 

### オペレーションメトリクス
<a name="operations-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
| 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 によって削除されたドキュメントの数。 | 

### スループットメトリクス
<a name="throughput-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
| NetworkReceiveThroughput | クラスター内の各インスタンスが各クライアントから受信したネットワークスループットの量 (バイト/秒単位)。クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。 | 
| NetworkThroughput | Amazon DocumentDB クラスター内の各インスタンスがクライアントで送受信したネットワークスループットの量 (バイト/秒単位)。クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。 | 
| NetworkTransmitThroughput | クラスター内の各インスタンスが各クライアントに対して送信したネットワークスループットの量 (バイト/秒単位)。クラスターとクラスターボリューム内のインスタンス間のネットワークトラフィックは、このスループットに含まれません。 | 
| ReadIOPS | 1 秒あたりのディスク読み取り I/O オペレーションの平均回数。Amazon DocumentDB レポートは、IOPS の読み取りと書き込みを 1 分間隔で個別に行います。 | 
| ReadThroughput | 1 秒あたりのディスクからの平均読み取りバイト数。 | 
| StorageNetworkReceiveThroughput | Amazon DocumentDB クラスター内の各インスタンスがクラスターストレージボリュームから受信したネットワークスループットの量 (バイト/秒単位)。 | 
| StorageNetworkTransmitThroughput | Amazon DocumentDB クラスター内の各インスタンスがクラスターストレージボリュームに対して送信したネットワークスループットの量 (バイト/秒単位)。 | 
| StorageNetworkThroughput | Amazon DocumentDB クラスター内の各インスタンスがクラスターストレージボリュームとの間で送受信したネットワークスループットの量 (バイト/秒単位)。 | 
| 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) です。 なお、`VolumeReadIOPs` と `VolumeWriteIOPs` メトリクスは DocumentDB ストレージレイヤーによって計算され、プライマリインスタンスとレプリカインスタンスによって実行される IO が含まれます。データは 20 ～ 30 分ごとに集計され、5 分間隔でレポートされるため、その時間帯のメトリクスには同じデータポイントが出力されます。1 分間隔で挿入オペレーションと相関するメトリクスを探している場合は、インスタンスレベルの WriteIOPS メトリクスを使用できます。メトリクスは、Amazon DocumentDB プライマリインスタンスの モニタリングタブで使用できます。  | 
| WriteIOPS | 1 秒あたりのディスク書き込み I/O オペレーションの平均回数。クラスターレベルで使用すると、WriteIOPs はクラスター内のすべてのインスタンスで評価されます。読み取りおよび書き込み IOPS は個別に 1 分間隔で報告されます。 | 
| WriteThroughput | 1 秒あたりのディスクへの平均書き込みバイト数。 | 

### システムメトリクス
<a name="system-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
| AvailableMVCCIds | ゼロに達する前に使用可能な残りの書き込みオペレーションの数を示すカウンター。このカウンターがゼロに達すると、ID が再利用されてリサイクルされるまで、クラスターは読み取り専用モードになります。カウンターは書き込みオペレーションごとに減少し、ガベージコレクションが古い MVCC ID をリサイクルすると増加します。 | 
| BufferCacheHitRatio | バッファキャッシュから提供されたリクエストの割合 (パーセント)。 | 
| DiskQueueDepth | ディスクに対する読み取りまたは書き込み待機中の I/O オペレーションの数。 | 
| EngineUptime | インスタンスの実行時間 (秒単位)。 | 
| IndexBufferCacheHitRatio | バッファキャッシュから提供されたインデックスリクエストの割合 (パーセント)。インデックス、コレクション、またはデータベースを削除した直後は、メトリクスの権限の 100% を超えるスパイクが表示されることがあります。これは 60 秒後に自動的に修正されます。この制限は、今後のパッチアップデートで修正される予定です。 | 
| LongestActiveGCRuntime | 最も長いアクティブなガベージコレクションプロセスの秒単位の期間。1 分以内に完了するプロセスを除き、1 分ごとに更新され、アクティブなオペレーションのみを追跡します。 | 

### T3 インスタンスメトリクス
<a name="t3-instance-metrics"></a>


| メトリクス | 説明 | 
| --- | --- | 
| CPUCreditUsage | 測定期間に消費された CPU クレジットの数。 | 
| CPUCreditBalance | インスタンスが蓄積する CPU クレジット数。CPU がバーストし、CPU クレジットが獲得するよりも速い速度で使用される際に、このバランスは枯渇します。 | 
| CPUSurplusCreditBalance | CPUCreditBalance の値がゼロになった時に CPU パフォーマンスを保持するために消費される、余剰 CPU クレジットの数。 | 
| CPUSurplusCreditsCharged | 24 時間で獲得できる CPU クレジットの最大数を越えた、追加料金が発生する分の余剰 CPU クレジットの数。詳細については、[[CPU クレジットのモニタリング](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-monitoring-cpu-credits.html)] を参照してください。 | 

## CloudWatch データの表示
<a name="cloud_watch-view_data"></a>

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

------
#### [ Using the AWS マネジメントコンソール ]

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

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

1. ナビゲーションペインで **クラスター** を選択します。
**ヒント**  
画面の左側にナビゲーションペインが表示されない場合は、ページの左上隅にあるメニューアイコン (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/docdb-menu-icon.png)) を選択します。

1. クラスターナビゲーションボックスに、[**Cluster Identifier**]の列が表示されます。インスタンスは、以下のスクリーンショットのように、クラスターの下に表示されます。  
![\[インスタンスがクラスターの下にネストされる方法を示すクラスターテーブル。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/choose-clusters.png)

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

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

   次の図は、Amazon DocumentDB コンソールでの `WriteIOPS` と `ReadIOPS` の 2 つの CloudWatch メトリクスをグラフィカルに表示しています。  
![\[Amazon DocumentDB コンソールの WriteIOPS および ReadIOPS CloudWatch メトリクスを表す 2 つの折れ線グラフ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/cw-metrics-con.png)

------
#### [ Using the CloudWatch Management Console ]

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

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

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

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

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

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

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

   1. メトリクスでフィルタリングするには、メトリクス名にカーソルを合わせ、メトリック名の隣にあるドロップダウン矢印を選択します。次に、以下のイメージに示すように、**検索に追加** を選択します。  
![\[メトリクス名のドロップダウンリストが表示されている、メトリクスを一覧表示するすべてのメトリクスタブ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/cloudwatch-filter-metrics.png)

------
#### [ 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`

**Example**  
次の例では、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 ディメンション
<a name="cloud_watch-metrics_dimensions"></a>

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


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

## Opcounter メトリクスのモニタリング
<a name="cloud_watch-monitoring_opcounters"></a>

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

## データベース接続のモニタリング
<a name="cloud_watch-monitoring_connections"></a>

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

# AWS CloudTrail での Amazon DocumentDB API コールのログ記録
<a name="logging-with-cloudtrail"></a>

Amazon DocumentDB (MongoDB 互換) は AWS CloudTrail と統合されています。これは、ユーザー、ロール、あるいは Amazon DocumentDB (MongoDB 互換) の AWS サービスで実行されたアクションを記録するサービスです。CloudTrail は、Amazon DocumentDB コンソールからの呼び出しと Amazon DocumentDB SDK へのコード呼び出しを含む、Amazon DocumentDB の AWS CLI の全ての API コールをイベントとしてキャプチャします。追跡を作成する場合は、Amazon DocumentDB のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの [**Event history (イベント履歴)**] で最新のイベントを表示できます。CloudTrail で収集された情報を使用して、Amazon DocumentDB に対するリクエスト、リクエスト元の IP アドレス、リクエストした者、リクエスト日時などのリクエストを確認できます。

**重要**  
特定の管理機能では、Amazon DocumentDB は Amazon Relational Database Service (Amazon RDS) と共有の運用テクノロジーを使用します。Amazon DocumentDB コンソール、AWS CLI、および API コールは、Amazon RDS API への呼び出しとして記録されます。

AWS CloudTrail の詳細については、[「AWS CloudTrail ユーザーガイド」](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)を参照してください。

## CloudTrail 内の Amazon DocumentDB 情報
<a name="logging-with-cloudtrail-info-available"></a>

CloudTrail は、AWS アカウントを作成すると、その中で有効になります。Amazon DocumentDB (MongoDB 互換)でアクティビティが発生すると、そのアクティビティは、**イベント履歴** の他の AWS のサービスのイベントとともに、CloudTrail イベントに記録されます。最近のイベントは、AWS アカウント で表示、検索、ダウンロードできます。詳細については、「[CloudTrail イベント履歴でのイベントの表示](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。

Amazon DocumentDB (MongoDB 互換) のためのイベントを含む、AWS アカウント のイベントを継続的に記録するには、証跡を作成します。[Trail] (追跡) により、CloudTrail はログファイルを Simple Storage Service (Amazon S3) バケットに配信できます。デフォルトでは、コンソールで証跡を作成するときに、証跡がすべての AWS リージョン に適用されます。証跡は、AWS パーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail・ログで収集したイベントデータをより詳細に分析し、それに基づく対応するためにその他の AWS サービスを設定できます。詳細については、『*AWS CloudTrail ユーザーガイド:*』の以下のトピックを参照してください。
+ [追跡作成の概要](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail がサポートするサービスと統合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [CloudTrail の Amazon SNS 通知の設定](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [CloudTrail ログファイルの複数のリージョンからの受け取り](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)
+ [複数のアカウントから CloudTrailログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。ID 情報は次の判断に役立ちます。
+ リクエストが、ルートとユーザー認証情報のどちらを使用して送信されたか。
+ リクエストが、ロールとフェデレーションユーザーの一時的なセキュリティ認証情報のどちらを使用して送信されたか。
+ リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「[CloudTrail userIdentity 要素](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)」を参照してください。

# Amazon DocumentDB オペレーションのプロファイリング
<a name="profiling"></a>

Amazon DocumentDB (with MongoDB compatibility) でプロファイラーを使用して、クラスターで実行されたオペレーションの実行時間と詳細をログに記録することができます。プロファイラーは、クラスターで最も遅いオペレーションをモニタリングし、個々のクエリパフォーマンスとクラスター全体のパフォーマンスを向上させるのに役立ちます。

デフォルトでは、プロファイラー機能は無効になっています。有効にすると、プロファイラーは、お客様定義のしきい値 (100 ms など) の値より時間がかかっているオペレーションを Amazon CloudWatch Logs に記録します。ログに記録される詳細には、プロファイリングされたコマンド、時間、プランの概要、クライアントメタデータが含まれます。操作が CloudWatch Logs に記録された後、CloudWatch Logs インサイトを使用して Amazon DocumentDB プロファイリングデータを分析、モニタリング、アーカイブすることができます。一般的なクエリについては、「[一般的なクエリ](#profiling.common-queries)」セクションを参照してください 。

有効にすると、プロファイラーはクラスター内の追加のリソースを利用します。高いしきい値 (500 ms など) から開始し、値を徐々に小さくして、低速なオペレーションを識別することをお勧めします。しきい値 50 ms から開始すると、高スループットのアプリケーションのクラスターでパフォーマンスの問題が発生する可能性があります。プロファイラーはクラスターレベルで有効であり、クラスター内のすべてのインスタンスとデータベースで動作します。Amazon DocumentDB は、ベストエフォート方式で Amazon CloudWatch Logs にオペレーションを記録します。

Amazon DocumentDB はプロファイラーを有効にするための追加料金を課しませんが、CloudWatch Logs の使用料は標準料金で請求されます。CloudWatch Logs の料金の詳細については、[Amazon CloudWatch の料金](https://aws.amazon.com/cloudwatch/pricing/) をご覧ください。

**Topics**
+ [サポートされているオペレーション](#profiling.supported-commands)
+ [制限事項](#profiling.limitations)
+ [プロファイラーの有効化](#profiling.enable-profiling)
+ [プロファイラーの無効化](#profiling.disable-profiling)
+ [プロファイラーログのエクスポートの無効化](#profiling.disabling-logs-export)
+ [プロファイラーのログへのアクセス](#profiling.accessing)
+ [一般的なクエリ](#profiling.common-queries)

## サポートされているオペレーション
<a name="profiling.supported-commands"></a>

Amazon DocumentDB プロファイラーでは、以下の操作をサポートしています。
+ `aggregate`
+ `count`
+ `delete`
+ `distinct`
+ `find` (OP\$1QUERY およびコマンド)
+ `findAndModify`
+ `insert`
+ `update`

## 制限事項
<a name="profiling.limitations"></a>

スロークエリプロファイラーは、クエリの結果セット全体が 1 つのバッチに収まることができ、結果セットが 16 MB 未満（最大 BSON サイズ）の場合のみプロファイラーログを出力できます。16 MB を超える結果セットは、自動的に複数のバッチに分割されます。

ほとんどのドライバまたはシェルでは、デフォルトのバッチサイズが小さく設定されている場合があります。バッチサイズは、クエリの一部として指定することができます。低速クエリログを取得するために、予想される結果セットのサイズを超えるバッチサイズをお勧めします。結果セットのサイズが不明な場合や変動する場合は、バッチサイズを大きな数値 (100k など) に設定することもできます。

ただし、バッチサイズを大きくすると、クライアントにレスポンスを送信する前にデータベースから取得しなければならない結果も多くなります。一部のクエリでは、結果を得るまでに長い遅延が発生する可能性があります。結果セット全体を消費する予定がない場合、クエリの処理に多くの I/O を費やして結果を破棄する可能性があります。

## Amazon DocumentDB プロファイラーの有効化
<a name="profiling.enable-profiling"></a>

クラスターでプロファイラーを有効にするには、3 つのステップを実行します。すべての手順が完了していないと、プロファイリングログが CloudWatch Logs に送信されませんので、ご注意ください。プロファイラーはクラスターレベルで設定され、クラスターのすべてのデータベースとインスタンスで実行されます。

**クラスターでプロファイラーを有効にするには**

1. デフォルトのクラスターパラメータグループを変更できないため、使用できるカスタムクラスターパラメータグループがあることを確認してください。詳細については、「[Amazon DocumentDB クラスターパラメータグループを作成する](cluster_parameter_groups-create.md)」を参照してください。

1. 使用可能なカスタムクラスターパラメータグループを使用して、`profiler`、`profiler_threshold_ms` および `profiler_sampling_rate` のパラメータを変更します。詳細については、「[Amazon DocumentDB クラスターパラメータグループを変更する](cluster_parameter_groups-modify.md)」を参照してください。

1. カスタムクラスターパラメータグループを使用し、CloudWatch Logs への `profiler` ログのエクスポートを有効にするために、クラスターを作成または変更します。

以下のセクションでは、 AWS マネジメントコンソール と AWS Command Line Interface () を使用してこれらのステップを実装する方法を示しますAWS CLI。

------
#### [ Using the AWS マネジメントコンソール ]

1. 開始する前に、Amazon DocumentDB クラスターと、まだ持っていない場合はカスタムクラスターパラメータグループを作成します。詳細については、「[Amazon DocumentDB クラスターパラメータグループを作成する](cluster_parameter_groups-create.md)」および「[Amazon DocumentDB クラスターの作成](db-cluster-create.md)」を参照してください。

1. 使用可能なカスタムクラスターパラメータグループを使用して、以下のパラメータを変更します。詳細については、「[Amazon DocumentDB クラスターパラメータグループを変更する](cluster_parameter_groups-modify.md)」を参照してください。
   + `profiler` - クエリプロファイリングを有効化または無効化します。有効な値は、`enabled ` および `disabled` です。デフォルト値は `disabled` です。プロファイリングを有効にするには、値を `enabled` に設定します。
   + `profiler_threshold_ms` - `profiler` を `enabled` に設定すると、` profiler_threshold_ms` より時間がかかっているコマンドは全て CloudWatch にログ出力されます。有効な値は `[50-INT_MAX]` です。デフォルト値は `100` です。
   + `profiler_sampling_rate` - プロファイリングやロギングを行うべき低速オペレーションの割合です。有効な値は `[0.0-1.0]` です。デフォルト値は `1.0` です。

1. カスタムクラスターパラメータグループを使用するようにクラスターを修正し、プロファイラーログエクスポートを Amazon CloudWatch に公開するように設定します。

   1. ナビゲーションペインで、[**Clusters (クラスター)**] を選択し、カスタムパラメータグループをクラスターに追加します。

   1. パラメータグループを関連付けるクラスター名の左側にあるボタンを選択します。[**Actions (アクション)**]、[**Modify (変更)**] の順に選択し、クラスターを変更します。

   1. [**Cluster options (クラスターオプション)**] で、上記のステップからカスタムパラメータグループを選択して、クラスターに追加します。

   1. [**Log exports（ログのエクスポート）**] で [**Profiler logs（プロファイラーログ）**] をクリックして Amazon CloudWatchを選択します。

   1. [**続行**] を選択して、変更の概要を表示します。

   1. 変更を確認したら、直ちに、あるいは、[**変更のスケジューリング**] の下にある次のメンテナンスウィンドウ中に適用することができます。

   1. [**クラスターの変更**] を選択して、新しいパラメータグループでクラスターを更新します。

------
#### [ Using the AWS CLI ]

次の手順では、クラスター `sample-cluster` でサポートされているすべてのオペレーションでプロファイラーを有効にします。

1. 開始する前に、次のコマンドを実行し、名前に `default` がなく、パラメータグループファミリーとして `docdb3.6` を持つクラスターパラメータグループの出力を確認して、使用可能なカスタムクラスターパラメータグループがあることを確認します。デフォルト以外のクラスターパラメータグループがない場合は、「[Amazon DocumentDB クラスターパラメータグループを作成する](cluster_parameter_groups-create.md)」を参照してください。

   ```
   aws docdb describe-db-cluster-parameter-groups \
       --query 'DBClusterParameterGroups[*].[DBClusterParameterGroupName,DBParameterGroupFamily]'
   ```

   次の出力では、`sample-parameter-group ` のみが両方の条件を満たしています。

   ```
   [
          [
              "default.docdb3.6",
              "docdb3.6"
          ],
          [
              "sample-parameter-group",
              "docdb3.6"
          ]
   ]
   ```

1. カスタムクラスターパラメータグループを使用して、以下のパラメータを変更します。
   + `profiler` - クエリプロファイリングを有効化または無効化します。有効な値は、`enabled ` および `disabled` です。デフォルト値は `disabled` です。プロファイリングを有効にするには、値を `enabled` に設定します。
   + `profiler_threshold_ms` - `profiler` を `enabled` に設定すると、`profiler_threshold_ms` より長い時間を要するすべてのコマンドが CloudWatch にログ記録されます。有効な値は `[50-INT_MAX]` です。デフォルト値は `100` です。
   + `profiler_sampling_rate` - プロファイリングやロギングを行うべき低速オペレーションの割合です。有効な値は `[0.0-1.0]` です。デフォルト値は `1.0` です。

   ```
   aws docdb modify-db-cluster-parameter-group \
       --db-cluster-parameter-group-name sample-parameter-group \
       --parameters ParameterName=profiler,ParameterValue=enabled,ApplyMethod=immediate \
                    ParameterName=profiler_threshold_ms,ParameterValue=100,ApplyMethod=immediate \
                    ParameterName=profiler_sampling_rate,ParameterValue=0.5,ApplyMethod=immediate
   ```

1. Amazon DocumentDB クラスターを修正して、前のステップの `sample-parameter-group` カスタムクラスターパラメータグループを使用し、パラメータ `--enable-cloudwatch-logs-exports` を `profiler` に設定するようにします。

   次のコードは、前のステップから `sample-cluster` を使用するようにクラスター `sample-parameter-group` を変更し、有効な CloudWatch Logs のエクスポートに `profiler` を追加します。

   ```
   aws docdb modify-db-cluster \
          --db-cluster-identifier sample-cluster \
          --db-cluster-parameter-group-name sample-parameter-group \
          --cloudwatch-logs-export-configuration '{"EnableLogTypes":["profiler"]}'
   ```

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

   ```
   {
       "DBCluster": {
           "AvailabilityZones": [
               "us-east-1c",
               "us-east-1b",
               "us-east-1a"
           ],
           "BackupRetentionPeriod": 1,
           "DBClusterIdentifier": "sample-cluster",
           "DBClusterParameterGroup": "sample-parameter-group",
           "DBSubnetGroup": "default",
           "Status": "available",
           "EarliestRestorableTime": "2020-04-07T02:05:12.479Z",
           "Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
           "ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
           "MultiAZ": false,
           "Engine": "docdb",
           "EngineVersion": "3.6.0",
           "LatestRestorableTime": "2020-04-08T22:08:59.317Z",
           "Port": 27017,
           "MasterUsername": "test",
           "PreferredBackupWindow": "02:00-02:30",
           "PreferredMaintenanceWindow": "tue:09:50-tue:10:20",
           "DBClusterMembers": [
               {
                   "DBInstanceIdentifier": "sample-instance-1",
                   "IsClusterWriter": true,
                   "DBClusterParameterGroupStatus": "in-sync",
                   "PromotionTier": 1
               },
               {
                   "DBInstanceIdentifier": "sample-instance-2",
                   "IsClusterWriter": true,
                   "DBClusterParameterGroupStatus": "in-sync",
                   "PromotionTier": 1
               }
           ],
           "VpcSecurityGroups": [
               {
                   "VpcSecurityGroupId": "sg-abcd0123",
                   "Status": "active"
               }
           ],
           "HostedZoneId": "ABCDEFGHIJKLM",
           "StorageEncrypted": true,
           "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
           "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
           "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster",
           "AssociatedRoles": [],
           "ClusterCreateTime": "2020-01-10T22:13:38.261Z",
           "EnabledCloudwatchLogsExports": [
               "profiler"
           ],
           "DeletionProtection": true
       }
   }
   ```

------

## Amazon DocumentDB プロファイラーの無効化
<a name="profiling.disable-profiling"></a>

プロファイラを無効にするには、`profiler` パラメータと `profiler` ログの CloudWatch Logs へのエクスポートの両方を無効にします。

### プロファイラーの無効化
<a name="profiling.disable-profiler"></a>

`profiler` パラメータは AWS CLI、次のように AWS マネジメントコンソール または を使用して無効にできます。

------
#### [ Using the AWS マネジメントコンソール ]

次の手順では AWS マネジメントコンソール 、 を使用して Amazon DocumentDB を無効にします`profiler`。

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

1. ナビゲーションペインで、**[パラメータグループ]** を選択します。次に、プロファイラーを無効にするクラスターパラメータグループの名前を選択します。

1. 結果の [**Cluster parameters (クラスターパラメータ)**] ページで、`profiler` パラメータの左側にあるボタンを選択し、[**Edit (編集)**] を選択します。

1. [**Modify profiler (プロファイラーの変更)**] ダイアログボックスで、リストから [`disabled`] を選択します。

1. [**Modify cluster parameter (クラスターパラメータの変更)**] を選択します。

------
#### [ Using the AWS CLI ]

 AWS CLIを使用してクラスターで `profiler` を無効にするには、次のようにクラスターを変更します。

```
aws docdb modify-db-cluster-parameter-group \
    --db-cluster-parameter-group-name sample-parameter-group \
    --parameters ParameterName=profiler,ParameterValue=disabled,ApplyMethod=immediate
```

------

## プロファイラーログのエクスポートの無効化
<a name="profiling.disabling-logs-export"></a>

CloudWatch Logs への`profiler`ログのエクスポートを無効にするには AWS CLI、次のように AWS マネジメントコンソール または を使用します。

------
#### [ Using the AWS マネジメントコンソール ]

次の手順では、 を使用して AWS マネジメントコンソール Amazon DocumentDB の CloudWatch へのログのエクスポートを無効にします。

1. Amazon DocumentDB コンソールを、次の場所で開きます。[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb)

1. ナビゲーションペインで **クラスター** を選択します。ログのエクスポートを無効にするクラスターの名前の左側にあるボタンを選択します。

1. [**アクション**] メニューから [**Modify (変更)**] を選択します。

1. [**Log exports (ログのエクスポート)**] セクションまでスクロールし、[**Profiler logs (プロファイラーログ)**] を選択解除します。

1. [**続行**] をクリックしてください。

1. 変更を確認してから、この変更をクラスターにいつ適用するかを選択します。
   + **Apply during the next scheduled maintenance window (次に予定されているメンテナンス期間中に適用)**
   + **すぐに適用**

1. **[クラスターを変更]** を選択します。

------
#### [ Using the AWS CLI ]

次のコードでは、クラスター `sample-cluster ` を変更し、CloudWatch プロファイラーログを無効にします。

**Example**  
Linux、macOS、Unix の場合:  

```
aws docdb modify-db-cluster \
   --db-cluster-identifier sample-cluster \
   --cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
```
Windows の場合:  

```
aws docdb modify-db-cluster ^
   --db-cluster-identifier sample-cluster ^
   --cloudwatch-logs-export-configuration '{"DisableLogTypes":["profiler"]}'
```
このオペレーションによる出力は、次のようになります。  

```
{
    "DBCluster": {
        "AvailabilityZones": [
            "us-east-1c",
            "us-east-1b",
            "us-east-1a"
        ],
        "BackupRetentionPeriod": 1,
        "DBClusterIdentifier": "sample-cluster",
        "DBClusterParameterGroup": "sample-parameter-group",
        "DBSubnetGroup": "default",
        "Status": "available",
        "EarliestRestorableTime": "2020-04-08T02:05:17.266Z",
        "Endpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
        "ReaderEndpoint": "sample-cluster.node.us-east-1.docdb.amazonaws.com",
        "MultiAZ": false,
        "Engine": "docdb",
        "EngineVersion": "3.6.0",
        "LatestRestorableTime": "2020-04-09T05:14:44.356Z",
        "Port": 27017,
        "MasterUsername": "test",
        "PreferredBackupWindow": "02:00-02:30",
        "PreferredMaintenanceWindow": "tue:09:50-tue:10:20",
        "DBClusterMembers": [
            {
                "DBInstanceIdentifier": "sample-instance-1",
                "IsClusterWriter": true,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            },
            {
                "DBInstanceIdentifier": "sample-instance-2",
                "IsClusterWriter": true,
                "DBClusterParameterGroupStatus": "in-sync",
                "PromotionTier": 1
            }
        ],
        "VpcSecurityGroups": [
            {
                "VpcSecurityGroupId": "sg-abcd0123",
                "Status": "active"
            }
        ],
        "HostedZoneId": "ABCDEFGHIJKLM",
        "StorageEncrypted": true,
        "KmsKeyId": "arn:aws:kms:us-east-1:<accountID>:key/sample-key",
        "DbClusterResourceId": "cluster-ABCDEFGHIJKLMNOPQRSTUVWXYZ",
        "DBClusterArn": "arn:aws:rds:us-east-1:<accountID>:cluster:sample-cluster",
        "AssociatedRoles": [],
        "ClusterCreateTime": "2020-01-10T22:13:38.261Z",
        "DeletionProtection": true
    }
}
```

------

## Amazon DocumentDB プロファイラーログにアクセスする
<a name="profiling.accessing"></a>

Amazon CloudWatch 上のプロファイルログにアクセスするには、次のステップに従います。

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. Amazon DocumentDB クラスターと同じリージョンであることを確認します。

1. ナビゲーションペインで [**ログ**] を選択します。

1. クラスターのプロファイラーログを確認するには、リストで `/aws/docdb/yourClusterName/profiler` を選択します。

   各インスタンスのプロファイルログは、対応する各インスタンス名の下に表示されます。

## 一般的なクエリ
<a name="profiling.common-queries"></a>

以下に、プロファイルされたコマンドの分析に使用できる一般的なクエリをいくつか示します。CloudWatch Logs インサイト の詳細については、[CloudWatch Logs インサイトでログデータを分析する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) と [サンプルクエリ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax-examples.html) を参照してください。

### 指定されたコレクションの中で最も低速だった 10 件のオペレーションを取得する
<a name="profiling.common-queries.slow-queries-on-collection"></a>

```
filter ns="test.foo" | sort millis desc | limit 10
```

### 特定のコレクション内で 60 ms 以上かかったすべての更新オペレーションを取得する
<a name="profiling.common-queries.updates-gt-60-ms"></a>

```
filter millis > 60 and op = "update"
```

### 先月最も遅かった 10 件のオペレーションを取得する
<a name="profiling.common-queries.slow-queries-last-month"></a>

```
sort millis desc | limit 10
```

### プランの概要が COLLSCAN のすべてのクエリを取得する
<a name="profiling.common-queries.collscan-plan-summary"></a>

```
filter planSummary="COLLSCAN"
```

# Performance Insights を使用したモニタリング
<a name="performance-insights"></a>

Performance Insights は、既存の Amazon DocumentDB モニタリング機能を拡張して、クラスターのパフォーマンスを明確にし、これに影響を与えるあらゆる問題を分析しやすくします。Performance Insights ダッシュボードを使用してデータベースロードを視覚化したり、ロードを待機、クエリステートメント、ホスト、アプリケーションでフィルタリングしたりできます。

**注記**  
Performance Insights は、Amazon DocumentDB 3.6、4.0、5.0、および 8.0 インスタンスベースのクラスターでのみ使用できます。

**これはどのように役立ちますか?**
+ データベースのパフォーマンスを視覚化: ロードを視覚化して、データベースのロードがいつどこにあるかを判断します
+ データベースのロードの原因を特定: インスタンスのロードの原因となっているクエリ、ホスト、アプリケーションを特定します
+ データベースにロードがかかるタイミングを特定: Performance Insights ダッシュボードを拡大して特定のイベントに注目したり、縮小して長期間にわたる傾向を確認したりできます
+ データベースロードに関するアラート: CloudWatch から新しいデータベースロードメトリクスに自動的にアクセスし、DB ロードメトリクスを他の Amazon DocumentDB メトリクスと一緒にモニタリングし、アラートを設定できます

**Amazon DocumentDB Performance Insights にはどのような制限がありますか?**
+  AWS GovCloud (米国東部) および AWS GovCloud (米国西部) リージョンの Performance Insights は利用できません
+ Amazon DocumentDB の パフォーマンスインサイトが保持するパフォーマンスデータは 7 日間までとなります
+ 1,024 バイトを超えるクエリは Performance Insights に集約されません

**Topics**
+ [Performance Insights の概要](performance-insights-concepts.md)
+ [Performance Insights の有効化と無効化](performance-insights-enabling.md)
+ [Performance Insights 用のアクセスポリシーの設定](performance-insights-policies.md)
+ [Performance Insights ダッシュボードを使用してメトリクスを分析する](performance-insights-analyzing.md)
+ [Performance Insights API によるメトリクスの取得](performance-insights-metrics.md)
+ [Performance Insights の Amazon CloudWatch メトリクス](performance-insights-cloudwatch.md)
+ [カウンターメトリクス用の Performance Insights](performance-insights-counter-metrics.md)

# Performance Insights の概要
<a name="performance-insights-concepts"></a>

**Topics**
+ [平均アクティブセッション](#performance-insights-concepts-sessions)
+ [ディメンション](#performance-insights-concepts-dimensions)
+ [最大 vCPU](#performance-insights-concepts-maxvcpu)

## 平均アクティブセッション
<a name="performance-insights-concepts-sessions"></a>

データベース内のデータベースロード (DB ロード)アクティビティのレベルを測定します。毎秒収集されるPerformance Insights のキーメトリクスは `DB Load` です。`DBLoad` メトリクスの単位は、Amazon DocumentDB インスタンスの*平均アクティブセッション数 (AAS)*です。

*アクティブな*セッションとは、Amazon DocumentDB インスタンスにワークロードを送信し、レスポンスを待っている状態の接続です。例えば、Amazon DocumentDB インスタンスにクエリを送信すると、インスタンスでのクエリの処理中は、そのデータベースセッションは「アクティブな」状態となります。

平均アクティブセッションを取得するために、Performance Insights は、クエリを同時に実行するセッションの数をサンプリングします。AAS は、セッションの総数をサンプルの総数で割った値です。次の表は、実行中のクエリの連続する 5 つのサンプルを示しています。


| 例 | クエリを実行しているセッション数 | AAS | 計算 | 
| --- | --- | --- | --- | 
|  1  |  2  |  2  |  2 セッション/1 サンプル  | 
|  2  |  0  |  1  |  2 セッション/2 サンプル  | 
|  3  |  4  |  2  |  6 セッション/3 サンプル  | 
|  4  |  0  |  1.5  |  6 セッション/4 サンプル  | 
|  5  |  4  |  2  |  10 セッション/5 サンプル  | 

前の例では、1～5 の時間間隔の DB ロードは 2 AAS です。DB ロードの増加は、データベースで実行されているセッションが平均して増えることを意味します。

## ディメンション
<a name="performance-insights-concepts-dimensions"></a>

この `DB Load` メトリクスは、ディメンションと呼ばれるサブコンポーネントに分割できるため、他の時系列メトリクスとは異なります。ディメンションは、`DB Load` メトリクスのさまざまな特性のカテゴリと考えることができます。パフォーマンスの問題を診断する場合、最も有用なディメンションは**待機状態**と**上位のクエリ**です。

**待機状態**  
*待機状態* を指定すると、クエリステートメントは、特定のイベントが発生するまで待機してから、実行を継続できます。例えば、クエリステートメントは、ロック済みのリソースのロックが解除されるまで待機することがあります。`DB Load` と待機イベントを組み合わせると、セッションの状態の全体像を得ることができます。Amazon DocumentDB には次のようなさまざまな待機状態があります。


| Amazon DocumentDB の待機状態 | 待機状態の説明 | 
| --- | --- | 
|  ラッチ  |  ラッチ待機状態は、セッションがバッファープールのページングを待っているときに発生します。システムによる大規模なクエリの処理やコレクションのスキャンが頻繁に行われる場合や、バッファープールが小さすぎてワーキングセットを処理できない場合に、バッファープールのページインとページアウトが頻繁に起こる可能性があります。  | 
| CPU |  CPU 待機状態は、セッションが CPU 上で待機しているときに発生します。  | 
|  CollectionLock  |  CollectionLock 待機状態は、セッションがコレクションのロック取得を待機中の場合に発生します。これらのイベントは、コレクションに対して DDL 操作が行われたときに発生します。  | 
| DocumentLock |  DocumentLock 待機状態は、セッションがドキュメントのロック取得を待機中の場合に発生します。同じドキュメントへの同時書き込みの数が多いと、そのドキュメントの DocumentLock 待機状態が増えます。  | 
|  SystemLock  |  SystemLock 待機状態は、セッションがシステムで待機しているときに発生します。これは、実行時間の長いクエリ、実行時間の長いトランザクション、またはシステムの高い同時実行性が頻繁に場合に発生する可能性があります。  | 
|  IO  |  IO 待機状態は、セッションが IO の完了を待っているときに発生します。  | 
|  BufferLock  |  BufferLock 待機状態は、セッションがバッファーの共有ページのロック取得を待機中の場合に発生します。BufferLock 待機状態は、他のプロセスが要求されたページのオープンカーソルを保持していると、長くなる可能性があります。  | 
|  LowMemThrottle  |  LowMemThrottle 待機状態は、Amazon DocumentDB インスタンスに大量のメモリロードがかかってセッションが待機しているときに発生します。この状態が長時間続く場合は、インスタンスをスケールアップしてメモリを追加することを検討してください。詳細については、「[リソースガバナー](https://docs.aws.amazon.com/documentdb/latest/developerguide/how-it-works.html)」を参照してください。  | 
|  BackgroundActivity  |  BackgroundActivity 待機状態は、セッションが内部システムプロセスを待機しているときに発生します。  | 
|  その他  |  その他の待機状態は内部待機状態です。この状態が長時間続く場合は、このクエリを終了することを検討してください。詳細については、「[長時間実行されているクエリやブロックされているクエリを見つけて終了する方法](https://docs.aws.amazon.com/documentdb/latest/developerguide/user_diagnostics.html#user_diagnostics-query_terminating.html)」を参照してください。  | 

**上位のクエリ**  
待機状態はボトルネックを示しますが、上位のクエリは、どのクエリが DB ロードの最も大きな原因になっているかを示します。例えば、多くのクエリが現在データベースで実行されている可能性がありますが、1 つのクエリが DB ロードの 99% を占めている可能性もあります。この場合、ロードが高いと、クエリに問題がある可能性があります。

## 最大 vCPU
<a name="performance-insights-concepts-maxvcpu"></a>

ダッシュボードの [**データベースロード**] グラフで、セッション情報が収集、集計、表示されます。アクティブなセッションが最大 CPU 容量を超えているかどうかを確認するには、**最大 vCPU** ラインとの関係を調べます。**最大 vCPU** 値は、お使いの Amazon DocumentDB インスタンスの vCPU (仮想 CPU) のコア数によって決まります。

DB ロードが [**Max vCPU (最大 vCPU)**] ラインをしばしば超過し、プライマリ待機状態が CPU である場合、CPU が過ロードになっています。この場合、インスタンスへの接続を抑制したり、CPU ロードの高いクエリを調整したり、より大きなインスタンスクラスを検討する必要があります。待機状態の高い一貫したインスタンスは、解決するボトルネックまたはリソースの競合問題がある可能性があることを示します。これは、DB ロードが**最大 vCPU** ラインを超えていない場合にも該当します。

# Performance Insights の有効化と無効化
<a name="performance-insights-enabling"></a>

Performance Insights を使用するには、DB インスタンスで有効にします。必要に応じて、後で無効にすることができます。Performance Insights を有効または無効にしても、ダウンタイム、再起動、フェイルオーバーが発生することはありません。

Performance Insights エージェントは DB ホストの限られた CPU とメモリを消費します。DB のロードが高い場合、エージェントはデータ収集の頻度を下げることでパフォーマンスへの影響を抑えます。

## クラスター作成時の Performance Insights の有効化
<a name="performance-insights-enabling-create-instance"></a>

コンソールでは、新しい DB インスタンスを作成または変更するときに、Performance Insights を有効または無効にすることができます。

### の使用 AWS マネジメントコンソール
<a name="create-instance-console"></a>

Amazon DocumentDB クラスターを作成する際に、コンソール上でパフォーマンスインサイトを有効にすることができます。新しい Amazon DocumentDB クラスターを作成する際に、**[パフォーマンスインサイト]** セクションの **[パフォーマンスインサイトを有効化する]** を選択することで、パフォーマンスインサイトを有効化できます。

**コンソールでの手順**

1. クラスターを作成する手順については、「[Amazon DocumentDB クラスターの作成](https://docs.aws.amazon.com/documentdb/latest/developerguide/db-cluster-create.html)」を参照してください。

1. [Performance Insights] セクションで、**[Performance Insights の有効化]** を選択します。  
![\[[パフォーマンスインサイト] セクションで、[パフォーマンスインサイトを有効にする] を選択します。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/select-performance-insights.png)
**注記**  
Performance Insights データ保持期間は 7 日間です。

   ** AWS KMS key** — AWS KMS キーを指定します。Performance Insights は、 AWS KMS キーを使用してすべての機密データを暗号化します。データは、転送中と不使用時のいずれも暗号化されます。詳細については、「Performance Insights の AWS AWS KMS ポリシーの設定」を参照してください。

## インスタンス変更時の有効化と無効化
<a name="performance-insights-enabling-modify-instance"></a>

コンソールまたは AWS CLIを使用し、DB インスタンスを変更して Performance Insights を有効にできます。

------
#### [ Using the AWS マネジメントコンソール ]

**コンソールでの手順**

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

1. **[クラスター]** を選択します。

1. DB インスタンスを選択し、[**変更**] を選択します。

1. [Performance Insights] セクションで、**[Performance Insights の有効化]** または **[Performance Insightsの無効化]** を選択します。
**注記**  
**Performance Insights を有効にする**を選択した場合は、 AWS AWS KMS キーを指定できます。Performance Insights は、 AWS KMS キーを使用してすべての機密データを暗号化します。データは、転送中と不使用時のいずれも暗号化されます。詳細については、「[保管中の Amazon DocumentDB データの暗号化](https://docs.aws.amazon.com/documentdb/latest/developerguide/encryption-at-rest.html)」を参照してください。

1. [**続行**] をクリックしてください。

1. [**Scheduling of Modifications**] で、[**Apply immediately**] を選択します。「**次にスケジュールされたメンテナンスウィンドウで適用**」 を選択すると、インスタンスではこの設定が無視され、Performance Insights が直ちに有効になります。

1. [**インスタンスの変更**] を選択します。

------
#### [ Using the AWS CLI ]

`create-db-instance` または `modify-db-instance` AWS AWS CLI コマンドを使用する場合、 を指定して Performance Insights を有効にするか`--enable-performance-insights`、 を指定して無効にすることができます`--no-enable-performance-insights`。

次の手順で、 AWS AWS CLIを使用して DB インスタンスで Performance Insights を有効化または無効化する方法を説明します。



**AWS AWS CLI 手順**

`modify-db-instance` AWS AWS CLI コマンドを呼び出し、次の値を指定します。
+ `--db-instance-identifer` ​- DB インスタンスの名前
+ 有効にする場合は `--enable-performance-insights`、無効にする場合は `--no-enable-performance-insights`

**Example**  
次の例では、`sample-db-instance` の Performance Insights を有効にします。  

```
aws docdb modify-db-instance \
    --db-instance-identifier sample-db-instance \
    --enable-performance-insights
```

```
aws docdb modify-db-instance ^
    --db-instance-identifier sample-db-instance ^
    --enable-performance-insights
```

------

# Performance Insights 用のアクセスポリシーの設定
<a name="performance-insights-policies"></a>

Performance Insights にアクセスするには、 AWS Identity and Access Management (IAM) から適切なアクセス許可を得る必要があります。アクセス権の付与については、次のオプションがあります。
+ `AmazonRDSPerformanceInsightsReadOnly` マネージドポリシーをアクセス許可セットまたはロールにアタッチします。
+ カスタム IAM ポリシーを作成し、アクセス許可セットまたはロールにアタッチします。

また、Performance Insights を有効にしたときにカスタマーマネージドキーを指定した場合は、アカウント内のユーザーが KMS キーに対する `kms:Decrypt` および `kms:GenerateDataKey` アクセス許可を持っていることを確認します。

**注記**  
 AWS KMS キーによるencryption-at-restとセキュリティグループ管理のために、Amazon DocumentDB は [Amazon RDS](https://aws.amazon.com/rds) と共有されている運用テクノロジーを活用します。

## AmazonRDSPerformanceInsightsReadOnly ポリシーの IAM プリンシパルへのアタッチ
<a name="USER_PerfInsights.access-control.IAM-principal"></a>

`AmazonRDSPerformanceInsightsReadOnly` は、Amazon DocumentDB Performance Insights API のすべての読み取り専用オペレーションへのアクセスを許可する AWSマネージドポリシーです。現在、この API のすべてのオペレーションは読み取り専用です。`AmazonRDSPerformanceInsightsReadOnly` をアクセス許可セットまたはロールにアタッチすると、受取人は他のコンソール機能とともに Performance Insights を使用できます。

## Performance Insights 用のカスタム IAM ポリシーの作成
<a name="USER_PerfInsights.access-control.custom-policy"></a>

`AmazonRDSPerformanceInsightsReadOnly` ポリシーを持たないユーザーの場合は、ユーザーマネージド IAM ポリシーを作成または変更して、Performance Insights に対するアクセス権限を付与できます。ポリシーをアクセス許可セットまたはロールにアタッチすると、受取人は Performance Insights を使用できます。

**カスタムポリシーを作成するには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. ナビゲーションペインで、**ポリシー** を選択してください。

1. **[Create policy]** (ポリシーの作成) を選択します。

1. [**ポリシーの作成**] ページで、[JSON] タブを選択します。

1. 次のテキストをコピーして貼り付け、*us-east-1* を AWS リージョンの名前に置き換え、*111122223333* をカスタマーアカウント番号に置き換えます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "rds:DescribeDBInstances",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": "rds:DescribeDBClusters",
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:DescribeDimensionKeys",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:GetDimensionKeyDetails",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:GetResourceMetadata",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:GetResourceMetrics",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:ListAvailableResourceDimensions",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           },
           {
               "Effect": "Allow",
               "Action": "pi:ListAvailableResourceMetrics",
               "Resource": "arn:aws:pi:us-east-1:111122223333:metrics/rds/*"
           }
       ]
   }
   ```

------

1. **[ポリシーの確認]** を選択します。

1. ポリシーの名前と (必要に応じて) 説明を入力し、[**ポリシーの作成**] を選択します。

これで、そのポリシーをアクセス許可セットまたはロールにアタッチできます。次の手順では、この目的で使用できるユーザーが既に存在することを前提としています。

**ポリシーをユーザーにアタッチするには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. ナビゲーションペインで [**ユーザー**] を選択します。

1. リストから存在するユーザーを 1 人選択します。
**重要**  
Performance Insights を使用するには、カスタムポリシーのほかに別のポリシーで、Amazon DocumentDB へのアクセスを許可されている必要があります。たとえば、事前定義された **AmazonDocDBReadOnlyAccess** ポリシーは Amazon DocDB への読み取り専用アクセスを許可します。詳細については、「[ポリシーを使用したアクセスの管理](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAM.html#security_iam_access-manage)」を参照してください。

1. [**Summary (概要)**] ページで、[**Add permissions (許可の追加)**] を選択します。

1. [**既存のポリシーを直接アタッチする**] を選択します。**検索**を行う場合は、次のようにポリシー名の初期の数文字を入力します。  
![\[ポリシーの選択\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/pi-add-permissions.png)

1. ポリシーを選択し、[**次へ: レビュー**] を選択します。

1. [**アクセス権限の追加**] を選択します。

## Performance Insights の AWS KMS ポリシーの設定
<a name="USER_PerfInsights.access-control.cmk-policy"></a>

Performance Insights は、 を使用して機密データ AWS KMS key を暗号化します。API またはコンソールを通じて Performance Insights を有効にする場合は、次のオプションを使用できます。
+ デフォルトを選択します AWS マネージドキー。

  Amazon DocumentDB は、新しい DB インスタンス AWS マネージドキー に を使用します。Amazon DocumentDB は、 AWS アカウントの AWS マネージドキー を作成します。 AWS アカウントは、 AWS リージョンごとに AWS マネージドキー Amazon DocumentDB で異なります。
+ カスタマーマネージドキーを選択します。

  カスタマーマネージドキーを指定する場合、Performance Insights API を呼び出すアカウント内のユーザーは、KMS キーに対する `kms:Decrypt` および `kms:GenerateDataKey` アクセス許可が必要です。IAM ポリシーを使用して、これらのアクセス許可を設定できます。ただし、KMS キーポリシーを使用してこれらのアクセス許可を管理することをお勧めします。詳細については、[AWS KMS でのキーポリシーの使用](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)を参照してください。

**Example**  
次のサンプルキーポリシーでは、KMS キーポリシーにステートメントを追加する方法が示されています。これらのステートメントは、Performance Insights へのアクセスを許可します。の使用方法によっては AWS KMS、いくつかの制限を変更することもできます。ポリシーにステートメントを追加する前に、すべてのコメントを削除してください。

# Performance Insights ダッシュボードを使用してメトリクスを分析する
<a name="performance-insights-analyzing"></a>

Performance Insights ダッシュボードには、パフォーマンスの問題を分析し、解決するのに役立つ、データベースのパフォーマンス情報が含まれます。ダッシュボードのメインページで、データベースロード (DB ロード) に関する情報を確認できます。待機状態やクエリなどのディメンションによって、DB のロードを「スライス」することが可能です。

**Topics**
+ [Performance Insights ダッシュボードの概要](performance-insights-dashboard-overview.md)
+ [Performance Insights ダッシュボードを開く](performance-insights-dashboard-opening.md)
+ [待機状態によるデータベースロードの分析](performance-insights-analyzing-db-load.md)
+ [[上位のクエリ] タブの概要](performance-insights-top-queries.md)
+ [データベースロードグラフのズームイン](performance-insights-zoom-db-load.md)

# Performance Insights ダッシュボードの概要
<a name="performance-insights-dashboard-overview"></a>

ダッシュボードは、Performance Insights を操作する最も簡単な方法です。次の例では、Amazon DocumentDB インスタンスのダッシュボードを示しています。デフォルトでは、Performance Insights ダッシュボードには過去 60 分間のデータが表示されます。

![\[Amazon DocumentDB インスタンスの CPU 使用率と時間の経過に伴うデータベース負荷を示す [パフォーマンスインサイト] ダッシュボード。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/overview-dashboard.png)


このダッシュボードは、以下の各パートに分割されています。

1. **カウンターメトリクス** - 特定のパフォーマンスカウンターメトリクスのデータを示します。

1. **データベースロード** - DB ロードと DB インスタンスの容量を比較して、**最大 vCPU** ラインで表します。

1.  **上位ディメンション** – DB ロードに影響が大きい上位ディメンションを表示します。これらのディメンションには `waits`、`queries`、`hosts`、`databases`、`applications` が含まれます。

**Topics**
+ [カウンターメトリクスグラフ](#performance-insights-overview-metrics)
+ [データベースロードのグラフ](#performance-insights-overview-db-load-chart)
+ [上位のディメンションテーブル](#performance-insights-overview-top-dimensions)

## カウンターメトリクスグラフ
<a name="performance-insights-overview-metrics"></a>

カウンターメトリクスを使用すると、Performance Insights ダッシュボードをカスタマイズして最大 10 個の追加グラフを含めることができます。これらのグラフは、数十種類のオペレーティングシステムメトリクスの一部を示しています。この情報をデータベースロードと関連付けることで、パフォーマンスの問題を特定して分析できます。

**カウンターメトリクス**グラフはパフォーマンスカウンターのデータを表示します。

![\[時間の経過に伴う CPU 使用率を示すカウンターメトリクスグラフ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/counter-metrics.png)


**メトリクスの管理**を選択して、パフォーマンスカウンターを変更します。以下のスクリーンショットに示すように、複数の **OS メトリクス**を選択できます。メトリクスの詳細を表示するには、メトリクス名にカーソルを合わせます。

![\[OS メトリクスオプションを備えた [パフォーマンスインサイト] ダッシュボードメトリクス選択インターフェイス。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/overview-os-metrics.png)


## データベースロードのグラフ
<a name="performance-insights-overview-db-load-chart"></a>

**データベースロード**は、データベースアクティビティとインスタンス容量の比較結果が **最大 vCPU** の折れ線グラフとして表示されます。デフォルトでは、折れ線グラフは DB ロードを単位時間あたりの平均アクティブセッションで表します。DB ロードは、待機状態でスライス (グループ化) されます。

![\[CPU 使用率は最後に急増した、時間の経過に伴う平均アクティブセッション数を示すデータベース負荷グラフ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/database-load.png)


**ディメンションでスライスされた DB のロード**  
サポートされているディメンション別にグループ化された、アクティブなセッションとしてロードを表示するように選択できます。次の図に、Amazon DocumentDB インスタンスのディメンションを示します。

![\[ドロップダウンリストに表示されるさまざまな「スライスバイ」オプションを含むデータベース負荷を示すグラフ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/database-load-sliced.png)


**ディメンション項目に関する DB ロードの詳細**  
ディメンション内の DB ロード項目の詳細を表示するには、項目名にカーソルを合わせます。次の図は、クエリステートメントの詳細を示しています。

![\[項目名にカーソルを合わせてデータベースの負荷と追加の詳細を示す棒グラフ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/database-load-details.png)


凡例で選択した期間に対する項目の詳細を表示するには、その項目にカーソルを合わせます。

![\[バーにカーソルを合わせてデータベースの負荷と追加の詳細を示す棒グラフ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/database-load-hover.png)


## 上位のディメンションテーブル
<a name="performance-insights-overview-top-dimensions"></a>

**上位ディメンションテーブル**は、DB ロードを異なる次元でスライスします。ディメンションとは、DB ロードの異なる特性についてのカテゴリまたは「スライス化」のことです。ディメンションがクエリの場合、**上位のクエリ**は、DB ロードに最も寄与しているクエリステートメントを表示します。

以下のディメンションタブのいずれかを選択します。

![\[上位 2 つのクエリを示す上位クエリディメンションタブ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/top-dimensions.png)


次の表では、各タブの簡単な説明を示します。


| タブ | 説明 | 
| --- | --- | 
|  上位待機  |   データベースバックエンドが待っているイベント  | 
|  上位のクエリ  |  現在実行中のクエリステートメント  | 
|  上位ホスト  |  接続されているクライアントのホスト IP  | 
|  上位データベース  |  プロキシが接続しているデータベースユーザーの名前  | 
|  上位アプリケーション  |  データベースに接続されたアプリケーションの名前。  | 

**[上位のクエリ]** タブを使用してクエリを分析する方法については、「[[上位のクエリ] タブの概要](performance-insights-top-queries.md)」を参照してください。

# Performance Insights ダッシュボードを開く
<a name="performance-insights-dashboard-opening"></a>

**AWS マネジメントコンソールで Performance Insights ダッシュボードを表示するには、次の手順を実行します。**

1. [https://console.aws.amazon.com/docdb/](https://console.aws.amazon.com/docdb/home#performance-insights) で Performance Insights コンソールを開きます。

1. DB インスタンスを選択します。その Amazon DocumentDB インスタンスの Performance Insights ダッシュボードが表示されます。

   Performance Insights を有効にした Amazon DocumentDB インスタンスでは、インスタンスのリストで **[セッション]** 項目を選択してダッシュボードにアクセスすることもできます。[**現在のアクティビティ**] の [**セッション**] 項目には、直近 5 分間におけるアクティブなセッションの平均データベースロードが表示されます。ロードはバーでグラフィカルに示されます。バーが空の場合、インスタンスはアイドル状態です。ロードが増加すると、バーが青色で塗りつぶされます。ロードがインスタンスクラスの仮想 CPU (vCPU) の数を超えると、バーが赤色になり、ボトルネックとなる可能性があることが示されます。  
![\[Amazon DocumentDB リージョンクラスターと、各クラスターインスタンスの CPU と現在のアクティビティを示すクラスターページ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/opening-clusters.png)

1. (オプション) 右上のボタンを選択して、別の時間間隔を選択します。例えば、間隔を 1 時間に変更するには、**[1 時間]** を選択します。  
![\[5 分から 1 週間の範囲の時間間隔ボタン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/opening-time.png)

   以下のスクリーンショットでは、DB ロードの間隔は 1 時間です。  
![\[平均アクティブセッションで測定されたデータベース負荷を示す棒グラフ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/opening-db-load.png)

1. データを自動的に更新するには、**[自動更新]** を有効にします。  
![\[時間間隔ボタンの横に表示される、有効化された自動更新ボタン。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/opening-auto-refresh.png)

   Performance Insights ダッシュボードが自動的に新しいデータで更新されます。更新の頻度は、表示されるデータの量によって異なります。
   + 「5 分」は 5 秒ごとに更新されます。
   + 「1 時間」は 1 分ごとに更新されます。
   + 「5 時間」は 1 分ごとに更新されます。
   + 「24 時間」は 5 分ごとに更新されます。
   + 「1 週間」は 1 時間ごとに更新されます。

# 待機状態によるデータベースロードの分析
<a name="performance-insights-analyzing-db-load"></a>

**データベースロード (DB ロード)** のグラフにボトルネックが表示される場合、ロードの発生源を確認できます。これを実行するには、**データベースロード**グラフ下にある[上位ロード項目] テーブルを参照してください。クエリやアプリケーションのような特定の項目を選択すると、その項目をドリルダウンして詳細を表示できます。

待機および上位クエリによってグループ分けされた DB ロードは、通常、パフォーマンス問題に関する最も正しい情報を提供します。待機でグループ化された DB ロードは、データベースにリソースまたは同時のボトルネックがあるかどうかを示します。この場合、上位ロード項目のテーブルの **[上位のクエリ]** タブには、どのクエリがそのロードをかけているかが表示されます。

パフォーマンスの問題を診断するための一般的なワークフローは次のとおりです。

1. 「**データベースロード**」 グラフを確認し、**最大 CPU** ラインを超えているデータベースロードのインシデントがあるかどうかを確認します。

1. ある場合は、「**データベースロード**」 グラフを確認して、どの待機状態 (複数) が主に原因であるかを特定します。

1. 上位のロード項目テーブルの **[上位のクエリ]** タブが待機状態に最も影響しているクエリを確認することによって、ロードを引き起こすダイジェストクエリを特定します。これらは **[待機別ロード (AAS)]** 列で識別できます。

1. **[上位のクエリ]** タブでこれらのダイジェストクエリの 1 つを選択して展開し、構成されている子クエリを確認します。

また、**[上位のホスト]** または **[上位のアプリケーション]** をそれぞれ選択することで、どのホストまたはアプリケーションが最もロードを発生させているかを確認することもできます。アプリケーション名は Amazon DocumentDB インスタンスへの接続文字列で指定されます。`Unknown` は、アプリケーションフィールドが指定されなかったことを示します。

例えば、以下のダッシュボードで、**CPU** の待機はほとんどの DB ロードの主な原因となっています。**[上位のクエリ]** で上位クエリを選択すると、選択クエリによって発生しているロードが最も大きいことに焦点を当てるようにデータベースロードチャートが絞り込まれます。

![\[CPU 使用率のスパイクを示すデータベース負荷グラフ。対応する上位クエリタブには、待機状態に最も寄与するクエリが表示されます。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/db-load-1.png)


![\[待機状態に最も寄与するクエリの CPU 使用率の急増を示すデータベース負荷グラフ。対応する上位クエリタブには、クエリの子クエリが表示されます。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/db-load-2.png)


# [上位のクエリ] タブの概要
<a name="performance-insights-top-queries"></a>

デフォルトでは、**[上位のクエリ]** タブはデータベースロードに最も貢献しているクエリを表示します。クエリテキストを分析して、クエリの調整に役立てることができます。

**Topics**
+ [クエリダイジェスト](#performance-insights-top-queries-digests)
+ [待機によるロード (AAS)](#performance-insights-top-queries-aas)
+ [詳細なクエリ情報を表示します](#performance-insights-top-queries-query-info)
+ [ステートメントのクエリテキストへのアクセス](#performance-insights-top-queries-accessing-text)
+ [ステートメントのクエリテキストの表示とダウンロード](#performance-insights-top-queries-viewing-downloading)

## クエリダイジェスト
<a name="performance-insights-top-queries-digests"></a>

*クエリダイジェスト* は、構造的には類似しているが、異なるリテラル値を含む可能性の高い、複数の実際のクエリの複合体です。ダイジェストは、ハードコードされた値を疑問符に置き換えます。クエリダイジェストの例は次のようになります。

```
{"find":"customerscollection","filter":{"FirstName":"?"},"sort":{"key":{"$numberInt":"?"}},"limit":{"$numberInt":"?"}}
```

このダイジェストには、次の子クエリが含まれます。

```
{"find":"customerscollection","filter":{"FirstName":"Karrie"},"sort":{"key":{"$numberInt":"1"}},"limit":{"$numberInt":"3"}}
{"find":"customerscollection","filter":{"FirstName":"Met"},"sort":{"key":{"$numberInt":"1"}},"limit":{"$numberInt":"3"}}
{"find":"customerscollection","filter":{"FirstName":"Rashin"},"sort":{"key":{"$numberInt":"1"}},"limit":{"$numberInt":"3"}}
```

ダイジェスト内でリテラルクエリステートメントを表示するには、クエリを選択してからプラス記号 (`+`) を選択します。以下のスクリーンショットでは、選択されたクエリはダイジェストです。

![\[1 つの子クエリが選択された拡張クエリダイジェストを示す上位クエリテーブル。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/top-queries-literal.png)


**注記**  
クエリダイジェストでは、類似したクエリステートメントがグループ化されますが、機密情報は編集されません。

## 待機によるロード (AAS)
<a name="performance-insights-top-queries-aas"></a>

**[上位のクエリ]** の **[待機別のロード (AAS)]** 列は、上位の各ロード項目に関連付けられているデータベースロードの割合を示しています。この列には、**[DB ロードグラフ]** で現在選択されているグループ化に応じて、その項目に対するロードが反映されます。例えば、**DB ロードグラフ**を待機状態別にグループ化できます。この場合は、[**待機別の DB ロード**] バーは、クエリが貢献している待機状態の量を示すために、サイズ、セグメント、および色で分けられています。また、選択したクエリに影響を与えている待機状態も示されます。

![\[CPU、IO、ラッチ待機状態別にグループ化されたデータベース負荷を示す棒グラフ。対応するテーブルには、待機による負荷に基づく上位のクエリが表示されます。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/top-queries-aas.png)


## 詳細なクエリ情報を表示します
<a name="performance-insights-top-queries-query-info"></a>

**[上位のクエリ]** テーブルで、*ダイジェストステートメント*を開いてその情報を表示できます。下部のペインに情報が表示されます。

![\[選択したクエリステートメントと以下のそのクエリ情報を示す上位クエリテーブル。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/top-queries-detailed.png)


クエリステートメントに関連付けられているタイプの識別子 (ID) は以下のとおりです。

1. **サポートクエリ ID**: クエリ ID のハッシュ値。この値は、 AWS Support で作業しているときにクエリ ID を参照するためのものです。 AWS Support は実際のクエリ IDsとクエリテキストにアクセスできません。

1. **ダイジェスト ID のサポート** - ダイジェスト ID のハッシュ値。この値は、 AWS サポートで作業しているときにダイジェスト ID を参照するためのものです。 AWS サポートは実際のダイジェスト IDsとクエリテキストにアクセスできません。

## ステートメントのクエリテキストへのアクセス
<a name="performance-insights-top-queries-accessing-text"></a>

デフォルトでは、**[上位のクエリ]** テーブルの各行には各クエリステートメントごとに 500 バイトのクエリテキストが表示されます。ダイジェストステートメントのサイズが 500 バイトを超える場合、Performance Insights ダッシュボードでこのステートメントを開いて、テキストの表示量を増やすことができます。この場合、表示されるクエリの最大長は 1 KB です。フルクエリステートメントを表示する場合は、**[ダウンロード]** を選択することもできます。

## ステートメントのクエリテキストの表示とダウンロード
<a name="performance-insights-top-queries-viewing-downloading"></a>

Performance Insights ダッシュボードで、クエリテキストを表示およびダウンロードできます。

**Performance Insights ダッシュボードでクエリテキストの表示量を増やすには**

1. Amazon DocumentDB コンソールを、次の場所で開きます。[https://console.aws.amazon.com/docdb](https://console.aws.amazon.com/docdb/) 

1. ナビゲーションペインで、[**Performance Insights**] を選択します。

1. DB インスタンスを選択します。この DB インスタンスに Performance Insights ダッシュボードが表示されます。

   500 バイトを超えるクエリステートメントは、次のように表示されます。  
![\[子クエリが選択された上位クエリテーブル。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/top-queries-statement.png)

1. クエリ情報セクションを調べて、クエリテキストをさらに表示します。  
![\[選択したクエリの全文を示すクエリ情報セクション。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/top-queries-query-text.png)

Performance Insights ダッシュボードは、各フルクエリステートメントで最大 1 KB までを表示できます。

**注記**  
クエリステートメントをコピーまたはダウンロードするには、ポップアップブロッカーを無効にします。

# データベースロードグラフのズームイン
<a name="performance-insights-zoom-db-load"></a>

Performance Insights のユーザーインターフェイスの他の機能を使用して、パフォーマンスデータを分析できます。

**クリックアンドドラッグしてズームイン**  
Performance Insights のインターフェイスでは、ロードグラフの小さな部分を選択して、詳細をズームインすることができます。

![\[その一部がズームイン用に強調表示されている、データベース負荷を示す棒グラフ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/pi-zoom-1.png)


ロードグラフの一部を拡大するには、スタート時間を選択し、目的の期間の最後までドラッグします。これを行うと、選択した領域が強調表示されます。マウスを離すと、選択したエリアのロードグラフがズームインされ、**上位*項目*** テーブルが再計算されます。

![\[以下の対応する上位待機数テーブルがある、ズームインした部分を示すデータベースロード棒グラフ。\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/pi-zoom-2.png)


# Performance Insights API によるメトリクスの取得
<a name="performance-insights-metrics"></a>

Performance Insights が有効になっている場合、API はインスタンスのパフォーマンスを可視化します。Amazon CloudWatch Logs は、 AWS サービスの供給モニタリングメトリクスの信頼できるソースを提供します。

Performance Insightsは、平均アクティブ・セッション(AAS)として測定されるデータベースロードのドメイン固有のビューを提供します。このメトリクスはAPI利用者には2次元時系列データセットのように見えます。データの時間ディメンションは、クエリされた時間範囲内の各時点のDBロード・データを提供します。各時点で、その時点で計測された `Query`、`Wait-state`、`Application`、`Host` などのリクエストされたディメンションに関するロード全体が分解されます。

Amazon DocumentDB Performance Insights では、Amazon DocumentDB DB インスタンスをモニタリングし、データベースパフォーマンスの分析とトラブルシューティングを行うことができます。Performance Insights は、 AWS マネジメントコンソールで表示することができます。また、Performance Insights では独自のデータをクエリできるように、パブリック API も提供されています。API を使用して、次を実行できます。
+ データベースにデータをオフロードする
+ Performance Insights データを既存のモニタリングダッシュボードに追加する
+ モニタリングツールを構築する

Performance Insights API を使用するには、いずれかの Amazon DocumentDB インスタンスで Performance Insights を有効にします。Performance Insights の有効化については、「[Performance Insights の有効化と無効化](performance-insights-enabling.md)」を参照してください。Performance Insights API の詳細については、「[パフォーマンスインサイト API リファレンス](https://docs.aws.amazon.com/performance-insights/latest/APIReference/Welcome.html)」を参照してください。

Performance Insights API は、以下のオペレーションを提供します。


****  

|  Performance Insights でのアクション  |  AWS CLI コマンド  |  説明  | 
| --- | --- | --- | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DescribeDimensionKeys.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html](https://docs.aws.amazon.com/cli/latest/reference/pi/describe-dimension-keys.html)  |  特定の期間に、メトリクスの上位 N 個のディメンションキーを取得します。  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetDimensionKeyDetails.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-dimension-key-details.html)  |  DB インスタンスまたはデータソースの指定されたディメンショングループの属性を取得します。例えば、クエリ ID を指定し、ディメンションの詳細が使用可能な場合、`GetDimensionKeyDetails` は、この ID に関連付けられているディメンション `db.query.statement` の全文を取得します。このオペレーションは、`GetResourceMetrics` および `DescribeDimensionKeys` が大きなクエリステートメントテキストの取得をサポートしないため、便利です。  | 
| [GetResourceMetadata](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetadata.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metadata.html)  |  さまざまな機能に関するメタデータを取得します。例えば、メタデータにより、特定の DB インスタンスで何等かの機能が有効化されているか無効化されているかを、示すことができます。  | 
|  [https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_GetResourceMetrics.html)  |  [https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html)  |  期間中、データソースのセットに Performance Insights のメトリクスを取得します。特定のディメンショングループおよびディメンションを提供し、各グループの集約とフィルタリング条件を提供することができます。  | 
| [ListAvailableResourceDimensions](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceDimensions.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-dimensions.html)  |  指定したインスタンスで、指定したメトリクスタイプごとにクエリできるディメンションを取得します。  | 
| [ListAvailableResourceMetrics](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_ListAvailableResourceMetrics.html) |  [https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/list-available-resource-metrics.html)  |  DB インスタンスを指定しながら、指定されたメトリクスタイプでクエリが可能なメトリクスをすべて取得します。  | 

**Topics**
+ [AWS CLI Performance Insights 用](#performance-insights-metrics-CLI)
+ [時系列メトリクスの取得](#performance-insights-metrics-time-series)
+ [AWS CLI Performance Insights の例](#performance-insights-metrics-api-examples)

## AWS CLI Performance Insights 用
<a name="performance-insights-metrics-CLI"></a>

Performance Insights は、 AWS CLIを使用して表示することができます。Performance Insights の AWS CLI コマンドのヘルプを表示するには、コマンドラインで次のように入力します。

```
aws pi help
```

 AWS CLI がインストールされていない場合は、[「 ユーザーガイド」の AWS 「 コマンドラインインターフェイス](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)のインストール」を参照してください。 *AWS CLI *

## 時系列メトリクスの取得
<a name="performance-insights-metrics-time-series"></a>

`GetResourceMetrics` オペレーションでは、1 つ以上の時系列メトリクスを Performance Insights データから取得します。`GetResourceMetrics` には、メトリクスおよび期間が必要であり、データポイントのリストを含むレスポンスが返ります。

たとえば、次の図に示すように、 は AWS マネジメントコンソール を使用して**カウンターメトリクス**グラフと**データベースロード**グラフ`GetResourceMetrics`を入力します。

![\[カウンターメトリクスグラフおよびデータベースロードグラフ\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/perf-insights-api-charts.png)


`GetResourceMetrics` によって返るメトリクスはすべて、`db.load` の例外を除き、スタンダードの時系列メトリクスです。このメトリクスは、[**データベースロード**] グラフに表示されます。この `db.load` メトリクスは、*ディメンション*と呼ばれるサブコンポーネントに分割できるため、他の時系列メトリクスとは異なります。前のイメージでは、`db.load` は分割され、`db.load` を構成する待機状態によってグループ化されています。

**注記**  
`GetResourceMetrics` は、`db.sampleload` メトリクスを返すこともできますが、通常 `db.load` メトリクスが適切です。

`GetResourceMetrics` により返されるカウンターメトリクスに関する情報は、「[カウンターメトリクス用の Performance Insights](performance-insights-counter-metrics.md)」を参照してください。

以下の計算は、メトリクスにサポートされています。
+ 平均 - 期間中のメトリクスの平均値。`.avg` をメトリクス名に追加します。
+ 最小 - 期間中のメトリクスの最小値。`.min` をメトリクス名に追加します。
+ 最大 - 期間中のメトリクスの最大値。`.max` をメトリクス名に追加します。
+ 合計 - 期間中のメトリクス値の合計。`.sum` をメトリクス名に追加します。
+ サンプル数 - 期間中にメトリクスが収集された回数。`.sample_count` をメトリクス名に追加します。

例えば、メトリクスが 300 秒 (5 分) 収集され、メトリクスが 1 分に 1 回収集されたものと見なします。毎分の値は、1、2、3、4、5 です。この場合、以下の計算が返されます。
+ 平均 - 3
+ 最小 - 1
+ 最大 - 5
+ 合計 - 15
+ サンプル数 - 5

`get-resource-metrics` AWS CLI コマンドの使用の詳細については、「」を参照してください[https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html](https://docs.aws.amazon.com/cli/latest/reference/pi/get-resource-metrics.html)。

`--metric-queries` オプションでは、結果を取得する 1 つ以上のクエリを指定します。各クエリは、必須の `Metric` と、オプションの `GroupBy` および `Filter` パラメータから構成されます。`--metric-queries` オプションの指定の例を次に示します。

```
{
   "Metric": "string",
   "GroupBy": {
     "Group": "string",
     "Dimensions": ["string", ...],
     "Limit": integer
   },
   "Filter": {"string": "string"
     ...}
```

## AWS CLI Performance Insights の例
<a name="performance-insights-metrics-api-examples"></a>

次の例は、Performance Insights AWS CLI に を使用する方法を示しています。

**Topics**
+ [カウンターメトリクスの取得](#performance-insights-metrics-api-examples.CounterMetrics)
+ [上位の待機状態に関する DB 平均ロードの取得](#performance-insights-metrics-api-examples.DBLoadAverage)
+ [上位のクエリに関する DB 平均ロードの取得](#performance-insights-metrics-api-examples.topquery)
+ [クエリによってフィルタリングされた平均 DB ロードの取得](#performance-insights-metrics-api-examples.DBLoadAverageByQuery)

### カウンターメトリクスの取得
<a name="performance-insights-metrics-api-examples.CounterMetrics"></a>

以下のスクリーンショットは、 AWS マネジメントコンソールにおける 2 つのカウンターメトリクスグラフを示します。

![\[カウンターメトリクスグラフ\]](http://docs.aws.amazon.com/ja_jp/documentdb/latest/developerguide/images/performance-insights/perf-insights-api-counters-charts.png)


以下の例では、2 つのカウンターメトリクスグラフを生成するために AWS マネジメントコンソール で使用するデータと同じデータを生成する方法を示します。

Linux、macOS、Unix の場合:

```
aws pi get-resource-metrics \
   --service-type DOCDB \
   --identifier db-ID \
   --start-time 2022-03-13T8:00:00Z \
   --end-time   2022-03-13T9:00:00Z \
   --period-in-seconds 60 \
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

Windows の場合:

```
aws pi get-resource-metrics ^
   --service-type DOCDB ^
   --identifier db-ID ^
   --start-time 2022-03-13T8:00:00Z ^
   --end-time   2022-03-13T9:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries '[{"Metric": "os.cpuUtilization.user.avg"  },
                      {"Metric": "os.cpuUtilization.idle.avg"}]'
```

また、コマンドを作成しやすくするために、`--metrics-query` オプションにファイルを指定します。以下の例では、このオプション用に query.json と呼ばれるファイルを使用します。ファイルの内容は次のとおりです。

```
[
    {
        "Metric": "os.cpuUtilization.user.avg"
    },
    {
        "Metric": "os.cpuUtilization.idle.avg"
    }
]
```

ファイルを使用するには、次のコマンドを実行します。

Linux、macOS、Unix の場合:

```
aws pi get-resource-metrics \
   --service-type DOCDB \
   --identifier db-ID \
   --start-time 2022-03-13T8:00:00Z \
   --end-time   2022-03-13T9:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Windows の場合:

```
aws pi get-resource-metrics ^
   --service-type DOCDB ^
   --identifier db-ID ^
   --start-time 2022-03-13T8:00:00Z ^
   --end-time   2022-03-13T9:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

前述の例では、各オプションに次の値を指定します。
+ `--service-type`: Amazon DocumentDB の `DOCDB`
+ `--identifier` - DB インスタンスのリソース ID
+ `--start-time` および `--end-time` - クエリを実行する期間の ISO 8601 `DateTime` 値 (サポートされている複数の形式)

クエリは 1 時間の範囲で実行されます。
+ `--period-in-seconds` - `60` (1 分ごとのクエリ)
+ `--metric-queries` - 2 つのクエリの配列。それぞれ 1 つのメトリクスに対して使用されます。

  メトリクス名ではドットを使用してメトリクスを有用なカテゴリに分類します。最終の要素は関数になります。この例では、関数は、クエリの `avg` です。Amazon CloudWatch と同様に、サポートされている関数は、`min`、`max`、`total`、および `avg` です。

レスポンスは次の例のようになります。

```
{
    "AlignedStartTime": "2022-03-13T08:00:00+00:00",
    "AlignedEndTime": "2022-03-13T09:00:00+00:00",
    "Identifier": "db-NQF3TTMFQ3GTOKIMJODMC3KQQ4",
    "MetricList": [
        {
            "Key": {
                "Metric": "os.cpuUtilization.user.avg"
            },
            "DataPoints": [
                {
                    "Timestamp": "2022-03-13T08:01:00+00:00", //Minute1
                    "Value": 3.6
                },
                {
                    "Timestamp": "2022-03-13T08:02:00+00:00", //Minute2
                    "Value": 2.6
                },
                //.... 60 datapoints for the os.cpuUtilization.user.avg metric
        {
            "Key": {
                "Metric": "os.cpuUtilization.idle.avg"
            },
            "DataPoints": [
                {
                    "Timestamp": "2022-03-13T08:01:00+00:00",
                    "Value": 92.7
                },
                {
                    "Timestamp": "2022-03-13T08:02:00+00:00",
                    "Value": 93.7
                },
                //.... 60 datapoints for the os.cpuUtilization.user.avg metric 
            ]
        }
    ] //end of MetricList
} //end of response
```

レスポンスには、`Identifier`、`AlignedStartTime`、`AlignedEndTime` があります。`--period-in-seconds` 値が `60` の場合、スタート時間および終了時間は、時間 (分) に調整されます。`--period-in-seconds` が `3600` の場合、スタート時間および終了時間は、時間 (時) に調整されます。

レスポンスの `MetricList` には、多数のエントリを含み、それぞれに `Key` および `DataPoints` エントリがあります。`DataPoint` にはそれぞれ、`Timestamp` および `Value` を含みます。クエリは 1 分ごとのデータが 1 時間以上実行されるため、`Datapoints` の各リストには、60 個のデータポイントがあります。これには、`Timestamp1/Minute1` や `Timestamp2/Minute2` から、`Timestamp60/Minute60` まで含まれます。

クエリは 2 つの異なるカウンターメトリクスを対象としているため、レスポンス `MetricList` には 2 つの要素があります。

### 上位の待機状態に関する DB 平均ロードの取得
<a name="performance-insights-metrics-api-examples.DBLoadAverage"></a>

次の例は、 が積み上げ面折れ線グラフの生成 AWS マネジメントコンソール に使用するクエリと同じです。この例では、上位 7 つの待機状態に応じてロードを分割し、最後の 1 時間で `db.load.avg` を取得します。コマンドは [カウンターメトリクスの取得](#performance-insights-metrics-api-examples.CounterMetrics) と同じコマンドです。ただし、query.json ファイルには、次の内容が含まれます。

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_state", "Limit": 7 }
    }
]
```

次のコマンドを実行します。

Linux、macOS、Unix の場合:

```
aws pi get-resource-metrics \
   --service-type DOCDB \
   --identifier db-ID \
   --start-time 2022-03-13T8:00:00Z \
   --end-time   2022-03-13T9:00:00Z \
   --period-in-seconds 60 \
   --metric-queries file://query.json
```

Windows の場合:

```
aws pi get-resource-metrics ^
   --service-type DOCDB ^
   --identifier db-ID ^
   --start-time 2022-03-13T8:00:00Z ^
   --end-time   2022-03-13T9:00:00Z ^
   --period-in-seconds 60 ^
   --metric-queries file://query.json
```

この例では、上位 7 つの待機状態のうち `db.load.avg` と `GroupBy` のメトリクスを指定しています。この例の有効な値の詳細については、*Performance Insights の API リファレンス*の「[DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)」を参照してください。

レスポンスは次の例のようになります。

```
{
    "AlignedStartTime": "2022-04-04T06:00:00+00:00",
    "AlignedEndTime": "2022-04-04T06:15:00+00:00",
    "Identifier": "db-NQF3TTMFQ3GTOKIMJODMC3KQQ4",
    "MetricList": [
        {//A list of key/datapoints
            "Key": {
                //A Metric with no dimensions. This is the total db.load.avg
                "Metric": "db.load.avg"
            },
            "DataPoints": [
                //Each list of datapoints has the same timestamps and same number of items
                {
                    "Timestamp": "2022-04-04T06:01:00+00:00",//Minute1
                    "Value": 0.0
                },
                {
                    "Timestamp": "2022-04-04T06:02:00+00:00",//Minute2
                    "Value": 0.0
                },
                //... 60 datapoints for the total db.load.avg key
                ]
        },
        {
            "Key": {
                //Another key. This is db.load.avg broken down by CPU
                "Metric": "db.load.avg",
                "Dimensions": {
                    "db.wait_state.name": "CPU"
                }
            },
            "DataPoints": [
                {
                    "Timestamp": "2022-04-04T06:01:00+00:00",//Minute1
                    "Value": 0.0
                },
                {
                    "Timestamp": "2022-04-04T06:02:00+00:00",//Minute2
                    "Value": 0.0
                },
                //... 60 datapoints for the CPU key
            ]
        },//... In total we have 3 key/datapoints entries, 1) total, 2-3) Top Wait States
    ] //end of MetricList
} //end of response
```

このレスポンスでは、`MetricList` の 3 つのエントリがあります。合計の `db.load.avg` のエントリが 1 つあり、上位 3 つの待機イベントのいずれかに従って分割された `db.load.avg` のエントリが 3 つあります。(最初の例とは異なり) グループ化ディメンションがあったため、メトリクスのグループ化ごとに 1 つのキーが必要です。基本的なカウンターメトリクスのユースケースのように、メトリクスごとに 1 つのキーのみ使用することはできません。

### 上位のクエリに関する DB 平均ロードの取得
<a name="performance-insights-metrics-api-examples.topquery"></a>

以下の例では、上位 10 個のクエリステートメント別に `db.wait_state` をグループ化します。クエリステートメントには 2 つの異なるグループがあります。
+ `db.query` - フルクエリステートメント (例: `{"find":"customers","filter":{"FirstName":"Jesse"},"sort":{"key":{"$numberInt":"1"}}}` )
+ `db.query_tokenized` - トークン化されたクエリステートメント (例: `{"find":"customers","filter":{"FirstName":"?"},"sort":{"key":{"$numberInt":"?"}},"limit":{"$numberInt":"?"}}`)

データベースのパフォーマンスを分析するときは、パラメータが異なるだけのクエリステートメントを 1 つの論理的な項目として検討すると便利です。そのため、クエリを実行する際、`db.query_tokenized` を使用することができます。ただし、特に `explain()` に関心がある場合は、パラメータ付きのフルクエリステートメントを調べる方が便利な場合があります。トークン化されたクエリと完全クエリの間には親子関係があり、複数の完全クエリ (子) が同じトークン化されたクエリ (親) の下にグループ化されています。

この例のコマンドは、[上位の待機状態に関する DB 平均ロードの取得](#performance-insights-metrics-api-examples.DBLoadAverage) のコマンドに似ています。ただし、query.json ファイルには、次の内容が含まれます。

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.query_tokenized", "Limit": 10 }
    }
]
```

次の例では `db.query_tokenized` を使用しています。

Linux、macOS、Unix の場合:

```
aws pi get-resource-metrics \
   --service-type DOCDB \
   --identifier db-ID \
   --start-time 2022-03-13T8:00:00Z \
   --end-time   2022-03-13T9:00:00Z \
   --period-in-seconds 3600 \
   --metric-queries file://query.json
```

Windows の場合:

```
aws pi get-resource-metrics ^
   --service-type DOCDB ^
   --identifier db-ID ^
   --start-time 2022-03-13T8:00:00Z ^
   --end-time   2022-03-13T9:00:00Z  ^
   --period-in-seconds 3600 ^
   --metric-queries file://query.json
```

この例では、1 分の間隔 (秒単位) で 1 時間以上のクエリを実行します。

この例では、上位 7 つの待機状態のうち `db.load.avg` と `GroupBy` のメトリクスを指定しています。この例の有効な値の詳細については、*Performance Insights の API リファレンス*の「[DimensionGroup](https://docs.aws.amazon.com/performance-insights/latest/APIReference/API_DimensionGroup.html)」を参照してください。

レスポンスは次の例のようになります。

```
{
    "AlignedStartTime": "2022-04-04T06:00:00+00:00",
    "AlignedEndTime": "2022-04-04T06:15:00+00:00",
    "Identifier": "db-NQF3TTMFQ3GTOKIMJODMC3KQQ4",
    "MetricList": [
        {//A list of key/datapoints
            "Key": {
                "Metric": "db.load.avg"
            },
            "DataPoints": [
                //... 60 datapoints for the total db.load.avg key
                ]
        },
               {
            "Key": {//Next key are the top tokenized queries
                "Metric": "db.load.avg",
                "Dimensions": {
                    "db.query_tokenized.db_id": "pi-1064184600",
                    "db.query_tokenized.id": "77DE8364594EXAMPLE",
                    "db.query_tokenized.statement": "{\"find\":\"customers\",\"filter\":{\"FirstName\":\"?\"},\"sort\":{\"key\":{\"$numberInt\":\"?\"}},\"limit\"
:{\"$numberInt\":\"?\"},\"$db\":\"myDB\",\"$readPreference\":{\"mode\":\"primary\"}}"
                }
            },
            "DataPoints": [
            //... 60 datapoints 
            ]
        },
        // In total 11 entries, 10 Keys of top tokenized queries, 1 total key 
    ] //End of MetricList
} //End of response
```

このレスポンスの `MetricList` には 11 のエントリがあり (合計が 1 つと、トークン化された上位 10 項目のクエリ)、各エントリには、1 時間あたり 24 の `DataPoints` があります。

トークン化されたクエリの場合は、各ディメンションリストに 3 つのエントリがあります。
+ `db.query_tokenized.statement`: トークン化されたクエリステートメント。
+ `db.query_tokenized.db_id `: Performance Insights が生成する合成 ID。この例では、`pi-1064184600` 合成 ID が返ります。
+ `db.query_tokenized.id` - Performance Insights 内のクエリの ID。

  では AWS マネジメントコンソール、この ID はサポート ID と呼ばれます。ID は、データベースに関する問題のトラブルシューティングに役立つように AWS サポートが調査できるデータであるため、この名前が付けられます。 はデータのセキュリティとプライバシーを非常に真剣に AWS 受け止め、ほぼすべてのデータが で暗号化されて保存されます AWS KMS key。したがって、内部の誰もこのデータを見る AWS ことはできません。前の例では、`tokenized.statement` と `tokenized.db_id` の両方が暗号化されて保存されます。データベースに問題がある場合は、 AWS サポート ID を参照してサポートにお問い合わせください。

クエリを実行する際、`Group` で `GroupBy` を指定した方が便利な場合があります。ただし、返るデータを詳細に制御できるように、ディメンションのリストを指定します。例えば、必要なデータが `db.query_tokenized.statement` のみの場合は、`Dimensions` 属性を query.json ファイルに追加することができます。

```
[
    {
        "Metric": "db.load.avg",
        "GroupBy": {
            "Group": "db.query_tokenized",
            "Dimensions":["db.query_tokenized.statement"],
            "Limit": 10
        }
    }
]
```

### クエリによってフィルタリングされた平均 DB ロードの取得
<a name="performance-insights-metrics-api-examples.DBLoadAverageByQuery"></a>

この例に対応する API クエリは、[上位のクエリに関する DB 平均ロードの取得](#performance-insights-metrics-api-examples.topquery) のコマンドに似ています。ただし、query.json ファイルには、次の内容が含まれます。

```
[
 {
        "Metric": "db.load.avg",
        "GroupBy": { "Group": "db.wait_state", "Limit": 5  }, 
        "Filter": { "db.query_tokenized.id": "AKIAIOSFODNN7EXAMPLE" }
    }
]
```

このレスポンスでは、query.json ファイルで指定されているトークン化されたクエリAKIAIOSFODNN7EXAMPLE の割合に従って、値はすべてフィルタリングされます。キーは、フィルタなしのクエリとは異なる順序で表示されることもあります。これは、フィルタ処理されたクエリに影響を与えるのは上位 5 つの待機クエリであるためです。

# Performance Insights の Amazon CloudWatch メトリクス
<a name="performance-insights-cloudwatch"></a>

Performance Insights はメトリクスを自動的に Amazon CloudWatch に発行します。Performance Insights から同じデータに対してクエリを実行できますが、CloudWatch にメトリクスを含めると、CloudWatch アラームを追加しやすくなります。また、既存の CloudWatch ダッシュボードにメトリクスを追加しやすくなります。


| メトリクス | 説明 | 
| --- | --- | 
|  DBLoad  |  Amazon DocumentDB のアクティブセッション数。通常、アクティブセッションの平均数に関するデータを使用します。Performance Insights で、このデータは `db.load.avg` としてクエリされます。  | 
|  DBLoadCPU  |  待機状態タイプが CPU であるアクティブセッションの数。Performance Insights で、このデータは、待機状態タイプ `db.load.avg` でフィルタ処理された `CPU` としてクエリされます。  | 
|  DBLoadNonCPU  |  待機状態タイプが CPU でないアクティブセッションの数。  | 

**注記**  
これらのメトリクスは、DB インスタンスにロードがある場合にのみ CloudWatch に公開されます。

これらのメトリクスは、CloudWatch コンソール、 AWS CLI、または CloudWatch API を使用して調べることができます。

例えば、`DBLoad` メトリクスの統計情報は、[get-metric-statistics](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/get-metric-statistics.html) コマンドを実行して取得できます。

```
aws cloudwatch get-metric-statistics \
    --region ap-south-1 \
    --namespace AWS/DocDB \
    --metric-name DBLoad  \
    --period 360 \
    --statistics Average \
    --start-time 2022-03-14T8:00:00Z \
    --end-time 2022-03-14T9:00:00Z \
    --dimensions Name=DBInstanceIdentifier,Value=documentdbinstance
```

次のコマンドでは、以下のような出力が生成されます。

```
{
    "Datapoints": [
        {
            "Timestamp": "2022-03-14T08:42:00Z", 
            "Average": 1.0, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:24:00Z", 
            "Average": 2.0, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:54:00Z", 
            "Average": 6.0, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:36:00Z", 
            "Average": 5.7, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:06:00Z", 
            "Average": 4.0, 
            "Unit": "None"
        }, 
        {
            "Timestamp": "2022-03-14T08:00:00Z", 
            "Average": 5.2, 
            "Unit": "None"
        }
    ], 
    "Label": "DBLoad"
}
```

CloudWatch コンソールの `DB_PERF_INSIGHTS` メトリクス数学関数を使用して Amazon DocumentDB にクエリを実行し、Performance Insights カウンターメトリクスを取得できます。`DB_PERF_INSIGHTS` 関数には、1 分未満の間隔での `DBLoad` メトリクスも含まれます。これらのメトリクスに基づいた CloudWatch アラームを設定することができます。アラームの作成方法の詳細については、[AWS 「データベースから Performance Insights カウンターメトリクスにアラームを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_alarm_database_performance_insights.html)」を参照してください。

CloudWatch の詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[Amazon CloudWatch とは](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)」を参照してください。

# カウンターメトリクス用の Performance Insights
<a name="performance-insights-counter-metrics"></a>

カウンターメトリクスは、Performance Insights ダッシュボードのオペレーティングシステムメトリクスのことです。カウンターメトリクスを DB ロードと関連付けることで、パフォーマンスの問題を特定して分析できます。

## Performance Insights オペレーティングシステムのカウンター
<a name="performance-insights-counter-metrics-counters"></a>

Amazon DocumentDB のパフォーマンスインサイトでは、以下のオペレーティングシステムカウンターを利用できます。


| Counter | タイプ | メトリクス | 
| --- | --- | --- | 
| active | メモリ | os.memory.active | 
| buffers | メモリ | os.memory.buffers | 
| キャッシュ済み | メモリ | os.memory.cached | 
| dirty | メモリ | os.memory.dirty | 
| free | メモリ | os.memory.free | 
| 無効 | メモリ | os.memory.inactive | 
| mapped | メモリ | os.memory.mapped | 
| pageTables | メモリ | os.memory.pageTables | 
| slab | メモリ | os.memory.slab | 
| total | メモリ | os.memory.total | 
| writeback | メモリ | os.memory.writeback | 
| idle | cpuUtilization | os.cpuUtilization.idle | 
| system | cpuUtilization | os.cpuUtilization.system | 
| total | cpuUtilization | os.cpuUtilization.total | 
| ユーザー | cpuUtilization | os.cpuUtilization.user | 
| によって | cpuUtilization | os.cpuUtilization.wait | 
| one | loadAverageMinute | os.loadAverageMinute.one | 
| fifteen | loadAverageMinute | os.loadAverageMinute.fifteen | 
| 5 | loadAverageMinute | os.loadAverageMinute.five | 
| キャッシュ済み | スワップ | os.swap.cached | 
| free | スワップ | os.swap.free | 
| が | スワップ | os.swap.in | 
| out | スワップ | os.swap.out | 
| total | スワップ | os.swap.total | 
| rx | ネットワーク | os.network.rx | 
| tx | ネットワーク | os.network.tx | 
| numVCPUs | 全般 | os.general.numVCPUs | 