Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
- Para más información sobre cómo trabajar con el json descrito en este artículo, consulte Creación y edición de DCR.
- Para obtener ejemplos de diferentes escenarios, consulte Sample DCR en Azure Monitor.
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 proporciona uno al crear el CONTROLADOR de dominio. Esta propiedad no está presente en las DCR que no usan un DCE. |
endpoints
1 |
Contiene la URL de los puntos de conexión logsIngestion y metricsIngestion 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 en la sección siguiente. |
transformations |
(Versión preliminar) Matriz de canalizaciones de transformación con nombre usadas por transformaciones de varias fases. Cada entrada define un procesador de encabezados y una secuencia ordenada de procesadores. Referencia de dataSources y dataFlows a través de la transform propiedad . Requiere la versión 2025-05-11 de LA API o posterior. Consulte Transformaciones. |
1 Esta propiedad no se creó para DCRs creados 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 incrustados, debe crear un controlador de dominio 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. |
AgentSettings |
Configure los parámetros del agente de Azure Monitor. |
Linux |
Recopilar eventos y datos de rendimiento de máquinas Linux. |
PlatformTelemetry |
Exportar 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.
El flujo de datos completo a través de un DCR sigue esta secuencia: Orígenes de datos → Flujos de entrada → Flujos de datos → Destinos. No todos los tipos dcR usan todos los elementos. En la tabla siguiente se muestran los elementos que se aplican a cada tipo DCR.
| Tipo dcR | Orígenes de datos | Flujos de entrada | Flujos de datos | Destinos |
|---|---|---|---|---|
DCR ama (Linux, Windows) |
Sí | Sí | Sí | Sí |
DCR de ingesta directa (Direct) |
No | Sí | Sí | Sí |
DCR de transformación del área de trabajo (WorkspaceTransforms) |
No | No | Sí | No |
Con las transformaciones de varias fases, la transformations sección agrega canalizaciones de procesador que se aplican en la fase del origen de datos (lado cliente) o la fase de flujo de datos (lado de ingesta), en función de dónde se haga referencia a la transformación con nombre.
Flujos de entrada
La sección de flujo de entrada de un DCR define los datos entrantes que recopila. Dos tipos de flujos entrantes son posibles en función del escenario de recopilación de datos. La mayoría de los escenarios de recopilación de datos usan uno de los flujos de entrada, mientras que algunos escenarios usan 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. Este tipo a menudo procede de los datos procesados por Azure Monitor agente y entregados a Azure Monitor mediante un tipo de datos conocido. |
streamDeclarations |
Datos personalizados que requieren una definición en el DCR. |
Los datos enviados desde la API de ingesta de registros usan un streamDeclaration con el esquema de los datos entrantes porque la API envía datos personalizados.
Los registros de texto del Agente de Azure Monitor (AMA) son un ejemplo de recopilación de datos que requiere dataSources y streamDeclarations. El origen de datos incluye la configuración para conectarse al origen de datos y streamDeclarations define el esquema de los datos entrantes.
Orígenes de datos
Los orígenes de datos son orígenes únicos de datos de supervisión, cada uno con su propio formato y método para exponer datos. Cada tipo de origen de datos tiene un conjunto único de parámetros que debe configurar para cada origen de datos. El origen de datos normalmente devuelve un tipo de datos 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 mediante 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 este esquema se conoce para los datos entrantes potenciales.
Parámetros comunes del origen de datos
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 recopila el origen de datos. Si esta secuencia es un tipo de datos estándar, como un evento de Windows, la secuencia aparece como Microsoft-<TableName>. Si es un tipo personalizado, la secuencia aparece como Custom-<TableName>. |
transform |
(Versión preliminar) Nombre de una transformación de la transformations sección para aplicar el lado cliente. Use esta propiedad para las transformaciones de varias fases. Consulte Transformaciones de varias fases. |
Tipos de origen de datos válidos
En la tabla siguiente se enumeran los tipos de origen de datos disponibles actualmente.
| Tipo de origen de datos | Descripción | Arroyos | Parámetros |
|---|---|---|---|
eventHub |
Datos de Azure Event Hubs | Personalizado1 |
consumerGroup - Grupo de consumidores del hub de eventos del cual se va a recopilar información. |
iisLogs |
Registros de IIS desde máquinas Windows | Microsoft-W3CIISLog |
logDirectories: directorio donde se almacenan los registros de IIS en el cliente. |
logFiles |
Registro de texto o JSON en una máquina virtual | Personalizado1 |
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-PerfMicrosoft-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 microsoft_metrics_include_label se admite. |
syslog |
Eventos Syslog en máquinas virtuales Linux Eventos en formato de evento común en dispositivos de seguridad |
Microsoft-SyslogMicrosoft-CommonSecurityLog para CEF |
facilityNames: instalaciones que faciliten la recogidalogLevels: 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
Declare los distintos tipos de datos que envíe 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 envía. 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
Asigne los siguientes tipos de datos a las propiedades:
stringintlongrealbooleandynamicdatetime
El guid tipo no está disponible en las declaraciones de flujo. Si los datos de origen incluyen valores GUID, declare esas columnas como string. Tables API admite el guid tipo, pero los valores se almacenan y consultan como cadenas. Para obtener más información, vea Column data types in Azure Monitor Logs.
Destinos
Incluya una entrada para cada destino donde envíe los datos en la destinations sección . Coincide con estos destinos con flujos de entrada en la dataFlows sección.
Parámetros de destino comunes
| Parámetros | Descripción |
|---|---|
name |
Nombre para identificar el destino en la sección dataSources. |
Destinos válidos
En la tabla siguiente se enumeran los destinos disponibles.
| Destino | Descripción | Parámetros necesarios |
|---|---|---|
azureDataExplorer |
Explorador de Datos de Azure |
resourceId - Identificador de recurso del clúster de ADXdatabaseName : nombre de la base de datos en el clúster de ADXingestionUri: URI de ingesta del clúster |
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. |
logAnalytics |
Área de trabajo de Log Analytics |
workspaceResourceId: identificador de recurso del área de trabajo.workspaceID: Id. del área de trabajoEste parámetro solo especifica el área de trabajo, no la tabla donde se envían los datos. Si es un destino conocido, no es necesario especificar una tabla. Para las tablas personalizadas, especifique la tabla en el origen de datos. |
microsoftFabric |
Centro de eventos de Microsoft Fabric |
tenantId - Id. de inquilino del área de trabajo de FabricdatabaseName : nombre de la base de datos en el centro de eventos de Fabric.ingestionUri
-
URI de ingesta de la base de datos del centro de eventos de Fabric |
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. Incluya varias secuencias en un único flujo de datos si desea enviar varios orígenes de datos al mismo destino. Use solo una sola secuencia si el flujo de datos incluye una transformación. Use una secuencia para varios flujos de datos cuando desee enviar un origen de datos determinado a varias tablas del mismo á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. |
transform |
(Versión preliminar) Nombre de una transformación de la transformations sección que se va a aplicar en tiempo de ingesta. Mutuamente excluyente con transformKql. Consulte Transformaciones de varias fases. |
transformKql |
Transformación opcional aplicada al flujo 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. Mutuamente excluyente con transform. |
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. |
Transformations
Importante
Las transformaciones de varias fases se encuentran actualmente en versión preliminar pública. En esta sección se requiere la versión 2025-05-11 de API o posterior. Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.
En la sección se transformations definen las transformaciones con nombre reutilizables a las que hace dataSources referencia y dataFlows. Cada transformación define una canalización de procesadores que se aplican secuencialmente a los datos. Consulte Transformaciones de varias fases para obtener detalles conceptuales.
"transformations": [
{
"name": "my_transform",
"headerProcessor": {
"processor": "header.Syslog",
"configuration": { }
},
"processors": [
{
"processor": "filter.Basic",
"configuration": {
"any": [
{
"all": [
{
"columnName": "Facility",
"operator": "==",
"value": "auth"
}
]
}
]
}
}
]
}
]
Propiedades del objeto de transformación
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
name |
string | Sí | Nombre único para esta transformación. Hace referencia a dataSources[].transform y dataFlows[].transform. |
headerProcessor |
object | Sí | Procesador de encabezados que establece el esquema inicial. Debe ser el primer elemento. Consulte Procesadores de encabezado. |
processors |
matriz | No | Secuencia ordenada de procesadores de transformación aplicados después del encabezado. Consulte Tipos de procesador. |
Processor (objeto)
Cada procesador es un bloque de creación declarativo que describe una operación de transformación de datos específica.
{
"processor": "{family}.{Name}",
"configuration": { }
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
processor |
string | Sí | Nombre del procesador con el formato {family}.{Name}. Distingue mayúsculas de minúsculas. Por ejemplo: filter.Basic. |
configuration |
object | Sí | Configuración específica del procesador. Consulte secciones de procesador individuales. |
Tipos de procesador
En la tabla siguiente se muestran los procesadores disponibles en el lado cliente y en el lado de la ingesta.
- Los procesadores de encabezados del lado cliente se usan para las transformaciones del lado cliente asignadas a los orígenes de datos. No requieren ninguna configuración, ya que se conoce el esquema de los datos entrantes.
- Los procesadores de encabezados del lado de ingesta se usan para las transformaciones del lado de ingesta asignadas a los flujos de datos.
| Nombre del procesador | Familia | Client-side | Lado de la ingesta |
|---|---|---|---|
header.Syslog |
Cabecera | Sí | No |
header.WindowsEvents |
Cabecera | Sí | No |
header.WindowsPerformanceCounters |
Cabecera | Sí | No |
header.LinuxPerformanceCounters |
Cabecera | Sí | No |
header.TextLog |
Cabecera | Sí | No |
header.IISLog |
Cabecera | Sí | No |
header.WindowsFirewallLog |
Cabecera | Sí | No |
header.StandardStream |
Cabecera | No | Sí |
header.CustomStream |
Cabecera | No | Sí |
filter.Basic |
Filter | Sí | Sí |
map.Rename |
Map | Sí | Sí |
map.Drop |
Map | Sí | Sí |
parse.JsonPath |
Parse | Sí | Sí |
parse.XmlPath |
Parse | Sí | Sí |
parse.CEFAttribute |
Parse | Sí | Sí |
aggregate.Basic |
Aggregate | Sí | Sí |
enrich.DNSLookup |
Enriquecer | Sí | Sí |
transform.KQL |
Transformación | No | Sí |
Procesadores de encabezado
Los procesadores de encabezado reciben datos sin procesar y los convierten en un formato tabular esquematizado conocido. Un procesador de encabezados debe ser el primer procesador de cualquier transformación.
encabezado. Syslog
Encabezado del lado cliente para orígenes de datos de syslog.
Esquema de salida:
| Column | Type |
|---|---|
| TimeGenerated | datetime |
| Facility | string |
| SeverityNumber | int |
| EventTime | datetime |
| IP del anfitrión | string |
| Message | string |
| ProcessId | string |
| Severity | string |
| Host | string |
| Identificador | string |
| Marca de tiempo | datetime |
encabezado. WindowsEvents
Encabezado del lado cliente para Windows orígenes de datos del registro de eventos.
Esquema de salida:
| Column | Type |
|---|---|
| TimeGenerated | datetime |
| TimeCreated | datetime |
| ID de Publicador | string |
| NombreDelEditor | string |
| Canal | string |
| RegistroComputer | string |
| EventNumber | int |
| Categoría del Evento | int |
| Nivel del evento | string |
| UserName | string |
| RawXml | string |
| EventDescription | string |
| RenderingInfo | string |
| EventRecordId | int |
encabezado. WindowsPerformanceCounters
Encabezado del lado cliente para Windows orígenes de datos del contador de rendimiento.
Esquema de salida:
| Column | Type |
|---|---|
| TimeGenerated | datetime |
| NombreDeContador | string |
| CounterValue | real |
| SampleRate | int |
| Contador | string |
| Instancia | string |
encabezado. LinuxPerformanceCounters
Encabezado del lado cliente para orígenes de datos del contador de rendimiento de Linux.
Esquema de salida:
| Column | Type |
|---|---|
| TimeGenerated | datetime |
| Marca de tiempo | datetime |
| NombreDeContador | string |
| Nombre del Objeto | string |
| NombreDeInstancia | string |
| Value | int |
| Host | string |
encabezado. TextLog
Encabezado del lado cliente para archivos de registro de texto personalizados.
Esquema de salida:
| Column | Type |
|---|---|
| TimeGenerated | datetime |
| FilePath | string |
| RawData | string |
| Ordenador | string |
encabezado. IISLog
Encabezado del lado cliente para orígenes de datos de registro de IIS.
Esquema de salida:
| Column | Type |
|---|---|
| TimeGenerated | datetime |
| s_sitename | string |
| s_computername | string |
| s_ip | string |
| cs_method | string |
| cs_uri_stem | string |
| cs_uri_query | string |
| s_port | int |
| cs_username | string |
| c_ip | string |
| cs_version | string |
| cs_User_Agent_ | string |
| cs_Cookie_ | string |
| cs_Referer_ | string |
| cs_host | string |
| sc_status | int |
| sc_substatus | int |
| sc_win32_status | int |
| sc_bytes | int |
| cs_bytes | int |
| time_taken | int |
encabezado. WindowsFirewallLog
Encabezado del lado cliente para Windows orígenes de datos de registro del firewall.
Esquema de salida:
| Column | Type |
|---|---|
| TimeGenerated | datetime |
| Fecha. | string |
| hora | string |
| action | string |
| protocol | string |
| src_ip | string |
| dst_ip | string |
| src_port | string |
| dst_port | string |
| size | string |
| tcpflags | string |
| tcpsyn | string |
| tcpack | string |
| tcpwin | string |
| icmptype | string |
| icmpcode | string |
| Información | string |
| ruta | string |
| PID | string |
encabezado. StandardStream
Se usa cuando la entrada es un flujo estándar, como Microsoft-Syslog o Microsoft-Event.
{
"processor": "header.StandardStream",
"configuration": {
"streamId": "Microsoft-Syslog"
}
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
streamId |
string | Sí | Identificador de la secuencia estándar, como Microsoft-Syslog. |
Esquema de salida: igual que el esquema de tabla Log Analytics estándar correspondiente. Consulte Log Analytics referencia de tabla para ver los esquemas por tipo de recurso.
encabezado. CustomStream
Se usa cuando la entrada es una secuencia personalizada definida en streamDeclarations.
{
"processor": "header.CustomStream",
"configuration": {
"streamId": "Custom-MyStream"
}
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
streamId |
string | Sí | Identificador de la secuencia personalizada. Debe coincidir con una secuencia definida en streamDeclarations. |
Después de los procesadores de encabezado
Estos procesadores se ejecutan después del procesador de encabezados en una canalización de transformación. No todos los procesadores están disponibles en ambas fases. Consulte la tabla de aplicabilidad del procesador para determinar qué procesadores se admiten en el lado cliente, el lado de ingesta o ambos.
filter. Básico
Quita todos los registros en función de la evaluación de la condición. Las condiciones se estructuran como grupos OR de grupos AND.
{
"processor": "filter.Basic",
"configuration": {
"any": [
{
"all": [
{
"columnName": "Facility",
"operator": "==",
"value": "auth"
}
]
}
]
}
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
any |
matriz de grupos AND | Sí | Grupo OR de nivel superior. Un registro se conserva si algún grupo AND se evalúa como true. |
Cada grupo AND tiene una all propiedad que contiene una matriz de objetos de condición:
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
columnName |
string | Sí | Columna que se va a evaluar. |
operator |
string | Sí | Operador de comparación. String: ==, !=, contains, !contains. Numeric: ==, !=, >, <, >=, . <= |
value |
string, number o boolean | Sí | Valor de referencia con el que se va a comparar. |
Esquema de salida: igual que la entrada. Los registros se quitan, no las columnas.
mapa. Cambiar nombre
Cambia el nombre de una columna y, opcionalmente, cambia su tipo.
{
"processor": "map.Rename",
"configuration": {
"all": [
{
"columnName": "OldName",
"nameAs": "NewName",
"typeAs": "string"
}
]
}
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
columnName |
string | Sí | Columna existente para cambiar el nombre o la difusión de tipos. |
nameAs |
string | No | Nuevo nombre de columna. Si se omite, la columna conserva su nombre. |
typeAs |
string | No | Tipo de destino: string, int, long, real, bool, . datetime Si se produce un error en la conversión, null se devuelve. |
Esquema de salida: igual que la entrada, excepto para las columnas y columnas cuyo nombre ha cambiado.
mapa. Soltar
Quita una o varias columnas de los datos.
{
"processor": "map.Drop",
"configuration": {
"columnNames": ["Column1", "Column2"]
}
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
columnNames |
matriz de cadenas | Sí | Columnas que se van a quitar. |
Esquema de salida: igual que la entrada, excepto las columnas eliminadas.
análisis. JsonPath
Analiza una cadena con formato JSON en una columna y extrae las claves especificadas en nuevas columnas.
{
"processor": "parse.JsonPath",
"configuration": {
"columnName": "EventData",
"all": [
{
"path": "$.user.name",
"nameAs": "UserName",
"typeAs": "string"
}
]
}
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
columnName |
string | Sí | Columna que contiene la cadena JSON. |
all |
matriz de objetos de extracción | Sí | Claves que se van a extraer. |
Propiedades del objeto de extracción:
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
path |
string | Sí | Ruta de acceso JSON a la clave, como $.key o $.nested.key. |
nameAs |
string | Sí | Nuevo nombre de columna de salida. |
typeAs |
string | No | Tipo de destino. Si se produce un error en la conversión, null se devuelve. |
Esquema de salida: igual que la entrada, además de nuevas columnas para cada clave extraída.
análisis. XmlPath
Analiza una cadena con formato XML en una columna y extrae los elementos especificados en nuevas columnas.
{
"processor": "parse.XmlPath",
"configuration": {
"columnName": "RawXml",
"all": [
{
"path": "/Event/System/EventID",
"nameAs": "EventID",
"typeAs": "int"
}
]
}
}
Las propiedades de configuración coinciden parse.JsonPathcon , excepto path usa la sintaxis XPath (por ejemplo, /Event/System/EventID o /Event/EventData/Data[@Name='SubjectUserName']).
Esquema de salida: igual que la entrada, además de nuevas columnas para cada elemento extraído.
Nota:
La sintaxis XPath válida se rige por la biblioteca del analizador en cada fase. Es posible que las expresiones XPath avanzadas solo se admita en ubicaciones de ejecución específicas.
análisis. CEFAttribute
Analiza los datos cef (formato de evento común) en una columna y extrae los campos especificados en nuevas columnas.
{
"processor": "parse.CEFAttribute",
"configuration": {
"columnName": "Message",
"all": [
{
"path": "deviceAction",
"nameAs": "Action",
"typeAs": "string"
}
]
}
}
Las propiedades de configuración coinciden parse.JsonPathcon , excepto path especifica el nombre de clave CEF.
Esquema de salida: igual que la entrada, además de nuevas columnas para cada campo extraído.
agregado. Básico
Resume los registros mediante operadores de agregación con dimensiones de agrupación.
{
"processor": "aggregate.Basic",
"configuration": {
"batchingSettings": {
"timeWindow": "5m",
"maxBatchRows": 1000
},
"aggregates": [
{
"columnName": "CounterValue",
"operator": "avg",
"nameAs": "AvgValue"
},
{
"operator": "count",
"nameAs": "RecordCount"
}
],
"dimensionColumns": ["Host", "CounterName"]
}
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
batchingSettings.timeWindow |
string | Sí | Intervalo de tiempo por lote de agregación, como 5m o 1h. |
batchingSettings.maxBatchRows |
int | Sí | Número máximo de filas por lote de agregación. |
aggregates |
matriz | Sí | Definiciones de agregación. |
dimensionColumns |
matriz de cadenas | Sí | Columnas por las que se va a agrupar. Solo string se admite el tipo. |
Propiedades de entrada de agregado:
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
columnName |
string | No | Columna que se va a agregar. No es necesario para el count operador . |
operator |
string | Sí | Función de agregación: sum, avg, min, max, count. |
nameAs |
string | Sí | Nombre de columna de salida para el valor agregado. |
Esquema de salida: la agregación cambia completamente el esquema de salida. La salida contiene solo las columnas de agregado y las columnas de dimensión. Enrutar los datos agregados a una tabla personalizada independiente.
enrich. DNSLookup
Busca una dirección IP en una columna y agrega una columna de nombre DNS.
{
"processor": "enrich.DNSLookup",
"configuration": {
"columnName": "IPAddress",
"nameAs": "DNSName"
}
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
columnName |
string | Sí | Columna que contiene la dirección IP que se va a buscar. |
nameAs |
string | Sí | Nuevo nombre de columna de salida para el nombre DNS resuelto. |
Esquema de salida: igual que la entrada, además de una nueva columna para el nombre DNS resuelto. La resolución DNS es el mejor esfuerzo. Si se produce un error en la búsqueda, la columna de salida contiene null.
transform. KQL
Aplica una expresión KQL personalizada para escenarios avanzados. Este procesador es solo en la ingesta y proporciona una validación limitada de KQL. Las DCR existentes que usan transformKql en flujos de datos tienen una ruta de migración sencilla con este procesador.
{
"processor": "transform.KQL",
"configuration": {
"expression": "source | where SeverityNumber >= 4 | extend EnrichedMsg = strcat(Host, ': ', Message)"
}
}
| Propiedad | Type | Obligatorio | Descripción |
|---|---|---|---|
expression |
string | Sí | Cadena de consulta KQL aplicada a los datos de entrada. |
Esquema de salida: definido por KQL y no se puede validar estáticamente.