

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.

# Connexion à Amazon EKS
<a name="logging"></a>

La journalisation est un aspect essentiel de la gestion et de la maintenance des applications qui s'exécutent sur Amazon EKS. Les pratiques de journalisation efficaces dans les environnements Amazon EKS aident les développeurs, les équipes opérationnelles et les administrateurs système à obtenir des informations précieuses sur le comportement, les performances et l'état de santé de leurs applications conteneurisées et de leur infrastructure sous-jacente.

La mise en œuvre d'une stratégie de journalisation robuste dans Amazon EKS est essentielle pour plusieurs raisons :
+ **Résolution des problèmes** : les journaux permettent d'identifier et de diagnostiquer rapidement les problèmes, ce qui réduit les temps d'arrêt et améliore la fiabilité globale du système.
+ **Conformité** : de nombreux secteurs nécessitent une journalisation complète à des fins d'audit et de réglementation.
+ **Sécurité** : l'analyse des journaux peut vous aider à détecter et à étudier les menaces ou violations de sécurité potentielles.
+ **Optimisation des performances** : les journaux fournissent des informations sur les performances des applications et du système, afin que vous puissiez identifier les goulots d'étranglement et optimiser l'utilisation des ressources.
+ **Surveillance et alertes : les** données du journal peuvent être utilisées pour configurer des systèmes de surveillance et déclencher des alertes pour des événements ou des conditions spécifiques.

**Topics**
+ [Types de journalisation](log-types.md)
+ [Bonnes pratiques](logging-best-practices.md)
+ [Considérations importantes](logging-considerations.md)

# Types de connexion dans Amazon EKS
<a name="log-types"></a>

