Soluciona problemas de errores de tiempo de ejecución de reglas
Los errores de tiempo de ejecución pueden ocurrir durante la ejecución de la regla y evitar que se ejecute correctamente. En este documento, se explica cómo solucionar algunos problemas comunes del tiempo de ejecución.
Puedes evitar errores de tiempo de ejecución probando tus reglas antes de la implementación. Haz clic en Ejecutar prueba en el editor de reglas. Si se detecta un error, sigue el vínculo del error para obtener más detalles.
Si se produce un error durante la ejecución de la regla, sigue el vínculo de error en la página Detecciones para obtener más detalles.
Errores de sintaxis y lógica de la consulta
Estos errores se producen cuando la estructura de la consulta no es válida, es demasiado compleja o usa tipos de datos incompatibles.
| Mensaje de error | Causa subyacente | Solución |
|---|---|---|
Too many `OR` and `AND` operations
|
La consulta contiene expresiones o lógica anidadas de forma profunda que exceden los límites de espacio de pila. | Simplifica las condiciones de la regla. Desglosa la lógica compleja en partes más pequeñas. |
Query is too long
|
La consulta requiere demasiado espacio de pila para procesarse. | Divide la lógica en varias reglas. |
Accessing a new field that did not exist for this time range
|
La regla hace referencia a un campo que se agregó recientemente al esquema, pero se ejecuta en un período en el que ese campo no existía. | Ajusta el período para que comience después de que el campo estuvo presente. Modifica la regla para controlar los casos en los que el campo es nulo o falta. |
Invalid subnet CIDR
|
Algunas funciones encontraron un rango de enrutamiento entre dominios sin clases (CIDR) que no se pudo analizar | Verifica el formato de los rangos de CIDR en la regla. |
Invalid IP address
|
Algunas funciones encontraron una dirección IP con formato incorrecto. | Asegúrate de que el valor del campo contenga un formato de dirección IP válido. |
Map access for reading label does not support duplicate map keys
|
Algunas funciones intentaron acceder a elementos de una estructura similar a un mapa (por ejemplo, campos adicionales) en la que existen claves duplicadas (no permitidas en la operación). | Investiga la fuente de datos en busca de claves duplicadas. Adapta la lógica de la regla para controlar esta característica de los datos. |
Invalid regular expression
|
La expresión regular que se usa en funciones como re.regex() está mal formada.
|
Corrige la sintaxis de la expresión regular. |
Invalid re.replace()
|
Uso incorrecto de re.regex(), a menudo debido a una falta de coincidencia entre las subexpresiones entre paréntesis y las referencias en la cadena de reemplazo.
|
Asegúrate de que el esquema de reescritura en re.regex() coincida con las subexpresiones entre paréntesis de la expresión regular.
|
Integer overflow in sum() aggregation
|
La suma de los valores supera el límite máximo para los números enteros estándar. | Convierte el campo a un tipo de punto flotante antes de sumarlo (por ejemplo, usa sum(0.0 + $e.field)).
|
Cannot complete [arithmetic/mod] operation between unsigned and signed integer
|
Se produce por intentar operaciones aritméticas (+, -, *, /, MOD) entre diferentes tipos de números enteros.
|
Usa cast.as_int() o cast.as_uint() para convertir un campo y que coincida con el otro.
|
Límites de recursos y errores de rendimiento
Estos errores indican que la consulta es demasiado pesada para que el sistema la procese.
| Mensaje de error | Causa subyacente | Solución |
|---|---|---|
Request was throttled, please try again later
|
La regla requiere más memoria o potencia de procesamiento de la que se asignó (a menudo, debido a uniones complejas, agregaciones grandes o filtrado insuficiente). | Se agregaron filtros más específicos a la sección de eventos. |
Not enough memory for aggregation
|
Se superó el valor de aggregate_memory_limit.
|
Optimiza las agregaciones reduciendo la cantidad de claves en la sección "match". |
Spilled bytes exceed limit
|
La consulta intenta procesar demasiados eventos. | Optimiza la consulta agregando filtros, como metadata.log_type.
|
Your query resource usage is exceeding its allocation
|
El administrador de recursos canceló la consulta porque usó demasiados recursos. | Optimiza la consulta agregando filtros, como metadata.log_type.
|
Errores del sistema y acceso a los datos
Por lo general, estos errores son transitorios o se relacionan con el almacenamiento de datos de backend.
| Mensaje de error | Causa subyacente | Solución |
|---|---|---|
Error reading files
|
Problemas temporales para acceder a los datos subyacentes | Vuelve a intentarlo más tarde. Si el error persiste, comunícate con el equipo de asistencia. |
Error reading database
|
Problemas temporales para acceder a los datos subyacentes | Vuelve a intentarlo más tarde. Si el error persiste, comunícate con el equipo de asistencia. |
Internal error
|
Es un problema transitorio dentro del sistema. | Vuelve a intentarlo más tarde. Si el error persiste, comunícate con el equipo de asistencia. |
Unknown error
|
Es un mensaje de error predeterminado cuando no se define un código de error interno específico. | Vuelve a intentarlo más tarde. Si el error persiste, comunícate con el equipo de asistencia. |
Request was throttled, please try again later
|
El sistema está bajo una carga pesada. | Vuelve a intentarlo más tarde. |
Errores desconocidos del entorno de ejecución
Es posible que encuentres errores de tiempo de ejecución desconocidos que no tengan una descripción. Si esto ocurre, comunícate con la Asistencia de SecOps de Google.
¿Necesitas más ayuda? Obtén respuestas de miembros de la comunidad y profesionales de Google SecOps.