Comment collecter des journaux provenant d’instances Linux qui montent des systèmes de fichiers EFS ?

Lecture de 4 minute(s)
0

Je souhaite collecter les informations de journal de mes instances Linux Amazon Elastic Compute Cloud (Amazon EC2) qui montent un système de fichiers Amazon Elastic File System (Amazon EFS).

Brève description

Vous pouvez utiliser un runbook AWS Support Automation Workflow (SAW) pour collecter des informations de journal et d'autres données à fournir à AWS Support lors de la résolution d'un problème. En revanche, SAW ne peut pas être utilisé pour collecter les journaux des instances Linux Amazon EC2 qui montent un système de fichiers Amazon EFS.

Pour collecter les journaux des instances Linux Amazon EC2 qui montent un système de fichiers EFS, suivez ces étapes :

  • Créez un dossier d’assistance.
  • Activez les journaux stunnel sur l'instance client.
  • Activez les journaux efs-utils sur l'instance client.
  • Collectez les journaux à l’aide du pilote CSI Amazon EFS.
  • Exécutez la commande tcpdump sur l'instance client pour collecter une capture de paquets (facultatif).

Résolution

Création d’un dossier d’assistance

Constituez un dossier d’assistance afin qu'AWS Support puisse examiner vos journaux Amazon EFS. Utilisez le service SSH pour collecter les journaux de l'instance Linux Amazon EC2. Incluez les informations suivantes dans votre dossier :

  • ID du système de fichiers
  • Identifiants ou adresses IP des cibles de montage
  • Région AWS
  • Identifiants de l'instance EC2 présentant ce comportement
  • Date et heure de l'événement (veillez à inclure le fuseau horaire et des horodatages spécifiques)
  • Les résultats des commandes suivantes :
mount
uname -a
sudo iptables -S
lsmod

Si vous utilisez les journaux efs-utils, exécutez la commande suivante. Incluez les résultats d'amazon-efs-utils.tar.gz dans votre dossier d’assistance :

sudo tar czf amazon-efs-utils.tar.gz /var/log/amazon/efs

Si le montage repose sur TLS, exécutez les commandes suivantes. Incluez les résultats dans votre dossier d’assistance :

sudo stunnel -version
sudo openssl version
sudo openssl ciphers

Activation des journaux stunnel sur l'instance client

  1. Ouvrez le fichier /etc/amazon/efs/efs-utils.conf dans un éditeur de fichiers. Dans l’option stunnel_debug_enabled pour l'instance EC2, remplacez false par true.
  2. Dans le but de reproduire le problème que vous tentez de résoudre, procédez au démontage puis au montage du système de fichiers.
  3. Collectez les journaux stunnel. Ils se trouvent dans le dossier var/log/amazon/efs.
  4. Définissez l'option *stunnel_debug* sur false.

Activation des journaux efs-utils sur l'instance client

  1. Ouvrez le fichier /etc/amazon/efs/efs-utils.conf dans un éditeur de fichiers. Remplacez le paramètre INFO par DEBUG.
  2. Dans le but de reproduire le problème que vous tentez de résoudre, procédez au démontage puis au montage du système de fichiers.
  3. Collectez les journaux efs-utils. Ils se trouvent dans le dossier /var/log/amazon/efs.
  4. Définissez efs-utils.conf sur INFO.

Collecte de journaux à l’aide de aws-efs-csi-driver

1.    Pour trouver le pod à l'origine de l'erreur, exécutez la commande suivante :

kubectl describe pod $<POD_NAME>

Remarque : vous devez remplacer <POD_NAME> par le nom de votre pod.

2.    Activez les journaux de débogage efs-utils et csi-driver pour le pod à l'origine de l'erreur. Pour en savoir plus, consultez le ](https://github.com/kubernetes-sigs/aws-efs-csi-driver/tree/master/troubleshooting)guide de dépannage du pilote aws-efs-csi-driver[ (sur le site Web GitHub).

3.    Exécutez la commande suivante pour collecter les informations du journal de débogage :

python3 log_collector.py --driver-pod-name <driver_pod_name>

Remarque : vous devez remplacer <driver_pod_name> par le nom de votre pod.

Exécution de la commande tcpdump sur l'instance client pour collecter une capture de paquets (facultatif)

Exécutez la commande tcpdump (sur le site Web de TCPDump) pour créer trente fichiers d'une taille de 1 Go que vous pouvez utiliser en rotation. La commande tcpdump utilise ces fichiers pour capturer les données des paquets. Vous pouvez ajuster les commandes en fonction de vos besoins.

Montages non TLS

Pour les montages non TLS, exécutez la commande suivante pour capturer le trafic du système de fichiers réseau en texte brut :

sudo tcpdump -W 30 -C 1000 -s 2000 -w nfs_pcap_$(date +%FT%T).pcap -i any -z gzip -Z root port 2049

**Montages TLS **

Exécutez la commande suivante pour capturer le trafic en texte brut entre le client du système de fichiers réseau et l'utilitaire stunnel. Elle permet également de capturer le trafic chiffré entre l'utilitaire stunnel et le système de fichiers EFS.

sudo tcpdump -W 30 -C 1000 -s 2000 -w nfs_pcap_$(date +%FT%T).pcap -i any -z gzip -Z root
AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 10 mois