Comment puis-je obtenir les journaux de SSM Agent pour les tâches Fargate dont Amazon ECS Exec est activé ?

Dernière mise à jour : 23/11/2022

Je souhaite obtenir les journaux de AWS Systems Manager Agent (SSM Agent) pour les tâches AWS Fargate dont Amazon Elastic Container Service (Amazon ECS) Exec est activé. Cependant, j'ignore comment procéder.

Brève description

Avant de commencer à utiliser Amazon ECS Exec, consultez la section Conditions préalables à l'utilisation d'ECS Exec.

Pour obtenir les journaux SSM Agent pour les tâches Fargate dont ECS Exec est activé, créez un système de fichiers Amazon Elastic File System (Amazon EFS). Montez ensuite le système de fichiers Amazon EFS sur le conteneur Fargate. Enfin, montez le même système de fichiers sur une instance Amazon Elastic Compute Cloud (Amazon EC2) pour obtenir les journaux de SSM Agent.

Important : votre système de fichiers Amazon EFS, votre cluster Amazon ECS, ainsi que vos tâches Fargate doivent tous se trouver dans le même Amazon Virtual Private Cloud (Amazon VPC).

Remarque : La résolution suivante concerne exclusivement les tâches Fargate dont ECS Exec est activé. Utilisez les étapes de résolution uniquement pour le débogage. Lancez la résolution en tant que tâche autonome ou limitez ledesiredCount (nombre de tâches) souhaité à « 1 » dans votre service Amazon ECS afin d'éviter toute substitution de journaux. Utilisez également la résolution suivante pour les scénarios dans lesquels une vérification des journaux non stderr/stdout depuis les conteneurs est obligatoire.

Résolution

Créez votre système de fichiers Amazon EFS et montez-le sur un conteneur Fargate dans une tâche ou un service.

  1. Créez votre système de fichiers Amazon EFS.
  2. Notez l'identifiant Amazon EFS, ainsi que l'identifiant du groupe de sécurité.
  3. Modifiez les règles du groupe de sécurité de votre système de fichiers afin d'autoriser les connexions entrantes sur le port 2049 à partir du groupe de sécurité associé à votre tâche Fargate.
  4. Mettez à votre groupe de sécurité Amazon ECS service dans le but d'autoriser les connexions sortantes du port 2049 vers le groupe de sécurité de votre système de fichiers.
  5. Ouvrez la console Amazon ECS et accédez à la définition de votre tâche Amazon ECS.
  6. Dans la section Volumes, choisissez Ajouter un volume.
  7. Pour le champNom, renseignez un nom pour votre volume.
  8. Pour le champ Type de volume saisissez EFS.
  9. Pour ID du système de fichiers, entrez l'ID de votre système de fichiers.
  10. Dans la section Définition des conteneurs, accédez à la section STOCKAGE ET JOURNALISATION, ensuite, sélectionnez le volume que vous avez créé pour le volume source.
  11. Pour le chemin du conteneur, sélectionnez /var/log/amazon.
  12. Mettez à jour le service ou la tâche Fargate avec la définition de tâche créée.

Montez le système de fichiers Amazon EFS sur une instance Amazon EC2 et obtenez les journaux SSM Agent

1.    Montez votre système de fichiers sur une instance EC2.

2.    Exécutez la commande suivante afin d'obtenir les données du journal.

sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-01b0bxxxxxxxx.efs.ap-southeast-1.amazonaws.com:/ /efs

Exemple de sortie :

# df -h
Filesystem                                          Size  Used Avail Use% Mounted on
fs-01b0bxxxxxxxx.efs.us-west-2.amazonaws.com:/      8.0E     0  8.0E   0% /efs

Voici un exemple de journaux stockés sous le chemin /var/log/amazon/ssm/amazon-ssm-agent.log dans le conteneur Fargate :

[root@ip-172-31-32-32 efs]# cd ssm/
[root@ip-172-31-32-32 ssm]# ls
amazon-ssm-agent.log  audits
[root@ip-172-31-32-32 ssm]# cat amazon-ssm-agent.log | tail -n 10
2022-10-20 11:50:34 INFO [ssm-agent-worker] [MessageService] [MessageHandler] ended idempotency deletion thread
2022-10-20 11:50:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread started
2022-10-20 11:50:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread done
2022-10-20 11:55:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread started
2022-10-20 11:55:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread done
2022-10-20 12:00:34 INFO [ssm-agent-worker] [MessageService] [MessageHandler] started idempotency deletion thread
2022-10-20 12:00:34 WARN [ssm-agent-worker] [MessageService] [MessageHandler] [Idempotency] encountered error open /var/lib/amazon/ssm/170b15cacf5846ed836bcd7903cbee48-2531612879/idempotency: no such file or directory while listing replies in /var/lib/amazon/ssm/170b15cacf5846ed836bcd7903cbee48-2531612879/idempotency
2022-10-20 12:00:34 INFO [ssm-agent-worker] [MessageService] [MessageHandler] ended idempotency deletion thread
2022-10-20 12:00:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread started
2022-10-20 12:00:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread done
[root@ip-172-31-32-32 ssm]#

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


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