Salta al contenuto

Come posso utilizzare CloudWatch Logs per determinare se la mia funzione Lambda è scaduta?

3 minuti di lettura
0

La mia funzione AWS Lambda ha subito errori intermittenti e desidero utilizzare Amazon CloudWatch Logs per determinare se la mia funzione è scaduta.

Risoluzione

Quando l'invocazione di una funzione Lambda scade, nei log di CloudWatch dell'invocazione non riuscita viene visualizzato un messaggio di errore Task timed out, non un messaggio Error. Quando esamini il gruppo di log CloudWatch della funzione Lambda, cerca "Task timed out". Se cerchi nei log solo i messaggi Error, la ricerca restituisce solo gli errori di runtime relativi al codice, non gli errori di timeout dell'invocazione. Per ulteriori informazioni, consulta Monitoring AWS Lambda errors using Amazon CloudWatch (Monitoraggio degli errori di AWS Lambda utilizzando Amazon CloudWatch).

Utilizza gli ID delle richieste delle corrispondenti invocazioni scadute per recuperare i log completi per il timeout di ogni invocazione.

Prima di iniziare, assicurati che la funzione Lambda disponga delle autorizzazioni AWS Identity and Access Management (AWS IAM) richieste per caricare i log su CloudWatch Logs.

Ottieni gli ID delle richieste delle invocazioni scadute

Completa i seguenti passaggi:

  1. Apri la console di Lambda.
  2. Nel pannello di navigazione, scegli Funzioni.
  3. Seleziona la funzione Lambda, quindi scegli la scheda Monitora.
  4. Scegli Visualizza i log CloudWatch per aprire la pagina Dettagli del gruppo di log della funzione sulla console CloudWatch.
  5. Scegli Visualizza in Logs Insights.
  6. Nella casella di testo della query di Logs Insights, inserisci la seguente query, quindi scegli Esegui query:
    fields @timestamp, @requestId, @message, @logStream| filter @message like "Task timed out"
    | sort @timestamp desc
    | limit 100

La risposta restituisce un elenco di ID di richieste nell'output Task timed out per le invocazioni scadute.

Per ulteriori informazioni, consulta Analisi dei dati di log con CloudWatch Logs Insights.

Nota: per i gruppi di log di grandi dimensioni, aggiungi una funzione datetime alla query di Logs Insights in modo da limitare l'ambito della ricerca. Per ulteriori informazioni, consulta Sintassi delle query nel linguaggio di CloudWatch Logs Insights.

Esegui le query di CloudWatch Logs Insights per gli ID delle richieste

Nota: le query di CloudWatch Logs Insights comportano costi in base alla quantità di dati richiesti con la query. Per ulteriori informazioni, consulta Prezzi di Amazon CloudWatch.

Utilizza gli ID delle richieste delle invocazioni scadute per recuperare i log completi per il timeout di ogni invocazione. Puoi creare una query per cercare tutti i log per specifici ID delle richieste. Per ulteriori informazioni, consulta Analisi dei log e registrazione strutturata.

Per risolvere eventuali errori di timeout identificati, consulta Come posso risolvere gli errori di timeout di invocazione di una funzione Lambda?