Estrutura de uma regra de coleta de dados no Azure Monitor

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

Propriedades

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

Property Description
description Descrição opcional da regra de recolha de dados definida pelo utilizador.
dataCollectionEndpointId ID do recurso do ponto de extremidade de coleta de dados (DCE) usado 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 a e metricsIngestion URL logsIngestion dos pontos de extremidade para o DCR. Esta seção e suas propriedades são criadas automaticamente quando o DCR é criado somente se o kind atributo 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. Este parâmetro é descrito mais abaixo.

1 Esta propriedade não foi criada para DCRs criados antes de 31 de março de 2024. DCRs criados antes dessa data exigiam um ponto de extremidade de coleta de dados (DCE) e a dataCollectionEndpointId propriedade a ser especificada. Se você quiser usar esses DCEs incorporados, então você deve criar um novo DCR.

Variante

A kind propriedade no DCR especifica o tipo de coleção para o 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.

Variante Description
Direct Ingestão direta usando a API de ingestão de logs. Os pontos de extremidade são criados para o DCR somente se esse valor de tipo for usado.
AgentDirectToStore Envie os dados coletados para o Armazenamento do Azure e Hubs de Eventos.
AgentSettings Configure os parâmetros do agente do Azure Monitor.
Linux Colete eventos e dados de desempenho de máquinas Linux.
PlatformTelemetry Exporte métricas da plataforma.
Windows Colete eventos e dados de desempenho de máquinas Windows.
WorkspaceTransforms DCR de transformação do espaço de trabalho. Este DCR não inclui um fluxo de entrada.

Visão geral do fluxo de dados 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 específico de coleta de dados. A maioria dos cenários de coleta de dados usa um dos fluxos de entrada, enquanto alguns podem usar ambos.

Nota

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

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

Os dados enviados da API de ingestão de logs usam um 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 e dataSources streamDeclarations. A fonte de dados inclui a configuração

Origens de dados

As fontes de dados são fontes exclusivas de dados de monitoramento, cada uma com seu próprio formato e método de exposição de dados. Cada tipo de fonte de dados tem um conjunto exclusivo de parâmetros que devem ser configurados 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, eventos e dados de desempenho coletados de uma VM com o agente do Azure Monitor (AMA), usam fontes de dados como windowsEventLogs e performanceCounters. Você especifica 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 Description
name Nome para identificar a fonte de dados no DCR.
streams Lista de fluxos que a fonte de dados coletará. Se este for um tipo de dados padrão, como um evento do Windows, o fluxo estará no formato Microsoft-<TableName>. Se for um tipo personalizado, então estará no formulário Custom-<TableName>

Tipos de fonte de dados válidos

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

Tipo de origem de dados Description Fluxos Parâmetros
eventHub Dados dos Hubs de Eventos do Azure. Personalizado1 consumerGroup - Grupo de consumidores do hub de eventos para coletar.
iisLogs Logs do IIS de máquinas Windows Microsoft-W3CIISLog logDirectories - Diretório onde os logs do IIS são armazenados no cliente.
logFiles Texto ou json log em uma máquina virtual Personalizado1 filePatterns - Padrão de pastas e arquivos para arquivos de log a serem 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 balcões que devem ser recolhidos.
prometheusForwarder Dados do Prometheus coletados do cluster Kubernetes. Microsoft-PrometheusMetrics streams - Córregos para coletar
labelIncludeFilter - Lista de filtros de inclusão de rótulos como pares nome-valor. Atualmente, apenas 'microsoft_metrics_include_label' suportado.
syslog Eventos Syslog em máquinas virtuais Linux Microsoft-Syslog facilityNames - Instalações para recolha
logLevels - Níveis de log para coletar
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, uma vez que o esquema dos dados que coletam 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 espaço de trabalho 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 enviados para o ponto de extremidade não precisa corresponder à da tabela de destino. Em vez disso, a saída da transformação aplicada sobre os dados de entrada precisa corresponder à forma de destino.

Tipos de dados

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

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

Destinos

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

Parâmetros comuns

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

Destinos válidos

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

Destino Description Parâmetros obrigatórios
logAnalytics Área de trabalho do Log Analytics workspaceResourceId - ID do recurso do espaço de trabalho.
workspaceID - ID do espaço de trabalho

Isso especifica apenas o espaço de trabalho, não a tabela para onde os dados serão enviados. Se for um destino conhecido, nenhuma tabela precisa ser especificada. Para 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 armazenamento 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 recipiente de blob
eventHubsDirect Hubs de Eventos eventHubsDirect - ID do recurso do hub de eventos.

Importante

Um fluxo só pode ser enviado para um espaço de trabalho do Log Analytics em um DCR. Você pode ter várias dataFlow entradas para um único fluxo se eles 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 aos fluxos de entrada com os destinos. Cada fonte de dados pode, opcionalmente, especificar uma transformação e, em alguns casos, especificar uma tabela específica no espaço de trabalho do Log Analytics.

Propriedades de fluxo de dados

Secção Description
streams Um ou mais fluxos definidos na seção de fluxos de entrada. Você pode incluir vários fluxos em um único fluxo de dados se quiser enviar várias fontes de dados para o mesmo destino. Use apenas um único fluxo se o fluxo de dados incluir uma transformação. Um fluxo também pode ser usado por vários fluxos de dados quando você deseja enviar uma fonte de dados específica para várias tabelas no mesmo espaço de trabalho do Log Analytics.
destinations Um ou mais destinos da destinations seção acima. Vários destinos são permitidos para cenários de vários homing.
transformKql Transformação opcional aplicada ao fluxo de entrada. A transformação deve compreender 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 apenas um único fluxo.
outputStream Descreve qual tabela no espaço de trabalho especificado na propriedade para a qual os destination 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 os dados estão sendo ingeridos em uma tabela personalizada. Apenas 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 eles são enviados para tabelas predefinidas.

Próximos passos

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