Je souhaite collecter des journaux depuis mon Amazon Elastic Container Service (Amazon ECS) afin de résoudre les problèmes liés à mon environnement.
Brève description
Utilisez le script du collecteur de journaux Amazon ECS pour collecter les journaux généraux du système d'exploitation (OS), de Docker et des agents de conteneur Amazon ECS. Le script compresse et archive ensuite les journaux dans un fichier unique que vous pouvez partager lorsque vous résolvez un problème.
Vous pouvez également utiliser le dossier d'exploitation AWSSupport-CollectECSInstanceLogs d’AWS Systems Manager pour collecter les journaux depuis votre instance ECS et les charger dans un compartiment Amazon Simple Storage Service (Amazon S3). Dans le paramètre d’entrée LogDestination, indiquez l’emplacement du compartiment S3.
Remarque : AWSSupport-CollectECSInstanceLogs ne prend pas en charge le mode de débogage. Pour plus d'informations, consultez la section Exécuter une opération automatisée optimisée par Systems Manager Automation.
Résolution
Télécharger et exécuter le collecteur de journaux Amazon ECS
Pour obtenir des instructions sur la procédure de connexion à votre instance de conteneur, consultez la section Connexion à votre instance de conteneur via SSH. Pour obtenir des instructions sur la procédure de chargement et d'exécution du collecteur de journaux pour Linux et Windows, consultez la section Collecte de journaux de conteneurs avec le collecteur de journaux Amazon ECS.
Pour Linux, vous devez utiliser curl. Pour confirmer que vous avez installé curl, exécutez la commande suivante :
curl --version
La sortie de la commande est similaire à l’exemple suivant :
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Remarque : Si la commande ne renvoie pas les résultats attendus, installez le package curl.
Après avoir exécuté le script, vous pouvez examiner les journaux collectés dans le dossier collecte créé par le script. Pour Linux, l'archive compressée de tous les journaux est collect-i-ffffffffffffffffff-YYYYMMDDHHmm.tgz. Pour Windows, il s'agit du fichier collect.tgz.
Exécutez le collecteur de journaux Amazon ECS en mode débogage
Le mode débogage vous permet de résoudre des problèmes complexes dans votre environnement ECS que les informations de journalisation standard ne sont peut-être pas en mesure de résoudre.
Pour activer la journalisation du débogage pour le démon Docker et l'agent de conteneur Amazon ECS, utilisez --mode=enable-debug pour Linux et -RunMode debug pour Windows.
Remarque : Le script redémarre le démon Docker et l’agent Amazon ECS, puis résilie tous les conteneurs exécutés sur l’instance. Avant d'exécuter la commande suivante, videz l'instance de conteneur et déplacez les tâches importantes vers d'autres instances de conteneur.
Linux
Le mode débogage ne fonctionne que sur Amazon Linux OS et les systèmes basés sur Systemd Init.
Lorsque vous exécutez le script, exécutez la commande suivante :
[ec2-user ~]$ sudo bash ./ecs-logs-collector.sh --mode=enable-debug
Windows
Lorsque vous exécutez le script, utilisez Windows PowerShell avec des autorisations d'administrateur pour exécuter la commande suivante :
.\ecs-logs-collector.ps1 -RunMode debug