Compartilhar via


Exportação de métricas por meio de regras de coleta de dados (Versão prévia)

As regras de coleta de dados (DCRs) são usadas para coletar dados de monitoramento de seus recursos do Azure. Para obter uma lista do cenário de coleta de dados, consulte Visão geral das regras de coleta de dados. Agora você pode usar as DCRs para coletar e exportar métricas da plataforma.

Atualmente, as métricas da plataforma podem ser coletadas usando as DCR e as configurações de diagnóstico. Um número crescente de recursos oferece suporte à exportação de métricas usando as DCRs. Consulte Recursos e regiões com suporte para obter uma lista de recursos com suporte.

O uso de DCRs para exportar métricas oferece as seguintes vantagens em relação às configurações de diagnóstico:

  • A configuração das DCR permite exportar métricas com dimensões.
  • A configuração das DCR habilita a filtragem com base no nome da métrica para que você possa exportar apenas as métricas necessárias.
  • As DCRs são mais flexíveis e escalonáveis em comparação com as Configurações de Diagnóstico.
  • A latência de ponta a ponta para as DCRs é em até 3 minutos. Essa é uma melhoria importante em relação às Configurações de Diagnóstico em que a latência de exportação de métricas é de 6 a 10 minutos.

Use a exportação de métricas por meio de DCRs para exportação contínua de dados de métricas. Para consultar dados históricos, use a API do lote de métricas do plano de dados. Para obter uma comparação dos dois serviços, consulte Consulta de API do lote de métricas do plano de dados versus exportação de métricas.

Crie DCRs para métricas usando a API REST, a CLI do Azure ou o Azure PowerShell. Para obter informações sobre como criar DCRs para exportação de métricas, consulte Criar regras de coleta de dados para métricas.

Ao criar uma DCR, você deve criar uma associação de regra de coleta de dados (DCRA) para associar a DCR ao recurso a ser monitorado. Você pode criar uma única DCR para vários tipos de recursos. Para obter informações sobre como criar uma DCRA, consulte Criar associações de regra de coleta de dados. Ao usar o portal do Azure, a DCRA é criada automaticamente.

Observação

É possível usar DCRs e configurações de diagnóstico ao mesmo tempo. Recomendamos desabilitar as configurações de diagnóstico para métricas ao usar as DCRs para evitar a coleta de dados duplicada.

Destinos de exportação

As métricas podem ser exportadas para um dos seguintes destinos por meio da DCR:

  • Workspaces do Log Analytics

    A exportação para os workspaces do Log Analytics pode estar entre regiões. O workspace do Log Analytics e a DCR devem estar na mesma região, mas os recursos que estão sendo monitorados podem estar em qualquer região. As métricas enviadas para um workspace do Log Analytics são armazenadas na tabela AzureMetricsV2.

  • Contas de armazenamento do Azure

    A conta de armazenamento, a DCR e os recursos que estão sendo monitorados devem estar todos na mesma região.

  • Hubs de Eventos.

    Os Hubs de Eventos, a DCR e os recursos que estão sendo monitorados devem estar todos na mesma região.

Para obter um exemplo dos dados em cada destino, consulte Dados exportados.

Observação

A latência para exportar métricas é de aproximadamente 3 minutos. Aguarde aproximadamente 15 minutos para que as métricas comecem a aparecer no destino após a configuração inicial.

Limitações

As DCRs para exportação de métricas têm as seguintes limitações:

  • Somente um tipo de destino por DCR pode ser especificado.
  • Um máximo de 5 DCRs pode ser associado a um único Recurso do Azure.
  • A exportação de métricas por DCR não dá suporte à exportação de métricas de granularidade por hora.

Recursos e regiões com suporte

Os recursos a seguir oferecem suporte à exportação de métricas usando regras de coleta de dados:

Tipo de recurso Especificação do fluxo de dados
Conjuntos de escala de Máquina Virtual Microsoft.compute/virtualmachinescalesets
Máquinas virtuais Microsoft.compute/virtualmachines
Cache Redis Microsoft.cache/redis
Hubs de IoT Microsoft.devices/iothubs
Cofres de chaves Microsoft.keyvault/vaults
Contas de armazenamento 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/servidores/bancos de dados
Insights Operacionais Microsoft.operationalinsights/workspaces
Proteção de dados Microsoft.dataprotection/backupvaults
Serviço de Kubernetes do Azure Microsoft.ContainerService/managedClusters

Regiões com suporte

Você pode criar uma DCR para exportação de métricas em qualquer região, mas os recursos dos quais você deseja exportar as métricas devem estar em uma das seguintes regiões:

  • Leste da Austrália
  • Centro dos EUA
  • CentralUsEuap
  • Centro-Sul dos EUA
  • Leste dos EUA
  • Leste dos EUA 2
  • Eastus2Euap
  • Oeste dos EUA
  • Oeste dos EUA 2
  • Norte da Europa
  • Europa Ocidental
  • Sul do Reino Unido

Especificações da DCR

As regras de coleta de dados são definidas em um objeto JSON. As propriedades a seguir são necessárias para criar uma DCR para exportação de métricas.

Propriedade Descrição
dataSources.platformTelemetry.streams Lista os tipos de recursos e as métricas. Especifique Metrics-Group-All para coletar todas as métricas do recurso ou especificar métricas individuais. Formato: <resource type>:Metrics-Group-All \| <metric name>

