Compartilhar via


Estrutura de uma regra de coleta de dados no Azure Monitor

As DCRs (regras de coleta de dados) são conjuntos de instruções que determinam como coletar e processar a telemetria enviada ao Azure Monitor. Algumas DCRs serão criadas e gerenciadas pelo Azure Monitor. Este artigo descreve a estrutura JSON dos DCRs para criá-los e editá-los nos casos em que você precisa trabalhar com eles diretamente.

Propriedades

A tabela a seguir descreve as propriedades no nível superior do DCR.

Propriedade Descrição
description Descrição opcional da regra de coleta de dados definida pelo usuário.
dataCollectionEndpointId A ID do recurso do DCE (ponto de extremidade de coleta de dados) usada pelo DCR se você forneceu um quando o DCR foi criado. Essa propriedade não está presente em DCRs que não usam um DCE.
endpoints1 Contém o URL logsIngestion e metricsIngestion dos pontos de extremidade para o DCR. Esta seção e suas propriedades são criadas automaticamente quando o DCR é criado somente se o atributo kind no DCR for Direct.
immutableId Um identificador exclusivo para a regra de coleta de dados. Essa propriedade e seu valor são criados automaticamente quando o DCR é criado.
kind Especifica o cenário de coleta de dados para o qual o DCR é usado. Esse parâmetro é descrito abaixo.

1Essa propriedade não foi criada para DCRs criados antes de 31 de março de 2024. Os DCRs criados antes dessa data exigiam que um DCE (ponto de extremidade de coleta de dados) e a dataCollectionEndpointId propriedade fossem especificadas. Se você quiser usar esses DCEs inseridos, será necessário criar um novo DCR.

Kind

A propriedade kind no DCR especifica o tipo de coleção para a qual o DCR é usado. Cada tipo de DCR tem uma estrutura e propriedades diferentes.

A tabela a seguir lista os diferentes tipos de DCRs e seus detalhes.

Kind Descrição
Direct Ingestão direta usando a API de ingestão de logs. Os pontos de extremidade serão criados para o DCR somente se esse tipo de valor for usado.
AgentDirectToStore Envie dados coletados ao Armazenamento do Azure e ao Hubs de Eventos.
AgentSettings Configure os parâmetros do agente do Azure Monitor.
Linux Colete eventos e dados de desempenho de computadores Linux.
PlatformTelemetry Exporte as métricas da plataforma.
Windows Colete eventos e dados de desempenho de computadores Windows.
WorkspaceTransforms DCR de transformação do workspace. Esse DCR não inclui um fluxo de entrada.

Visão geral do fluxo de dados do DCR

O fluxo básico de um DCR é mostrado no diagrama a seguir. Cada um dos componentes é descrito nas seções a seguir.

Diagrama que ilustra a relação entre as diferentes seções de um DCR.

Fluxos de entrada

A seção de fluxo de entrada de um DCR define os dados de entrada que estão sendo coletados. Há dois tipos de fluxo de entrada, dependendo do cenário de coleta de dados específico. A maioria dos cenários de coleta de dados usa um dos fluxos de entrada, enquanto alguns podem usar ambos.

Observação

Os DCRs de transformação do workspace não têm um fluxo de entrada.

Fluxo de entrada Descrição
dataSources Tipo de dados conhecido. Geralmente, esses dados são processados pelo agente do Azure Monitor e entregues ao Azure Monitor usando um tipo de dados conhecido.
streamDeclarations Os dados personalizados que precisam ser definidos no DCR.

Os dados enviados da API de ingestão de logs usam uma streamDeclaration com o esquema dos dados de entrada. Isso ocorre porque a API envia dados personalizados que podem ter qualquer esquema.

Os logs de texto do AMA são um exemplo de coleta de dados que requer dataSources e streamDeclarations. A fonte de dados inclui a configuração

Fontes de dados

As fontes de dados são fontes exclusivas de dados de monitoramento que cada um tem seu próprio formato e método de expor seus dados. Cada tipo de fonte de dados tem um conjunto exclusivo de parâmetros que deve ser configurado para cada fonte de dados. Os dados retornados pela fonte de dados normalmente são um tipo conhecido, portanto, o esquema não precisa ser definido no DCR.

Por exemplo, os eventos e dados de desempenho coletados de uma VM com o AMA (agente do Azure Monitor), usam fontes de dados como windowsEventLogs e performanceCounters. Você especifica os critérios para os eventos e contadores de desempenho que deseja coletar, mas não precisa definir a estrutura dos dados em si, pois esse é um esquema conhecido para possíveis dados de entrada.

Parâmetros comuns

Todos os tipos de fonte de dados compartilham os seguintes parâmetros comuns.

Parâmetro Descrição
name Nome para identificar a fonte de dados no DCR.
streams Lista de fluxos que a fonte de dados coletará. Se esse for um tipo de dados padrão, como um evento do Windows, o fluxo estará no formulário Microsoft-<TableName>. Se for um tipo personalizado, ele estará no formulário Custom-<TableName>

Tipos de fonte de dados válidos

Os tipos de fonte de dados disponíveis atualmente são listados na tabela a seguir.

