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


Метрики экспортируются с помощью правил сбора данных (предварительная версия)

Правила сбора данных (DCR) используются для сбора данных мониторинга из ресурсов Azure. Список сценариев сбора данных см. в разделе "Общие сведения о правилах сбора данных". Теперь можно использовать контроллеры домена для сбора и экспорта метрик платформы.

В настоящее время метрики платформы можно собирать с помощью DCR и параметров диагностики. Растущее число ресурсов поддерживает экспорт метрик с помощью контроллеров домена. Список поддерживаемых ресурсов и регионов см. в разделе "Поддерживаемые ресурсы ".

Использование контроллера домена для экспорта метрик обеспечивает следующие преимущества по сравнению с параметрами диагностики:

  • Конфигурация DCR позволяет экспортировать метрики с измерениями.
  • Конфигурация DCR позволяет фильтровать по имени метрик, чтобы экспортировать только необходимые метрики.
  • Контроллеры домена являются более гибкими и масштабируемыми по сравнению с параметрами диагностики.
  • Завершение задержки для контроллеров домена составляет 3 минуты. Это основное улучшение по сравнению с параметрами диагностики, где задержка экспорта метрик составляет 6–10 минут.

Используйте метрики, экспортируемые с помощью контроллеров домена для непрерывного экспорта данных метрик. Для запроса исторических данных используйте API пакетной службы метрик плоскости данных. Для сравнения двух служб см. Запрос Data plane Metrics Batch API и Metrics export.

Создайте контроллеры домена для метрик с помощью REST API, Azure CLI или Azure PowerShell. Сведения о том, как создать правила сбора данных (DCR) для экспорта метрик, см. в разделе "Создание правил сбора данных для метрик".

При создании DCR необходимо создать ассоциацию правил сбора данных (DCRA), чтобы связать DCR с ресурсом для отслеживания. Для многих типов ресурсов можно создать один DCR. Сведения о создании DCRA см. в статье "Создание связей правил сбора данных". При использовании портал Azure DCRA создается автоматически.

Замечание

Можно одновременно использовать правила сбора данных (DCR) и параметры диагностики. Рекомендуется отключить параметры диагностики для метрик при использовании контроллеров домена, чтобы избежать дублирования сбора данных.

Направления экспорта

Метрики можно экспортировать в одно из следующих направлений на DCR:

  • Рабочие области Log Analytics

    Экспорт в рабочие области Log Analytics может выполняться в разных регионах. Рабочая область Log Analytics и DCR должны находиться в одном регионе, но отслеживаемые ресурсы могут находиться в любом регионе. Метрики, отправленные в рабочую область log analytics, хранятся в AzureMetricsV2 таблице.

  • Учетные записи хранения Azure

    Учетная запись хранения, DCR и отслеживаемые ресурсы должны находиться в одном регионе.

  • Центрам событий.

    Центры событий, DCR и отслеживаемые ресурсы должны находиться в одном регионе.

Пример данных в каждом месте назначения см. в разделе "Экспортированные данные".

Замечание

Задержка при экспорте метрик составляет около 3 минут. Разрешите до 15 минут, чтобы метрики начали отображаться в назначении после начальной настройки.

Ограничения

Контроллеры домена для экспорта метрик имеют следующие ограничения:

  • Для каждого DCR можно указать только один тип назначения.
  • С одним ресурсом Azure может быть связано не более 5 контроллеров домена.
  • Экспорт метрик с использованием DCR не поддерживает экспорт показателей с почасовой детализацией.

Поддерживаемые ресурсы и регионы

Следующие ресурсы поддерживают экспорт метрик с помощью правил сбора данных:

Тип ресурса Спецификация потока
Масштабируемые наборы виртуальных машин Microsoft.compute/virtualmachinescalesets
Виртуальные машины Microsoft.compute/virtualmachines
Кэш Redis Microsoft.cache/redis
Центры IOT Microsoft.devices/iothubs
Хранилища ключей Microsoft.keyvault/vaults
Учетные записи хранения Microsoft.storage/storageaccounts
Microsoft.storage/Storageaccounts/blobservices
Microsoft.storage/storageaccounts/fileservices
Microsoft.storage/storageaccounts/queueservices
Microsoft.storage/storageaccounts/tableservices
SQL Server Microsoft.sql/серверы
Microsoft.sql/серверы/базы данных
Операционная аналитика Microsoft.operationalinsights/workspaces
Защита данных Microsoft.dataprotection/backupvaults
Служба Azure Kubernetes Служба контейнеров Microsoft/управляемые кластеры