Exemplo: Microsoft.Compute/virtualMachines:Percentage CPU
dataSources.platformTelemetry.name O nome da fonte de dados.
destinations O destino das métricas. Apenas um destino por DCR é permitido.
Tipos de destinos válidos:
storageAccounts
logAnalytics
eventHubs
dataflows.streams Uma lista dos fluxos a serem passados para o destino no formato: <resource type>:Metrics-Group-All \| <metric name>

Exemplo: Microsoft.Compute/virtualMachines:Percentage CPU
dataflows.destinations O destino para o qual passar os fluxos conforme definido na propriedade destinations.
identity.type O tipo de identidade a ser usado para a DCR. Necessário para destinos de conta de armazenamento.
Valores válidos:
systemAssigned
userAssigned
kind O tipo da regra de coleta de dados. Defina como PlatformTelemetry para exportação de métricas.
location A localização da DCR.

Observação

Somente um tipo de destino por DCR pode ser especificado.

Formato JSON para exportação de métricas da DCR

Use o formato do objeto JSON genérico a seguir para criar uma DCR que possibilite a exportação de métricas. Remova os destinos indesejados ao copiar o exemplo.

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

Observação

Ao criar uma DCR para exportação de métricas usando a CLI, kind, locatione identity são passados como argumentos e devem ser removidos do objeto JSON.

Identidades atribuídas pelo usuário e pelo sistema

Há suporte para identidades atribuídas pelo usuário e pelo sistema ao criar as DCRs. Uma identidade é necessária para destinos da Conta de Armazenamento e dos Hubs de Eventos. Você pode usar uma identidade atribuída pelo sistema ou pelo usuário. Para obter mais informações, veja Atribuir funções do Azure a uma identidade gerenciada.

Para usar uma identidade atribuída pelo sistema, adicione o objeto identityda seguinte maneira:

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

Para usar uma identidade atribuída pelo usuário, adicione o objeto identity da seguinte maneira:

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

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

    }

Filtrando métricas

Ao especificar as métricas a serem exportadas, você pode filtrar as métricas por nome ou solicitar todas as métricas usando Metrics-Group-All. Para obter uma lista de métricas com suporte, consulte Métricas com suporte e categorias de log por tipo de recurso.

Para especificar mais de uma métrica do mesmo tipo de recurso, crie um item de fluxo separado para cada métrica.

O exemplo a seguir mostra como filtrar as métricas por nome.

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

As métricas de exemplo exportam objetos JSON

Os exemplos a seguir exibem amostras de objetos JSON DCR para exportação de métricas para cada tipo de destino.

Workspaces do Log Analytics

O exemplo a seguir mostra uma regra de coleta de dados para métricas que envia métricas específicas de máquinas virtuais, conjuntos de dimensionamento de máquinas virtuais e todas as métricas do Key Vault para um espaço de trabalho do 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"
}

Criar uma DCR para exportação de métricas

Crie DCRs para exportação de métricas usando o portal do Azure, a CLI, o PowerShell, a API REST ou o modelo do ARM. Para obter mais informações, confira Criar uma DCR (regra de coleta de dados) para a exportação de métricas.

Dados exportados

Os exemplos a seguir mostram os dados exportados para cada destino.

Workspaces do Log Analytics

Os dados exportados para um workspace do Log Analytics são armazenados na tabela AzureMetricsV2 no workspace do Log Analytics no seguinte formato:

Coluna Tipo Descrição
Mediano verdadeiro Valor médio coletado durante o intervalo de tempo.
_BilledSize verdadeiro O tamanho do registro em bytes
Contagem verdadeiro Número de amostras coletadas durante o intervalo de tempo.
Dimensão dinâmico Dimensão associada da métrica no formato JSON.
_IsBillable cadeia de caracteres Especifica se a ingestão dos dados é faturável. Quando _IsBillable é false a ingestão não é cobrada para sua conta do Azure
Máximo verdadeiro Valor máximo coletado durante o intervalo de tempo.
MetricCategory cadeia de caracteres Nome da categoria da métrica.
MetricName cadeia de caracteres Nome de exibição da métrica.
MetricResourceType cadeia de caracteres Tipo de recurso do Azure que relata a métrica.
Mínimo verdadeiro Valor mínimo coletado durante o intervalo de tempo.
_IdentificadorDeRecurso cadeia de caracteres Identificador exclusivo do recurso ao qual o registro está associado
Sistema de origem cadeia de caracteres O tipo de agente pelo qual o evento foi coletado. Por exemplo, OpsManager para agentes Windows, seja por conexão direta ou através do Operations Manager, Linux para todos os agentes Linux, ou Azure para Azure Diagnostics.
_ID de Assinatura cadeia de caracteres Identificador exclusivo da assinatura à qual o registro está associado
TenantId (ID do Inquilino) cadeia de caracteres O ID da área de trabalho do Log Analytics
TimeGenerated Data e hora O timestamp (UTC) de quando o registro foi gerado.
TimeGrain cadeia de caracteres Granularidade temporal da métrica.
Total verdadeiro Soma de todos os valores no intervalo de tempo.
Tipo cadeia de caracteres O nome da tabela
Nome da Unidade cadeia de caracteres Unidade da métrica.

Por exemplo:

Uma captura de tela de uma consulta de análise de logs da tabela AzureMetricsV2.

Contas de armazenamento

O exemplo a seguir mostra os dados exportados para uma conta de armazenamento:

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

Hubs de Eventos

O exemplo a seguir mostra uma métrica exportada para os Hubs de Eventos.

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

Próximas etapas