Configuración de reglas de transmisión de datos
Puede definir reglas utilizando el DataPrime eXpression (DPXL) para filtrar qué datos se transmiten a IBM® Event Streams for IBM Cloud® desde una instancia IBM Cloud Logs.
Para obtener más información sobre el DataPrime eXpression Lenguaje, consulte el DataPrime Referencia de lenguaje de expresión(DPXL).
Sólo puede definir reglas que definan condiciones basadas en el valor de 1 o más campos.
Puede que necesites una regla de análisis que extraiga valores específicos como el nombre del servicio del logSourceCRN si quieres filtrar por nombre de servicio.
Las siguientes secciones muestran ejemplos de los diferentes tipos de reglas que puede configurar.
Tenga en cuenta que algunos ejemplos incluyen el prefijo <v1>. Este prefijo se incluye automáticamente al utilizar la interfaz de usuario y no es necesario especificarlo. Sin embargo, una expresión DPXL utilizada en una API
debe comenzar con el prefijo <v1>.
Transmisión de todos los datos
No defina una regla DataPrime al configurar el streaming.
Transmisión de datos que contienen texto libre
Para transmitir datos que incluyan texto libre, debe configurar la regla del siguiente modo:
$d.msg.contains('ENTER_FREE_TEXT')
Por ejemplo, para buscar Error 1234, puede incluir lo siguiente en su regla:
$d.msg.contains('Error1234')
Flujo de datos para 1 o más aplicaciones
En una instancia IBM Cloud Logs, puede recopilar datos de varias aplicaciones.
Al configurar el streaming, puede definir reglas personalizadas para transmitir los datos seleccionados.
Streaming de eventos de auditoría
Para transmitir todos los eventos de auditoría, defina la siguiente regla DataPrime:
<v1> $l.applicationname =='ibm-audit-event'
Registros de la plataforma de streaming
Para transmitir todos los registros de la plataforma, defina la siguiente regla DataPrime:
<v1> $l.applicationname =='ibm-platform-logs'
Transmisión de registros por applicationName
Para transmitir registros por applicationName para aplicaciones seleccionadas, defina una regla DataPrime. Por ejemplo, para transmitir datos de 3 aplicaciones, puedes utilizar:
<v1> $l.applicationname =='app1' || $l.applicationname =='app2' || $l.applicationname =='app3'
Utilice || para indicar OR.
Flujo de datos para 1 o más subsistemas
Para transmitir registros por subsystemName, defina una regla DataPrime. Por ejemplo, para transmitir datos de 3 subsistemas, puedes utilizar:
<v1> $l.subsystemname =='subsystem1' || $l.subsystemname =='subsystem2' || $l.subsystemname =='subsystem3'
Utilice || para indicar OR.
Flujo de datos basado en múltiples valores para un campo que se incluye en el registro de registro
Si le interesa transmitir algunos datos basándose en el valor de un campo de su registro, puede definir una regla como se indica a continuación:
Este ejemplo muestra cómo definir una regla para 3 valores diferentes de un campo en el registro de entrada:
<v1> $d.<FIELD_NAME> =='value1' || $d.<FIELD_NAME> =='value2' || $d.<FIELD_NAME> =='value3'
Flujo de datos basado en los valores de 1 o más campos incluidos en el registro de entrada
Si está interesado en transmitir algunos datos basados en el valor de 1 o más campos de su registro, puede definir una regla de la siguiente manera:
<v1> $d.<FIELD_NAME_1> =='value1' && $d.<FIELD_NAME_2> =='value2'
Flujo de datos basado en 2 condiciones
Para transmitir datos basándose en 2 condiciones en las que el valor de 1 campo es el mismo pero el valor del otro campo puede tener valores diferentes, por ejemplo, puede definir la regla de la siguiente manera:
<v1> ( $d.<FIELD_NAME_1> =='value1' && $d.<FIELD_NAME_2> =='value2' ) || ( $d.<FIELD_NAME_1> =='value1' && $d.<FIELD_NAME_2> =='value3' )
Por ejemplo, para filtrar los eventos de auditoría con diferentes valores de gravedad de los servicios seleccionados, puede definir una consulta como la siguiente:
<v1> ( ( $l.applicationname =='ibm-audit-event' && ( $d.serviceName =='iam-am' || $d.serviceName =='cloud-object-storage' ) && $d.severity =='critical') )
|| ( $l.applicationname =='ibm-audit-event' && $d.serviceName =='iam-identity' && $d.severity =='normal')
Validar una norma
Para verificar la regla de streaming, en la navegación de la izquierda, haga clic en Explorar registros > Registros. Seleccione la consulta DataPrime y modifíquela de la siguiente manera:
filter 'PASTE_YOUR_CONDITION'
El resultado de la consulta debería proporcionarle la lista de registros que se transmitirán una vez que active la configuración de transmisión.
Por ejemplo, cambie <v1> $l.applicationname =='ibm-audit-event' por:
filter $l.applicationname =='ibm-audit-event'