Поддерживаемые регионы

Вы можете создать DCR для экспорта метрик в любом регионе, но ресурсы, из которого требуется экспортировать метрики, должны находиться в одном из следующих регионов:

  • Восточная Австралия
  • Центральная часть США
  • CentralUsEuap
  • Южно-Центральная часть США
  • Восток США
  • Восток США 2
  • Eastus2Euap
  • Западная часть США
  • Западная часть США 2
  • Северная Европа
  • Западная Европа
  • Юг Соединённого Королевства

Спецификации DCR

Правила сбора данных определяются в объекте JSON. Следующие свойства необходимы для создания DCR для экспорта метрик.

Недвижимость Описание
dataSources.platformTelemetry.streams Перечисляет типы ресурсов и метрики. Укажите Metrics-Group-All , чтобы собрать все метрики для ресурса или указать отдельные метрики. Формат: <resource type>:Metrics-Group-All \| <metric name>

Пример: Microsoft.Compute/virtualMachines:Percentage CPU
dataSources.platformTelemetry.name Имя источника данных.
destinations Назначение для метрик. Для каждого DCR поддерживается только одно назначение.
Допустимые типы назначений:
storageAccounts
logAnalytics
eventHubs
dataflows.streams Список потоков для передачи в место назначения в формате: <resource type>:Metrics-Group-All \| <metric name>

Пример: Microsoft.Compute/virtualMachines:Percentage CPU
dataflows.destinations Назначение, в которое передаются потоки, как определено в свойстве destinations .
identity.type Тип удостоверения, используемый для DCR. Требуется для назначений учетной записи хранения.
Допустимые значения:
systemAssigned
userAssigned
kind Тип правила сбора данных. Установите значение PlatformTelemetry для экспорта метрик.
location Расположение DCR.

Замечание

Для каждого DCR можно указать только один тип назначения.

Формат JSON для метрик экспортирует DCR

Используйте формат в следующем универсальном объекте JSON для создания DCR для экспорта метрик. Удалите нежелательные назначения при копировании примера.

{
    "properties": {
        "dataSources": {
            "platformTelemetry": [
                {
                    "streams": [
                    // a list of resource types and metrics to collect metrics from
                        "<resourcetype>:<metric name> | Metrics-Group-All", 
                        "<resourcetype>:<metric name> | Metrics-Group-All"
                    ],
                    "name": "<data sources name>"
                }
            ]
        },
        "destinations": {
            // Choose a single destination type of either logAnalytics, storageAccounts, or eventHubs
            "logAnalytics": [
                {
                    "workspaceResourceId": "workspace Id",
                    "name": "<destination name>"
                }
            ],
            "storageAccounts": [
                {
                    "storageAccountResourceId": "<storage account Id>", 
                    "containerName": "<container name>",
                    "name": "<destination name>"
                }
            ],
            "eventHubs": [ 
                 { 
                    "eventHubResourceId": "event hub id", 
                     "name": "<destination name>" 
                 } 
             ],
        },
        "dataFlows": [
            {
                "streams": [
                 // a list of resource types and metrics to pass to the destination
                        "<resourcetype>:<metric name> | Metrics-Group-All", 
                        "<resourcetype>:<metric name> | Metrics-Group-All"
                         ],
                "destinations": [
                    "<destination name>"
                ]
            }
        ]
    },
    // identity is required for Storage Account and Event Hubs destinations
    "identity": {
        "type": "userassigned", 
        "userAssignedIdentities": {
            "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-001/providers/Microsoft.ManagedIdentity/userAssignedIdentities/DRCIdentity": {} 
        }
    },
"kind": "PlatformTelemetry",
    "location": "eastus"
}

