View a markdown version of this page

Types de métriques pour les fonctions d'événement Lambda - AWS Lambda

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.

Types de métriques pour les fonctions d'événement Lambda

Cette section décrit les types de métriques Lambda disponibles dans la CloudWatch console.

Métriques d’invocation

Les métriques d'invocation sont des indicateurs binaires du résultat d'un appel de fonction d'événement Lambda. Vous devez visualiser les métriques suivantes avec la statistique Sum. Par exemple, si la fonction d'événement renvoie une erreur, Lambda envoie la Errors métrique avec une valeur de 1. Pour connaître le nombre d'erreurs liées à la fonction d'événement survenues chaque minute, Sum consultez la Errors métrique sur une période d'une minute.

  • Invocations— Le nombre de fois que votre code de fonction d'événement est invoqué, y compris les invocations réussies et celles qui entraînent une erreur de fonction. Les invocations ne sont pas enregistrés si la demande d'invocation est limitée ou si elle entraîne une erreur d'invocation. La valeur de Invocations est égale au nombre de demandes facturées.

  • Errors – Nombre d'invocations entraînant une erreur de fonction. Les erreurs de fonction incluent les exceptions levées par votre code et par l'exécution Lambda. L'environnement d'exécution 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. Notez que l'horodatage d'une métrique d'erreur indique le moment où la fonction d'événement a été invoquée, et non le moment où l'erreur s'est produite.

  • DeadLetterErrors— Pour un appel asynchrone, le nombre de fois que Lambda tente d'envoyer un événement vers une file d'attente de lettres mortes (DLQ) mais échoue. Dead-letter des erreurs peuvent survenir en raison de ressources mal définies ou de limites de taille.

  • DestinationDeliveryFailures – Pour l'invocation asynchrone et les mappages des sources d'événements pris en charge, le nombre de fois où Lambda tente d'envoyer un événement à une destination, mais échoue. Pour les mappages des sources d'événements, Lambda prend en charge les destinations des sources de flux (DynamoDB et Kinesis). Des erreurs de remise peuvent se produire en raison d’erreurs d’autorisations, de ressources mal configurées ou des limites de taille. Des erreurs peuvent également se produire si la destination que vous avez configurée est un type non pris en charge, tel qu'une file d'attente FIFO Amazon SQS ou une rubrique FIFO Amazon SNS.

  • Throttles – Nombre de demandes d'invocation limitées. Lorsque toutes les instances de fonction traitent des requêtes et qu'aucune simultanéité n'est disponible pour effectuer une augmentation, Lambda rejette les requêtes supplémentaires avec une erreur TooManyRequestsException. Les demandes limitées et les autres erreurs d'invocation ne comptent pas comme Invocations ou Errors.

    Note

    Avec les instances gérées Lambda, Lambda fournit des métriques d'accélération granulaires qui identifient la contrainte spécifique à l'origine de l'accélération. Lorsqu'un accélérateur se produit dans l'environnement d'exécution, exactement l'une des sous-métriques suivantes est émise avec une valeur de 1, tandis que les trois autres sont émises avec une valeur de 0. La Throttles métrique est toujours émise à côté de ces sous-métriques.

    • CPUThrottles— Les appels sont limités en raison de l'épuisement du processeur dans l'environnement d'exécution.

    • MemoryThrottles— Les appels sont limités en raison de l'épuisement de la mémoire dans l'environnement d'exécution.

    • DiskThrottles— Les appels sont limités en raison de l'épuisement du disque dans l'environnement d'exécution.

    • ConcurrencyThrottles— Les appels sont limités lorsque la limite de simultanéité de l'environnement d'exécution est atteinte.

  • OversizedRecordCount— Pour les sources d'événements Amazon DocumentDB, le nombre d'événements que votre fonction d'événement reçoit de votre flux de modifications dont la taille est supérieure à 6 Mo. Lambda supprime le message et émet cette métrique.

  • ProvisionedConcurrencyInvocations— Le nombre de fois que votre code de fonction d'événement est invoqué à l'aide de la simultanéité provisionnée.

  • ProvisionedConcurrencySpilloverInvocations— Le nombre de fois que votre code de fonction d'événement est invoqué en utilisant la simultanéité standard alors que toutes les simultanités configurées sont utilisées.

  • RecursiveInvocationsDropped— Le nombre de fois où Lambda a arrêté l'invocation de votre fonction d'événement parce qu'il a détecté que votre fonction d'événement faisait partie d'une boucle récursive infinie. La détection de boucle récursive surveille le nombre de fois qu'une fonction d'événement est invoquée dans le cadre d'une chaîne de requêtes en suivant les métadonnées ajoutées par les AWS SDK compatibles. Par défaut, si votre fonction d'événement est invoquée dans le cadre d'une chaîne de requêtes environ 16 fois, Lambda abandonne l'appel suivant. Si vous désactivez la détection des boucles récursives, cette métrique n’est pas émise. Pour en savoir plus sur cette fonction, consultez Utilisation de la détection de boucle récursive Lambda pour prévenir les boucles infinies.

