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


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

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

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

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

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

Используйте метрики, экспортируемые с помощью контроллеров домена для непрерывного экспорта данных метрик. Для запроса исторических данных используйте API пакетной службы метрик плоскости данных. Сравнение двух служб см. в статье "Запрос api пакетной службы метрик данных" и "Метрики".

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

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

Примечание.

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

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

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

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

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

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

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

Примечание.

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

Ограничения

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

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

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

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

Тип ресурса Спецификация потока
Масштабируемые наборы виртуальных машин 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/серверы/базы данных
Operational Insights; Microsoft.operationalinsights/workspaces
Службы мультимедиа Microsoft.media/mediaservices
Microsoft.media/mediaservices/streamingendpoints
Microsoft.media/mediaservices/liveevents
Защита данных Microsoft.dataprotection/backupvaults
Служба Azure Kubernetes Microsoft.ContainerService/managedClusters

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

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

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

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

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

Свойство Description
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:Процент ЦП"
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. Дополнительные сведения см. в статье "Создание и изменение правил сбора данных( контроллеров домена) и сопоставлений в Azure Monitor.

Экспортированные данные

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

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

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

Column Type Описание
По средней real Среднее значение, собираемое в диапазоне времени.
_BilledSize real Размер записи в байтах
Count real Количество выборок, собранных в течение диапазона времени.
Измерение по строкам Связанное измерение метрики в формате JSON.
_IsBillable строка Указывает, можно ли выставлять счета за прием данных. Если _IsBillable false прием не взимается в учетную запись Azure.
Максимум real Максимальное значение, собираемое в диапазоне времени.
MetricCategory строка Имя категории метрики.
MetricName строка Отображаемое имя метрики.
MetricResourceType строка Тип ресурса Azure, сообщающего метрику.
Минимум real Минимальное значение, собираемое в диапазоне времени.
_ResourceId строка Уникальный идентификатор ресурса, с которым связана запись.
SourceSystem строка Тип агента, на который было собрано событие. Например, OpsManager для агента Windows прямой подключения или Operations Manager Linux для всех агентов Linux или Azure для Диагностика Azure
_SubscriptionId строка Уникальный идентификатор подписки, с которой связана запись
TenantId строка Идентификатор рабочей области Log Analytics
TimeGenerated datetime Метка времени (UTC) при создании записи.
TimeGrain строка Время метрики.
Итог real Сумма всех значений в диапазоне времени.
Тип строка Имя таблицы.
UnitName строка Единица метрики.

Например:

Снимок экрана: запрос log analytics таблицы 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"
    }
}

Event Hubs

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

    {
      "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"
    }

Следующие шаги