Замечание

При создании DCR для экспорта метрик с помощью интерфейса командной строки kindи locationidentity передаются в качестве аргументов и должны быть удалены из объекта JSON.

Удостоверения, назначенные пользователем и системой

Удостоверения, назначенные пользователем и системой, поддерживаются при создании контроллеров домена. Удостоверение требуется для назначений учетной записи хранения и центров событий. Вы можете использовать назначенное системой удостоверение или удостоверение, назначаемое пользователем. Дополнительные сведения см. в статье "Назначение ролей Azure управляемому удостоверению".

Чтобы использовать назначенное системой удостоверение, добавьте identity объект следующим образом:

    "identity": {
         "type": "systemAssigned"
    },

Чтобы использовать назначенное пользователем удостоверение, добавьте identity объект следующим образом:

    "identity": {
        "type": "userassigned", 

        "userAssignedIdentities": { 
            "/subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity name>": {} 
        }

    }

Фильтрация метрик

При указании метрик для экспорта можно фильтровать метрики по имени или запрашивать все метрики с помощью Metrics-Group-All. Список поддерживаемых метрик см. в разделе "Поддерживаемые метрики" и категории журналов по типу ресурса.

Чтобы указать несколько метрик из одного типа ресурсов, создайте отдельный элемент потока для каждой метрики.

В следующем примере показано, как фильтровать метрики по имени.

