Compartir vía


Exportación de métricas mediante reglas de recopilación de datos (versión preliminar)

Las reglas de recopilación de datos (DCR) se usan para recopilar datos de supervisión de los recursos de Azure. Para obtener una lista del escenario de recopilación de datos, consulte Reglas de recopilación de datos: Información general. Ahora puede usar DCR para recopilar y exportar métricas de plataforma.

Actualmente, se pueden recopilar métricas de plataforma mediante DCR y Configuración de diagnóstico. Un número creciente de recursos admiten la exportación de métricas mediante DCR. Consulte Recursos y regiones admitidos para obtener una lista de los recursos auxiliares.

El uso de DCR para exportar métricas proporciona las siguientes ventajas sobre la configuración de diagnóstico:

  • La configuración de DCR permite exportar métricas con dimensiones.
  • La configuración de DCR habilita el filtrado basado en el nombre de la métrica, de modo que solo pueda exportar las métricas que necesita.
  • Las DCR son más flexibles y escalables en comparación con la configuración de diagnóstico.
  • La latencia de un extremo a otro para los DCR es de 3 minutos. Se trata de una mejora importante de la configuración de diagnóstico en la que la latencia de exportación de métricas es de 6 a 10 minutos.

Use la exportación de métricas a través de DCR para la exportación continua de datos de métricas. Para consultar datos históricos, use la API de Batch de métricas del plano de datos. Para obtener una comparación de los dos servicios, consulte Consulta de la API de Batch de métricas del plano de datos frente a la exportación de métricas.

Cree DCR para métricas mediante la API REST, la CLI de Azure o Azure PowerShell. Para obtener información sobre cómo crear DCR para la exportación de métricas, consulte Creación de reglas de recopilación de datos para métricas.

Al crear un DCR, debe crear una asociación de reglas de recopilación de datos (DCRA) para asociar el DCR con el recurso que se va a supervisar. Puede crear un DCR único para muchos tipos de recursos. Para obtener información sobre cómo crear una DCRA, consulte Creación de asociaciones de reglas de recolección de datos. Si se realiza a través del Azure Portal, el nuevo DCRA se crea automáticamente.

Nota:

Es posible usar DCR y la configuración de diagnóstico al mismo tiempo. Se recomienda deshabilitar la configuración de diagnóstico para las métricas al usar DCR para evitar la recopilación de datos duplicada.

Destinos de la exportación

Las métricas se pueden exportar a uno de los siguientes destinos por DCR:

  • Áreas de trabajo de Log Analytics.
    La exportación a áreas de trabajo de Log Analytics se puede realizar entre regiones. El área de trabajo de Log Analytics y el DCR deben estar en la misma región, pero los recursos que se supervisan pueden estar en cualquier región. Las métricas enviadas a un área de trabajo de Log Analytics se almacenan en la tabla AzureMetricsV2.

  • Cuentas de Azure Storage.
    La cuenta de almacenamiento, el DCR y los recursos que se supervisan deben estar todos en la misma región.

  • Event Hubs.
    Event Hubs, el DCR y los recursos que se supervisan deben estar en la misma región.

Para obtener un ejemplo de los datos de cada destino, consulte Datos exportados.

Nota:

La latencia para exportar métricas es de aproximadamente 3 minutos. Permita hasta 15 minutos para que las métricas empiecen a aparecer en el destino después de la configuración inicial.

Limitaciones

Los DCR para la exportación de métricas tienen las siguientes limitaciones:

  • Solo se puede especificar un destino por DCR.
  • Se puede asociar un máximo de 5 DCR a un único recurso de Azure.

Recursos y regiones admitidos

Los siguientes recursos admiten la exportación de métricas mediante reglas de recopilación de datos:

Tipo de recurso Especificación de flujos
Conjuntos de escalado de máquina virtual Microsoft.compute/virtualmachinescalesets
Máquinas virtuales Microsoft.compute/virtualmachines
Redis Cache Microsoft.cache/redis
Centros de IoT Microsoft.devices/iothubs
Almacenes de claves Microsoft.keyvault/vaults
Cuentas de almacenamiento Microsoft.storage/storageaccounts
Microsoft.storage/Storageaccounts/blobservices
Microsoft.storage/storageaccounts/fileservices
Microsoft.storage/storageaccounts/queueservices
Microsoft.storage/storageaccounts/tableservices
SQL Server Microsoft.sql/servers
Microsoft.sql/servers/databases
Operational Insights Microsoft.operationalinsights/workspaces
Media services Microsoft.media/mediaservices
Microsoft.media/mediaservices/streamingendpoints
Microsoft.media/mediaservices/liveevents
Protección de los datos Microsoft.dataprotection/backupvaults
Azure Kubernetes Service Microsoft.ContainerService/managedClusters

Regiones admitidas

Puede crear un DCR para la exportación de métricas en cualquier región, pero los recursos desde los que desea exportar las métricas deben estar en una de las siguientes regiones:

  • Este de Australia
  • Centro de EE. UU.
  • CentralUsEuap
  • Centro-sur de EE. UU.
  • Este de EE. UU.
  • Este de EE. UU. 2
  • Eastus2Euap
  • Oeste de EE. UU.
  • Oeste de EE. UU. 2
  • Norte de Europa
  • Oeste de Europa
  • Sur de Reino Unido 2

Especificaciones de DCR

Las reglas de recopilación de datos se definen en un objeto JSON. Las siguientes propiedades son necesarias para crear un DCR para la exportación de métricas.

