Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Uso de patrones de filtro para hacer coincidir los términos en eventos de registro JSON
Usa patrones de filtro JSON cuando tus registros estén estructurados en formato JSON. Estos patrones te permiten segmentar campos y valores específicos dentro de los objetos JSON, lo que los hace ideales para:
Registros de aplicaciones: diríjase a tipos de eventos IDs, usuarios o códigos de error específicos
AWS registros de servicio: filtros CloudTrail, registros de flujo de VPC u otros registros estructurados AWS
Microservicios: supervise las aplicaciones en contenedores que generan JSON estructurado
Por ejemplo, utilícelo { $.eventType = "UpdateTrail" } para buscar CloudTrail eventos específicos o { $.sourceIPAddress != 123.123.* } para identificar el tráfico de rangos de IP inesperados.
Amplíe las siguientes secciones y explore las pestañas para ver ejemplos que muestran cómo crear patrones de filtro JSON para escenarios de monitoreo comunes, desde patrones básicos de una sola condición hasta expresiones compuestas complejas.
Los siguientes ejemplos muestran cómo utilizar los patrones de filtro con los eventos de registro de JSON en situaciones comunes de supervisión y solución de problemas. Cada ejemplo incluye la sintaxis del patrón de filtro y casos de uso prácticos en los que podría aplicarlo.
Estos patrones funcionan con cualquier registro con formato JSON de aplicaciones, AWS servicios, contenedores o sistemas personalizados. Puedes usarlos con filtros de métricas para crear CloudWatch métricas, filtros de suscripción para enrutar los registros a otros servicios o Live Tail para monitorear los registros en tiempo real.
Si prueba un patrón de filtro de ejemplo con el evento de registro JSON de ejemplo, debe ingresar el registro JSON de ejemplo en una sola línea.
Ejemplo de evento de registro JSON para realizar pruebas:
{
"eventType": "UpdateTrail",
"sourceIPAddress": "111.111.111.111",
"arrayKey": [
"value",
"another value"
],
"objectList": [
{
"name": "a",
"id": 1
},
{
"name": "b",
"id": 2
}
],
"SomeObject": null,
"cluster.name": "c"
}
- Monitor application events by type
-
Realice un seguimiento de tipos de eventos específicos en los registros de su aplicación JSON para supervisar el comportamiento del sistema.
Patrón de filtro:
{ $.eventType = "UpdateTrail" }
Casos de uso:
Supervisión de aplicaciones: realice un seguimiento de las acciones específicas del usuario o los eventos del sistema
Análisis empresarial: cuente las incidencias de determinados tipos de eventos
Solución de problemas: céntrese en operaciones específicas cuando investigue los problemas
Este patrón funciona con cualquier registro JSON que contenga un campo EventType, como:
Registros de aplicaciones: {"eventType": "UserLogin", "userId": "123"}
Registros del sistema: {"eventType": "ConfigUpdate", "component": "database"}
Registros de API: {"eventType": "UpdateTrail", "source": "cloudtrail"}
- Block suspicious IP addresses
-
Identifique el tráfico que no coincide con los patrones de direcciones IP esperados para la supervisión de la seguridad.
Patrón de filtro:
{ $.sourceIPAddress != 123.123.* }
Casos de uso:
Supervisión de la seguridad: encuentre solicitudes de rangos de IP inesperados
Control de acceso: supervise el tráfico fuera de su red corporativa
Detección de amenazas: identifique posibles intentos de acceso no autorizado
- Track specific application events
-
Supervise valores específicos en las matrices JSON para realizar un seguimiento del comportamiento de las aplicaciones y de las acciones de los usuarios.
Patrón de filtro:
{ $.arrayKey[0] = "value" }
Casos de uso:
Seguimiento del comportamiento de los usuarios: supervise las acciones específicas de los usuarios en los registros de las aplicaciones
Uso de funciones: haga un seguimiento de cuándo se utilizan funciones específicas de la aplicación
Análisis de errores: busque registros con categorías de error específicas en las matrices
- Find events using pattern matching
-
Utilice patrones de expresiones regulares para buscar eventos con coincidencias flexibles para los valores de los campos.
Patrón de filtro:
{ $.eventType = %Trail% }
Casos de uso:
Seguimiento flexible de eventos: encuentre todos los eventos que contengan patrones de texto específicos
Supervisión de API: rastrea las familias de API sin especificar nombres exactos
Análisis de registros: busca coincidencias parciales en los nombres o descripciones de los eventos
- Monitor application data with wildcards
-
Usa caracteres comodín y expresiones regulares para encontrar patrones específicos en cualquier elemento de la matriz.
Patrón de filtro:
{ $.arrayKey[*] = %val.{2}% }
Casos de uso:
Validación de datos: busque matrices que contengan valores que coincidan con patrones específicos
Filtrado de contenido: supervisa el contenido generado por los usuarios para detectar patrones específicos
Control de calidad: realice un seguimiento del cumplimiento del formato de datos en todos los registros de las aplicaciones
- Track network traffic patterns
-
Supervise las direcciones IP dentro de rangos específicos mediante patrones de expresiones regulares y caracteres comodín.
Patrón de filtro:
{ $.* = %111\.111\.111\.1[0-9]{1,2}% }
Casos de uso:
Supervisión de la red: rastrea el tráfico de subredes IP específicas
Análisis de seguridad: supervise el acceso desde rangos de red particulares
Equilibrio de carga: analice la distribución del tráfico en los rangos de IP
Cuotas
Solo puede utilizar un selector de caracteres comodín en un selector de propiedades.
- Handle JSON properties with special characters
-
Acceda a las propiedades de JSON que contienen puntos u otros caracteres especiales en sus nombres.
Patrón de filtro:
{ $.['cluster.name'] = "c" }
Casos de uso:
Supervisión de Kubernetes: rastrea los nombres de los clústeres en los registros de los contenedores
Seguimiento de la configuración: supervise la configuración con nombres de propiedades punteados
Integración con terceros: gestione los registros de los sistemas mediante convenciones de nomenclatura especiales
- Find null or missing values
-
Supervise si faltan datos o si hay valores nulos que puedan indicar problemas con la aplicación.
Patrón de filtro:
{ $.SomeObject IS NULL }
Casos de uso:
Supervisión de la calidad de los datos: busque registros en los que falten campos obligatorios
Depuración de aplicaciones: realiza un seguimiento de los casos en los que los datos esperados no están presentes
Detección de errores: supervisa las respuestas de la API o las consultas a la base de datos incompletas
- Detect missing configuration fields
-
Busca registros a los que les falten por completo los campos esperados, lo que puede indicar problemas de configuración.
Patrón de filtro:
{ $.SomeOtherObject NOT EXISTS }
Casos de uso:
Validación de la configuración: asegúrese de que todos los campos obligatorios estén presentes en los registros
Supervisión de la API: realiza un seguimiento de las solicitudes o respuestas incompletas
Supervisión de la canalización de datos: encuentra registros a los que les faltan los campos de esquema esperados
Las variables IS NOT y EXISTS no se admiten actualmente.
Utilice expresiones compuestas cuando necesite combinar varias condiciones mediante los operadores lógicos AND («&&») y OR («||»). Estos patrones le ayudan a crear reglas de monitoreo sofisticadas que requieren que se cumplan varios criterios o que se activan en cualquiera de las diversas condiciones.
Las expresiones compuestas admiten paréntesis («()») y siguen un orden de operaciones estándar: () > && > ||. Utilice estos patrones cuando los filtros simples de una sola condición no sean suficientes para sus necesidades de monitoreo.
Ejemplo de evento de registro JSON para realizar pruebas:
{
"user": {
"id": 1,
"email": "John.Stiles@example.com"
},
"users": [
{
"id": 2,
"email": "John.Doe@example.com"
},
{
"id": 3,
"email": "Jane.Doe@example.com"
}
],
"actions": [
"GET",
"PUT",
"DELETE"
],
"coordinates": [
[0, 1, 2],
[4, 5, 6],
[7, 8, 9]
]
}
- Monitor specific user actions
-
Realice un seguimiento de cuándo determinados usuarios realizan determinadas acciones combinando la identificación del usuario con la supervisión de las acciones.
Patrón de filtrado:
{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }
Casos de uso:
Auditoría de seguridad: haga un seguimiento de cuándo determinados usuarios administradores acceden a recursos confidenciales
Supervisión del cumplimiento: asegúrese de que determinados usuarios solo realicen acciones aprobadas
Análisis del comportamiento de los usuarios: supervise las correlaciones entre los atributos y las acciones de los usuarios
- Alert on any suspicious activity
-
Cree un monitoreo amplio que se active cuando se produzca alguna de varias condiciones preocupantes.
Patrón de filtro:
{ $.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch" && $.actions[2] = "nonmatch" }
Casos de uso:
Supervisión de la seguridad: alerta cuando hay usuarios específicos activos O cuando se producen patrones de datos inusuales
Estado del sistema: supervise cualquiera de las diferentes condiciones de error
Alertas flexibles: cree reglas generales para varios escenarios preocupantes
- Require multiple conditions for alerts
-
Reduzca los falsos positivos exigiendo que se cumplan varias condiciones específicas antes de activar las alertas.
Patrón de filtro:
{ ($.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch") && $.actions[2] = "nonmatch" }
Casos de uso:
Alertas de alta confianza: solo avisan cuando se alinean varios indicadores sospechosos
Reglas empresariales complejas: supervise los escenarios que requieren varios criterios
Reducción del ruido: evite las alertas de eventos únicos y aislados
Cuotas
Solo puede usar un selector de comodín en un selector de propiedades y hasta tres selectores de comodín en un patrón de filtro con expresiones compuestas.
- Monitor failed correlation attempts
-
Realice un seguimiento de los casos en que las relaciones esperadas entre los campos de datos no coinciden, lo que puede indicar problemas de calidad de los datos.
Patrón de filtro:
{ ($.user.id = 2 && $.users[0].email = "nonmatch") || $.actions[2] = "GET" }
Casos de uso:
Validación de datos: busque registros en los que los campos relacionados no coincidan con los patrones esperados
Integridad del sistema: supervise la corrupción de los datos o los problemas de sincronización
Control de calidad: controle cuándo se rompen las relaciones de datos