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.
- Consulte Criar e editar DCRs (regras de coleta de dados) no Azure Monitor para obter detalhes sobre como trabalhar com o JSON descrito aqui.
- Consulte DCRs (regras de coleta de dados) de amostra no Azure Monitor para obter DCRs de amostra em cenários diferentes.
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. |
endpoints 1 |
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.
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 coletadoslabelIncludeFilter - 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 coletarlogLevels – 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ãoextensionSettings – 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 workspaceIsso 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 armazenamentotableName – Nome da tabela |
storageBlobsDirect |
Armazenamento de Blobs do Azure | storageAccountResourceId – ID do recurso da conta de armazenamentocontainerName - 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