次の方法で共有


Azure Monitor を使用して Azure Cosmos DB for MongoDB 仮想コア診断ログを監視する

適用対象: MongoDB 仮想コア

Azure の診断ログは、Azure Cosmos DB for MongoDB 仮想コア アカウントの Azure リソース ログをキャプチャするために不可欠です。 これらのログは、アカウントに伴うリソースの操作に関する詳細で頻繁な分析情報を提供します。

重要

この機能は、M25 (バースト可能) または M30 (Free レベル) SKU では使用できません。

前提条件

診断設定の作成

プラットフォーム メトリックとアクティビティ ログは自動的に収集されます。 リソース ログを収集し、Azure Monitor から外部にルーティングするには、診断設定を確立する必要があります。 その方法については、「Azure Monitor の診断設定を作成する」を参照してください。

診断設定の管理

場合によっては、設定を見つけたり削除したりして、設定を管理する必要があります。 az monitor diagnostic-settings コマンド・グループには、診断設定を管理するためのサブコマンドが含まれています。

  1. MongoDB 仮想コア クラスターの API に関連付けられているすべての診断設定を一覧表示します。

    az monitor diagnostic-settings list \
        --resource-group $resourceGroupName \
        --resource $clusterResourceId
    
  2. 関連付けられているリソースと設定の名前を使用して、特定の設定を削除します。

    az monitor diagnostic-settings delete \
        --resource-group $resourceGroupName \
        --name $diagnosticSettingName \
        --resource $clusterResourceId
    

高度な診断のクエリを使用する

これらのリソース固有のクエリを使用して、MongoDB 仮想コア クラスター用 API での一般的なトラブルシューティング調査を実行します。

重要

このセクションでは、リソース固有のログで Log Analytics ワークスペースを使用していることを前提としています。

  1. MongoDB 仮想コア クラスター用 API の Logs セクションに移動します。 サンプル クエリの一覧を確認します。

    サンプル クエリの診断クエリの一覧のスクリーンショット。

  2. このクエリを実行して、エラー コード でグループ化された 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)
    
  3. このクエリを実行して、操作名ごとの 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
    
  4. このクエリを実行して、ランタイム期間の合計でグループ化された 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)
    
  5. このクエリを実行して、ユーザー エージェントごとの 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