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à.
Pubblicazione di metriche personalizzate con il formato metrico incorporato
Con il formato Amazon CloudWatch Embedded Metric (EMF), puoi pubblicare i tuoi parametri da AWS Lambda Web Functions, come gli ordini effettuati, la frequenza di accesso alla cache o la latenza dei pagamenti. La tua applicazione scrive un oggetto JSON strutturato nei suoi log e CloudWatch ne estrae le metriche. Utilizza metriche personalizzate per tenere traccia di ciò che fa la tua applicazione. Le metriche pubblicate da Lambda descrivono solo i risultati delle richieste e l'utilizzo delle risorse.
Puoi anche pubblicare metriche personalizzate chiamando direttamente l' CloudWatch PutMetricDataAPI, ma consigliamo EMF for Web Functions:
-
Nessuna latenza di richiesta aggiunta: l'applicazione non chiama l' CloudWatch API sul percorso che serve la risposta HTTP.
-
Nessuna autorizzazione aggiuntiva: non è necessaria l'
cloudwatch:PutMetricDataautorizzazione. EMF utilizza le stesse autorizzazioni Amazon CloudWatch Logs di cui il ruolo di esecuzione ha già bisogno per i log. -
Centralizzazione con i log: poiché le metriche EMF viaggiano con i log, la regione di origine contiene i valori di ogni regione servita dall'endpoint. Le metriche con cui vengono pubblicate
PutMetricDatavengono visualizzate solo nella regione in cui vengono chiamate.
Come funziona EMF con Web Functions
Le metriche EMF viaggiano dall'applicazione ai seguenti CloudWatch passaggi:
-
L'applicazione scrive un oggetto EMF-formatted JSON, seguito da una nuova riga, direttamente sullo standard output.
-
Lambda lo acquisisce come evento di registro nella regione in cui è stata eseguita la richiesta e lo centralizza nella home Regione AWS, come qualsiasi altro output di registro. Per informazioni dettagliate, vedi Registri delle funzioni Web in Amazon CloudWatch Logs.
-
CloudWatch estrae le metriche dall'oggetto nella regione in cui è stata eseguita la richiesta e Lambda replica le metriche nella regione principale. Le metriche vengono visualizzate nello spazio dei nomi specificato nell'oggetto. Nella regione principale, le metriche includono i valori di ogni regione servita dall'endpoint.
Le metriche personalizzate vengono visualizzate nel tuo spazio dei nomi, non in. AWS/Lambda/Web Questo spazio dei nomi è riservato alle metriche pubblicate da Lambda.
Pubblicazione di una metrica personalizzata
L'Node.jsesempio seguente pubblica una CheckoutLatency metrica e una OrdersPlaced metrica nello MyWebApp spazio dei nomi, con una dimensione. PaymentProvider Scrive l'oggetto EMF con. process.stdout.write Non passate un oggetto EMF a un console metodo. Lambda racchiude l'consoleoutput nel proprio evento di registro JSON e CloudWatch non estrae le metriche dall'oggetto avvolto.
function publishCheckoutMetrics(provider, latencyMs, orders) { process.stdout.write(JSON.stringify({ _aws: { Timestamp: Date.now(), CloudWatchMetrics: [ { Namespace: 'MyWebApp', Dimensions: [['PaymentProvider']], Metrics: [ { Name: 'CheckoutLatency', Unit: 'Milliseconds' }, { Name: 'OrdersPlaced', Unit: 'Count' } ] } ] }, PaymentProvider: provider, CheckoutLatency: latencyMs, OrdersPlaced: orders, // Fields outside the metric definitions are kept as searchable log context. requestPath: '/checkout' }) + '\n'); }
Invece di creare oggetti EMF da soli, è possibile utilizzare una libreria client EMF, come aws-embedded-metrics for sul sito Web. Node.jsconsole o verso un agente. CloudWatch
Notate i tre ruoli che i campi svolgono in un oggetto EMF:
-
I campi denominati in
Metricsdiventano CloudWatch metriche. -
I campi denominati in
Dimensionsdiventano dimensioni metriche. Mantieni basso il numero di valori di dimensione distinti. Ogni combinazione crea una metrica separata. -
Qualsiasi altro campo viene mantenuto nell'evento di registro come contesto che puoi interrogare con Amazon CloudWatch Logs Insights, ma non crea una metrica.
Usa deliberatamente l'ultima proprietà: allega valori di cardinalità elevata come l'ID della richiesta o l'ID cliente come campi semplici anziché come dimensioni, in modo da poter trovare la richiesta specifica in Logs Insights senza moltiplicare il conteggio delle metriche.
Fatturazione per metriche personalizzate
EMF genera sia l'inserimento di log che addebiti metrici personalizzati. L'evento di registro viene fatturato ai prezzi di Amazon CloudWatch Logs e le metriche estratte vengono fatturate come metriche personalizzate. CloudWatch La prima centralizzazione di un evento di registro è gratuita. CloudWatch estrae le metriche EMF nella regione in cui è stata eseguita la richiesta e Lambda le replica nella regione di origine, in modo che una richiesta servita al di fuori della regione di origine produca metriche personalizzate in entrambe le regioni.
Il volume di log, il numero di metriche e il numero di combinazioni di dimensioni distinte influiscono sui costi. Pubblica le metriche con la stessa granularità in base alla quale verranno visualizzate le notifiche o rappresentate graficamente ed evita le dimensioni ad alta cardinalità.
Per i prezzi correnti, consulta i CloudWatchprezzi di Amazon