¿Cómo puedo enviar el resultado de los datos de usuario a los registros de la consola en una instancia de EC2 en Amazon Linux 1, Amazon Linux 2 o Amazon Linux 2023?

3 minutos de lectura
0

Quiero registrar la invocación de los datos de usuario y enviarla a los registros de la consola en mi instancia de Linux de Amazon Elastic Compute Cloud (Amazon EC2).

Breve descripción

Para solucionar problemas con el arranque de la instancia de EC2 sin tener que acceder a la instancia a través de SSH, puede añadir código al script bash de datos de usuario que redirige todos los resultados tanto a /var/log/user-data.log como a /dev/console. Cuando se ejecute el código, podrá ver los registros de invocación de los datos de usuario en la consola.

Nota: Esta solución solo es válida para Amazon Linux 1, Amazon Linux 2 y Amazon Linux 2023. Para obtener información sobre las instancias que ejecutan RHEL 7 o RHEL 8, consulte How can I send user-data output to the console logs on an EC2 instance running RHEL 7 or RHEL 8?

Solución

Introduzca el siguiente comando para redirigir los resultados de datos de usuario en la consola:

#!/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!"

Esta es la línea que redirige el resultado de los datos de usuario:

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

De forma predeterminada, los scripts de datos de usuario y las directivas cloud-init solo se ejecutan durante el primer arranque cuando se lanza una instancia. Para obtener más información, consulte ¿Cómo puedo utilizar los datos del usuario para ejecutar automáticamente un script con cada reinicio de mi instancia de Amazon EC2 Linux?

A continuación se muestra un ejemplo de resultado de la consola:

<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!

Nota: El resultado del registro del sistema publicado (consola) no se actualiza continuamente. Las instancias integradas en el sistema Nitro admiten la recuperación del último resultado de la consola serie. Para obtener más información, consulte Salida de la consola de instancias.

Información relacionada

Ejecutar comandos en la instancia de Linux durante el lanzamiento

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años