Aumentare la resilienza del playbook con i tentativi automatici
Questo documento spiega perché a volte le azioni automatizzate nei playbook non vanno a buon fine a causa di problemi temporanei come interruzioni di rete o limiti di frequenza delle API. Per assicurarti che i playbook siano più resilienti, puoi configurare le singole azioni in modo che vengano ritentate automaticamente in caso di errori.
I tentativi di ripetizione delle azioni aiutano i playbook a ripristinarsi in caso di errori temporanei come problemi di rete, limiti di frequenza delle API o mancata disponibilità del servizio. Questi tentativi vengono applicati alle azioni standard del playbook, come arricchimento, contenimento o notifiche.
Il meccanismo di ripetizione dei tentativi viene attivato dallo stato di esecuzione interno dell'azione, non dai codici di errore HTTP standard. Non vengono tentati nuovi tentativi per le azioni che si verificano timeout o per le azioni utilizzate per il controllo del flusso (come condizioni o blocchi del playbook), in quanto non sono progettate per non riuscire nello stesso modo.
Condizioni del meccanismo di nuovi tentativi di azione
Il meccanismo di ripetizione viene attivato solo quando un'azione non va a buon fine in condizioni specifiche che in genere indicano un errore temporaneo, dell'infrastruttura o non gestito. Non viene attivato per errori correlati a timeout o azioni di controllo del flusso.
Condizioni che attivano un nuovo tentativo
Il meccanismo di ripetizione viene attivato solo quando l'azione non va a buon fine nelle seguenti circostanze:
- Errori di script non gestiti:qualsiasi errore o eccezione che si verifica all'interno dello script Python dell'azione che non gestisci esplicitamente nello script.
- Stato di errore esplicito:lo script di azione restituisce esplicitamente lo stato di esecuzione
EXECUTION_STATE_FAILEDal server. - Errori di infrastruttura:errori derivanti dall'infrastruttura sottostante, ad esempio problemi di connessione (ad esempio, errori di connessione Python) che impediscono un risultato positivo.
Condizioni che ignorano un nuovo tentativo (nessun tentativo)
I tentativi vengono ignorati negli scenari di errore relativi a timeout o azioni di controllo del flusso:
- Timeout di esecuzione del playbook:l'azione non viene completata e non restituisce un risultato entro il limite di timeout generale configurato per il passaggio specifico del playbook.
- Stato timeout gestito:lo script di azione segnala esplicitamente un
timeout dell'azione interna restituendo lo stato
EXECUTION_STATE_TIMEOUT. Il server considera questo evento come un "Timeout gestito", che consente l'esecuzione del playbook senza un nuovo tentativo.
Configurare i nuovi tentativi di azione
Per configurare i tentativi per un'azione:
- Fai doppio clic sull'azione pertinente nel designer del playbook.
- Nella barra laterale, fai clic sulla scheda Impostazioni, quindi fai clic sul pulsante di attivazione/disattivazione Riprova in caso di errore per attivarlo.
- Specifica i seguenti parametri:
- Numero di nuovi tentativi:inserisci il numero di volte in cui l'azione deve tentare di essere eseguita di nuovo in caso di errore.
- Intervallo tra i tentativi: definisci l'intervallo in secondi, minuti o ore tra ogni tentativo.
- Nella sezione Se il passaggio non va a buon fine, seleziona una delle seguenti opzioni
se l'azione non va a buon fine dopo tutti i tentativi:
- Interrompi playbook: l'esecuzione del playbook viene interrotta.
- Ignora passaggio: il playbook continua con il passaggio successivo.
- Fai clic su Salva.
Come vengono visualizzati i tentativi durante l'esecuzione del playbook
Quando viene eseguito un passaggio del playbook con tentativi, vengono visualizzati stati e messaggi specifici che indicano l'avanzamento dei tentativi:
- Se un'azione non va a buon fine con i tentativi configurati, il suo stato nella scheda Playbook cambia temporaneamente in In attesa del prossimo tentativo prima del tentativo successivo.
- Se l'azione va a buon fine dopo uno o più tentativi, il suo stato finale nella scheda Playbook indica la riuscita, insieme al numero di tentativi (ad esempio, Completato dopo due tentativi).
- Se l'azione non va a buon fine dopo tutti i tentativi, il suo stato finale indica l'esito negativo, insieme al numero di tentativi (ad esempio, Non riuscita dopo 3 tentativi).
- Informazioni pertinenti sui tentativi di ripetizione vengono visualizzate anche nella bacheca della richiesta.
Hai bisogno di ulteriore assistenza? Ricevi risposte dai membri della community e dai professionisti di Google SecOps.