Compartir a través de


Estructura de una regla de recopilación de datos de Azure Monitor

Las reglas de recopilación de datos (DCR) son conjuntos de instrucciones que determinan cómo recopilar y procesar la telemetría enviada a Azure Monitor. Azure Monitor creará y administrará algunos DCR. En este artículo se describe la estructura JSON de DCR para crearlas y editarlas en aquellos casos en los que necesite trabajar directamente con ellos.

Propiedades

En la tabla siguiente se describen las propiedades en el nivel superior del DCR.

Propiedad Descripción
description Descripción opcional de la regla de recopilación de datos definida por el usuario.
dataCollectionEndpointId Identificador de recurso del punto de conexión de recopilación de datos (DCE) usado por el DCR si proporcionó uno cuando se creó el DCR. Esta propiedad no está presente en las DCR que no usan un DCE.
endpoints1 Contiene la dirección URL de logsIngestion y metricsIngestion de los puntos de conexión del DCR. Esta sección y sus propiedades se crean automáticamente cuando se crea el DCR solo si el atributo kind del DCR es Direct.
immutableId Identificador único de la regla de recopilación de datos. Esta propiedad y su valor se crean automáticamente cuando se crea el DCR.
kind Especifica el escenario de recopilación de datos para el que se usa DCR. Este parámetro se describe más adelante.

1Esta propiedad no se creó para DCR creada antes del 31 de marzo de 2024. Los DCR creados antes de esta fecha requerían un punto de conexión de recopilación de datos (DCE) y que se especificara la propiedad dataCollectionEndpointId. Si desea usar estos DCE insertados, debe crear un DCR nuevo.

Variante

La propiedad kind del DCR especifica el tipo de colección para la que se usa el DCR. Cada tipo de DCR tiene una estructura y propiedades diferentes.

En la tabla siguiente se enumeran los diferentes tipos de DCR y sus detalles.

Variante Descripción
Direct Ingesta directa mediante la API de ingesta de registros. Los puntos de conexión se crean para DCR solo si se usa este valor de tipo.
AgentDirectToStore Envíe datos recopilados a Azure Storage y Event Hubs.
AgentSettings Configure los parámetros del agente de Azure Monitor.
Linux Recopile de eventos y datos de rendimiento de máquinas Linux.
PlatformTelemetry Exporte de métricas de plataforma.
Windows Recopile eventos y datos de rendimiento de máquinas Windows.
WorkspaceTransforms DCR de transformación del área de trabajo. Este DCR no incluye un flujo de entrada.

Información general sobre el flujo de datos de DCR

El flujo básico de un DCR se muestra en el diagrama siguiente. Cada uno de los componentes se describe en las secciones siguientes.

Diagrama que muestra la relación entre las distintas secciones de un DCR.

Flujos de entrada

La sección de flujo de entrada de un DCR define los datos entrantes que se recopilan. Hay dos tipos de flujo entrantes, en función del escenario de recopilación de datos concreto. La mayoría de los escenarios de recopilación de datos usan uno de los flujos de entrada, mientras que algunos pueden usar ambos.

Nota:

Los DCR de transformación del área de trabajo no tienen un flujo de entrada.

Flujo de entrada. Descripción
dataSources Tipo conocido de datos. Esto suele ser los datos procesados por el agente de Azure Monitor y entregados a Azure Monitor mediante un tipo de datos conocido.
streamDeclarations Datos personalizados que deben definirse en el DCR.

Los datos enviados desde la API de ingesta de registros usan un streamDeclaration con el esquema de los datos entrantes. Esto se debe a que la API envía datos personalizados que pueden tener cualquier esquema.

Los registros de texto de AMA son un ejemplo de recopilación de datos que requiere dataSources y streamDeclarations. El origen de datos incluye la configuración.

Orígenes de datos

Los orígenes de datos son orígenes únicos de datos de supervisión que cada uno tiene su propio formato y método para exponer sus datos. Cada tipo de origen de datos tiene un conjunto único de parámetros que se deben configurar para cada origen de datos. Los datos devueltos por el origen de datos suelen ser un tipo conocido, por lo que no es necesario definir el esquema en el DCR.

Por ejemplo, los eventos y los datos de rendimiento recopilados de una máquina virtual con el agente de Azure Monitor (AMA), usan orígenes de datos como windowsEventLogs y performanceCounters. Especifique criterios para los eventos y contadores de rendimiento que desea recopilar, pero no es necesario definir la estructura de los datos en sí, ya que se trata de un esquema conocido para los posibles datos entrantes.

Parámetros comunes

Todos los tipos de origen de datos comparten los siguientes parámetros comunes.

Parámetro Descripción
name Nombre para identificar el origen de datos en el DCR.
streams Lista de flujos que recopilará el origen de datos. Si se trata de un tipo de datos estándar, como un evento de Windows, la secuencia estará en el formulario Microsoft-<TableName>. Si es un tipo personalizado, estará en el formulario Custom-<TableName>

Tipos de origen de datos válidos

Los tipos de orígenes de datos disponibles actualmente se muestran en la tabla siguiente.