Métriques de déploiement

Les métriques de déploiement fournissent des informations sur les événements de déploiement de la fonction d'événement Lambda et les processus de validation associés.

  • SignatureValidationErrors : le nombre de fois qu’un déploiement de package de code s’est produit avec des échecs de validation de signature lorsque la politique de configuration de signature de code est définie sur Warn. Cette métrique est émise lorsque les vérifications d’expiration, d’incompatibilité ou de révocation échouent, mais que le déploiement est toujours autorisé en raison du paramètre de politique Warn. Pour plus d'informations sur la signature de code, consultez Utilisation de la signature de code pour vérifier l’intégrité du code avec Lambda.

Métriques de performances

Les indicateurs de performance fournissent des informations détaillées sur les performances d'une seule invocation d'une fonction d'événement. Par exemple, la Duration métrique indique le temps en millisecondes que votre fonction événementielle passe à traiter un événement. Pour avoir une idée de la rapidité avec laquelle votre fonction événementielle traite les événements, consultez ces indicateurs à l'aide de la Max statistique Average or.

  • Duration— Le temps que votre code Event Function consacre au traitement d'un événement. La durée facturée pour une invocation est la valeur de la Duration arrondie à la milliseconde la plus proche. La Duration n'inclut pas le temps de démarrage à froid.

  • PostRuntimeExtensionsDuration— Le temps cumulé que le moteur d'exécution passe à exécuter le code des extensions une fois le code de la fonction d'événement terminé.

  • IteratorAge : pour les sources d’événements DynamoDB, Kinesis et Amazon DocumentDB, l’âge en millisecondes du dernier enregistrement dans l’événement. Cette métrique mesure le délai entre le moment où un flux reçoit l'enregistrement et le moment où le mappage de la source d'événement envoie l'événement à la fonction d'événement.

  • OffsetLag— Pour les sources d'événements autogérées Apache Kafka et Amazon Managed Streaming for Apache Kafka (Amazon MSK), différence de décalage entre le dernier enregistrement écrit sur un sujet et le dernier enregistrement traité par le groupe de consommateurs de votre fonction d'événement. Bien qu'une rubrique Kafka puisse comporter plusieurs partitions, cette métrique mesure le décalage de décalage au niveau de la rubrique.

Duration prend également en charge les statistiques de centiles (p). Utilisez les centiles pour exclure les valeurs aberrantes qui faussent les statistiques Average et Maximum. Par exemple, la statistique p95 indique la durée maximale de 95 % des invocations, en excluant les 5 % les plus lentes. Pour plus d'informations, consultez la section Percentiles dans le guide de CloudWatch l'utilisateur Amazon.

Métriques de simultanéité

Lambda indique 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'événement, d'une version, d'un alias ou. 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.

  • ConcurrentExecutions— Le nombre d'instances de fonctions événementielles 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 pour la fonction d'événement, Lambda limite les demandes d'invocation supplémentaires.

  • ProvisionedConcurrentExecutions— Le nombre d'instances de fonctions événementielles qui traitent des événements en utilisant la simultanéité provisionnée. Pour chaque invocation d'alias ou de version avec une simultanéité approvisionnée, Lambda émet le nombre actuel. Si votre fonction d'événement est inactive ou ne reçoit pas de demandes, Lambda n'émet pas cette métrique.

  • ProvisionedConcurrencyUtilization : pour une version ou un alias, la valeur de ProvisionedConcurrentExecutions divisée par la quantité totale de simultanéité allouée configurée. Par exemple, si vous configurez une simultanéité provisionnée de 10 pour votre fonction événementielle et que votre valeur ProvisionedConcurrentExecutions est de 7, alors votre valeur ProvisionedConcurrencyUtilization est de 0,7.

    Si votre fonction d'événement est inactive ou ne reçoit pas de demandes, Lambda n'émet pas cette métrique car elle est basée sur. ProvisionedConcurrentExecutions Gardez cela à l'esprit si vous l'utilisez ProvisionedConcurrencyUtilization comme base pour les CloudWatch alarmes.

  • UnreservedConcurrentExecutions— Pour une région, le nombre d'événements traités par Event Functions sans accès simultané réservé.

  • ClaimedAccountConcurrency – Pour une région, le niveau de simultanéité qui n'est pas disponible pour les appels à la demande. ClaimedAccountConcurrency est égal à UnreservedConcurrentExecutions plus le montant de la simultanéité allouée (c'est-à-dire le total de la simultanéité réservée plus le total de la simultanéité provisionnée). Pour plus d’informations, consultez Travailler avec la métrique ClaimedAccountConcurrency.

