Azure Monitor について理解する

完了

Azure リソースを使用するほとんどのアプリケーションでは、可用性、パフォーマンス、運用について、アプリケーションと Azure リソース側の両方のメトリックが作成されます。 Azure Monitor は、Azure リソースの可用性、パフォーマンス、運用メトリックの監視に使用されます。

Cosmos DB では、そのサーバー側カウンターが次の方法で監視されます。

  • Azure Monitor によるメトリックの監視: Azure Monitor では、Cosmos DB のメトリックが既定で収集されます。 メトリックは 1 分ごとに収集されます。 既定の保持期間は 30 日です。 スループット、ストレージの空き状況、待ち時間、整合性、システム レベルのメトリックなどが収集の対象となります。 メトリックのディメンション値 (コンテナー名など) は、大文字と小文字が区別されません。

  • Azure Monitor による診断ログの監視: イベントやトレースなどのテレメトリはログとして保存されます。 たとえば、コンテナーのスループットのプロパティを変更するとイベントがログされます。 それらのログに対してクエリを実行することで、収集されたデータを分析できます。

  • Azure Cosmos DB ポータル: スループット、ストレージの空き状況、待ち時間、整合性、システム レベルのメトリックが、Azure Cosmos DB アカウントの [メトリック] タブに表示されます。 これらのメトリックの既定の保持期間は 7 日です。

  • Cosmos DB NoSQL API SDK を使用したプログラムによるアカウントの監視: .NET、Java、Python、Node.js SDK、REST API のヘッダーを使用して、プログラムによって Cosmos DB アカウントを監視します。

    Diagram that shows the options available to monitor Azure Cosmos DB.

このモジュールのレッスンでは、Cosmos DB の監視に、Azure Monitor がどのように利用されているかについてのみ取り上げます。 Azure Monitor for Cosmos DB は、次の目的で使用できます。

  • データの監視
  • 収集とルーティング
  • メトリックの分析
  • ログの分析
  • アラートを作成する
  • プログラムによる Azure Cosmos DB の監視

データの監視

Azure portal では、Azure Cosmos データベースに対する要求数と時間単位の請求金額を簡潔に示したビューが、データベースごとの概要ページに表示されます。 この概要は、Azure Monitor によって収集されるメトリックのほんの一部です。 Azure Monitor を使用すると、Cosmos データベースの概要ページに時間単位の請求金額と要求数のメトリックが表示されることに加え、その他の要求のメトリックが収集されるほか、要求ユニット、記憶域、待ち時間、可用性、Casandra API のメトリックも収集されます。

収集とルーティング

Cosmos DB のメトリックは、既定では Azure Monitor によって自動的に収集されて保存されます。 診断設定を使用することにより、それらのメトリックを他の場所にルーティングすることもできます。 メトリックとは異なり、リソース ログを収集して保存するためには、それらをルーティングする診断設定を先に作成しておく必要があります。

メトリックの分析

Cosmos DB のメトリックを分析するには、Azure portal の [Azure Monitor] メニューから [メトリック] を開いてメトリックス エクスプローラーを使用します。 Cosmos DB のメトリックをフィルタリングするには、[メトリック名前空間] プルダウンから [Cosmos DB 標準メトリック] を選択します。 その他、コレクション名、データベース名、操作の種類、リージョン、状態コードのディメンションを対象としたフィルターを追加できます。

ログの分析

Azure Monitor ログのデータはテーブルに格納されます。 そのテーブルに対しクエリを実行することで、データを分析することができます。 Azure Cosmos DB では、ログ データが AzureDiagnostics テーブルと AzureActivity テーブルに格納されます。 AzureDiagnostics テーブルから Azure Cosmos DB のエントリを検索するには、resourceprovider フィールドを MICROSOFT.DOCUMENTDB とするフィルターをクエリに追加します。 さらに、Azure Cosmos DB では、いくつかのリソース固有のテーブルにもデータがログされます。

警告

Azure Monitor は、定義された条件に基づいてアラートをトリガーできます。 これらのアラートは、メトリック、ログ、アクティビティ ログに対して設定できます。 たとえば、プロビジョニング スループットの上限をコンテナーまたはデータベースが超えたときにアラートを受け取ることができます。

Azure Cosmos DB をプログラムで監視する

NoSQL API には、ストレージの使用状況や合計要求数などのアカウント レベルのメトリックは含まれていません。 ただし、NoSQL API には、REST API または .NET SDK を使用したコレクション レベルのメトリックが用意されています。