Ejemplos de reglas de recopilación de datos (DCR) de Azure Monitor
En este artículo se incluyen ejemplos reglas de recopilación de datos (DCR) para escenarios comunes de recopilación de datos en Azure Monitor. Es posible modificar estas definiciones de DCR según sea necesario para el entorno y crear DCR con la guía Crear o editar una regla de recopilación de datos. También se pueden usar y combinar las estrategias básicas de estos ejemplos para crear DCR para otros escenarios.
Para estos ejemplos se requiere conocimiento de la estructura DCR, tal y como se describe en Estructura de una regla de recopilación de datos en Azure Monitor. Se pueden configurar varias en Azure Portal sin conocimientos detallados de la estructura DCR. Use estos ejemplos cuando necesite trabajar con la propia definición de DCR para realizar configuraciones más avanzadas o automatizar la creación de DCR.
Cada uno de estos ejemplos se centra en un origen de datos determinado, aunque es posible combinar varios orígenes de datos de diferentes tipos en un único DCR. Incluya un flujo de datos para cada uno para enviar los datos al destino adecuado. No hay ninguna diferencia funcional entre combinar varios orígenes de datos en un único DCR o crear DCR independientes para cada origen de datos. La elección depende de los requisitos para administrar y supervisar la recopilación de datos.
Nota:
Estos ejemplos que se muestran en este artículo proporcionan el JSON de origen necesario para crear el DCR. Después de la creación, DCR tendrá propiedades adicionales, tal y como se describe en Estructura de una regla de recopilación de datos en Azure Monitor.
DCR para el agente de Azure Monitor
El agente de Azure Monitor se ejecuta en máquinas virtuales, Virtual Machine Scale Sets y clústeres de Kubernetes. Admite VM Insights y Container Insights, así como varios escenarios de recopilación de datos para máquinas virtuales descritas en Recopilación de datos del agente de Azure Monitor.
En los ejemplos siguientes, se muestran DCR para recopilar diferentes tipos de datos mediante el agente de Azure Monitor.
Eventos de Windows
Los DCR para eventos de Windows usan el origen de datos windowsEventLogs
con la secuencia recibida Microsoft-Event
. El esquema de esta secuencia se conoce, por lo que no es necesario definirlo en la sección dataSources
. Los eventos que se recopilan se especifican en la propiedad xPathQueries
. Consulte Recopilación de eventos de Windows con el agente de Azure Monitor para obtener más información sobre el uso de XPaths para filtrar los datos específicos que quiera recopilar. Para comenzar, use la guía de ese artículo para crear un DCR mediante Azure Portal y, a continuación, inspeccione el JSON con la guía Definición de DCR.
Es posible agregar una transformación a la propiedad dataFlows
para las columnas calculadas y filtrar aún más los datos, pero se debe usar XPaths para filtrar los datos en el agente tanto como sea posible para una mayor eficacia y evitar posibles cargos de ingesta.
El siguiente DCR de ejemplo realiza las siguientes acciones:
- Recopila eventos del sistema y aplicación Windows con los niveles de error Advertencia, Error o Crítico.
- Envía datos a la tabla Evento del área de trabajo.
- Usa una transformación sencilla de un
source
que no realiza ningún cambio en los datos recibidos.
{
"location": "eastus",
"properties": {
"dataSources": {
"windowsEventLogs": [
{
"name": "eventLogsDataSource",
"streams": [
"Microsoft-Event"
],
"xPathQueries": [
"System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
"Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "centralWorkspace"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Event"
],
"destinations": [
"centralWorkspace"
],
"transformKql": "source",
"outputStream": "Microsoft-Event"
}
]
}
}
eventos de Syslog
Los DCR para eventos de Syslog usan el origen de datos syslog
con la secuencia recibida Microsoft-Syslog
. El esquema de esta secuencia se conoce, por lo que no es necesario definirlo en la sección dataSources
. Los eventos que se recopilan se especifican en las propiedades facilityNames
y logLevels
. Consulte Recopilación de eventos de Syslog con el agente de Azure Monitor para obtener más información. Para comenzar, use la guía de ese artículo para crear un DCR mediante Azure Portal y, a continuación, inspeccione el JSON con la guía Definición de DCR.
Es posible agregar una transformación a la propiedad dataFlows
para obtener funcionalidades adicionales y filtrar aún más los datos, pero se debe usar facilityNames
y logLevels
para filtrar tanto como sea posible para una mayor eficacia y evitar posibles cargos de ingesta.
El siguiente DCR de ejemplo realiza las siguientes acciones:
- Recopila todos los eventos de la instalación
cron
. - Recopila
Warning
y eventos superiores de instalaciones desyslog
ydaemon
.- Envía datos a la tabla Syslog del área de trabajo.
- Usa una transformación sencilla de un
source
que no realiza ningún cambio en los datos recibidos.
{
"location": "eastus",
"properties": {
"dataSources": {
"syslog": [
{
"name": "cronSyslog",
"streams": [
"Microsoft-Syslog"
],
"facilityNames": [
"cron"
],
"logLevels": [
"Debug",
"Info",
"Notice",
"Warning",
"Error",
"Critical",
"Alert",
"Emergency"
]
},
{
"name": "syslogBase",
"streams": [
"Microsoft-Syslog"
],
"facilityNames": [
"daemon",
"syslog"
],
"logLevels": [
"Warning",
"Error",
"Critical",
"Alert",
"Emergency"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "centralWorkspace"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Syslog"
],
"destinations": [
"centralWorkspace"
],
"transformKql": "source",
"outputStream": "Microsoft-Syslog"
}
]
}
}
Contadores de rendimiento
Las DCR para los datos de rendimiento usan el origen de datos performanceCounters
con las secuencias Microsoft-InsightsMetrics
y Microsoft-Perf
recibidas. Microsoft-InsightsMetrics
se usa para enviar datos a métricas de Azure Monitor, mientras que Microsoft-Perf
se usa para enviar datos a un área de trabajo de Log Analytics. Es posible incluir ambos orígenes de datos en el DCR en caso de enviar datos de rendimiento a ambos destinos. Los esquemas de estas secuencias se conocen, por lo que no es necesario definirlos en la sección dataSources
.
Los contadores de rendimiento que se recopilan se especifican en la propiedad counterSpecifiers
. Consulte Recopilación de contadores de rendimiento con el agente de Azure Monitor para obtener más información. Para comenzar, use la guía de ese artículo para crear un DCR mediante Azure Portal y, a continuación, inspeccione el JSON con la guía Definición de DCR.
Es posible agregar una transformación a la propiedad dataFlows
para Microsoft-Perf
para obtener funcionalidades adicionales y para filtrar aún más los datos, pero solo se deben seleccionar los contadores necesarios en counterSpecifiers
para mejorar la eficacia a fin de evitar posibles cargos de ingesta.
El siguiente DCR de ejemplo realiza las siguientes acciones:
- Recopila el conjunto de contadores de rendimiento cada 60 segundos y otro conjunto cada 30 segundos.
- Envía datos a métricas de Azure Monitor y a un área de trabajo de Log Analytics.
- Usa una transformación sencilla de un
source
que no realiza ningún cambio en los datos recibidos.
{
"location": "eastus",
"properties": {
"dataSources": {
"performanceCounters": [
{
"name": "perfCounterDataSource60",
"streams": [
"Microsoft-Perf",
"Microsoft-InsightsMetrics"
],
"samplingFrequencyInSeconds": 60,
"counterSpecifiers": [
"\\Processor(_Total)\\% Processor Time",
"\\Memory\\Committed Bytes",
"\\LogicalDisk(_Total)\\Free Megabytes",
"\\PhysicalDisk(_Total)\\Avg. Disk Queue Length"
]
},
{
"name": "perfCounterDataSource30",
"streams": [
"Microsoft-Perf"
],
"samplingFrequencyInSeconds": 30,
"counterSpecifiers": [
"\\Process(_Total)\\Thread Count"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "centralWorkspace"
}
],
"azureMonitorMetrics":
{
"name": "azureMonitorMetrics-default"
}
},
"dataFlows": [
{
"streams": [
"Microsoft-Perf"
],
"destinations": [
"centralWorkspace"
],
"transformKql": "source",
"outputStream": "Microsoft-Perf"
},
{
"streams": [
"Microsoft-Perf"
],
"destinations": [
"azureMonitorMetrics-default"
],
"outputStream": "Microsoft-InsightsMetrics"
}
]
}
}
Registros de texto
Los DCR para los registros de texto tienen un origen de datos logfiles
que tiene los detalles de los archivos de registro que debería recopilar el agente. Esto incluye el nombre de una secuencia que se debe definir en streamDeclarations
con las columnas de los datos recibidos. Actualmente se trata de una lista establecida como se describe en Recopilación de registros de un archivo de texto con el agente de Azure Monitor.
Agregue una transformación a la propiedad dataFlows
para filtrar los registros que no quiera recopilar y dar formato a los datos para que coincidan con el esquema de la tabla de destino. Un escenario común consiste en analizar un archivo de registro delimitado en varias columnas, tal y como se describe en Archivos de registro delimitados.
El siguiente DCR de ejemplo realiza las siguientes acciones:
- Recopila entradas de todos los archivos con una extensión de
.txt
en la carpetac:\logs
del equipo agente. - Usa una transformación para dividir los datos entrantes en columnas en función de un delimitador de comas (
,
). Esta transformación es específica del formato del archivo de registro y debe ajustarse a los archivos de registro con otros formatos. - Envía los registros recopilados a una tabla personalizada denominada
MyTable_CL
. Esta tabla ya debe existir y tener las columnas de salida mediante la transformación. - Recopila el
FilePath
y elComputer
para el registro de texto, tal y como se describe en Secuencia recibida. Estas columnas también deben existir en la tabla de destino.
{
"location": "eastus",
"properties": {
"dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/my-dce",
"streamDeclarations": {
"Custom-MyLogFileFormat": {
"columns": [
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "RawData",
"type": "string"
},
{
"name": "FilePath",
"type": "string"
},
{
"name": "Computer",
"type": "string"
}
]
}
},
"dataSources": {
"logFiles": [
{
"streams": [
"Custom-MyLogFileFormat"
],
"filePatterns": [
"C:\\logs\\*.txt"
],
"format": "text",
"settings": {
"text": {
"recordStartTimestampFormat": "ISO 8601"
}
},
"name": "myLogFileFormat-Windows"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "MyDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Custom-MyLogFileFormat"
],
"destinations": [
"MyDestination"
],
"transformKql": "source | project d = split(RawData,\",\") | project TimeGenerated=todatetime(d[0]), Code=toint(d[1]), Severity=tostring(d[2]), Module=tostring(d[3]), Message=tostring(d[4])",
"outputStream": "Custom-MyTable_CL"
}
]
}
}
Registros JSON
Los DCR para los registros JSON tienen un origen de datos logfiles
que tiene los detalles de los archivos de registro que debería recopilar el agente. Esto incluye el nombre de una secuencia que se debe definir en streamDeclarations
con las columnas de los datos recibidos. Consulte Recopilar registros de un archivo JSON con el agente de Azure Monitor para obtener más información.
Agregue una transformación a la propiedad dataFlows
para filtrar los registros que no quiera recopilar y dar formato a los datos para que coincidan con el esquema de la tabla de destino.
El siguiente DCR de ejemplo realiza las siguientes acciones:
- Recopila entradas de todos los archivos con una extensión de
.json
en la carpetac:\logs
del equipo agente. El archivo debe tener el formato JSON y las columnas enumeradas en la declaración de la secuencia. - Envía los registros recopilados a una tabla personalizada denominada
MyTable_CL
. Esta tabla ya debe existir y tener las mismas columnas que la secuencia recibida. Si las columnas no coincidieran, será necesario modificar la transformación en la propiedadtransformKql
para dar formato a los datos de la tabla de destino.
{
"location": "eastus",
"properties": {
"dataCollectionEndpointId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.Insights/dataCollectionEndpoints/my-dce",
"streamDeclarations": {
"Custom-Json-stream": {
"columns": [
{
"name": "TimeGenerated",
"type": "datetime"
},
{
"name": "FilePath",
"type": "string"
},
{
"name": "Code",
"type": "int"
},
{
"name": "Module",
"type": "string"
},
{
"name": "Message",
"type": "string"
}
]
}
},
"dataSources": {
"logFiles": [
{
"streams": [
"Custom-Json-stream"
],
"filePatterns": [
"C:\\logs\\*.json"
],
"format": "json",
"name": "MyJsonFile"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "MyDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Custom-Json-stream"
],
"destinations": [
"MyDestination"
],
"transformKql": "source",
"outputStream": "Custom-MyTable_CL"
}
]
}
}
Enviar datos a Event Hubs o Storage
Los DCR que envían datos a cuentas de Storage o Event Hubs usan los mismos orígenes de datos que otros DCR que recopilan datos con el agente de Azure Monitor (AMA), pero tienen uno o varios de los siguientes destinos. Consulte Enviar datos a Event Hubs y Storage (versión preliminar) para obtener más información.
eventHubsDirect
storageBlobsDirect
storageTablesDirect
Nota:
Los DCR que envían datos a cuentas de Storage o Event Hubs deben tener "kind": "AgentDirectToStore"
El siguiente DCR de ejemplo realiza las siguientes acciones:
- Recopila contadores de rendimiento y eventos de Windows de máquinas Windows con el agente de Azure Monitor (AMA).
- Envía los datos al centro de eventos, a Blob Storage y al almacenamiento de tablas.
{
"location": "eastus",
"kind": "AgentDirectToStore",
"properties": {
"dataSources": {
"performanceCounters": [
{
"streams": [
"Microsoft-Perf"
],
"samplingFrequencyInSeconds": 10,
"counterSpecifiers": [
"\\Process(_Total)\\Working Set - Private",
"\\Memory\\% Committed Bytes In Use",
"\\LogicalDisk(_Total)\\% Free Space",
"\\Network Interface(*)\\Bytes Total/sec"
],
"name": "perfCounterDataSource"
}
],
"windowsEventLogs": [
{
"streams": [
"Microsoft-Event"
],
"xPathQueries": [
"Application!*[System[(Level=2)]]",
"System!*[System[(Level=2)]]"
],
"name": "eventLogsDataSource"
}
]
},
"destinations": {
"eventHubsDirect": [
{
"eventHubResourceId": "/subscriptions/71b36fb6-4fe4-4664-9a7b-245dc62f2930/resourceGroups/my-resource-group/providers/Microsoft.EventHub/namespaces/my-eventhub-namespace/eventhubs/my-eventhub",
"name": "myEh"
}
],
"storageBlobsDirect": [
{
"storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
"containerName": "myperfblob",
"name": "PerfBlob"
},
{
"storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
"containerName": "myeventblob",
"name": "EventBlob"
}
],
"storageTablesDirect": [
{
"storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
"containerName": "myperftable",
"name": "PerfTable"
},
{
"storageAccountResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/Microsoft.Storage/storageAccounts/mystorageaccount",
"containerName": "mymyeventtable",
"name": "EventTable"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Perf"
],
"destinations": [
"myEh",
"PerfBlob",
"PerfTable"
]
},
{
"streams": [
"Microsoft-Event"
],
"destinations": [
"myEh",
"EventBlob",
"EventTable"
]
},
]
}
}
API de ingesta de registros
Los DCR de la API de ingesta de registros deben definir el esquema de la secuencia recibida en la sección streamDeclarations
de la definición de DCR. Los datos recibidos deben tener formato JSON con un esquema que coincida con las columnas de esta definición. No se requiere ninguna transformación cuando este esquema coincida con el esquema de la tabla de destino. Si los esquemas no coincidieran, será necesario agregar una transformación a la propiedad dataFlows
para dar formato a los datos. Consulte API de ingesta de registros en Azure Monitor para obtener más información.
El DCR de ejemplo siguiente tiene los detalles siguientes:
- Envía datos a una tabla denominada
MyTable_CL
en un área de trabajo denominadamy-workspace
. Antes de instalar este DCR, sería necesario crear la tabla con las columnas siguientes:- TimeGenerated
- Computer
- AdditionalContext
- ExtendedColumn (definido en la transformación)
- Aplica una transformación a los datos entrantes para dar formato a los datos de la tabla de destino.
Importante
En este ejemplo no se incluye la propiedad dataCollectionEndpointId
, ya que se crea automáticamente cuando se crea el DCR. Se necesita el valor de esta propiedad, ya que es la dirección URL a la que la aplicación enviará datos. El DCR debe tener kind:Direct
para que se cree esta propiedad. Consulte Propiedades para obtener más detalles.
{
"location": "eastus",
"kind": "Direct",
"properties": {
"streamDeclarations": {
"Custom-MyTable": {
"columns": [
{
"name": "Time",
"type": "datetime"
},
{
"name": "Computer",
"type": "string"
},
{
"name": "AdditionalContext",
"type": "string"
}
]
}
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/cefingestion/providers/microsoft.operationalinsights/workspaces/my-workspace",
"name": "LogAnalyticsDest"
}
]
},
"dataFlows": [
{
"streams": [
"Custom-MyTable"
],
"destinations": [
"LogAnalyticsDest"
],
"transformKql": "source | extend jsonContext = parse_json(AdditionalContext) | project TimeGenerated = Time, Computer, AdditionalContext = jsonContext, ExtendedColumn=tostring(jsonContext.CounterName)",
"outputStream": "Custom-MyTable_CL"
}
]
}
}
DCR de transformación del área de trabajo
Los DCR de transformación del área de trabajo tienen una sección datasources
vacía, ya que las transformaciones se aplican cualquier dato enviado a las tablas admitidas en el área de trabajo. Debe incluir una única entrada para workspaceResourceId
y una entrada en dataFlows
para cada tabla con una transformación. También debe tener "kind": "WorkspaceTransforms"
.
El DCR de ejemplo siguiente tiene los detalles siguientes:
- Transformación de la tabla
LAQueryLogs
que filtra las consultas de la propia tabla y agrega una columna con el nombre del área de trabajo. - Transformación de la tabla
Event
que filtra eventos de información y quita la columnaParameterXml
. Esto solo se aplicará a los datos procedentes del agente de Log Analytics en desuso y no al agente de Azure Monitor, tal y como se explica en DCR de transformación del área de trabajo.
{
"kind": "WorkspaceTransforms",
"location": "eastus",
"properties": {
"dataSources": {},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "clv2ws1"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Table-LAQueryLogs"
],
"destinations": [
"clv2ws1"
],
"transformKql": "source | where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Workspace_CF = tostring(Context['workspaces'][0]) | project-away RequestContext, Context"
},
{
"streams": [
"Microsoft-Table-Event"
],
"destinations": [
"clv2ws1"
],
"transformKql": "source | where EventLevelName in ('Error', 'Critical', 'Warning') | project-away ParameterXml"
}
]
}
}
Envío de datos a varias tablas
Hay varias razones por las que podría querer enviar datos de un único origen de datos a varias tablas de la misma área de trabajo de Log Analytics, incluidas las siguientes:
- Ahorrar costes de ingesta mediante el envío de registros usados para solucionar problemas ocasionales a una tabla de registros básica.
- Enviar registros o columnas con datos confidenciales a una tabla con distintos permisos o configuraciones de retención.
Para enviar datos desde un único origen de datos a varias tablas, cree varios flujos de datos en el DCR con una consulta de transformación única y una tabla de salida para cada una, tal y como se muestra en el diagrama siguiente.
Importante
Por el momento, las tablas de la DCR deben encontrarse en la misma área de trabajo de Log Analytics. Para enviar a múltiples áreas de trabajo desde una única fuente de datos, use múltiples DCR y configure su aplicación para enviar los datos a cada una de ellas.
En el ejemplo siguiente, se filtran los registros enviados a la tabla Evento por el agente de Azure Monitor. Solo se envían eventos de advertencia y error a la tabla Evento. Otros eventos se envían a una copia de la tabla de eventos denominada Event_CL, que está configurada para los registros básicos.
Nota:
En este ejemplo se requiere una copia de la tabla Evento creada en la misma área de trabajo denominada Event_CL.
{
"location": "eastus",
"properties": {
"dataSources": {
"windowsEventLogs": [
{
"name": "eventLogsDataSource",
"streams": [
"Microsoft-Event"
],
"xPathQueries": [
"System!*[System[(Level = 1 or Level = 2 or Level = 3)]]",
"Application!*[System[(Level = 1 or Level = 2 or Level = 3)]]"
]
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace",
"name": "MyDestination"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-Event"
],
"destinations": [
"MyDestination"
],
"transformKql": "source | where EventLevelName in ('Error', 'Warning')",
"outputStream": "Microsoft-Event"
},
{
"streams": [
"Microsoft-Event"
],
"destinations": [
"MyDestination"
],
"transformKql": "source | where EventLevelName !in ('Error', 'Warning')",
"outputStream": "Custom-Event_CL"
}
]
}
}