Métriques d'invocations asynchrones

Les métriques d'invocations asynchrones fournissent des informations détaillées sur les invocations asynchrones à partir des sources d'événements et des invocations directes. Vous pouvez définir des seuils et des alarmes pour vous avertir de certaines modifications. Par exemple, en cas d'augmentation indésirable du nombre d'événements mis en file d'attente pour traitement (AsyncEventsReceived). Ou encore lorsqu'un événement attend depuis longtemps d'être traité (AsyncEventAge).

  • AsyncEventsReceived : le nombre d'événements que Lambda met correctement en file d'attente pour traitement. Cette métrique donne un aperçu du nombre d'événements qu'une fonction d'événement reçoit. Surveillez cette métrique et définissez des alarmes pour des seuils afin de détecter les problèmes. Par exemple, pour détecter un nombre indésirable d'événements envoyés à Lambda et pour diagnostiquer rapidement les problèmes résultant de configurations de déclencheurs ou de fonctions incorrectes. Les incompatibilités entre AsyncEventsReceived et Invocations peuvent indiquer une disparité de traitement, des événements abandonnés ou un éventuel backlog dans les files d'attente.

  • AsyncEventAge— Le délai entre le moment où Lambda met correctement l'événement en file d'attente et le moment où la fonction d'événement est invoquée. La valeur de cette métrique augmente lorsque des événements font l'objet d'une nouvelle tentative en raison d'échecs d'invocation ou de limitation. Surveillez cette métrique et définissez des alarmes pour les seuils sur différentes statistiques lorsqu'une accumulation de file d'attente se produit. Pour résoudre le problème d'une augmentation de cette métrique, examinez la métrique Errors pour identifier les erreurs de fonction et la métrique Throttles pour identifier les problèmes de simultanéité.

  • AsyncEventsDropped— Le nombre d'événements supprimés sans que la fonction d'événement ne soit correctement exécutée. Si vous configurez une file d'attente de lettres mortes (DLQ) ou une destination OnFailure, les événements y sont envoyés avant d'être supprimés. Les événements sont supprimés pour diverses raisons. Par exemple, les événements peuvent dépasser l'âge maximal de l'événement ou atteindre le nombre maximal de nouvelles tentatives, ou la simultanéité réservée peut être définie sur 0. Pour déterminer pourquoi les événements sont supprimés, examinez la métrique Errors pour identifier les erreurs de fonction et la métrique Throttles pour identifier les problèmes de simultanéité.

Métriques de mappage des sources d’événements

Les métriques de mappage des sources d’événements fournissent des informations sur le comportement de traitement de votre mappage des sources d’événements.

Actuellement, les métriques de mappage des sources d'événements sont disponibles pour Amazon SQS, Kinesis, DynamoDB, Amazon MSK et les sources d'événements Apache Kafka autogérées.

Pour le mappage des sources d'événements avec la configuration des métriques, vous pouvez également vérifier toutes les métriques liées à ESM dans l'onglet Monitor depuis la page Console Lambda > Ressources supplémentaires > mappages de sources d'événements maintenant.

Pour activer des métriques ou un mappage des sources d’événements (console)
  1. Ouvrez la page Event Functions de la console Lambda.

  2. Choisissez la fonction d'événement pour laquelle vous souhaitez activer les métriques.

  3. Choisissez Configuration, puis Déclencheurs.

  4. Choisissez le mappage des sources d’événements pour lequel vous souhaitez activer les métriques, puis choisissez Modifier.

  5. Sous Configuration du mappage des sources d'événements, choisissez Activer les mesures ou sélectionnez-les dans la liste déroulante des mesures.

  6. Cliquez sur Enregistrer.

