Azure Monitor を使用して Azure Cosmos DB for MongoDB 仮想コア診断ログを監視する
適用対象: MongoDB 仮想コア
Azure の診断ログは、Azure Cosmos DB for MongoDB 仮想コア アカウントの Azure リソース ログをキャプチャするために不可欠です。 これらのログは、アカウントに伴うリソースの操作に関する詳細で頻繁な分析情報を提供します。
重要
この機能は、M25
(バースト可能) または M30
(Free レベル) SKU では使用できません。
前提条件
- 既存の Azure Cosmos DB for MongoDB 仮想コア クラスター。
- Azure サブスクリプションをお持ちでない場合は、無料でアカウントを作成します。
- 既存の Azure サブスクリプションがある場合は、新しい Azure Cosmos DB for MongoDB 仮想コア クラスターを作成します。
- 既存の Log Analytics ワークスペース、または Azure Storage アカウントです。
診断設定の作成
プラットフォーム メトリックとアクティビティ ログは自動的に収集されます。 リソース ログを収集し、Azure Monitor から外部にルーティングするには、診断設定を確立する必要があります。 その方法については、「Azure Monitor の診断設定を作成する」を参照してください。
診断設定の管理
場合によっては、設定を見つけたり削除したりして、設定を管理する必要があります。 az monitor diagnostic-settings
コマンド・グループには、診断設定を管理するためのサブコマンドが含まれています。
MongoDB 仮想コア クラスターの API に関連付けられているすべての診断設定を一覧表示します。
az monitor diagnostic-settings list \ --resource-group $resourceGroupName \ --resource $clusterResourceId
関連付けられているリソースと設定の名前を使用して、特定の設定を削除します。
az monitor diagnostic-settings delete \ --resource-group $resourceGroupName \ --name $diagnosticSettingName \ --resource $clusterResourceId
高度な診断のクエリを使用する
これらのリソース固有のクエリを使用して、MongoDB 仮想コア クラスター用 API での一般的なトラブルシューティング調査を実行します。
重要
このセクションでは、リソース固有のログで Log Analytics ワークスペースを使用していることを前提としています。
MongoDB 仮想コア クラスター用 API の Logs セクションに移動します。 サンプル クエリの一覧を確認します。
このクエリを実行して、エラー コード でグループ化された MongoDB 仮想コア要求の失敗した API の数をカウントします。
VCoreMongoRequests // Time range filter: | where TimeGenerated between (StartTime .. EndTime) // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | where ErrorCode != 0 | summarize count() by bin(TimeGenerated, 5m), ErrorCode=tostring(ErrorCode)
このクエリを実行して、操作名ごとの MongoDB 仮想コア要求の API
P99
のランタイム期間を取得します。// Mongo vCore requests P99 duration by operation // Mongo vCore requests P99 runtime duration by operation name. VCoreMongoRequests // Time range filter: | where TimeGenerated between (StartTime .. EndTime) // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | summarize percentile(DurationMs, 99) by bin(TimeGenerated, 1h), OperationName
このクエリを実行して、ランタイム期間の合計でグループ化された MongoDB 仮想コア要求の API の数を取得します。
// Mongo vCore requests binned by duration // Count of Mongo vCore requests binned by total runtime duration. VCoreMongoRequests // Time range filter: | where TimeGenerated between (StartTime .. EndTime) // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | project TimeGenerated, DurationBin=tostring(bin(DurationMs, 5)) | summarize count() by bin(TimeGenerated, 1m), tostring(DurationBin)
このクエリを実行して、ユーザー エージェントごとの MongoDB 仮想コア要求の API の数を取得します。
// Mongo vCore requests by user agent // Count of Mongo vCore requests by user agent. VCoreMongoRequests // Time range filter: | where TimeGenerated between (StartTime .. EndTime) // Resource id filter: | where _ResourceId == "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group-name/providers/microsoft.documentdb/mongoclusters/my-cluster-name" | summarize count() by bin(TimeGenerated, 1h), UserAgent
関連するコンテンツ
- MongoDB との機能の互換性について詳細を確認する。
- MongoDB から Azure Cosmos DB for MongoDB 仮想コアに移行するためのオプションを確認する。
- アカウントの作成から始める。