Tipo de origen de datos Descripción Secuencias Parámetros
eventHub Datos de Azure Event Hubs Personalizado 1 consumerGroup: grupo de consumidores del centro de eventos del que se va a recopilar.
iisLogs Registros de IIS desde máquinas Windows Microsoft-W3CIISLog logDirectories: directorio donde se almacenan los registros de IIS en el cliente.
logFiles Inicio de sesión de texto o json en una máquina virtual Personalizado 1 filePatterns: patrón de carpeta y archivo para los archivos de registro que se van a recopilar del cliente.
format - json o texto
performanceCounters Contadores de rendimiento para máquinas virtuales Windows y Linux Microsoft-Perf
Microsoft-InsightsMetrics
samplingFrequencyInSeconds: frecuencia con la que se deben muestrear los datos de rendimiento.
counterSpecifiers: objetos y contadores que se deben recopilar.
prometheusForwarder Datos de Prometheus recopilados del clúster de Kubernetes. Microsoft-PrometheusMetrics streams: Secuencias que se van a recopilar
labelIncludeFilter - Lista de filtros de inclusión de etiquetas como pares nombre-valor. Actualmente solo se admite "microsoft_metrics_include_label".
syslog Eventos Syslog en máquinas virtuales Linux Microsoft-Syslog facilityNames: instalaciones para recoger
logLevels: niveles de registro que se van a recopilar
windowsEventLogs Registro de eventos de Windows en máquinas virtuales Microsoft-Event xPathQueries: XPaths que especifica los criterios para los eventos que se deben recopilar.
extension Origen de datos basado en extensiones usado por el agente de Azure Monitor. Varía según la extensión extensionName: nombre de la extensión
extensionSettings: valores para cada configuración requerida por la extensión

1 Estos orígenes de datos usan un origen de datos y una declaración de flujo, ya que el esquema de los datos que recopilan puede variar. La secuencia usada en el origen de datos debe ser la secuencia personalizada definida en la declaración de flujo.

Declaraciones de flujo

Declaración de los distintos tipos de datos enviados al área de trabajo de Log Analytics. Cada secuencia es un objeto cuya clave representa el nombre de la secuencia, que debe comenzar con Custom-. La secuencia contiene una lista completa de las propiedades de nivel superior contenidas en los datos JSON que se enviarán. La forma de los datos que envía al punto de conexión no tiene por qué coincidir con la de la tabla de destino. En su lugar, la salida de la transformación que se aplica sobre los datos de entrada debe coincidir con la forma de destino.

Tipos de datos

Los posibles tipos de datos que se pueden asignar a las propiedades son:

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

Destinos

La sección destinations incluye una entrada para cada destino donde se enviarán los datos. Estos destinos coinciden con flujos de entrada en la sección dataFlows.

Parámetros comunes

Parámetros Descripción
name Nombre para identificar el destino en la sección dataSources.

Destinos válidos

Los destinos disponibles actualmente se muestran en la tabla siguiente.

Destino Descripción Parámetros obligatorios
logAnalytics Área de trabajo de Log Analytics workspaceResourceId: identificador de recurso del área de trabajo.
workspaceID: Id. del área de trabajo

Esto solo especifica el área de trabajo, no la tabla donde se enviarán los datos. Si es un destino conocido, no es necesario especificar ninguna tabla. Para las tablas personalizadas, la tabla se especifica en el origen de datos.
azureMonitorMetrics Métricas de Azure Monitor No se requiere ninguna configuración, ya que solo hay un único almacén de métricas para la suscripción.
storageTablesDirect Azure Table storage storageAccountResourceId: identificador de recurso de la cuenta de almacenamiento
tableName: nombre de la tabla
storageBlobsDirect Almacenamiento de blobs de Azure storageAccountResourceId: identificador de recurso de la cuenta de almacenamiento
containerName : nombre del contenedor de blobs
eventHubsDirect Event Hubs eventHubsDirect: identificador de recurso del centro de eventos.

Importante

Una secuencia solo puede enviar a un área de trabajo de Log Analytics en un DCR. Puede tener varias entradas de dataFlow para una sola secuencia si usan tablas diferentes en el mismo área de trabajo. Si necesita enviar datos a varios áreas de trabajo de Log Analytics desde una sola secuencia, cree un DCR independiente para cada área de trabajo.

Flujos de datos

Los flujos de datos coinciden con flujos de entrada con destinos. Cada origen de datos puede especificar opcionalmente una transformación y, en algunos casos, especificará una tabla específica en el área de trabajo de Log Analytics.

Propiedades del flujo de datos

Sección Descripción
streams Una o varias secuencias definidas en la sección de flujos de entrada. Puede incluir varias secuencias en un único flujo de datos si desea enviar varios orígenes de datos al mismo destino. Solo use una sola secuencia si el flujo de datos incluye una transformación. Una secuencia también se puede usar en varios flujos de datos cuando desee enviar un origen de datos determinado a varias tablas en la misma área de trabajo de Log Analytics.
destinations Uno o varios destinos de la sección destinations anterior. Se permiten varios destinos para escenarios de hospedaje múltiple.
transformKql Transformación opcional aplicada a la secuencia entrante. La transformación debe reconocer el esquema de los datos entrantes y los datos de salida en el esquema de la tabla de destino. Si usa una transformación, el flujo de datos solo debe usar una sola secuencia.
outputStream Describe a qué tabla del área de trabajo especificada en la propiedad destination se enviarán los datos. El valor de outputStream tiene el formato Microsoft-[tableName] cuando se ingieren datos en una tabla estándar o Custom-[tableName] al ingerir datos en una tabla personalizada. Solo se permite un destino por flujo.

Esta propiedad no se usa para orígenes de datos conocidos de Azure Monitor, como eventos y datos de rendimiento, ya que se envían a tablas predefinidas.

Pasos siguientes

Introducción a las reglas de recopilación de datos y métodos para crearlas