View a markdown version of this page

Monitoraggio delle funzioni Web Lambda - AWS Lambda

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Monitoraggio delle funzioni Web Lambda

AWS Lambda Web Functions pubblica metriche e log su Amazon. CloudWatch Usali per identificare i rallentamenti delle prestazioni, gli errori di debug e impostare allarmi che ti avvisano quando i tassi di errore aumentano durante le implementazioni di Canary o i cambiamenti di traffico.

Per una funzione Web che soddisfa le richieste in più di una Regione AWS, Lambda raccoglie metriche e registri in ogni regione in cui vengono eseguite le richieste. Centralizza le metriche delle richieste e i log nell'area principale della funzione Web, in modo da poter monitorare l'intera applicazione da un'unica posizione. Le metriche di utilizzo e limitazione rimangono nella regione in cui vengono emesse, poiché le quote descritte si applicano a ciascuna regione.

Ogni tipo di telemetria risponde a una domanda diversa:

Per risolvere i problemi nella regione in cui è stata eseguita una richiesta, utilizza il gruppo di log regionale, in cui gli ambienti di esecuzione scrivono /aws/lambda/web/function-name.local i log. Lambda centralizza i log in modo asincrono nel gruppo di log nella regione di origine. /aws/lambda/web/function-name Per informazioni sulle aree di origine e sulla replica, consulta. Multi-Region dispiegamento

Il diagramma seguente mostra come Lambda scrive e centralizza la telemetria tra le regioni. Le metriche delle richieste nel AWS/Lambda/Web namespace e nei log sono centralizzate nella regione di origine. Le metriche di utilizzo nel namespace rimangono in ogni regione. AWS/Lambda/Web/Usage

Lambda in ogni regione scrive log e metriche di utilizzo in quella regione. Lambda centralizza le metriche e i log delle richieste in modo asincrono nella regione di origine. Le metriche di utilizzo rimangono in ogni regione.

Fatturazione telemetrica

La telemetria per le funzioni Web viene fatturata come segue:

Telemetria Fatturazione
Metriche pubblicate da Lambda Gratuito Lambda pubblica gratuitamente le metriche nei AWS/Lambda/Web/Usage namespace AWS/Lambda/Web e negli spazi dei nomi.
Log Paghi le tariffe standard di Amazon CloudWatch Logs per scrivere e archiviare i log nel gruppo di .local log in ogni regione. Paghi anche per archiviare le copie nel gruppo di log centralizzato nella regione d'origine. Lambda copia gratuitamente ogni evento di registro nella regione di origine. La prima centralizzazione dell'evento di registro è gratuita.
Parametri personalizzati Le metriche personalizzate che pubblichi utilizzando il formato metrico incorporato prevedono costi di importazione di CloudWatch Amazon Logs e costi metrici personalizzati. CloudWatch La prima centralizzazione dell'evento di registro è gratuita. Per ulteriori informazioni, consulta Pubblicazione di metriche personalizzate con il formato metrico incorporato.

Per i prezzi correnti, consulta i CloudWatchprezzi di Amazon.

Considerazioni sulla telemetria

Esamina i seguenti comportamenti prima di creare dashboard, allarmi o automazioni sulla telemetria di Web Function.

AWS X-Ray tracciato

Se una richiesta include un'X-Amzn-Trace-Idintestazione, Lambda la passa all'applicazione senza modifiche. Lambda non aggiunge un'intestazione di traccia alle richieste che non ne includono una e Web Functions non crea segmenti di servizio Lambda. Poiché i chiamanti impostano questa intestazione, considerane il valore come input del client. Per registrare le tracce, invia i dati di traccia dal codice direttamente a X-Ray, ad esempio con AWS Distro for OpenTelemetry, e concedi al ruolo di esecuzione l'autorizzazione alla scrittura. X-Ray

Latenza di centralizzazione

Le metriche e i log raggiungono la regione di origine in modo asincrono. In regime stazionario, Lambda centralizza in genere le metriche e i log in pochi minuti. La telemetria può arrivare più tardi durante un'interruzione del servizio.