{
    "properties": {
        "dataSources": {
            "platformTelemetry": [
                {
                    "streams": [
                        "Microsoft.Compute/virtualMachines:Percentage CPU",
                        "Microsoft.Compute/virtualMachines:Disk Read Bytes",
                        "Microsoft.Compute/virtualMachines:Inbound Flows",
                        "Microsoft.Compute/virtualMachineScaleSets:Percentage CPU",
                        "Microsoft.Cache/redis:Cache Hits"
                    ],
                    "name": "myPlatformTelemetryDataSource"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [
                {
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/arg-001/providers/microsoft.operationalinsights/workspaces/loganalyticsworkspace001",
                    "name": "destinationName"
                }
            ]
        },
        "dataFlows": [
            {
                "streams": [
                    "Microsoft.Compute/virtualMachines:Percentage CPU",
                    "Microsoft.Compute/virtualMachines:Disk Read Bytes",
                    "Microsoft.Compute/virtualMachines:Inbound Flows",
                    "Microsoft.Compute/virtualMachineScaleSets:Percentage CPU",
                    "Microsoft.Cache/redis:Cache Hits"
                ],
                "destinations": [
                    "destinationName"
                ]
            }
        ]
    },
    "kind": "PlatformTelemetry",
    "location": "eastus"
}

Примеры метрик экспортируют объекты JSON

В следующих примерах показаны примеры объектов JSON DCR для экспорта метрик в каждый тип назначения.

Рабочие области Log Analytics

В следующем примере показано правило сбора данных для метрик, которые отправляют определенные метрики из виртуальных машин, масштабируемых наборов виртуальных машин и всех метрик хранилища ключей в рабочую область Log Analytics:

{
    "properties": {
        "dataSources": {
            "platformTelemetry": [
                {
                    "streams": [
                        "Microsoft.Compute/virtualMachines:Percentage CPU",
                        "Microsoft.Compute/virtualMachines:Disk Read Bytes",
                        "Microsoft.Compute/virtualMachines:Inbound Flows",
                        "Microsoft.Compute/virtualMachineScaleSets:Available Memory Bytes",
                         "Microsoft.KeyVault/vaults:Metrics-Group-All"
                    ],
                    "name": "myPlatformTelemetryDataSource"
                }
            ]
        },
        "destinations": {
            "logAnalytics": [ 
                { 
                    "workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-001/providers/microsoft.operationalinsights/workspaces/laworkspace001", 
                    "name": "ladestination" 
                } 
            ] 
        },
        "dataFlows": [
            {
                "streams": [
                        "Microsoft.Compute/virtualMachines:Percentage CPU",
                        "Microsoft.Compute/virtualMachines:Disk Read Bytes",
                        "Microsoft.Compute/virtualMachines:Inbound Flows",
                        "Microsoft.Compute/virtualMachineScaleSets:Available Memory Bytes",
                        "Microsoft.KeyVault/vaults:Metrics-Group-All"
                        ],
                "destinations": [
                    "ladestination"
                    
                ]
            }
        ]
    },

"kind": "PlatformTelemetry",
    "location": "centralus"
}

Создание контроллеров домена для экспорта метрик

Создайте контроллеры домена для экспорта метрик с помощью шаблона портал Azure, CLI, PowerShell, REST API или ARM. Дополнительные сведения см. в разделе "Создание правила сбора данных( DCR) для экспорта метрик.

Exported data (Экспортированы данные)

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

Рабочие области Log Analytics

Данные, экспортированные в рабочую область Log Analytics, хранятся в AzureMetricsV2 таблице в рабочей области Log Analytics в следующем формате:

колонна Тип Описание
Среднее значение настоящий Среднее значение, собираемое в диапазоне времени.
_BilledSize (Размер счета) настоящий Размер записи в байтах
Численность настоящий Количество выборок, собранных в течение диапазона времени.
Размерность динамический Связанное измерение метрики в формате JSON.
_ПодлежитУчету струна Указывает, подлежит ли потребление данных выставлению счетов. Когда _IsBillable равно false, потребление не списывается с вашего счёта в Azure.
Максимум настоящий Максимальное значение, собираемое в диапазоне времени.
Категория метрики струна Имя категории метрики.
Название метрики струна Отображаемое имя метрики.
Тип ресурса метрики струна Тип ресурса Azure, сообщающего метрику.
Минимум настоящий Минимальное значение, собираемое в диапазоне времени.
_ResourceId (идентификатор ресурса) струна Уникальный идентификатор ресурса, с которым связана запись.
Система источников струна Тип агента, с помощью которого было собрано событие. Например, OpsManager для агента Windows, подключающегося напрямую или через Operations Manager, Linux для всех агентов Linux или Azure для диагностики Azure.
_SubscriptionId (идентификатор подписки) струна Уникальный идентификатор подписки, с которой связана эта запись.
Идентификатор арендатора (TenantId) струна Идентификатор пространства работы Log Analytics
Время генерации дата/время Метка времени (UTC) создания записи.
ТаймГрейн струна Детализация времени метрики.
Итог настоящий Сумма всех значений в диапазоне времени.
Тип струна Название таблицы
ИмяЕдиницы струна Единица метрики.

Рассмотрим пример.

Снимок экрана запроса лог аналитики в таблице AzureMetricsV2.

Учетные записи хранения

В следующем примере показаны данные, экспортированные в учетную запись хранения:

{
    "Average": "31.5",
    "Count": "2",
    "Maximum": "52",
    "Minimum": "11",
    "Total": "63",
    "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-dcrs/providers/microsoft.keyvault/vaults/dcr-vault",
    "time": "2024-08-20T14:13:00.0000000Z",
    "unit": "MilliSeconds",
    "metricName": "ServiceApiLatency",
    "timeGrain": "PT1M",
    "dimension": {
        "ActivityName": "vaultget",
        "ActivityType": "vault",
        "StatusCode": "200",
        "StatusCodeClass": "2xx"
    }
}

Центры событий

В следующем примере показана метрика, экспортируемая в Центры событий.

    {
      "Average": "1",
      "Count": "1",
      "Maximum": "1",
      "Minimum": "1",
      "Total": "1",
      "resourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-dcrs/providers/microsoft.keyvault/vaults/dcr-vault",
      "time": "2024-08-22T13:43:00.0000000Z",
      "unit": "Count",
      "metricName": "ServiceApiHit",
      "timeGrain": "PT1M",
      "dimension": {
        "ActivityName": "keycreate",
        "ActivityType": "key"
      },
      "EventProcessedUtcTime": "2024-08-22T13:49:17.1233030Z",
      "PartitionId": 0,
      "EventEnqueuedUtcTime": "2024-08-22T13:46:04.5570000Z"
    }

Дальнейшие шаги