Surveillez les performances des fonctions avec Amazon CloudWatch Lambda Insights - 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.

Surveillez les performances des fonctions avec Amazon CloudWatch Lambda Insights

Amazon CloudWatch Lambda Insights collecte et agrège les indicateurs de performance d'exécution des fonctions Lambda et les journaux pour vos applications sans serveur. Cette page explique comment activer et utiliser Lambda Insights pour diagnostiquer des problèmes liés à vos fonctions Lambda.

Comment Lambda Insights surveille les applications sans serveur

CloudWatch Lambda Insights est une solution de surveillance et de dépannage pour les applications sans serveur exécutées sur. AWS Lambda La solution collecte, agrège et résume les indicateurs au niveau du système, notamment le CPU temps, la mémoire, l'utilisation du disque et du réseau. Elle collecte, agrège et résume également des informations de diagnostic telles que des démarrages à froid et des arrêts de rôle de travail Lambda pour vous aider à circonscrire des problèmes liés à vos fonctions Lambda, ainsi qu'à les résoudre rapidement.

Lambda Insights utilise une nouvelle extension CloudWatch Lambda Insights, fournie sous forme de couche Lambda. Lorsque vous activez cette extension sur une fonction Lambda pour un environnement d'exécution pris en charge, elle collecte des métriques au niveau du système et émet un seul événement de journal des performances pour chaque appel de cette fonction Lambda. CloudWatch utilise le formatage des métriques intégré pour extraire les métriques des événements du journal. Pour plus d'informations, consultez la section Utilisation des AWS Lambda extensions.

La couche Lambda Insights étend CreateLogStream et PutLogEvents pour le groupe de journaux /aws/lambda-insights/.

Tarification

Lorsque vous activez Lambda Insights pour votre fonction Lambda, Lambda Insights rapporte 8 mesures par fonction et chaque appel de fonction envoie environ 1 Ko de données de journal à. CloudWatch Vous payez uniquement les métriques et les journaux signalés pour votre fonction par Lambda Insights. Aucun frais minimum ni aucune politique d'utilisation obligatoire des services ne sont appliqués. Vous ne payez pas pour Lambda Insights si la fonction n'est pas appelée. Pour un exemple de tarification, consultez les CloudWatch tarifs Amazon.

Environnements d'exécution pris en charge

Vous pouvez utiliser Lambda Insights avec n'importe quel runtime prenant en charge les extensions Lambda.

Activation de Lambda Insights dans la console Lambda

Vous pouvez activer la surveillance améliorée de Lambda Insights sur des fonctions Lambda nouvelles et existantes. Lorsque vous activez Lambda Insights sur une fonction dans la console Lambda pour un runtime pris en charge, Lambda ajoute l'extension Lambda Insights en tant que couche à votre fonction, et vérifie ou tente d'attacher la stratégie CloudWatchLambdaInsightsExecutionRolePolicy au rôle d'exécution de votre fonction.

Pour activer Lambda Insights dans la console Lambda
  1. Ouvrez la page Functions (Fonctions) de la console Lambda.

  2. Choisissez votre fonction.

  3. Choisissez l'onglet Configuration.

  4. Dans le menu de gauche, choisissez Outils de surveillance et d'exploitation.

  5. Dans le volet Outils de surveillance supplémentaires, choisissez Modifier.

  6. Sous CloudWatch Lambda Insights, activez la surveillance améliorée.

  7. Choisissez Save (Enregistrer).

Activation de Lambda Insights par programme

Vous pouvez également activer Lambda Insights à l'aide des AWS CLI touches AWS Command Line Interface AWS Serverless Application Model (SAM) CLI AWS CloudFormation, () ou. AWS Cloud Development Kit (AWS CDK)Lorsque vous activez Lambda Insights par programmation sur une fonction pour un environnement d'exécution pris en charge, associez la CloudWatchLambdaInsightsExecutionRolePolicypolitique CloudWatch au rôle d'exécution de votre fonction.

Pour plus d'informations, consultez Getting started with Lambda Insights dans le guide de CloudWatch l'utilisateur Amazon.

Utilisation du tableau de bord Lambda Insights

Le tableau de bord Lambda Insights comporte deux vues dans la CloudWatch console : la vue d'ensemble multifonction et la vue monofonctionnelle. La vue d'ensemble multifonction regroupe les métriques d'exécution des fonctions Lambda dans le compte courant AWS et la région. La vue de fonction unique affiche les métriques de runtime disponibles pour une seule fonction Lambda.

Vous pouvez utiliser la vue d'ensemble multifonctions du tableau de bord Lambda Insights dans la CloudWatch console pour identifier les fonctions Lambda surutilisées ou sous-utilisées. Vous pouvez utiliser la vue à fonction unique du tableau de bord Lambda Insights dans la CloudWatch console pour résoudre les demandes individuelles.