Vous pouvez également activer les métriques pour le mappage de la source de votre événement par programmation à l'aide de l' EventSourceMappingMetricsConfigobjet contenu dans votre. EventSourceMappingConfiguration Par exemple, la commande UpdateEventSourceMappingCLI suivante active les métriques pour le mappage d'une source d'événement :

aws lambda update-event-source-mapping \ --uuid a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 \ --metrics-config Metrics=EventCount

Il existe 3 groupes de métriques :EventCount, ErrorCount etKafkaMetrics, et chaque groupe possède plusieurs métriques. Toutes les métriques ne sont pas disponibles pour chaque source d'événement. Le tableau suivant récapitule les mesures prises en charge pour chaque type de source d'événement.

Vous devez vous inscrire au groupe de mesures pour recevoir les mesures associées aux métriques. Par exemple, définissez EventCount dans la configuration des métriques les valeurs suivantes : (PolledEventCount,,FilteredOutEventCount,InvokedEventCount, FailedInvokeEventCount DroppedEventCountOnFailureDestinationDeliveredEventCount, et). DeletedEventCount

Métrique de mappage des sources d’événements Groupe de métriques Amazon SQS Streams Kinesis et DynamoDB Amazon MSK et Apache Kafka autogéré

PolledEventCount

EventCount

Oui

Oui

Oui

FilteredOutEventCount

EventCount

Oui

Oui

Oui

InvokedEventCount

EventCount

Oui

Oui

Oui

FailedInvokeEventCount

EventCount

Oui

Oui

Oui

DroppedEventCount

EventCount

Non

Oui

Oui

OnFailureDestinationDeliveredEventCount

EventCount

Non

Oui

Oui

DeletedEventCount

EventCount

Oui

Non

Non

CommittedEventCount

EventCount

Non

Non

Oui

PollingErrorCount

ErrorCount

Non

Non

Oui

InvokeErrorCount

ErrorCount

Non

Non

Oui

OnFailureDestinationDeliveryErrorCount

ErrorCount

Non

Non

Oui

SchemaRegistryErrorCount

ErrorCount

Non

Non

Oui

CommitErrorCount

ErrorCount

Non

Non

Oui

MaxOffsetLag

KafkaMetrics

Non

Non

Oui

SumOffsetLag

KafkaMetrics

Non

Non

Oui

