Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Publication de métriques personnalisées avec le format de métrique intégré
Avec le format de métrique CloudWatch intégré (EMF) d'Amazon, vous pouvez publier vos propres statistiques à partir de AWS Lambda Web Functions, telles que les commandes passées, le taux de réussite du cache ou le temps de latence des paiements. Votre application écrit un objet JSON structuré dans ses journaux et en CloudWatch extrait les métriques. Utilisez des métriques personnalisées pour suivre les activités de votre application. Les métriques publiées par Lambda décrivent uniquement les résultats des demandes et l'utilisation des ressources.
Vous pouvez également publier des métriques personnalisées en appelant directement l' CloudWatch PutMetricDataAPI, mais nous recommandons EMF pour les fonctions Web :
-
Aucune latence de requête supplémentaire : votre application n'appelle pas l' CloudWatch API sur le chemin qui sert votre réponse HTTP.
-
Aucune autorisation supplémentaire — Vous n'avez pas besoin d'
cloudwatch:PutMetricDataautorisation. EMF utilise les mêmes autorisations Amazon CloudWatch Logs dont le rôle d'exécution a déjà besoin pour les journaux. -
Centralisation avec vos journaux : comme les métriques EMF voyagent avec vos journaux, la région d'origine possède les valeurs de chaque région desservie par le terminal. Les métriques que vous utilisez pour publier
PutMetricDataapparaissent uniquement dans la région dans laquelle vous les appelez.
Comment EMF fonctionne avec les fonctions Web
Les métriques EMF sont transmises de votre application aux CloudWatch étapes suivantes :
-
Votre application écrit un objet EMF-formatted JSON, suivi d'une nouvelle ligne, directement sur la sortie standard.
-
Lambda le capture sous forme d'événement de journal dans la région où la demande a été exécutée et le centralise dans le home Région AWS, comme toute autre sortie de journal. Pour plus de détails, consultez Journaux des fonctions Web dans Amazon CloudWatch Logs.
-
CloudWatch extrait les métriques de l'objet dans la région où la demande a été exécutée, et Lambda réplique les métriques dans la région d'origine. Les métriques apparaissent dans l'espace de noms que vous spécifiez dans l'objet. Dans la région d'origine, les métriques incluent les valeurs de chaque région desservie par le point de terminaison.
Vos métriques personnalisées apparaissent dans votre propre espace de noms, pas dansAWS/Lambda/Web. Cet espace de noms est réservé aux métriques publiées par Lambda.
Publication d'une métrique personnalisée
L'Node.jsexemple suivant publie une CheckoutLatency métrique et une OrdersPlaced métrique sous l'espace de MyWebApp noms, avec une PaymentProvider dimension. Il écrit l'objet EMF avecprocess.stdout.write. Ne transmettez pas d'objet EMF à une console méthode. Lambda encapsule la console sortie dans son propre journal d'événements JSON et n'extrait CloudWatch pas les métriques de l'objet encapsulé.
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'); }
Au lieu de créer vous-même des objets EMF, vous pouvez utiliser une bibliothèque cliente EMF, telle que aws-embedded-metricsconsole ou vers un CloudWatch agent.
Notez les trois rôles que jouent les champs dans un objet EMF :
-
Les champs nommés dans
Metricsdeviennent CloudWatch des métriques. -
Les champs nommés dans
Dimensionsdeviennent des dimensions métriques. Maintenez le nombre de valeurs de dimension distinctes à un faible niveau. Chaque combinaison crée une métrique distincte. -
Tout autre champ est conservé dans le journal des événements en tant que contexte que vous pouvez interroger avec Amazon CloudWatch Logs Insights, mais ne crée pas de métrique.
Utilisez délibérément la dernière propriété : associez des valeurs de cardinalité élevée, telles qu'un numéro de demande ou un numéro de client, sous forme de champs simples plutôt que sous forme de dimensions, afin de pouvoir trouver la demande spécifique dans Logs Insights sans multiplier le nombre de métriques.
Facturation pour des mesures personnalisées
L'EMF génère à la fois l'ingestion de logs et des frais métriques personnalisés. L'événement du journal est facturé aux prix d'Amazon CloudWatch Logs, et les métriques extraites sont facturées en tant que métriques CloudWatch personnalisées. La première centralisation d'un événement de journal est gratuite. CloudWatch extrait les métriques EMF dans la région où la demande a été exécutée, et Lambda les réplique dans la région d'origine, de sorte qu'une demande traitée en dehors de la région d'origine produit des métriques personnalisées dans les deux régions.
Le volume du journal, le nombre de mesures et le nombre de combinaisons de dimensions distinctes ont une incidence sur les coûts. Publiez les métriques à la granularité sur laquelle vous souhaitez émettre une alarme ou sur un graphique, et évitez les dimensions à cardinalité élevée.
Pour les prix actuels, consultez les CloudWatchtarifs Amazon