LoginSignup
0
0

More than 3 years have passed since last update.

Azure cosmosDB のアラート設定について

Posted at

概要

  • Azure CosmosDB の監視方法には以下の 2 通りがある。ここではそれぞれについて調査した。

    • Azure Monitor を使用した Azure CosmosDB の監視では、「メトリックを使用した監視」と「診断ログを使用した監視」が可能
    • Azure Monitor for Azure CosmosDB と呼ばれる、比較的新しい監視方法が提供され、すべての Azure CosmosDB リソースの全体的なパフォーマンスなどを統合された対話型エクスペリエンスで表示可能

Azure Monitor のメトリックを使用した監視

  • Azure Monitor からダッシュボードを作成し、Azure CosmosDB のアカウントメトリックを監視可能(既定では特に構成準備などは必要なし)

  • 監視されるメトリックは 1 分単位で収集され、保有期間は 30 日間

  • オプション「Azure CosmosDB ポータルからの監視」で使用できるメトリックの多くはここでも使用可能

  • メトリックのディメンション値(コンテナー名)などは大文字と小文字を区別しないため、命名には注意。

  • 詳細は「メトリックデータの分析」を参照

Azure Monitor の診断ログを使用した監視

  • Azure Monitor からダッシュボードを作成し、Azure CosmosDB アカウントのログを監視可能

  • 1 秒単位で発生するイベントやとれーすなどのテレメトリは、ログとして格納される(コンテナのスループットが変化した場合、CosmosDB アカウントのプロパティが変更され、これらのイベントがログ内でキャプチャされる)

  • 収集したデータに対してクエリを実行することでログ分析可能

  • 詳細は「ログデータの分析」を参照


※ 補足情報

Azure CosmosDB ポータルからの監視

SDK を使用したプログラムによる監視

  • NET、Java、Python、Node.js SDK、および REST API のヘッダーを使用して、Azure Cosmos アカウントをプログラムによって監視可能

monitoring-options-portal.png


Azure CosmosDB のメトリックデータの分析

Azure Monitor のメニューから[Metrics]を開き、メトリックスエクスプローラを使用して、Azure CosmosDB のメトリックスを分析することが可能(詳細は「Azure メトリックスエクスプローラの概要)。

以下のディメンションをこれらのメトリックと共に使用可能。

  • CollectionName
  • DatabaseName
  • OperationType
  • リージョン
  • StatusCode

Azure CosmosDB の操作レベルのメトリックを表示する

  1. Azure Portal にログイン。

  2. 左側のナビゲーションバーから[監視]を選択し、[メトリック]を選択する。

    monitor-metrics-blade.png

  3. [メトリック] ウィンドウから、 [リソースの選択] を選択し、必要な サブスクリプション と リソース グループ を選択する。その後、 [リソースの種類] で、 Azure Cosmos DB accounts を選択し、既存の Azure Cosmos アカウントの一つを選択し、 [適用] を選択します。

select-cosmosdb-account.png

  1. 次に、使用可能なメトリックの一覧から、メトリック一覧を選択する。要求ユニット、ストレージなど固有メトリックを選択できる。この例では、[要求ユニット]および集計地としての[Avg]を選択する。

metric-types.png

メトリックにフィルターを追加する

メトリックと特定の CollectionName などのグラフをフィルターすることができる。

フィルターを適用するには、[フィルターの追加]を選択し、必要なプロパティ(ここでは OperationType) を選択し、Query などの値を選択する。

add-metrics-filter.png

[Apply splitting]オプションを使用すると、メトリックをグループ化できる。例として、要求ユニットを操作の種類ごとにグループ化し、すべての操作のグラフを一度に表示することが可能。

apply-metrics-splitting.png

ログデータの分析

Azure Monitor のログデータはテーブルに格納され、各テーブルには独自の一位のプロパティセットがある。Azure CosmosDB は次のテーブルにデータを格納する。

テーブル 説明
AzureDiagnostics リソースログを格納するための共通テーブル。CosmosDB のリソースログはMICROSOFT.DOCUMENTDBで識別可能
AzureActivity アクティビティログのすべてのレコードを格納する共通テーブル

Azure Cosmos DB のメニューから [ログ] を選択すると、クエリのスコープが現在の Azure Cosmos データベースに設定された状態で Log Analytics が開く。 つまり、ログ クエリには、そのリソースからのデータのみが含まれることになる。 他のデータベースのデータや他の Azure サービスのデータを含むクエリを実行する場合は、 Azure Monitor のメニューから [ログ] を選択する。 詳細については、「Azure Monitor Log Analytics のログ クエリのスコープと時間範囲」を参照。

Azure Monitor での Azure CosmosDB Log Analitics のクエリ

[ログ検索]検索バーに入力して、Azrue CosmosDB コンテナーの監視に利用できるクエリの例を以下に示す。

指定した期間の Azure CosmosDB のすべての診断ログをクエリする

AzureDiagnostics
| where ResourceProvider=="Microsoft.DocumentDb" and Category=="DataPlaneRequests"

リソースでグループ分けされたすべての操作をクエリする

AzureActivity
| where ResourceProvider=="Microsoft.DocumentDb" and Category=="DataPlaneRequests"
| summarize count() by Resource

リソースでグループ分けわれたすべてのユーザーアクティビティをクエリする

AzureActivity
| where Caller == "test@company.com" and ResourceProvider=="Microsoft.DocumentDb" and Category=="DataPlaneRequests"
| summarize count() by Resource

Azure Monitor for Azure CosmosDB

Azure CosmosDB の監視に関して、比較的新しいサービスがあったため、ここで調査した。

Azure Monitor for Azure Cosmos DB は「Azure Monitor のブック機能」に基づいている。

これは、 CosmosDB のために収集されるのと同じ監視データを使用する。

Azure Monitor は、すべての Azure Cosmos DB リソースの全体的なパフォーマンス、障害、容量、および運用の正常性を、一元的な対話型エクスペリエンスで表示するために使用される。

できること

  • すべてのサブスクリプションの Azure CosmosDB リソースを 1 か所で分析可能

  • 関心のあるサブスクリプションとリソースに限定して評価することも可能

  • 特定の Azure CosmosDB リソースについて、カテゴリごとに問題を診断・分析可能で、メトリック表示・詳細把握が可能

本機能へのアクセスに対しては料金はかからないが、有効にした Azure Monitor の基本機能に対してのみ課金が発生する。「[Azure Monitor の価格の詳細(https://azure.microsoft.com/pricing/details/monitor/)]」を参照。

Azure CosmosDB の使用率とパフォーマンスのメトリックを表示

  1. Azure portal にログイン

  2. 「監視」を検索し、[監視]を選択する

    search-monitor.png

  3. [Cosmos DB]を選択する

    cosmos-db.png

主な機能

CosmosDB において、以下の情報を確認することができる。

  • CosmosDB の概要
  • エラーログ情報
  • ストレージ容量情報
  • 操作履歴情報

参考資料

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0