Pour afficher les métriques d'environnement d'exécution pour toutes les fonctions
  1. Ouvrez la page Multifonction dans la CloudWatch console.

  2. Choisissez parmi les plages de temps prédéfinies ou choisissez une plage de temps personnalisée.

  3. (Facultatif) Choisissez Ajouter au tableau de bord pour ajouter les widgets à votre CloudWatch tableau de bord.

    Vue d'ensemble multifonction sur le tableau de bord Lambda Insights.
Pour afficher les métriques d'environnement d'exécution d'une fonction unique
  1. Ouvrez la page Fonction unique dans la CloudWatch console.

  2. Choisissez parmi les plages de temps prédéfinies ou choisissez une plage de temps personnalisée.

  3. (Facultatif) Choisissez Ajouter au tableau de bord pour ajouter les widgets à votre CloudWatch tableau de bord.

    Vue de fonction unique sur le tableau de bord Lambda.

Pour plus d'informations, consultez la section Création et utilisation de widgets sur les CloudWatch tableaux de bord.

Exemple de flux de travail permettant de détecter les anomalies de fonction

Vous pouvez utiliser la vue d'ensemble multifonction sur le tableau de bord Lambda Insights pour identifier et détecter des anomalies de mémoire de calcul liées à votre fonction. Par exemple, si la vue d'ensemble multifonction indique qu'une fonction utilise une grande quantité de mémoire, vous pouvez afficher les métriques détaillées d'utilisation de la mémoire dans le volet Memory Usage (Utilisation de la mémoire). Vous pouvez ensuite accéder au tableau de bord des métriques pour activer la détection d'anomalies ou créer une alarme.

Pour activer la détection d'anomalies pour une fonction
  1. Ouvrez la page Multifonction dans la CloudWatch console.

  2. Sous Function summary (Récapitulatif de fonction), choisissez le nom de votre fonction.

    La vue de fonction unique s'ouvre avec les métriques d'environnement d'exécution de la fonction.

    Volet récapitulatif de la fonction sur le tableau de bord Lambda Insights.
  3. Dans le volet Memory Usage (Utilisation de la mémoire) sélectionnez les trois points verticaux, puis choisissez View in metrics (Afficher dans les métriques) pour ouvrir le tableau de bord Metrics (Métriques).

    Menu sur le volet Memory Usage (Utilisation de la mémoire).
  4. Dans l'onglet Graphique des métriques, dans la colonne Actions, choisissez la première icône pour activer la détection d'anomalies pour la fonction.

    Onglet Graphed metrics (Métriques tracées) du volet Memory Usage (Utilisation de la mémoire).

Pour plus d'informations, consultez la section Utilisation de la détection des CloudWatch anomalies.

Exemple de flux de travail utilisant des demandes pour dépanner une fonction

Vous pouvez utiliser la vue de fonction unique sur le tableau de bord Lambda Insights pour identifier la cause première d'un pic de durée de fonction. Par exemple, si la vue d'ensemble multifonction indique une augmentation importante de la durée de la fonction, vous pouvez suspendre ou choisir chaque fonction dans le volet Durée afin de déterminer la fonction à l'origine de l'augmentation. Vous pouvez ensuite accéder à la vue de fonction unique et consulter les journaux d'application pour déterminer la cause principale.

Pour exécuter des requêtes sur une fonction
  1. Ouvrez la page Multifonction dans la CloudWatch console.

  2. Dans le volet Durée choisissez votre fonction pour filtrer les métriques de durée.

    Fonction choisie dans le volet Duration (Durée).
  3. Ouvrez la page Fonction unique.

  4. Choisissez la liste déroulante Filter metrics by function name (Filtrer les métriques par nom de fonction), puis choisissez votre fonction.

  5. Pour afficher les 1000 journaux d'application les plus récents, choisissez l'onglet Application logs (Journaux d'application).

  6. Examinez l'horodatage et le message pour identifier la demande d'invocation que vous souhaitez résoudre.

    Les 1 000 journaux d'application les plus récents.
  7. Pour afficher les Most recent 1000 invocations (1000 appels les plus récents), choisissez l'onglet Appels.

  8. Sélectionnez l'horodatage ou le message pour la demande d'invocation que vous souhaitez résoudre.

    Sélection d'une demande d'invocation récente.
  9. Choisissez la liste déroulante Afficher les journaux, puis Afficher les journaux de performance.

    Une requête générée automatiquement pour votre fonction s'ouvre dans le tableau de bord Logs Insights.

  10. Choisissez Exécuter la requête pour générer un message Journaux pour la demande d'invocation.

    Interrogation de la fonction sélectionnée dans le tableau de bord Logs Insights.

Quelle est la prochaine étape ?