Quando crei un endpoint che funziona in più di una regione, Lambda imposta la centralizzazione delle metriche per ogni regione di replica. CloudWatch possono essere necessari diversi minuti dopo che l'endpoint diventa attivo in una regione per iniziare a centralizzare le metriche da quella regione. Le metriche emesse prima di allora rimangono solo in quella regione e non vengono aggiunte alla regione di origine in un secondo momento.

Tieni conto di questa latenza nell'automazione della distribuzione. Se una pipeline crea una funzione Web o un endpoint e quindi verifica immediatamente le metriche o i log nella regione di origine, attendi l'arrivo della prima telemetria anziché considerare la sua assenza come un errore.

Telemetria in ogni regione

Lambda scrive la telemetria in ogni regione in cui vengono eseguite le richieste e quindi ne centralizza una parte nella regione di origine. Ciò su cui puoi fare affidamento in ogni regione dipende dal tipo di telemetria:

Metriche delle richieste () AWS/Lambda/Web

Lambda può anche scrivere queste metriche in altre regioni in cui vengono eseguite le richieste. Possono essere modificate o rimosse senza preavviso, quindi ti consigliamo di non fare affidamento su di esse e di utilizzare invece i valori centralizzati nella regione di residenza per allarmi, dashboard e automazione. I valori centralizzati includono le richieste provenienti da ogni regione servita dall'endpoint.

Metriche di utilizzo e limitazione () AWS/Lambda/Web/Usage

Queste metriche esistono solo nella regione in cui è stata inviata la richiesta. Allarme su di loro in ogni regione. Per informazioni dettagliate, vedi Metriche di utilizzo e limitazione a livello regionale.

Log

In ogni regione, il gruppo di .local log contiene solo i log di quella regione. Questi registri sono disponibili prima del completamento della centralizzazione e non sono interessati dai ritardi di centralizzazione, il che li rende utili per il debug di un problema regionale. Il gruppo di log centralizzato nella regione di origine contiene i registri di ogni regione. Crea query, sottoscrizioni e politiche di conservazione condivise sul gruppo di log centralizzato. Per informazioni dettagliate, vedi Gruppi di log.

Interruzioni del servizio

Le interruzioni dell'infrastruttura, come un'interruzione della zona di disponibilità, possono ritardare la telemetria e alcuni parametri ed eventi di registro potrebbero andare persi. Se la regione di origine è compromessa, le metriche e i registri centralizzati nella regione di origine possono subire ritardi o non essere disponibili. Le metriche di utilizzo e i gruppi di .local log in altre regioni non dipendono dalla centralizzazione e continuano a ricevere dati di telemetria da tali regioni.

La telemetria viene emessa con la massima diligenza possibile. In rare occasioni, la telemetria può essere interrotta o duplicata. Non trattate la telemetria di Web Function come un record di controllo. Per controllare le modifiche alla configurazione e le chiamate, utilizzare. AWS CloudTrail Per ulteriori informazioni, consulta Registrazione delle chiamate API Web Function utilizzando AWS CloudTrail.

Autorizzazioni richieste

La registrazione richiede le autorizzazioni logs:CreateLogGroup di Amazon CloudWatch Logs e logs:CreateLogStream il ruolo di logs:PutLogEvents esecuzione della funzione Web. Senza di essi, Lambda non può creare gruppi di log o scrivere eventi di registro e l'output dell'applicazione va perso. Per un esempio di policy, consulta Ruolo di esecuzione.

Lambda pubblica le metriche negli AWS/Lambda/Web/Usage spazi dei nomi AWS/Lambda/Web and, quindi non richiedono alcuna autorizzazione nel ruolo di esecuzione, incluso. cloudwatch:PutMetricData Inoltre, il formato metrico incorporato non chiama PutMetricData direttamente, ma richiede le stesse autorizzazioni di Amazon CloudWatch Logs, poiché Lambda estrae le metriche dagli eventi di registro.