Propiedad Descripción
dataSources.platformTelemetry.streams Enumera los tipos de recursos y las métricas. Especifique Metrics-Group-All para recopilar todas las métricas del recurso o especificar métricas individuales. Formato: <resource type>:Metrics-Group-All | <metric name>
Por ejemplo: Microsoft.Compute/virtualMachines:Percentage CPU
dataSources.platformTelemetry.name El nombre del origen de datos.
destinations Destino de las métricas. Solo se admite un destino por DCR.
Tipos de destinos válidos:
storageAccounts
logAnalytics
eventHubs
dataflows.streams Lista de secuencias que se van a pasar al destino en el formato: <resource type>:Metrics-Group-All |<metric name>
Por ejemplo, Microsoft.Compute/virtualMachines:Percentage CPU"
dataflows.destinations El destino al que se deben pasar los flujos según lo definido en la propiedad destinations.
identity.type Tipo de identidad que se usará para el DCR. Necesario para los destinos de la cuenta de almacenamiento.
Los valores válidos son:
systemAssigned
userAssigned
kind Tipo de regla de recopilación de datos. Establezca esta opción en PlatformTelemetry para la exportación de métricas.
location La ubicación del DCR.

Nota:

Solo se puede especificar un destino por DCR.

Formato JSON para la exportación de DCR de métricas

Use el siguiente formato en el objeto JSON genérico para crear un DCR para la exportación de métricas. Quite los destinos no deseados al copiar el ejemplo.

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

Nota:

Al crear un DCR para la exportación de métricas mediante la CLI, kind, location y identity se pasan como argumentos y se deben quitar del objeto JSON.

Identidades asignadas por el usuario y el sistema

Las identidades asignadas por el usuario y el sistema se admiten al crear DCR. Se requiere una identidad para los destinos de Cuenta de almacenamiento e Event Hubs. Puede usar una identidad asignada por el sistema o por el usuario. Para obtener más información, consulte Asignar roles de Azure a una identidad administrada.

Para usar una identidad asignada por el sistema, agregue el objeto identity de la siguiente manera:

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

Para usar una identidad asignada por el usuario, agregue el objeto identity de la siguiente manera:

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

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

    }

Métricas de filtrado

Al especificar las métricas que se van a exportar, puede filtrar las métricas por nombre o solicitar todas las métricas mediante Metrics-Group-All. Para obtener una lista de las métricas admitidas, consulte Métricas admitidas y categorías de registro por tipo de recurso.

Para especificar más de una métrica del mismo tipo de recurso, cree un elemento de secuencia independiente para cada métrica.

En el ejemplo siguiente se muestra cómo filtrar las métricas por nombre.

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

Objetos JSON de exportación de métricas de muestra

En los ejemplos siguientes se muestran objetos JSON de DCR de ejemplo para la exportación de métricas a cada tipo de destino.

Áreas de trabajo de Log Analytics

En el ejemplo siguiente se muestra una regla de recopilación de datos para métricas que envían métricas específicas de máquinas virtuales, conjuntos de escalado de máquinas virtuales y todas las métricas del almacén de claves a un área de trabajo de 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"
}

Creación de DCR para la exportación de métricas

Cree DCR para la exportación de métricas mediante Azure Portal, la CLI, PowerShell, la API REST o la plantilla de ARM. Para más información, vea Creación y edición de reglas de recopilación de datos (DCR) y asociaciones en Azure Monitor.

Datos exportados

En los ejemplos siguientes se muestran los datos exportados a cada destino.

Áreas de trabajo de Log Analytics

Los datos exportados a un área de trabajo de Log Analytics se almacenan en la tabla AzureMetricsV2 en el área de trabajo de Log Analytics con el formato siguiente:

Columna Type Descripción
Media real Valor medio recopilado durante el intervalo de tiempo.
_BilledSize real Tamaño del registro en bytes
Count real Número de muestras recopiladas durante el intervalo de tiempo.
Dimensión dinámico Dimensión asociada de la métrica en formato JSON.
_IsBillable string Especifica si la ingesta de los datos es facturable. Cuando _IsBillable sea una ingesta false no se facturará a su cuenta de Azure
Máxima real Valor máximo recopilado durante en el intervalo de tiempo.
MetricCategory string Nombre de la categoría de la métrica.
MetricName string Nombre para mostrar de la métrica.
MetricResourceType string Tipo de recurso del recurso de Azure que informa de la métrica.
Mínima real Valor mínimo recopilado durante en el intervalo de tiempo.
_ResourceId string Identificador único del recurso al que está asociado el registro.
SourceSystem string Tipo de agente mediante el que se recopiló el evento. Por ejemplo, OpsManager para el agente de Windows, ya sea conexión directa u Operations Manager, Linux para todos los agentes de Linux o Azure para Azure Diagnostics
_SubscriptionId string Identificador único de la suscripción a la que está asociado el registro.
TenantId string Id. del área de trabajo de Log Analytics
TimeGenerated datetime Marca de tiempo (UTC) de cuando se generó el registro.
TimeGrain string Intervalo de agregación de la métrica.
Total real Suma de todos los valores del intervalo de tiempo.
Tipo string Nombre de la tabla.
UnitName string Unidad de la métrica.

Por ejemplo:

Captura de pantalla de una consulta de Log Analytics de la tabla AzureMetricsV2.

Cuentas de almacenamiento

En el ejemplo siguiente se muestran los datos exportados a una cuenta de almacenamiento:

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

En el ejemplo siguiente se muestra una métrica exportada a 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"
    }

Pasos siguientes