Come faccio a inviare l'output dei dati utente ai log della console su un'istanza EC2 per Amazon Linux 1, Amazon Linux 2 o Amazon Linux 2023?

3 minuti di lettura
0

Desidero registrare l'invocazione dei dati utente e inviarla ai log della console sulla mia istanza Linux Amazon Elastic Compute Cloud (Amazon EC2).

Breve descrizione

Per risolvere i problemi relativi al bootstrap dell'istanza EC2 senza dover accedere all'istanza tramite SSH, puoi aggiungere un codice allo script bash dei dati utente che reindirizza tutto l'output sia su /var/log/user-data.log che su /dev/console. Quando il codice viene eseguito, puoi visualizzare i log delle invocazioni dei dati utente nella tua console.

Nota: questa risoluzione è valida solo per Amazon Linux 1, Amazon Linux 2 e Amazon Linux 2023. Per informazioni sulle istanze che eseguono RHEL 7 o RHEL 8, consulta la sezione Come faccio a inviare output di dati utente ai log di console su un’istanza EC2 che esegue RHEL 7 o RHEL 8?

Risoluzione

Immetti il seguente comando per reindirizzare la console di output dei dati utente:

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

Di seguito è riportata la riga che reindirizza l'output dei dati utente:

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

Per impostazione predefinita, gli script dei dati utente e le direttive cloud-init vengono eseguiti solo al primo avvio di un'istanza. Per ulteriori informazioni, consulta la sezione Come posso utilizzare i dati utente per eseguire automaticamente uno script a ogni riavvio della mia istanza Linux Amazon EC2?

Di seguito è riportato un esempio di output della 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!

Nota: l'output del log di sistema (console) pubblicato non viene aggiornato continuamente. Le istanze basate sul sistema Nitro supportano il recupero dell'ultimo output della console seriale. Per ulteriori informazioni, consulta la sezione Output della console delle istanze.

Informazioni correlate

Esecuzione di comandi sull'istanza Linux durante l'avvio

AWS UFFICIALE
AWS UFFICIALEAggiornata 2 anni fa