AWS Lambda
Manuel du développeur

Métriques AWS Lambda

Cette rubrique décrit l'espace de noms, les métriques et les dimensions AWS Lambda. AWS Lambda surveille automatiquement les fonctions en votre nom et présente les métriques via Amazon CloudWatch. Ces métriques comprennent tous les appels, les erreurs, la durée, les limitations, les erreurs DLQ et l'âge de l'itérateur relatifs aux appels basés sur les flux.

CloudWatch est principalement un référentiel de métriques. Une métrique est le concept fondamental de CloudWatch et représente un ensemble de points de données ordonnés dans le temps. Vous (ou les services AWS) publiez les points de données des métriques dans CloudWatch et vous récupérez les statistiques concernant ces points de données sous la forme d'un ensemble ordonné de données chronologiques.

Les métriques sont uniquement définies par un nom, un espace de noms et une ou plusieurs dimensions. Chaque point de données comporte un horodatage et, le cas échéant, une unité de mesure. Lorsque vous demandez des statistiques, le flux de données renvoyé est identifié par l'espace de noms, le nom de la métrique et la dimension. Pour plus d'informations sur CloudWatch, consultez le Guide de l'utilisateur Amazon CloudWatch.

Métriques AWS Lambda CloudWatch

L'espace de noms AWS/Lambda inclut les métriques suivantes.

Métrique Description
Invocations

Mesure le nombre de fois qu'une fonction est appelée en réponse à un événement ou un appel d'API. Cela remplace la métrique RequestCount obsolète. Cela inclut les appels réussis ou en échec, mais n'inclut pas les tentatives de limitation. Cela équivaut aux demandes facturées pour la fonction. Notez que AWS Lambda envoie uniquement ces mesures à CloudWatch si elles ont une valeur différente de zéro.

Unités : nombre

Errors

Mesure le nombre d'appels ayant échoué en raison d'erreurs dans la fonction (code de réponse 4XX). Les appels ayant échoué peuvent déclencher une tentative qui réussit. Les points suivants sont abordés :

  • Exceptions gérées (par exemple, context.fail(error))

  • Exceptions non gérées, ce qui entraîne l'arrêt du code

  • Exceptions de mémoire insuffisante

  • Délais

  • Erreurs d'autorisations

Cela n'inclut pas les appels qui échouent en raison des taux d'appel entraînant un dépassement de limites simultanées par défaut (code d'erreur 429) ou les défaillances dues à des erreurs de service interne (code d'erreur 500).

Unités : nombre

DeadLetterErrors

Métrique incrémentée quand Lambda ne parvient pas à écrire la charge utile de l'événement en échec sur vos files d'attente Lettre Morte. Cela peut être dû à l'un des éléments suivants :

  • Erreurs d'autorisations

  • Limitations des services en aval

  • Configuration incorrecte des ressources

  • Délais

Unités : nombre

Duration

Mesure le temps écoulé entre le moment où le code de la fonction commence à s'exécuter en raison d'un appel jusqu'à l'arrêt de son exécution. La valeur de point de données maximale possible est la configuration du délai d'expiration de la fonction. La durée facturée sera arrondie aux 100 millisecondes près. Notez que AWS Lambda envoie uniquement ces mesures à CloudWatch si elles ont une valeur différente de zéro.

Unités : millisecondes

Throttles

Mesure le nombre de tentatives d'appel de fonction Lambda qui ont été limitées en raison des taux d'appel entraînant un dépassement de limites simultanées du client (code d'erreur 429). Les appels ayant échoué peuvent déclencher une tentative qui réussit.

Unités : nombre

IteratorAge

Émis pour les appels basés sur les flux uniquement (fonctions déclenchées par un flux Amazon DynamoDB ou Kinesis). Mesure l'âge du dernier enregistrement pour chaque lot d'enregistrements traité. L'âge est la différence entre l'heure à laquelle Lambda a reçu le lot et celle à laquelle le dernier enregistrement du lot a été inscrit dans le flux.

Unités : millisecondes

ConcurrentExecutions

Émise comme une métrique agrégée pour toutes les fonctions du compte et pour les fonctions qui ont une limite de devise personnalisée spécifiée. Non applicable pour les versions ou les alias. Mesure la somme des exécutions simultanées pour une fonction donnée à un point donné dans le temps. Doit s'afficher comme moyenne de métrique si elle a été agrégée sur une période de temps.

Unités : nombre

UnreservedConcurrentExecutions

Émise comme métrique agrégée pour toutes les fonctions du compte uniquement. Non applicable pour les fonctions, les versions ou les alias. Représente la somme des fonctions simultanées qui n'ont pas de limite de devise personnalisée spécifiée. Doit s'afficher comme moyenne de métrique si elle a été agrégée sur une période de temps.

Unités : nombre

Pour accéder aux métriques grâce à la console CloudWatch

  1. Ouvrez la console CloudWatch à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans le volet de navigation, choisissez Metrics.

  3. Dans le volet Métriques CloudWatch par catégorie, sélectionnez Métriques Lambda.

Rapport entre les erreurs et les appels

Lors du calcul du taux d'erreur sur les appels de fonctions Lambda, il est important de faire la distinction entre une demande d'appel et un appel réel. Il est possible pour le taux d'erreur de dépasser le nombre d'invocations de fonction Lambda. Lambda signale une métrique d'invocation uniquement si le code de fonction Lambda est exécuté. Si la demande d'invocation donne une limitation ou une autre erreur d'initialisation qui empêche le code de fonction Lambda d'être invoqué, Lambda signalera une erreur, mais ne consignera pas une métrique d'invocation.

  • Lambda émet Invocations=1 lorsque la fonction est exécutée. Si la fonction Lambda n'est pas exécutée, rien n'est émis.

  • Lambda émet un point de données pour Errors pour chaque demande d'invocation. Errors=0 signifie qu'il n'y a aucune erreur d'exécution de fonction. Errors=1 signifie qu'il y a une erreur d'exécution de fonction.

  • Lambda émet un point de données pour Throttles pour chaque demande d'invocation. Throttles=0 signifie qu'il n'y a aucune restriction d'invocation. Throttles=1 signifie qu'il y a une restriction d'invocation.

Dimensions AWS Lambda CloudWatch

Vous pouvez utiliser les dimensions du tableau suivant pour affiner les métriques retournées pour vos fonctions Lambda.

Dimension Description
FunctionName

Filtre les données des métriques par fonction Lambda.

Resource

Filtre les données de métrique par une ressource de fonction Lambda, comme une version ou un alias de fonction.

ExecutedVersion

Filtre les données des métriques par versions de fonction Lambda. S'applique uniquement aux appels d'alias.