Utilisation des métriques de fonction AWS Lambda - AWS Lambda

Utilisation des métriques de fonction AWS Lambda

Lorsque votre fonction termine le traitement d'un événement, Lambda envoie des métriques concernant l'appel à Amazon CloudWatch. Vous pouvez générer des graphiques et des tableaux de bord avec ces métriques dans la console CloudWatch et définir des alarmes pour répondre aux modifications des taux d'utilisation, de performances et d'erreur. Utilisez les dimensions pour filtrer et trier les métriques de fonction par nom, alias ou version de fonction.

Pour afficher les métriques sur la console CloudWatch

  1. Ouvrez la page Métriques de la console Amazon CloudWatch (espace de noms AWS/Lambda).

  2. Choisissez une dimension.

    • Par nom de fonction (FunctionName) – Affichez les métriques d'agrégation pour toutes les versions et tous les alias d'une fonction.

    • Par ressource (Resource) – Affichez les métriques pour une version ou un alias d'une fonction.

    • By Executed Version (Par version exécutée) (ExecutedVersion) – Affichez les métriques pour une combinaison d'alias et de version. Utilisez la dimension ExecutedVersion pour comparer les taux d'erreur pour deux versions d'une fonction qui sont les cibles d'un alias pondéré.

    • Sur toutes les fonctions (aucun) – Affichez les métriques agrégées pour toutes les fonctions figurant dans la région AWS actuelle.

  3. Choisissez des métriques pour les ajouter au graphique.

Par défaut, les graphiques utilisent la statistique Sum pour toutes les métriques. Pour choisir une autre statistique et personnaliser le graphique, utilisez les options de l'onglet Graphique des métriques.

L'horodatage d'une métrique indique le moment où la fonction a été appelée. En fonction de la durée de l'exécution, il peut se rapporter à plusieurs minutes avant l'émission de la métrique. Si, par exemple, le délai d'expiration de votre fonction est de 10 minutes, effectuez une recherche plus de 10 minutes dans le passé pour obtenir des métriques précises.

Pour plus d'informations sur CloudWatch, consultez le Guide de l'utilisateur Amazon CloudWatch.

Utilisation des métriques d'appel

Les métriques d'appel sont des indicateurs binaires du résultat d'un appel. Par exemple, si la fonction renvoie une erreur, Lambda envoie la métrique Errors avec une valeur de 1. Pour obtenir le nombre d'erreurs de fonction qui se sont produites chaque minute, examinez la somme (Sum) de la métrique Errors avec une période d'une minute.

Vous devez visualiser les métriques suivantes avec la statistique Sum.

Métriques d'appel

  • Invocations – Nombre de fois où votre code de fonction est exécuté, y compris les exécutions réussies et les exécutions qui entraînent une erreur de fonction. Les appels ne sont pas enregistrés si la demande d'appel est limitée ou si elle entraîne une erreur d'appel. Ceci est égal au nombre de demandes facturées.

  • Errors – Nombre d'appels qui entraînent une erreur de fonction. Les erreurs de fonction incluent les exceptions levées par votre code et les exceptions levées par le runtime Lambda. Le runtime renvoie des erreurs pour des problèmes tels que les expirations de délai et les erreurs de configuration. Pour calculer le taux d'erreur, divisez la valeur Errors par la valeur Invocations.

  • DeadLetterErrors – Pour un appel asynchrone, nombre de fois où Lambda tente d'envoyer un événement à une file d'attente de lettres mortes mais échoue. Des erreurs de lettre morte peuvent survenir en raison d'erreurs d'autorisations, de ressources mal configurées ou de limites de taille.

  • DestinationDeliveryFailures – Pour un appel asynchrone, nombre de fois où Lambda tente d'envoyer un événement à une destination mais échoue. Des erreurs de remise peuvent se produire en raison d'erreurs d'autorisations, de ressources mal configurées ou de limites de taille.

  • Throttles – Nombre de demandes d'appel qui sont soumises à une limitation. Lorsque toutes les instances de fonction traitent des demandes et qu'aucune simultanéité n'est disponible pour la mise à l'échelle, Lambda rejette les demandes supplémentaires avec TooManyRequestsException. Les demandes limitées et les autres erreurs d'appel ne comptent pas comme Invocations ou Errors.

  • ProvisionedConcurrencyInvocations – Nombre de fois où votre code de fonction est exécuté sur la simultanéité provisionnée.

  • ProvisionedConcurrencySpilloverInvocations – Nombre de fois où votre code de fonction est exécuté sur la simultanéité standard lorsque toute la simultanéité provisionnée est en cours d'utilisation.

Utilisation des métriques de performances

Les métriques de performance fournissent des détails sur les performances d'un appel individuel. Par exemple, la métrique Duration indique la durée en millisecondes que votre fonction consacre au traitement d'un événement. Pour avoir une idée de la rapidité avec laquelle votre fonction traite les événements, affichez ces métriques avec la statistique Average ou Max.

Métriques de performances

  • Duration – Durée de traitement d'un événement par votre code de fonction. Pour le premier événement traité par une instance de votre fonction, elle inclut le temps d'initialisation. La durée facturée pour un appel est la valeur Duration arrondie aux 100 millisecondes les plus proches.

  • IteratorAge – Pour les mappages de source d'événement qui lisent à partir des flux, âge du dernier enregistrement dans l'événement. Cet âge correspond au temps écoulé entre le moment où le flux reçoit l'enregistrement et le moment où le mappage de source d'événement envoie l'événement à la fonction.

Duration prend également en charge les statistiques sur les centiles. Utilisez les centiles pour exclure les valeurs aberrantes qui faussent les statistiques moyennes et maximales. Par exemple, la statistique P95 indique la durée maximale de 95 % des exécutions, en excluant les 5 % les plus lentes.

Utilisation des métriques de simultanéité

Lambda signale les métriques de simultanéité sous la forme d'un nombre agrégé du nombre d'instances traitant des événements au sein d'une fonction, d'une version, d'un alias ou d'une région AWS. Pour voir la distance qui vous sépare des limites de simultanéité, affichez ces métriques à l'aide de la statistique Max.

Métriques de simultanéité

  • ConcurrentExecutions – Nombre d'instances de fonction qui traitent des événements. Si ce nombre atteint votre quota d'exécutions simultanées pour la région ou la limite de simultanéité réservée que vous avez configurée sur la fonction, les demandes d'appel supplémentaires sont limitées.

  • ProvisionedConcurrentExecutions – Nombre d'instances de fonction qui traitent des événements sur la simultanéité provisionnée. Pour chaque appel d'un alias ou d'une version avec simultanéité provisionnée, Lambda émet le nombre actuel.

  • ProvisionedConcurrencyUtilization – Pour une version ou un alias, valeur ProvisionedConcurrentExecutions divisée par le montant total de la simultanéité provisionnée allouée. Par exemple, .5 indique que 50 % de la simultanéité provisionnée allouée est en cours d'utilisation.

  • UnreservedConcurrentExecutions – Pour une région AWS, nombre d'événements qui sont traités par des fonctions qui n'ont pas de simultanéité réservée.