Comment envoyer les sorties de données utilisateur aux journaux de la console sur une instance EC2 exécutant Amazon Linux ou Amazon Linux 2 ?

Dernière mise à jour : 04/02/2021

J'essaie de résoudre les problèmes d'amorçage de mon instance Linux Amazon Elastic Compute Cloud (Amazon EC2). Comment puis-je enregistrer l'appel des données utilisateur, puis le transférer vers les journaux de la console ?

Brève description

Pour résoudre les problèmes d'amorçage de votre instance EC2 sans avoir à accéder à l'instance via SSH, vous pouvez ajouter du code à votre script bash de données utilisateurs pour rediriger tous les résultats vers /var/log/user-data.log et /dev/console. Lorsque le code est exécuté, vous pouvez voir vos journaux d'appel des données utilisateurs dans votre console.

Remarque : cette résolution est uniquement valable pour Amazon Linux et Amazon Linux 2. Pour plus d'informations sur les instances exécutant RHEL 7 ou 8, consultez la section Comment enregistrer les données utilisateur pour mon instance EC2 exécutant RHEL 7 ou 8, puis les transférer vers les journaux de la console ?

Résolution

Saisissez la commande suivante pour rediriger la console de sortie des données utilisateur :

#!/bin/bash -xe
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
  yum -y update
  echo "Hello from user-data!"

La ligne suivante redirige la sortie des données utilisateur :

exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1

Voici un exemple de sortie de console :

<13>Nov 13 13:49:59 user-data:   amazon-ssm-agent.x86_64 0:2.3.228.0-1.amzn2
<13>Nov 13 13:49:59 user-data:   irqbalance.x86_64 2:1.5.0-2.amzn2.0.1
<13>Nov 13 13:49:59 user-data:   kernel-tools.x86_64 0:4.14.77-80.57.amzn2
<13>Nov 13 13:49:59 user-data:   kmod.x86_64 0:25-3.amzn2.0.2
<13>Nov 13 13:49:59 user-data:   kmod-libs.x86_64 0:25-3.amzn2.0.2
<13>Nov 13 13:49:59 user-data:   lz4.x86_64 0:1.7.5-2.amzn2.0.1
<13>Nov 13 13:49:59 user-data:   nss.x86_64 0:3.36.0-7.amzn2
<13>Nov 13 13:49:59 user-data:   nss-sysinit.x86_64 0:3.36.0-7.amzn2
<13>Nov 13 13:49:59 user-data:   nss-tools.x86_64 0:3.36.0-7.amzn2
<13>Nov 13 13:49:59 user-data:   openssl.x86_64 1:1.0.2k-16.amzn2.0.1
<13>Nov 13 13:49:59 user-data:   openssl-libs.x86_64 1:1.0.2k-16.amzn2.0.1
<13>Nov 13 13:49:59 user-data:
<13>Nov 13 13:49:59 user-data: Complete!
<13>Nov 13 13:49:59 user-data: + echo 'Hello from user-data!

Remarque : la sortie du journal système (console) publiée n'est pas mise à jour en continu. Les instances créées sur le système Nitro prennent en charge la récupération de la dernière sortie de console série. Pour plus d'informations, consultez la section Sortie de la console d'instance.


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


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