Поделиться через


Мониторинг журналов виртуальных ядер Azure Cosmos DB для MongoDB диагностика с помощью Azure Monitor

Область применения: Виртуальные ядра MongoDB

Журналы диагностики Azure необходимы для записи журналов ресурсов Azure для учетной записи виртуального ядра Azure Cosmos DB для MongoDB. Эти журналы содержат подробные и частые сведения об операциях для ресурсов с учетной записью.

Внимание

Эта функция недоступна с номерами M25M30SKU уровня "Бесплатный".

Необходимые компоненты

Создание параметров диагностики

Метрики платформы и журналы действий собираются автоматически. Чтобы собирать журналы ресурсов и направлять их из Azure Monitor, необходимо установить параметр диагностики. Дополнительные сведения см. в статье "Создание параметров диагностики" в Azure Monitor.

Управление параметрами диагностики

Иногда необходимо управлять параметрами, найдя или удалив их. Группа az monitor diagnostic-settings команд включает подкоманда для управления параметрами диагностики.

  1. Список всех параметров диагностики, связанных с кластером API для виртуальных ядер 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 для виртуальных ядер MongoDB.

Внимание

В этом разделе предполагается, что вы используете рабочую область Log Analytics с журналами для конкретных ресурсов.

  1. Перейдите в раздел журналов кластера API для виртуального ядра MongoDB. Просмотрите список примеров запросов.

    Снимок экрана: список диагностических запросов примеров запросов.

  2. Выполните этот запрос, чтобы подсчитать количество неудачных запросов API для виртуальных ядер 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 для виртуальных ядер 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 для виртуальных ядер 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 для виртуальных ядер 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