Tipo de fonte de dados Descrição Fluxos Parâmetros
eventHub Dados dos Hubs de Eventos do Azure. Personalizado 1 consumerGroup – Grupo de consumidores do hub de eventos a ser coletado.
iisLogs Logs do IIS de computadores Windows Microsoft-W3CIISLog logDirectories – Diretório onde os logs do IIS são armazenados no cliente.
logFiles Log de texto ou json em uma máquina virtual Personalizado 1 filePatterns – Padrão de pasta e arquivo para que os arquivos de log sejam coletados do cliente.
format - json ou texto
performanceCounters Contadores de desempenho para máquinas virtuais Windows e Linux Microsoft-Perf
Microsoft-InsightsMetrics
samplingFrequencyInSeconds – Frequência com que os dados de desempenho devem ser amostrados.
counterSpecifiers – Objetos e contadores que devem ser coletados.
prometheusForwarder Dados do Prometheus coletados dos clusters de Kubernetes. Microsoft-PrometheusMetrics streams - Fluxos a serem coletados
labelIncludeFilter - Lista de filtros de inclusão de rótulos como pares nome-valor. Atualmente, somente “microsoft_metrics_include_label” é suportado.
syslog Eventos syslog em máquinas virtuais Linux Microsoft-Syslog facilityNames – Instalações para coletar
logLevels – Níveis de log a serem coletados
windowsEventLogs Log de eventos do Windows em máquinas virtuais Microsoft-Event xPathQueries – XPaths especificando os critérios para os eventos que devem ser coletados.
extension Fonte de dados baseada em extensão usada pelo agente do Azure Monitor. Varia de acordo com a extensão extensionName – Nome da extensão
extensionSettings – Valores para cada configuração exigida pela extensão

1 Essas fontes de dados usam uma fonte de dados e uma declaração de fluxo, pois o esquema dos dados coletados pode variar. O fluxo usado na fonte de dados deve ser o fluxo personalizado definido na declaração de fluxo.

Declarações de fluxo

Declaração dos diferentes tipos de dados enviados para o workspace do Log Analytics. Cada fluxo é um objeto cuja chave representa o nome do fluxo, que deve começar com Custom-. O fluxo contém uma lista completa de propriedades de nível superior contidas nos dados JSON que serão enviados. A forma dos dados que são enviados ao ponto de extremidade não precisa corresponder à forma da tabela de destino. Em vez disso, a saída da transformação aplicada aos dados de entrada precisa corresponder à forma do destino.

Tipos de dados

Os tipos de dados que podem ser atribuídos às propriedades são:

  • string
  • int
  • long
  • real
  • boolean
  • dynamic
  • datetime.

Destinos

A seção destinations inclui uma entrada para cada destino em que os dados serão enviados. Esses destinos são combinados com os fluxos de entrada na seção dataFlows.

Parâmetros comuns

Parâmetros Descrição
name Nome para identificar o destino na seção dataSources.

Destinos válidos

Os destinos disponíveis atualmente estão listados na tabela a seguir.

Destino Descrição Parâmetros obrigatórios
logAnalytics Espaço de Trabalho do Log Analytics workspaceResourceId – ID do recurso do workspace.
workspaceID – ID do workspace

Isso especifica apenas o workspace, não a tabela para onde os dados serão enviados. Se for um destino conhecido, nenhuma tabela precisa ser especificada. Para as tabelas personalizadas, a tabela é especificada na fonte de dados.
azureMonitorMetrics Métricas do Azure Monitor Nenhuma configuração é necessária, pois há apenas um único repositório de métricas para a assinatura.
storageTablesDirect Armazenamento de Tabelas do Azure storageAccountResourceId – ID do recurso da conta de armazenamento
tableName – Nome da tabela
storageBlobsDirect Armazenamento de Blobs do Azure storageAccountResourceId – ID do recurso da conta de armazenamento
containerName - Nome do contêiner de blob
eventHubsDirect Hubs de Eventos eventHubsDirect – ID do recurso do hub de eventos.

Importante

Um fluxo só pode enviar para um espaço de trabalho do Log Analytics em um DCR. Você pode ter várias entradas dataFlow para um único fluxo se elas estiverem usando tabelas diferentes no mesmo espaço de trabalho. Se você precisar enviar dados para vários espaços de trabalho do Log Analytics a partir de um único fluxo, crie um DCR separado para cada espaço de trabalho.

Fluxos de dados

Os fluxos de dados correspondem a fluxos de entrada com destinos. Cada fonte de dados pode, opcionalmente, especificar uma transformação e, em alguns casos, especificará uma tabela específica no workspace do Log Analytics.

Propriedades de fluxo de dados

Seção Descrição
streams Um ou mais fluxos definidos na seção de fluxos de entrada. Você poderá incluir vários fluxos em um único fluxo de dados se quiser enviar várias fontes de dados para o mesmo destino. No entanto, use apenas um único fluxo se o fluxo de dados incluir uma transformação. Um fluxo também poderá ser usado por vários fluxos de dados quando você quiser enviar uma fonte de dados específica para várias tabelas no mesmo workspace do Log Analytics.
destinations Um ou mais destinos da seção destinations acima. Vários destinos são permitidos para cenários de hospedagem múltipla.
transformKql Transformação opcional aplicada ao fluxo de entrada. A transformação deve entender o esquema dos dados de entrada e de saída no esquema da tabela de destino. Se você usar uma transformação, o fluxo de dados deverá usar somente um único fluxo.
outputStream Descreve para qual tabela no workspace especificado na propriedade destination os dados serão enviados. O valor de outputStream tem o formato Microsoft-[tableName] quando os dados estão sendo ingeridos em uma tabela padrão, ou Custom-[tableName] quando eles são ingeridos em uma tabela personalizada. Somente um destino é permitido por fluxo.

Essa propriedade não é usada para fontes de dados conhecidas do Azure Monitor, como eventos e dados de desempenho, pois elas são enviadas para tabelas predefinidas.

Próximas etapas

Visão geral das regras de coleta de dados e dos métodos para criá-las