Dans Amazon EKS, la journalisation implique la capture, le stockage et l'analyse de différents types de données de journal générées par les différents composants du cluster [Kubernetes](https://kubernetes.io/), notamment :
+ **Journaux du système** : informations sur les instances [ou nœuds Amazon Elastic Compute Cloud (Amazon EC2](https://aws.amazon.com/pm/ec2/)) sous-jacents [AWS Fargate](https://aws.amazon.com/fargate/)
+ **Journaux des composants Kubernetes** [https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/](https://kubernetes.io/docs/concepts/scheduling-eviction/kube-scheduler/)
+ **Journaux d'exécution du conteneur** [: informations provenant du runtime du conteneur, telles que [Docker ou containerd](https://www.docker.com/blog/containerd-vs-docker/)](https://containerd.io/)
+ **Journaux des applications** : sortie des applications conteneurisées

Pour gérer efficacement les journaux dans votre environnement Amazon EKS, vous utilisez généralement une combinaison d' Services AWS outils tiers et de meilleures pratiques. Cela peut inclure l'utilisation d'[Amazon CloudWatch](https://aws.amazon.com/cloudwatch/), [Fluent Bit](https://fluentbit.io/), [Elasticsearch](https://www.elastic.co/elasticsearch), [Kibana](https://www.elastic.co/kibana) et d'autres outils de journalisation et d'analyse pour collecter, stocker et visualiser les données des journaux.

Les sections suivantes explorent différents aspects de la journalisation dans Amazon EKS, notamment les meilleures pratiques, les outils et les techniques permettant de mettre en œuvre une stratégie de journalisation complète dans vos clusters Kubernetes sur. AWS

## Journaux du système
<a name="system-logs"></a>

La journalisation des instances EC2 sous-jacentes ou des nœuds Fargate dans Amazon EKS implique différentes approches en fonction du type de nœud.

Pour implémenter la journalisation pour les instances EC2 dans Amazon EKS, vous pouvez utiliser les outils suivants :
+ [CloudWatch agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/install-CloudWatch-Agent-on-EC2-Instance.html) : installez et configurez l' CloudWatch agent sur vos instances EC2. Configurez-le pour collecter les journaux système tels que `/var/log/messages` et`/var/log/secure`. Vous pouvez utiliser des scripts de données utilisateur ou des outils de gestion de configuration pour automatiser ce processus.
+ [Fluent Bit](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-setup-logs-FluentBit.html) : déployez Fluent Bit sous forme DaemonSet de fichier pour collecter les journaux de tous les nœuds. Configurez-le pour transférer les [CloudWatch journaux vers Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) ou vers d'autres systèmes de journalisation centralisés.
+ [Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html) : activez Container Insights dans votre cluster EKS pour collecter automatiquement des métriques et des journaux à partir des instances EC2.
+ Scripts personnalisés : développez des scripts personnalisés pour collecter des journaux spécifiques et les envoyer à votre destination de journalisation préférée.
+ [Agent SSM](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html) : utilisez l' AWS Systems Manager agent (agent SSM) pour collecter et transférer les journaux vers CloudWatch les journaux.

Pour implémenter la journalisation pour les nœuds Fargate dans Amazon EKS, utilisez les outils suivants :
+ [Journalisation par Fargate](https://docs.aws.amazon.com/eks/latest/userguide/fargate-logging.html) : Fargate collecte et enregistre automatiquement les données provenant de vos conteneurs. `stdout` `stderr` Configurez votre profil Fargate pour envoyer ces journaux à Logs. CloudWatch 
+ [Fluent Bit pour Fargate](https://github.com/aws/aws-for-fluent-bit) AWS  : fournit une image Fluent Bit spécialement pour la journalisation de Fargate. Déployez-le sous forme de conteneur latéral dans vos pods Fargate pour collecter et transférer les journaux.
+ [Container Insights for Fargate](https://aws-otel.github.io/docs/getting-started/container-insights/eks-fargate) : activez Container Insights pour collecter des métriques et des journaux à partir des nœuds Fargate.

## Journaux des composants Kubernetes
<a name="kubernetes-logs"></a>

La collecte de journaux à partir de composants Kubernetes tels que le serveur d'API, le planificateur et le gestionnaire de contrôleurs dans Amazon EKS nécessite une approche légèrement différente de celle de la journalisation des applications. Ces composants s'exécutent dans le cadre du plan de contrôle Amazon EKS, qui est géré par AWS. Voici comment vous pouvez collecter ces journaux et y accéder :
+ **Activer la journalisation du plan de contrôle :** vous pouvez activer la journalisation du plan de contrôle pour votre cluster EKS via les outils AWS Management Console, [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) ou infrastructure en tant que code (iAc) tels que [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)Terraform. Lorsque vous activez la journalisation sur le plan de contrôle, les journaux sont envoyés à Amazon CloudWatch Logs. Vous pouvez les consulter dans le groupe de `/aws/eks/<cluster-name>/cluster` journaux dans la CloudWatch console. Au sein de ce groupe de journaux, chaque composant du plan de contrôle possède son propre flux de journal, comme suit :    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/amazon-eks-observability-best-practices/log-types.html)

  Pour afficher les journaux d'un composant spécifique, accédez au groupe de journaux du cluster et filtrez en fonction du nom du flux de journaux cible.
+ **Utiliser CloudWatch Logs Insights** : vous pouvez utiliser [CloudWatch Logs Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData.html) pour effectuer des requêtes complexes sur vos journaux.
+ **Exporter les journaux vers Amazon S3** : pour un stockage à long terme ou une analyse plus approfondie, vous pouvez exporter les journaux vers Amazon Simple Storage Service [(](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)Amazon S3[)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html).
+ **Utiliser des outils tiers** : vous pouvez utiliser des outils tels que Fluent Bit pour collecter ces journaux et les transmettre à d'autres systèmes de journalisation tels qu'Elasticsearch ou Splunk.
+ **Utilisation AWS CloudTrail** : Le [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)service peut fournir des informations supplémentaires sur les appels d'API effectués vers votre cluster EKS.

## Journaux d'exécution du conteneur
<a name="runtime-logs"></a>

La journalisation des journaux d'exécution du conteneur dans Amazon EKS implique la capture et la gestion des journaux à partir du runtime du conteneur, ce qui est généralement le `containerd` cas pour Amazon EKS. Voici comment vous pouvez aborder la journalisation des journaux d'exécution des conteneurs dans Amazon EKS :
+ Accédez directement aux journaux sur les nœuds Amazon EC2. Pour les nœuds EC2 autogérés, vous pouvez accéder directement aux journaux d'exécution du conteneur sur l'hôte à partir des emplacements suivants :
  + `containerd`journaux : `/var/log/containers/`
  + Logs Docker (si vous utilisez le moteur d'exécution Docker) : `/var/log/docker.log`
+ Utilisez un DaemonSet pour la collecte de journaux.
+ Déployez un agent de collecte de journaux (tel que Fluent Bit) DaemonSet pour collecter les journaux de tous les nœuds.
+ Configurez l' CloudWatch agent pour collecter les journaux d'exécution du conteneur.
+ Activez Container Insights pour collecter les statistiques et les journaux d'exécution des conteneurs.
+ Utilisez Fargate. Pour les nœuds Fargate, les journaux d'exécution des conteneurs sont automatiquement collectés et sont accessibles via Logs. CloudWatch 
+ Implémentez des solutions de journalisation personnalisées à l'aide d'outils tels que Fluent Bit ou Logstash. Configurez des [CloudWatchalarmes](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html) ou utilisez des outils tels que Prometheus pour détecter des modèles ou des problèmes spécifiques dans les journaux d'exécution des conteneurs. Envisagez d'utiliser des solutions de journalisation tierces qui s'intègrent bien à Kubernetes et Amazon EKS, telles que Datadog, Splunk ou Elastic Stack (ELK Stack). Utilisez des outils d'agrégation de journaux pour collecter des journaux provenant de plusieurs sources et les transférer vers un système de journalisation centralisé.

## Journaux d'application
<a name="app-logs"></a>

Les journaux d'applications dans Amazon EKS jouent un rôle crucial dans la maintenance et le dépannage de vos applications. Pour implémenter la journalisation des applications dans Amazon EKS, vous pouvez choisir l'une des options suivantes :
+ Écrire les journaux dans`stdout`/`stderr`: La manière la plus simple et la plus native de Kubernetes de gérer les journaux d'applications consiste à les écrire dans et. `stdout` `stderr` Kubernetes capture automatiquement ces flux.
+ Implémenter l'agrégation des journaux : utilisez un agrégateur de journaux tel que Fluent Bit pour collecter les journaux de tous vos pods.
+ Configurer le routage des journaux : configurez votre agrégateur de journaux pour acheminer les journaux vers la destination souhaitée (telle que CloudWatch Logs ou Elasticsearch).
+ Utilisez CloudWatch Container Insights : activez Container Insights pour une journalisation et une surveillance complètes.

# Bonnes pratiques de connexion à Amazon EKS
<a name="logging-best-practices"></a>

Les meilleures pratiques suivantes permettent de créer un système de journalisation robuste, évolutif et efficace pour votre environnement Amazon EKS et d'améliorer le dépannage, la surveillance et la gestion globale de vos clusters Kubernetes.
+ **Centralisez la collecte des journaux** : utilisez une solution de journalisation centralisée telle que CloudWatch Logs, Elasticsearch ou un service tiers pour agréger les journaux de tous les composants. Cela fournit un point d'accès unique pour l'analyse des journaux et simplifie la gestion.
+ **Implémenter une journalisation structurée** : utilisez des formats de journaux structurés tels que JSON afin que les journaux puissent être analysés et recherchés plus facilement. Incluez les métadonnées pertinentes telles que les horodatages, les niveaux de journalisation et les identifiants de source.
+ **Utilisez les niveaux de journalisation de manière appropriée** : implémentez des niveaux de journalisation appropriés (tels que `DEBUG` `INFO``WARN`,, et`ERROR`) dans vos applications. Configurez les environnements de production pour qu'ils enregistrent aux niveaux appropriés afin d'éviter une journalisation excessive.
+ **Activer la journalisation des conteneurs** : configurez vos conteneurs pour qu'ils se connectent à `stdout` et`stderr`. Cela permet à Kubernetes de capturer et de transférer ces journaux vers la solution de journalisation de votre choix.
+ **Activer la journalisation des applications** : configurez les applications pour qu'elles écrivent des journaux dans `stdout` et `stderr` au lieu d'écrire dans des fichiers journaux. Cela suit la [méthodologie des applications à 12 facteurs](https://12factor.net/logs) et s'aligne sur les meilleures pratiques natives du cloud.
+ **Utilisez Kubernetes DaemonSets pour la collecte de journaux** : déployez des agents de collecte de journaux (tels que Fluent Bit) DaemonSets afin de garantir qu'ils s'exécutent sur chaque nœud de votre cluster.
+ **Mettre en œuvre des politiques de conservation** : définissez et appliquez des politiques de conservation des journaux afin de vous conformer aux réglementations et de gérer les coûts de stockage.
+ **Données de journal sécurisées** : chiffrez les journaux en transit et au repos. Mettez en œuvre des contrôles d'accès pour limiter les personnes autorisées à consulter et à gérer les journaux.
+ **Surveillez l'ingestion des journaux** : configurez des alertes en cas d'échec ou de retard lors de l'ingestion des journaux afin de garantir une journalisation continue.
+ **Utilisez les annotations et les étiquettes Kubernetes : utilisez les annotations et les étiquettes** Kubernetes pour ajouter des métadonnées à vos journaux, afin d'améliorer la facilité de recherche et le filtrage.
+ **Mettre en œuvre le suivi distribué** : utilisez des outils de suivi distribués tels que [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)Jaeger pour corréler les journaux entre les microservices.
+ **Optimisez le volume des journaux** : soyez sélectif quant à ce que vous enregistrez afin d'éviter des coûts inutiles et des problèmes de performance. Utilisez l'échantillonnage pour les journaux à volume élevé et à faible valeur.
+ **Mettez en œuvre l'agrégation des journaux** : utilisez des outils tels que Logstash pour agréger les journaux provenant de plusieurs sources avant de les envoyer à votre système de journalisation central.
+ ** Services AWS À utiliser dans la mesure du possible** : des services tels que CloudWatch Logs et Container Insights s'intègrent parfaitement aux autres Services AWS.
+ **Mettez en œuvre l'analyse et la visualisation des journaux** : utilisez des outils tels que CloudWatch Logs Insights, Elasticsearch with Kibana ou des solutions tierces pour l'analyse et la visualisation des journaux.
+ **Mettez en œuvre une analyse automatisée des journaux** : utilisez l'apprentissage automatique et des outils basés sur l'IA pour détecter automatiquement les anomalies et les modèles dans vos journaux.
+ **Documentez votre stratégie de journalisation** : conservez une documentation claire de votre architecture, de vos pratiques et de vos outils de journalisation pour votre équipe.

# Considérations importantes relatives à la connexion à Amazon EKS
<a name="logging-considerations"></a>

Cette section décrit les points importants à prendre en compte lorsque vous implémentez la journalisation dans Amazon EKS.
+ **Impact sur les performances** : une journalisation excessive peut affecter les performances des applications. Soyez attentif au volume et à la fréquence des journaux générés.
+ **Gestion des coûts** : le stockage et le traitement des journaux peuvent entraîner des coûts importants, en particulier à grande échelle. Mettez en œuvre des politiques de conservation des journaux et envisagez d'utiliser l'agrégation des journaux pour réduire les coûts.
+ **Sécurité et conformité** : assurez-vous que les journaux ne contiennent pas d'informations sensibles telles que des mots de passe ou des données personnelles. Mettez en œuvre le chiffrement pour les journaux en transit et au repos. Tenez compte des exigences de conformité telles que le règlement général sur la protection des données (RGPD) ou la loi HIPAA (Health Insurance Portability and Accountability Act) lorsque vous manipulez des journaux.
+ **Évolutivité** : assurez-vous que votre solution de journalisation peut s'adapter à la taille de votre cluster et au volume de journaux. Envisagez d'utiliser la mise en mémoire tampon et le traitement par lots pour la transmission des logs.
+ **Conservation des journaux** : définissez et mettez en œuvre des périodes de conservation des journaux appropriées. Trouvez le juste équilibre entre les exigences de conformité et les coûts de stockage.
+ **Contrôle d'accès** : implémentez les rôles et les politiques appropriés Gestion des identités et des accès AWS (IAM) pour l'accès aux journaux. Respectez le [principe du moindre privilège](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/sec_permissions_least_privileges.html) pour la gestion des journaux.
+ **Cohérence des journaux** : utilisez des formats de journaux cohérents dans les différents services et applications. Utilisez la journalisation structurée pour faciliter l'analyse et l'analyse.
+ **Synchronisation de l'heure** : synchronisez l'heure sur tous les nœuds pour obtenir des horodatages cohérents dans les journaux.
+ Allocation de **ressources : allouez** les ressources appropriées (telles que le processeur et la mémoire) aux agents de journalisation. Surveillez l'utilisation des ressources par les composants de journalisation.
+ **Considérations relatives à Fargate** : Fargate possède des mécanismes de journalisation spécifiques qui diffèrent des nœuds basés sur EC2. Comprenez les limites et les fonctionnalités de la [journalisation Fargate.](https://docs.aws.amazon.com/eks/latest/userguide/fargate-logging.html)
+ **Clusters à locataires multiples** : dans les environnements à locataires multiples, assurez-vous que les journaux sont correctement isolés entre les locataires.
+ **Analyse et analyse des journaux : prenez** en compte les outils et les compétences nécessaires pour une analyse efficace des journaux. Implémentez l'analyse des journaux pour l'extraction de données structurées.
+ **Surveillance du système de journalisation** : configurez la surveillance de l'infrastructure de journalisation elle-même. Générez des alertes en cas de panne ou d'arriéré du système de journalisation.
+ **Impact sur le réseau** : soyez conscient de la bande passante réseau utilisée par la transmission des journaux. Envisagez d'utiliser la compression pour les données du journal.
+ Événements **Kubernetes : Ne négligez pas les événements** Kubernetes en tant que source d'informations importantes.
+ **Journalisation du plan de contrôle** : comprenez les implications et les coûts liés à l'activation de la journalisation du plan de contrôle.
+ **Capacités de débogage** : assurez-vous que votre solution de journalisation facilite le débogage et le dépannage.
+ **Intégration aux outils existants : déterminez** comment votre solution de journalisation Amazon EKS s'intègre aux outils de surveillance et d'alerte existants.
+ **Tests** : testez régulièrement votre configuration de journalisation, en particulier après les mises à niveau du cluster.
+ **Documentation** : Conservez une documentation claire de votre architecture et de vos pratiques de journalisation.
+ **Latence d'agrégation des journaux** : soyez conscient de toute latence liée à l'agrégation des journaux et de la manière dont elle peut affecter la surveillance en temps réel.