Utilisation des journaux de fonction Lambda
Pour vous aider à résoudre les échecs, AWS Lambda surveille automatiquement les fonctions Lambda en votre nom. Pour afficher les journaux des fonctions Lambda à l’aide de la console Lambda, utilisez la console CloudWatch, l’AWS Command Line Interface (AWS CLI) ou l’API CloudWatch. Vous pouvez également configurer Lambda pour envoyer les journaux à Amazon S3 et Firehose.
Tant que le rôle d’exécution de votre fonction dispose des autorisations nécessaires, Lambda capture les journaux de toutes les demandes traitées par votre fonction et les envoie à Amazon CloudWatch Logs, la destination par défaut. Vous pouvez également laisser la console Lambda configurer Amazon S3 ou Firehose comme destinations de journalisation.
-
CloudWatch Logs est la destination de journalisation par défaut pour les fonctions Lambda. CloudWatch Logs fournit des fonctionnalités de visualisation et d’analyse des journaux en temps réel, ainsi qu’une assistance pour créer des métriques et des alarmes basées sur les données de vos journaux.
-
Amazon S3 est économique pour le stockage à long terme, et des services comme Athena peuvent être utilisés pour analyser les journaux. La latence est généralement plus élevée.
-
Firehose propose une diffusion en continu gérée des journaux vers différentes destinations. Si vous devez envoyer des journaux à d’autres services AWS (par exemple, OpenSearch Service ou l’API de données Redshift) ou à des plateformes tierces (comme Datadog, New Relic ou Splunk), Firehose simplifie ce processus en fournissant des intégrations prédéfinies. Vous pouvez également diffuser vers des points de terminaison HTTP personnalisés sans configurer d’infrastructure supplémentaire.
Choix d’une destination de service à laquelle envoyer les journaux
Tenez compte des facteurs clés suivants lorsque vous choisissez un service comme destination pour les journaux de fonction :
-
La gestion des coûts varie selon le service. Amazon S3 constitue généralement l’option la plus économique pour le stockage à long terme, tandis que CloudWatch Logs vous permet de consulter les journaux, de traiter ces derniers et de configurer des alertes en temps réel. Les coûts de Firehose incluent à la fois le service de diffusion en continu et le coût associé à la destination vers laquelle vous diffusez.
-
Les capacités d’analyse varient d’un service à l’autre. CloudWatch Logs excelle dans la surveillance en temps réel et s’intègre nativement aux autres fonctionnalités de CloudWatch, comme Logs Insights et Live Tail. Amazon S3 fonctionne bien avec des outils d’analyse comme Athena, et peut s’intégrer à divers services, même s’il peut nécessiter une configuration supplémentaire. Firehose simplifie la diffusion en continu directe vers des services AWS spécifiques (comme OpenSearch Service et l’API de données Redshift Data API) et des plateformes tierces prises en charge (comme Datadog et Splunk) en fournissant des intégrations prédéfinies, ce qui peut réduire le travail de configuration.
-
La configuration et la facilité d’utilisation varient selon le service. CloudWatch Logs est la destination par défaut des journaux : la solution fonctionne immédiatement, sans configuration supplémentaire, et permet de visualiser et d’analyser les journaux directement via la console CloudWatch. Si vous avez besoin d’envoyer les journaux à Amazon S3, vous devez effectuer une configuration initiale dans la console Lambda et configurer les autorisations du compartiment. Si vous avez besoin d’envoyer les journaux directement à des services comme OpenSearch Service ou à des plateformes analytiques tierces, Firehose peut simplifier ce processus.
Configuration des destinations de journal
AWS Lambda prend en charge les destinations multiples pour vos journaux de fonctions. Ce guide explique les destinations de journalisation disponibles et vous aide à choisir l’option adaptée à vos besoins. Quelle que soit la destination choisie, Lambda propose des options pour contrôler le format, le filtrage et la diffusion des journaux.
Lambda prend en charge les formats JSON et texte brut pour les journaux de votre fonction. Les journaux structurés JSON offrent une meilleure facilité de recherche et permettent une analyse automatisée, tandis que les journaux en texte brut offrent une simplicité et des coûts de stockage potentiellement réduits. Vous pouvez contrôler les journaux que Lambda envoie à la destination que vous avez choisie en configurant les niveaux de journal pour les journaux du système et des applications. Le filtrage vous aide à gérer les coûts de stockage et trouver plus facilement les entrées de journal pertinentes lors du débogage.
Pour obtenir des instructions de configuration détaillées pour chaque destination, consultez les sections suivantes :
Configuration de commandes de journalisation avancées pour votre fonction Lambda
Pour vous permettre de mieux contrôler la manière dont les journaux de votre fonction sont capturés, traités et consommés, Lambda propose les options de configuration de journalisation suivantes :
-
Format de journal : choisissez entre le format texte brut et le format JSON structuré pour les journaux de votre fonction.
-
Niveau de journalisation : pour les journaux structurés JSON, choisissez le niveau de détail des journaux que Lambda envoie à CloudWatch, tels que
FATAL,ERROR,WARN,INFO,DEBUGetTRACE. -
Groupe de journaux : choisissez le groupe de journaux CloudWatch auquel votre fonction envoie les journaux.
Pour en savoir plus sur la configuration des contrôles de journalisation avancés, consultez les sections suivantes :