共用方式為


使用 Azure 監視器監視 Azure Cosmos DB for MongoDB 虛擬核心診斷記錄

適用於: MongoDB 虛擬核心

Azure 的診斷記錄對於擷取 Azure Cosmos DB for MongoDB 虛擬核心帳戶的 Azure 資源記錄而言至關重要。 這些記錄會針對該帳戶的資源作業提供詳細且頻繁的深入解析。

重要

此功能不適用於 M25M30或免費層 SKU。

必要條件

建立診斷設定

系統會自動收集平台計量和活動記錄。 若要收集資源記錄並從 Azure 監視器外部加以路由,您必須建立診斷設定。 若想了解方法,請參閱在 Azure 監視器中建立診斷設定

管理診斷設定

有時,您需要尋找或移除設定來加以管理。 az monitor diagnostic-settings 命令群組包含用來管理診斷設定的子命令。

  1. 列出所有與 API for MongoDB 虛擬核心叢集相關聯的診斷設定。

    az monitor diagnostic-settings list \
        --resource-group $resourceGroupName \
        --resource $clusterResourceId
    
  2. 使用相關聯的資源和設定的名稱,將特定設定刪除。

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

使用進階診斷查詢

使用這些資源特定查詢,在 API for MongoDB 虛擬核心叢集中執行常見的疑難排解研究。

重要

本節假設您搭配使用 Log Analytics 工作區與資源特定記錄。

  1. 瀏覽至 API for MongoDB 虛擬核心叢集的 [記錄] 區段。 觀察範例查詢的清單。

    螢幕擷取畫面:範例查詢的診斷查詢清單。

  2. 執行此查詢,以計算依錯誤碼分組的失敗 API for MongoDB 虛擬核心要求數目

    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. 執行此查詢,以依作業名稱取得 API for MongoDB 虛擬核心要求 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. 執行此查詢,以取得依執行階段持續時間總計分組的 API for MongoDB 虛擬核心要求計數

    // 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. 執行此查詢,以依使用者代理程式取得 API for MongoDB 虛擬核心要求計數

    // 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