Résoudre les erreurs d'exécution des règles

Compatible avec :

Des erreurs d'exécution peuvent se produire lors de l'exécution d'une règle et empêcher son bon fonctionnement. Ce document vous aide à résoudre certains problèmes d'exécution courants.

  • Vous pouvez éviter les erreurs d'exécution en testant vos règles avant le déploiement. Cliquez sur Exécuter le test dans l'éditeur de règles. Si une erreur est détectée, cliquez sur le lien de l'erreur pour en savoir plus.

  • Si une erreur se produit lors de l'exécution d'une règle, suivez le lien vers l'erreur sur la page Détections pour en savoir plus.

Erreurs de syntaxe et de logique dans les requêtes

Ces erreurs se produisent lorsque la structure de la requête n'est pas valide, est trop complexe ou utilise des types de données incompatibles.

Message d'erreur Cause sous-jacente Solution
Too many `OR` and `AND` operations La requête contient des expressions ou une logique profondément imbriquées qui dépassent les limites d'espace de pile.

Simplifiez les conditions de la règle.

Décomposez la logique complexe en parties plus petites.

Query is too long La requête nécessite trop d'espace de pile pour être traitée. Divisez la logique en plusieurs règles.
Accessing a new field that did not exist for this time range La règle fait référence à un champ récemment ajouté au schéma, mais elle s'exécute sur une période où ce champ n'existait pas.

Ajustez la plage de dates pour qu'elle commence après l'ajout du champ.

Modifiez la règle pour gérer les cas où le champ est nul ou manquant.

Invalid subnet CIDR Certaines fonctions ont rencontré une plage CIDR (Classless Inter-Domain Routing) non analysable. Vérifiez le format des plages CIDR dans la règle.
Invalid IP address Certaines fonctions ont rencontré une adresse IP non valide. Assurez-vous que la valeur du champ contient un format d'adresse IP valide.
Map access for reading label does not support duplicate map keys Certaines fonctions ont tenté d'accéder à des éléments d'une structure de type carte (par exemple, des champs supplémentaires) où des clés en double existent (ce qui n'est pas autorisé dans l'opération).

Recherchez les clés en double dans la source de données.

Adaptez la logique de la règle pour gérer cette caractéristique des données.

Invalid regular expression L'expression régulière utilisée dans des fonctions telles que re.regex() est mal formée.

Corrigez la syntaxe de l'expression régulière.

Invalid re.replace() Utilisation incorrecte de re.regex(), souvent due à une incompatibilité entre les sous-expressions entre parenthèses et les références dans la chaîne de remplacement. Assurez-vous que le schéma de réécriture dans re.regex() correspond aux sous-expressions entre parenthèses de l'expression régulière.
Integer overflow in sum() aggregation La somme des valeurs dépasse la limite maximale pour les nombres entiers standards. Convertissez le champ en type à virgule flottante avant de l'additionner (par exemple, utilisez sum(0.0 + $e.field)).
Cannot complete [arithmetic/mod] operation between unsigned and signed integer Provoqué par une tentative d'opérations arithmétiques (+, -, *, /, MOD) entre différents types d'entiers. Utilisez cast.as_int() ou cast.as_uint() pour convertir un champ afin qu'il corresponde à l'autre.

Limites de ressources et erreurs de performances

Ces erreurs indiquent que la requête est trop lourde pour que le système puisse la traiter.

Message d'erreur Cause sous-jacente Solution
Request was throttled, please try again later La règle nécessite plus de mémoire ou de puissance de traitement que ce qui est alloué (souvent en raison de jointures complexes, d'agrégations volumineuses ou d'un filtrage insuffisant). Ajoutez des filtres plus spécifiques à la section "Événements".
Not enough memory for aggregation Le aggregate_memory_limit a été dépassé. Optimisez les agrégations en réduisant le nombre de clés dans la section "match".
Spilled bytes exceed limit La requête tente de traiter trop d'événements. Optimisez la requête en ajoutant des filtres, par exemple par metadata.log_type.
Your query resource usage is exceeding its allocation La requête a été annulée par le gestionnaire de ressources, car elle utilisait trop de ressources. Optimisez la requête en ajoutant des filtres, par exemple par metadata.log_type.

Accès aux données et erreurs système

Ces erreurs sont souvent temporaires ou liées au stockage des données de backend.

Message d'erreur Cause sous-jacente Solution
Error reading files Problèmes temporaires d'accès aux données sous-jacentes. Réessayez plus tard. Si l'erreur persiste, contactez l'assistance.
Error reading database Problèmes temporaires d'accès aux données sous-jacentes. Réessayez plus tard. Si l'erreur persiste, contactez l'assistance.
Internal error Problème temporaire dans le système. Réessayez plus tard. Si l'erreur persiste, contactez l'assistance.
Unknown error Message d'erreur par défaut lorsqu'un code d'erreur interne spécifique n'est pas défini. Réessayez plus tard. Si l'erreur persiste, contactez l'assistance.
Request was throttled, please try again later Le système est soumis à une charge importante. Réessayez plus tard.

Erreurs d'exécution inconnues

Vous pouvez rencontrer des erreurs d'exécution inconnues sans description. Si cela se produit, contactez l'assistance Google SecOps.

Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.