Comment collecter automatiquement les journaux de mon instance de conteneur Amazon ECS ?

Date de la dernière mise à jour : 06/10/2022

Jesuis entrain de résoudre des problèmes liés à mon environnement Amazon Elastic Container Service (Amazon ECS) ou d'ouvrir un dossier auprès d'AWS Support,et j'ai besoin de collecter divers journaux de mes instances de conteneur. Comment procéder ?

Brève description

Le collecteur de journaux Amazon ECS est un script qui collecte les journaux automatiquement à partir de votre instance de conteneur. Le script collecte les journaux de systèmes d'exploitation généraux ainsi que les journaux de processus Docker et d'agents de conteneur Amazon ECS. Ensuite, le script compresse et archive les journaux dans un fichier unique que vous pouvez facilement partager lors de la résolution d'un problème.

Vous pouvez également utiliser le runbook Support AWS - Collecte des journaux d'instance ECS dans AWS Systems Manager Automation pour collecter des journaux à partir de votre instance ECS. Le runbook vous permet de télécharger les journaux vers un compartiment S3 que vous avez créé. Vous devez indiquer l'emplacement du compartiment S3 dans le paramètre d'entrée Destination du journal.

Remarque : Support AWS - Collecte des journaux d'instance ECS ne prend pas en charge le mode de débogage. Pour plus d'informations, consultez  Exécuter une automatisation.

Solution

Téléchargez et exécutez le collecteur de journaux Amazon ECS pour Linux.

1.    Connectez-vous à votre instance de conteneur.

2.    Pour vérifier que CURL est installé, exécutez la commande suivante :

curl --version

La sortie de la commande doit être semblable à celle ci-dessous :

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.

3.    Pour télécharger le script de collecteur de journaux Amazon ECS, exécutez la commande suivante :

curl -O https://raw.githubusercontent.com/awslabs/ecs-logs-collector/master/ecs-logs-collector.sh

4.    Pour collecter les journaux et créer une archive à l'aide du script, exécutez la commande suivante :

[ec2-user ~]$ sudo bash ./ecs-logs-collector.sh

Après avoir exécuté le script, vous pouvez examiner les journaux collectés dans le dossier collect créé par le script. Dans le dossier, vous trouverez le fichier collect.tgz, qui est une archive compressée de tous les journaux.

Téléchargez le collecteur de journaux Amazon ECS en mode débogage pour Linux.

Si les journaux ne fournissent pas toutes les informations dont vous avez besoin, vous pouvez activer la journalisation de débogage pour le démon Docker et l'agent de conteneur d'Amazon ECS avec l'option --mode=activation du débogage. Cette option permet au script de collecter les journaux avant d'activer le mode débogage. Le script redémarre le démon Docker et l'agent Amazon ECS, puis met fin à tous les conteneurs en cours d'exécution sur l'instance. Avant d'exécuter la commande suivante, pensez à drainer l'instance de conteneur et à transférer les tâches importantes vers d'autres instances de conteneur. Pour plus d'informations, consultez la section Drainage des instances de conteneur.

Pour activer le mode débogage lorsque vous exécutez le script, exécutez la commande suivante :

[ec2-user ~]$ sudo bash ./ecs-logs-collector.sh --mode=enable-debug

Téléchargez et exécutez le collecteur de journaux Amazon ECS pour Windows.

1.    Connectez-vous à votre instance de conteneur.

2.    Pour télécharger le script, ouvrez Windows PowerShell avec les privilèges d'administrateur, puis exécutez la commande suivante :

Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1

3.    Dans la même fenêtre, exécutez le script suivant pour collecter les journaux et créer l'archive :

.\ecs-logs-collector.ps1

Après avoir exécuté le script, vous pouvez examiner les journaux collectés dans le dossier collecte créé par le script. Dans le dossier, vous trouverez le fichier collect.tgz, qui est une archive compressée de tous les journaux.

Téléchargez le collecteur de journaux Amazon ECS en mode débogage pour Windows.

Si les journaux ne fournissent pas toutes les informations dont vous avez besoin, vous pouvez activer la journalisation de débogage pour le démon Docker et l'agent de conteneur Amazon ECS avec l'option -RunMode debug exécutez le mode débogage. Cette option permet au script de collecter les journaux avant d'activer le mode débogage. Le script redémarre le démon Docker et l'agent Amazon ECS, puis met fin à tous les conteneurs en cours d'exécution sur l'instance. Avant d'exécuter la commande suivante, pensez à drainer l'instance de conteneur et à transférer les tâches importantes vers d'autres instances de conteneur. Pour plus d'informations, consultez la section Drainage des instances de conteneur.

Pour activer le mode de débogage lorsque vous exécutez le script, exécutez la commande suivante en utilisant Windows PowerShell avec les privilèges d'administrateur :

.\ecs-logs-collector.ps1 -RunMode debug

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?