Risolvere i problemi relativi alle regole di rilevamento
Durante l'esecuzione delle regole possono verificarsi errori di runtime che impediscono il corretto funzionamento di una regola. Questo documento ti aiuta a risolvere alcuni problemi di runtime comuni.
Puoi evitare errori di runtime testando le regole prima del deployment. Fai clic su Esegui test nell'editor delle regole. Se viene rilevato un errore, segui il link all'errore per visualizzare i dettagli.
Se si verifica un errore durante l'esecuzione della regola, segui il link all'errore nella pagina Rilevamenti per visualizzare i dettagli.
Errori di sintassi e logica delle query
Questi errori si verificano quando la struttura della query non è valida, è troppo complessa o utilizza tipi di dati incompatibili.
| Messaggio di errore | Causa sottostante | Risoluzione |
|---|---|---|
Too many `OR` and `AND` operations
|
La query contiene espressioni o logiche nidificate in modo approfondito che superano i limiti di spazio dello stack. | Semplifica le condizioni della regola. Suddividi la logica complessa in parti più piccole. |
Query is too long
|
La query richiede troppo spazio dello stack per l'elaborazione. | Suddividi la logica in più regole. |
Accessing a new field that did not exist for this time range
|
La regola fa riferimento a un campo aggiunto di recente allo schema, ma viene eseguita su un intervallo di tempo in cui il campo non esisteva. | Modifica l'intervallo di tempo in modo che inizi dopo la presenza del campo. Modifica la regola per gestire i casi in cui il campo è nullo o mancante. |
Invalid subnet CIDR
|
Alcune funzioni hanno rilevato un intervallo CIDR (Classless Inter-Domain Routing) non analizzabile. | Controlla il formato degli intervalli CIDR nella regola. |
Invalid IP address
|
Alcune funzioni hanno rilevato un indirizzo IP non valido. | Assicurati che il valore del campo contenga un formato di indirizzo IP valido. |
Map access for reading label does not support duplicate map keys
|
Alcune funzioni hanno tentato di accedere a elementi da una struttura simile a una mappa (ad esempio, campi aggiuntivi) in cui esistono chiavi duplicate (non consentite nell'operazione). | Esamina l'origine dati per verificare la presenza di chiavi duplicate. Adatta la logica della regola per gestire questa caratteristica dei dati. |
Invalid regular expression
|
L'espressione regolare utilizzata in funzioni come re.regex() non è valida.
|
Correggi la sintassi dell'espressione regolare. |
Invalid re.replace()
|
Utilizzo errato di re.regex(), spesso dovuto a una mancata corrispondenza tra le sottoespressioni tra parentesi e i riferimenti nella
stringa di sostituzione.
|
Assicurati che lo schema di riscrittura in re.regex() corrisponda alle sottoespressioni tra parentesi nell'espressione regolare.
|
Integer overflow in sum() aggregation
|
La somma dei valori supera il limite massimo per i numeri interi standard. | Esegui il cast del campo a un tipo a rappresentazione in virgola mobile prima di sommare (ad esempio, utilizza sum(0.0 + $e.field)).
|
Cannot complete [arithmetic/mod] operation between unsigned and signed integer
|
Causato dal tentativo di eseguire operazioni aritmetiche (+, -, *, /, MOD) tra tipi di numeri interi diversi.
|
Utilizza cast.as_int() o cast.as_uint() per convertire un campo in modo che corrisponda all'altro.
|
Limiti delle risorse ed errori di prestazioni
Questi errori indicano che la query è troppo pesante per l'elaborazione da parte del sistema.
| Messaggio di errore | Causa sottostante | Risoluzione |
|---|---|---|
Request was throttled, please try again later
|
La regola richiede più memoria o potenza di elaborazione di quella allocata (spesso a causa di join complesse, aggregazioni di grandi dimensioni o filtri insufficienti). | Aggiungi filtri più specifici alla sezione degli eventi. |
Not enough memory for aggregation
|
È stato superato il valore di aggregate_memory_limit.
|
Ottimizza le aggregazioni riducendo il numero di chiavi nella sezione `match`. |
Spilled bytes exceed limit
|
La query sta tentando di elaborare troppi eventi. | Ottimizza la query aggiungendo filtri, ad esempio per metadata.log_type.
|
Your query resource usage is exceeding its allocation
|
La query è stata annullata dal gestore delle risorse perché utilizzava troppe risorse. | Ottimizza la query aggiungendo filtri, ad esempio per metadata.log_type.
|
Errori di accesso ai dati e di sistema
Questi errori sono spesso temporanei o correlati all'archiviazione dei dati di backend.
| Messaggio di errore | Causa sottostante | Risoluzione |
|---|---|---|
Error reading files
|
Problemi temporanei di accesso ai dati sottostanti. | Riprova dopo un po' di tempo. Se l'errore persiste, contatta l'assistenza. |
Error reading database
|
Problemi temporanei di accesso ai dati sottostanti. | Riprova dopo un po' di tempo. Se l'errore persiste, contatta l'assistenza. |
Internal error
|
Un problema temporaneo all'interno del sistema. | Riprova dopo un po' di tempo. Se l'errore persiste, contatta l'assistenza. |
Unknown error
|
Un messaggio di errore predefinito quando non è definito un codice di errore interno specifico. | Riprova dopo un po' di tempo. Se l'errore persiste, contatta l'assistenza. |
Request was throttled, please try again later
|
Il sistema è sovraccarico. | Riprova dopo un po' di tempo. |
Errori di runtime sconosciuti
Potresti riscontrare errori di runtime sconosciuti senza una descrizione. In questo caso, contatta l'assistenza Google SecOps.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.