Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Comment utiliser CloudWatch pour surveiller les journaux de conteneur Amazon ECS ?
Je souhaite utiliser Amazon CloudWatch pour surveiller les journaux de conteneur Amazon Elastic Container Service (Amazon ECS).
Résolution
Remarque : Si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la section Résoudre des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l'interface.
Configurer votre pilote de journal
Vous pouvez utiliser la console Amazon ECS ou l'éditeur JSON pour configurer votre pilote de journal.
Utiliser la console Amazon ECS
Procédez comme suit :
- Ouvrez la console Amazon ECS.
- Dans le volet de navigation, sélectionnez Définitions de tâches, puis Créer une nouvelle définition de tâche.
Remarque : Pour mettre à jour une définition de tâche existante, sélectionnez la définition de tâche, puis choisissez Créer une nouvelle révision. - Sur la page Créer une nouvelle définition de tâche, dans la section Configuration de la définition de tâche, saisissez le nom de votre famille de définitions de tâches.
- Dans la section Exigences en matière d’infrastructure, choisissez votre type de lancement.
- Dans la section Conteneur, pour Journalisation, choisissez Utiliser la collecte de journaux.
- Pour les clés suivantes, conservez les valeurs par défaut. Si le champ est vide, saisissez une valeur :
awslogs-group
awslogs-region
awslogs-stream-prefix
Remarque : Si le groupe de journaux n'existe pas, définissez le paramètre awslogs-create-group sur Vrai. - Assurez-vous que les autorisations du rôle AWS Identity and Access Management (IAM) pour l'exécution des tâches incluent l'action CreateLogGroup.
- Sélectionnez Créer.
Utiliser l'éditeur JSON
Pour définir le paramètre logConfiguration dans la définition de tâche ECS, saisissez le modèle de définition de tâche ECS dans l'éditeur JSON de la console.
Exemple de configuration :
"logConfiguration": "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/my-log-group", "awslogs-region": "region-code", "awslogs-stream-prefix": "ecs" } }
Remarque : Remplacez my-log-group par le nom de votre groupe de journaux.
Pour plus d'informations, consultez la section Définition de tâche Amazon ECS : Acheminer les journaux vers CloudWatch et Envoyer les journaux Amazon ECS vers CloudWatch.
Pour plus d'informations sur les options de journalisation, consultez la page Options d'Amazon CloudWatch Logs sur le site Web de Docker.
Surveiller et dépanner les journaux de conteneur
Analyser les journaux de conteneur
Pour utiliser CloudWatch Logs Insights pour interroger vos journaux, procédez comme suit :
-
Ouvrez la console CloudWatch.
-
Dans le volet de navigation, sélectionnez Journaux.
-
Choisissez Logs Insights.
-
Sélectionnez votre groupe de journaux.
-
Saisissez votre requête.
-
Sélectionnez Exécuter la requête.
-
Recherchez des mots-clés d'erreur pour résoudre les problèmes liés à l'application. Si vos journaux d’application incluent des temps de réponse, analysez les requêtes lentes.
Exemples de requêtes :
fields @timestamp, @message | filter @message like /error/ | sort @timestamp desc fields @timestamp, @message, response_time | filter response_time > 2000 | sort response_time desc
Pour en savoir plus, consultez la section Analyse des données de journal avec CloudWatch Logs Insights.
Créer des alertes
Procédez comme suit :
Résoudre les erreurs
Pour résoudre les erreurs OutOfMemory ou ConnectionTimeout, consultez les sections Comment résoudre les problèmes d'utilisation élevée du processeur lors d'une tâche Amazon ECS sur Fargate ?
Pour résoudre un volume élevé de codes de statut HTTP 5xx, consultez la section HTTP 500 : Erreur de serveur interne.
Intégrer les services AWS
Utilisez des abonnements pour accéder à un flux en temps réel des événements de journaux depuis CloudWatch Logs. CloudWatch transmet les événements de journaux à des services tels qu'un flux Amazon Kinesis ou AWS Lambda pour les traiter, les analyser ou les charger sur d'autres systèmes.
Contrôler les coûts de CloudWatch Logs
Modifier les politiques de conservation
Il est recommandé d'utiliser des périodes de conservation plus courtes pour les environnements de développement et de conserver les journaux plus longtemps pour les environnements de production.
Vous pouvez choisir une période de conservation allant de 1 jour à 10 ans, ou conserver les journaux indéfiniment. Pour éviter des coûts inutiles, revoyez vos paramètres de conservation pour vous assurer que vous ne conservez pas les journaux plus longtemps que nécessaire.
Pour définir des politiques de conservation, procédez comme suit :
- Ouvrez la console CloudWatch.
- Dans le volet de navigation, sélectionnez Journaux.
- Sélectionnez Groupe de journaux.
- Sélectionnez votre groupe de journaux.
- Choisissez Actions, puis Modifier le paramètre de conservation.
- Sélectionnez une période de conservation. Par exemple, choisissez 1 semaine, 1 mois ou une valeur personnalisée.
- Sélectionnez Enregistrer.
Vous pouvez également exécuter la commande de l'interface de ligne de commande put-retention-policy suivante :
aws logs put-retention-policy --log-group-name "/ecs/production-web-app" --retention-in-days retention-period>
Remarque : Remplacez log-group-name par le nom de votre groupe de journaux et retention-period par votre période de conservation.
Analyser les métriques de journal
Pour réduire et optimiser vos coûts, utilisez l’Explorateur de coûts AWS pour analyser les coûts associés à chaque groupe de journaux.
Exporter et archiver les journaux
Pour un stockage à long terme à moindre coût, déplacez les journaux vers Amazon Simple Storage Service (Amazon S3) ou vers une solution d'archivage. Pour exporter des journaux vers Amazon S3, utilisez la console CloudWatch ou exécutez la commande create-export-task :
aws logs create-export-task --log-group-name "/ecs/production-web-app" \--from start-timestamp --to end-timestamp --destination "s3-log-archive"
Remarque : Remplacez log-group-name par le nom de votre groupe de journaux, start-timestamp par votre heure de début et end-timestamp par votre heure de fin.
Mettre en œuvre les politiques Amazon S3 Lifecycle
Utilisez les configurations S3 Lifecycle pour transférer automatiquement les anciens journaux vers Amazon S3 Glacier à des fins d'archivage ou de suppression après une durée spécifiée.
Éviter la journalisation excessive
Configurez votre application pour n'envoyer que les journaux pertinents. Pour plus d'informations, consultez la section Bonnes pratiques en matière de journalisation.
Informations connexes
Journalisation et surveillance dans Amazon Elastic Container Service
- Sujets
- Containers
- Langue
- Français

Contenus pertinents
- demandé il y a 7 mois
- demandé il y a 5 mois
- demandé il y a 6 mois
AWS OFFICIELA mis à jour il y a 7 mois