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 as DCRs e as 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 Microsoft Azure.
    A conta de armazenamento, a DCR e os recursos que estão sendo monitorados devem estar todos na mesma região.

  • Hubs de Evento.
    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 granulação 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 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/servers/databases
Insights Operacionais Microsoft.operationalinsights/workspaces
Serviços de mídia Microsoft.media/mediaservices
Microsoft.media/mediaservices/streamingendpoints
Microsoft.media/mediaservices/liveevents
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 Estados Unidos
  • 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 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>
Por 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>
Por 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, consulte 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 cofre de chaves para um workspace 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, consulte Criar e editar regras de coleta de dados (DCRs) e associações no Azure Monitor.

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 Type Descrição
Média real Valor médio coletado durante o intervalo de tempo.
_BilledSize real O tamanho do registro em bytes
Count real Número de amostras coletadas durante o intervalo de tempo.
Dimensão dinâmico Dimensão associada da métrica no formato JSON.
_IsBillable string 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 real Valor máximo coletado durante o intervalo de tempo.
MetricCategory string Nome da categoria da métrica.
MetricName string Nome de exibição da métrica.
MetricResourceType string Tipo de recurso do Azure gerando relatórios da métrica.
Mínimo real Valor mínimo coletado durante o intervalo de tempo.
_ResourceId string Identificador exclusivo do recurso ao qual o registro está associado
SourceSystem string O tipo de agente pelo qual o evento foi coletado. Por exemplo, OpsManager para agente do Windows, conexão direta ou Operations Manager, Linux para todos os agentes do Linux ou Azure para o Diagnóstico do Azure
_SubscriptionId string Identificador exclusivo da assinatura à qual o registro está associado
TenantId string A ID do workspace do Log Analytics
TimeGenerated datetime O carimbo de data/hora (UTC) de quando o registro foi gerado.
TimeGrain string A granularidade de tempo da métrica.
Total real Soma de todos os valores no intervalo de tempo.
Type string O nome da tabela
UnitName string 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