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.
- Consulte Criar e editar regras de coleta de dados (DCRs) no Azure Monitor para obter detalhes sobre como trabalhar com o JSON descrito aqui.
- Consulte Regras de coleta de dados de exemplo (DCRs) no Azure Monitor para exemplos de DCRs para diferentes cenários.
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. |
endpoints 1 |
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.
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 coletarlabelIncludeFilter - 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 recolhalogLevels - 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ã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, 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 trabalhoIsso 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 armazenamentotableName - Nome da tabela |
storageBlobsDirect |
Armazenamento de Blobs do Azure | storageAccountResourceId - ID do recurso da conta de armazenamentocontainerName - 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