Estructura de una regla de recopilación de datos (DCR) de Azure Monitor
En este artículo se describe la estructura JSON de DCR para aquellos casos en los que es necesario trabajar directamente con su definición.
- Consulte Creación y edición de reglas de recopilación de datos (DCR) en Azure Monitor para más información sobre cómo trabajar con el código JSON que se describe aquí.
- Consulte Reglas de recopilación de datos (DCR) de ejemplo en Azure Monitor para ver DCR de ejemplo para distintos escenarios.
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. |
endpoints 1 |
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.
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 recopilarlabelIncludeFilter - 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 Eventos en formato de evento común en dispositivos de seguridad |
Microsoft-Syslog Microsoft-CommonSecurityLog para CEF |
facilityNames : instalaciones para recogerlogLevels : 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ónextensionSettings : 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 trabajoEsto 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 almacenamientotableName : nombre de la tabla |
storageBlobsDirect |
Almacenamiento de blobs de Azure | storageAccountResourceId : identificador de recurso de la cuenta de almacenamientocontainerName : 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