En outre, si votre mappage des sources d’événements est en mode alloué, Lambda fournit la métrique suivante :

  • ProvisionedPollers : pour les mappages des sources d’événements en mode alloué, le nombre de sondeurs d’événements qui s’exécutent activement. Visualisez cette métrique à l'aide des MAX calculs.

  • (Amazon MSK et sources d'événements Apache Kafka autogérées uniquement) EventPollerUnit — Pour les mappages de sources d'événements en mode provisionné, le nombre d'unités d'interrogation d'événements en cours d'exécution. Visualisez cette métrique à l'aide des SUM calculs.

  • (Amazon MSK et sources d'événements Apache Kafka autogérées) EventPollerThroughputInBytes — Pour les mappages de sources d'événements en mode provisionné, taille d'enregistrement totale des sondeurs d'événements interrogés à partir de la source d'événements. Il peut vous indiquer le débit d'interrogation actuel. Visualisez cette métrique à l'aide des SUM calculs.

Voici plus de détails sur chacune des métriques :

  • PolledEventCount : le nombre d’événements que Lambda lit correctement depuis la source des événements. Si Lambda interroge des événements, mais reçoit un sondage vide (aucun nouvel enregistrement), Lambda émet une valeur nulle pour cette métrique. Utilisez cette métrique pour détecter si votre mappage des sources d’événements interroge correctement les nouveaux événements.

  • FilteredOutEventCount :pour le mappage des sources d’événements avec un critère de filtre, le nombre d’événements filtrés selon ces critères de filtre. Utilisez cette métrique pour détecter si votre mappage des sources d’événements filtre correctement les événements. Pour les événements qui répondent aux critères de filtre, Lambda émet une métrique nulle.

  • InvokedEventCount— Le nombre d'événements qui ont appelé votre fonction d'événement Lambda. Utilisez cette métrique pour vérifier que les événements invoquent correctement votre fonction d'événement. Si un événement entraîne une erreur de fonctionnement ou un ralentissement, le même événement interrogé InvokedEventCount peut être pris en compte plusieurs fois en raison des nouvelles tentatives automatiques.

    Avertissement

    Les mappages des sources d’événements Lambda traitent chaque événement au moins une fois, et le traitement des enregistrements peut être dupliqué. De ce fait, les événements peuvent être comptés plusieurs fois dans les métriques impliquant le décompte des événements.

  • FailedInvokeEventCount— Le nombre d'événements avec lesquels Lambda a essayé d'appeler votre fonction d'événement, mais qui ont échoué. Les appels peuvent échouer pour des raisons telles que des problèmes de configuration réseau, des autorisations incorrectes ou la suppression d'une fonction, d'une version ou d'un alias d'événement Lambda. Si l’option Réponse par lots partielle est activée pour votre mappage des sources d’événements, FailedInvokeEventCount inclut tout événement dont la réponse contient un champ BatchItemFailures non vide.

    Note

    L'horodatage de la FailedInvokeEventCount métrique représente la fin de l'invocation de la fonction d'événement. Ce comportement est différent des autres métriques d'erreur d'appel Lambda, qui sont horodatées au début de l'appel de la fonction d'événement.

  • DroppedEventCount : le nombre d’événements que Lambda a abandonnés en raison de l’expiration ou de l’épuisement des tentatives. Plus précisément, il s’agit du nombre d’enregistrements qui dépassent les valeurs configurées pour MaximumRecordAgeInSeconds ou MaximumRetryAttempts. Il est important de noter que cela n’inclut pas le nombre d’enregistrements qui expirent en raison du dépassement des paramètres de conservation de la source de votre événement. Les événements abandonnés excluent également les événements que vous envoyez vers une destination en cas d’échec. Utilisez cette métrique pour détecter un arriéré croissant d’événements.

  • OnFailureDestinationDeliveredEventCount : pour les mappages des sources d’événements avec une destination en cas d’échec configurée, le nombre d’événements envoyés vers cette destination. Utilisez cette métrique pour surveiller les erreurs de fonctionnement liées aux appels provenant de cette source d’événements. Si la livraison à destination échoue, Lambda gère les métriques comme suit :

    • Lambda n’émet pas la métrique OnFailureDestinationDeliveredEventCount.

    • Pour la métrique DestinationDeliveryFailures, Lambda émet un 1.

    • Pour la métrique DroppedEventCount, Lambda émet un nombre égal au nombre d’événements ayant échoué à la livraison.

  • DeletedEventCount : le nombre d’événements que Lambda a réussi à supprimer après traitement. Si Lambda échoue à la tentative de suppression d’un événement, il émet une métrique nulle. Utilisez cette métrique pour vous assurer que les événements traités avec succès sont supprimés de votre source d’événements.

  • CommittedEventCount— Le nombre d'événements que Lambda a correctement validés après leur traitement. Il s'agit de la somme des deltas du dernier décalage validé et du décalage actuel par rapport à chaque partition dans le mappage des sources d'événements Kafka.

  • PollingErrorCount— Le nombre d'erreurs pendant lesquelles Lambda n'a pas réussi à interroger les demandes provenant de la source de l'événement. Lambda n'émet ces données métriques qu'en cas d'erreur.

  • InvokeErrorCount— Le nombre d'erreurs pendant lesquelles Lambda n'a pas réussi à appeler votre fonction d'événement. Notez que l'invocation est enregistrée par lots. Le numéro est indiqué au niveau du lot, et non au niveau du nombre d'enregistrements. Lambda n'émet ces données métriques qu'en cas d'erreur.

  • SchemaRegistryErrorCount— Le nombre d'erreurs que Lambda n'a pas réussi à récupérer le schéma ou à désérialiser avec le schéma. Lambda n'émet ces données métriques qu'en cas d'erreur.

  • CommitErrorCount— Le nombre d'erreurs que Lambda n'a pas réussi à commettre dans le cluster Kafka. Lambda n'émet ces données métriques qu'en cas d'erreur.

  • MaxOffsetLag— Le maximum des décalages de décalage (différence entre les derniers décalages et les décalages validés) sur toutes les partitions du mappage des sources d'événements.

  • SumOffsetLag— La somme des décalages entre toutes les partitions du mappage des sources d'événements.

Si le mappage des sources d’événements est désactivé, vous ne recevrez pas de statistiques de mappage des sources d’événements. Il est également possible que des métriques soient manquantes si CloudWatch Lambda connaît une dégradation de la disponibilité.