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 Lambda
Cette section décrit les types de métriques Lambda disponibles dans la CloudWatch console.
Rubriques
Métriques d'invocation
Les métriques d'invocation sont des indicateurs binaires du résultat d'une invocation de fonction Lambda. Vous devez visualiser les métriques suivantes avec la statistique Sum
. 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.
-
Invocations
– Nombre de fois où votre code de fonction est invoqué, y compris les invocations réussies et les invocations 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 deInvocations
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 valeurErrors
par la valeurInvocations
. Notez que l'horodatage d'une métrique d'erreur reflète l'heure d'invocation de la fonction, et non l'heure à laquelle l'erreur s'est produite. -
DeadLetterErrors
: pour un invocation asynchrone, le nombre de fois où Lambda tente sans succès d'envoyer un événement à une file d'attente de lettres mortes (DLQ). Des erreurs de type « lettre morte » peuvent se produire en raison d’une définition incorrecte des ressources ou des 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 erreurTooManyRequestsException
. Les demandes limitées et les autres erreurs d'invocation ne comptent pas commeInvocations
ouErrors
. -
OversizedRecordCount
– Pour les sources d'événements Amazon DocumentDB, le nombre d'événements que votre fonction reçoit de votre flux de modifications et dont la taille est supérieure à 6 Mo. Lambda supprime le message et émet cette métrique. -
ProvisionedConcurrencyInvocations
: le nombre d'invocation de votre code de fonction à l'aide de la simultanéité provisionnée. -
ProvisionedConcurrencySpilloverInvocations
: le nombre d'invocations de votre code de fonction à l'aide d'une simultanéité standard lorsque toutes les simultanéités provisionnées sont utilisées. -
RecursiveInvocationsDropped
: le nombre de fois où Lambda a arrêté l’invocation de votre fonction parce qu’il a détecté que votre fonction faisait partie d’une boucle récursive infinie. La détection de boucle récursive surveille le nombre de fois qu'une fonction est invoquée dans le cadre d'une chaîne de requêtes en suivant les métadonnées ajoutées par support AWS SDKs. Si votre fonction est invoquée dans le cadre d’une chaîne de requêtes environ plus de 16 fois, Lambda abandonne l’invocation suivante. 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 performances
Les métriques de performance fournissent des détails sur les performances d'un invocation de fonction 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
.
-
Duration
– Durée de traitement d'un événement par votre code de fonction. La durée facturée pour une invocation est la valeur de laDuration
arrondie à la milliseconde la plus proche. LaDuration
n'inclut pas le temps de démarrage à froid. -
PostRuntimeExtensionsDuration
– Durée cumulée que l'environnement d'exécution a consacrée à l'exécution de code pour des extensions une fois l'exécution du code de la fonction terminée. -
IteratorAge
: pour les sources d’événements DynamoDB, Kinesis et Amazon DocumentDB, l’âge en millisecondes du dernier enregistrement dans l’événement. Ce métrique mesure le temps écoulé entre le moment où un flux reçoit l'enregistrement et le moment où le mappage des sources d'événements envoie l'événement à la fonction. -
OffsetLag
: pour les sources d'événements autogérées Apache Kafka et Amazon Managed Streaming for Apache Kafka (Amazon MSK), la différence de décalage entre le dernier enregistrement écrit sur une rubrique et le dernier enregistrement traité par le groupe de consommateurs de votre fonction. 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 signale les métriques de simultanéité sous la forme d'une valeur agrégée 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
.
-
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 sur la fonction, Lambda limite les demandes d'invocation supplémentaires. -
ProvisionedConcurrentExecutions
: le nombre d'instances de fonction qui traitent des événements à l'aide de 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 est inactive ou ne reçoit pas de requêtes, Lambda n'émet pas cette métrique. -
ProvisionedConcurrencyUtilization
: pour une version ou un alias, la valeur deProvisionedConcurrentExecutions
divisée par la quantité totale de simultanéité allouée configurée. Par exemple, si vous configurez une simultanéité allouée de 10 pour votre fonction et que votreProvisionedConcurrentExecutions
est 7, alors votreProvisionedConcurrencyUtilization
est 0,7.Si votre fonction est inactive ou ne reçoit pas de requêtes, Lambda n'émet pas cette métrique car elle est basée sur.
ProvisionedConcurrentExecutions
Gardez cela à l'esprit si vous l'utilisezProvisionedConcurrencyUtilization
comme base pour les CloudWatch alarmes. -
UnreservedConcurrentExecutions
– Pour une région, nombre d'événements traités par des fonctions qui n'ont pas de simultanéité réservée. -
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 de plus amples informations, veuillez consulter 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 fournit des informations sur le nombre d'événements qu'une fonction Lambda 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 entreAsyncEventsReceived
etInvocations
peuvent indiquer une disparité de traitement, des événements abandonnés ou un éventuel backlog dans les files d'attente. -
AsyncEventAge
: le temps entre le moment où Lambda met correctement l'événement en file d'attente et le moment où la fonction 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étriqueErrors
pour identifier les erreurs de fonction et la métriqueThrottles
pour identifier les problèmes de simultanéité. -
AsyncEventsDropped
: le nombre d'événements supprimés sans que la fonction ne soit exécutée correctement. Si vous configurez une file d'attente de lettres mortes (DLQ) ou une destinationOnFailure
, 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étriqueErrors
pour identifier les erreurs de fonction et la métriqueThrottles
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. Ces mesures vous aident à surveiller le flux et le statut des événements, y compris les événements que votre mappage des sources d’événements a correctement traités, filtrés ou supprimés.
Vous devez vous inscrire pour recevoir des statistiques relatives aux dénombrements (PolledEventCount
, FilteredOutEventCount
, InvokedEventCount
, FailedInvokeEventCount
, DroppedEventCount
, OnFailureDestinationDeliveredEventCount
et DeletedEventCount
). Pour s’y inscrire, vous pouvez utiliser la console ou l’API Lambda.
Pour activer des métriques ou un mappage des sources d’événements (console)
-
Ouvrez la page Functions
(Fonctions) de la console Lambda. -
Sélectionnez la fonction pour laquelle vous souhaitez activer les métriques.
-
Choisissez Configuration, puis Déclencheurs.
-
Choisissez le mappage des sources d’événements pour lequel vous souhaitez activer les métriques, puis choisissez Modifier.
-
Sous Configuration du mappage des sources d’événements, choisissez Activer les métriques.
-
Choisissez Save (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
Affichez les statistiques relatives au nombre d’événements à l’aide de la statistique Sum
.
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 qui impliquent le décompte des événements.
-
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 invoqué votre fonction Lambda. Utilisez cette métrique pour vérifier que les événements invoquent correctement votre fonction. Si un événement entraîne une erreur de fonctionnement ou une limitation,InvokedEventCount
peut prendre en compte plusieurs fois pour le même événement interrogé en raison des nouvelles tentatives automatiques. -
FailedInvokeEventCount
: le nombre d’événements pour lesquels Lambda a essayé d’invoquer votre fonction, 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 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 champBatchItemFailures
non vide.Note
L’horodatage de la métrique
FailedInvokeEventCount
représente la fin de l’invocation de la fonction. Ce comportement est différent des autres métriques d’erreur d’appel Lambda, qui sont horodatées au début de l’invocation de la fonction. -
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 pourMaximumRecordAgeInSeconds
ouMaximumRetryAttempts
. 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.
Si le mappage des sources d’événements est désactivé, vous ne recevrez pas de statistiques de mappage des sources d’événements. Vous pouvez également voir des métriques manquantes si CloudWatch Lambda connaît une dégradation de la disponibilité.
Les mesures de mappage des sources d’événements ne sont pas toutes disponibles pour chaque source d’événements. Actuellement, les métriques de mappage des sources d’événements sont disponibles pour les sources d’événements des flux Amazon SQS, Kinesis et DynamoDB. La matrice de disponibilité suivante récapitule les mesures prises en charge pour chaque type de source d’événement.
Métrique de mappage des sources d’événements | Prise en charge d’Amazon SQS | Prise en charge des flux Kinesis et DynamoDB |
---|---|---|
|
Oui |
Oui |
|
Oui |
Oui |
|
Oui |
Oui |
|
Oui |
Oui |
|
Non |
Oui |
|
Non |
Oui |
|
Oui |
Non |
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. Affichez cette métrique à l’aide de la métriqueMAX
.