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 tabelaAzureMetricsV2
.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
, location
e 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 identity
da 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:
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"
}