View a markdown version of this page

Visualizzazione dei log di distribuzione per un ambiente Elastic Beanstalk - AWS Elastic Beanstalk

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Visualizzazione dei log di distribuzione per un ambiente Elastic Beanstalk

Elastic Beanstalk genera un registro di distribuzione per ogni distribuzione nel tuo ambiente. Il registro di distribuzione fornisce una visione consolidata di ciò che è accaduto durante una distribuzione, in modo da poter diagnosticare un errore senza raccogliere personalmente diversi registri. Il contenuto del registro e la data in cui sarà disponibile dipende dal fatto che l'ambiente sia un ambiente Beanstalk Standard o un ambiente Beanstalk Cluster.

Con Beanstalk Standard, i log di distribuzione vengono scritti in ogni istanza localmente. Per le distribuzioni attivate tramite console, CLI, API o aggiornamenti gestiti, un'istanza carica continuamente il proprio log su Amazon S3 durante la distribuzione. La console Elastic Beanstalk legge il log da Amazon S3, così puoi monitorare i progressi senza connetterti all'istanza.

I log di distribuzione standard sono progettati per essere concisi. In caso di successo, il registro mostra solo i messaggi di riepilogo (ad esempio, quali comandi sono stati eseguiti e completati). In caso di errore, il registro include fino a 50 righe di output del passaggio non riuscito, in modo da poter visualizzare l'errore senza dover passare al setaccio l'output dettagliato.

Con Beanstalk Cluster, Elastic Beanstalk raccoglie il registro di distribuzione al termine dell'operazione. Raccoglie i log dei container di ogni pod nell'ambiente, insieme agli eventi Kubernetes per lo spazio dei nomi dell'ambiente, e li carica come un singolo file zip nel bucket di storage Amazon S3 dell'ambiente. La console Elastic Beanstalk legge il file zip da Amazon S3 e ne visualizza il contenuto, così puoi leggerlo senza connetterti al tuo cluster. La disponibilità non dipende dalla versione della piattaforma ed Elastic Beanstalk non scrive un file di log di distribuzione nei tuoi nodi.

Nota

Per gli ambienti Beanstalk Standard, i log di distribuzione sono disponibili sulle versioni delle piattaforme Amazon Linux 2 e Amazon Linux 2023 rilasciate l'11 marzo 2026 o successivamente e sulle versioni della piattaforma Windows rilasciate il 22 aprile 2026 o successivamente.

Operazioni supportate

Per gli ambienti Beanstalk Standard, i log di distribuzione vengono generati per le seguenti operazioni:

  • Distribuzioni delle applicazioni: distribuzione di una nuova versione dell'applicazione nell'ambiente.

  • Aggiornamenti della configurazione: modifica delle impostazioni di configurazione dell'ambiente applicate alle istanze esistenti e aggiornamenti che aggiungono nuove istanze all'ambiente.

  • Creazione dell'ambiente: distribuzione iniziale quando si crea un nuovo ambiente.

  • Riavvio del server dell'app: riavvio del server delle applicazioni sulle istanze.

  • Aggiornamenti gestiti della piattaforma: aggiornamenti della piattaforma che Elastic Beanstalk applica automaticamente durante una finestra di manutenzione programmata.

Le operazioni che non modificano lo stato dell'applicazione o della configurazione sulle istanze, come la richiesta di log, lo scambio di CNAME o l'aggiornamento dei tag, non generano registri di distribuzione.

Per gli ambienti Beanstalk Cluster, i log di distribuzione vengono generati per la creazione dell'ambiente, le distribuzioni delle applicazioni, gli aggiornamenti della configurazione, il riavvio del server delle app e la chiusura dell'ambiente. La chiusura di un ambiente produce un registro di distribuzione, cosa che non avviene per Beanstalk Standard. Gli aggiornamenti gestiti della piattaforma non si applicano, perché un ambiente Beanstalk Cluster esegue immagini di container anziché una versione della piattaforma.

Elastic Beanstalk raccoglie un registro di distribuzione dell'ambiente Beanstalk Cluster dopo la fase di distribuzione. Se un'operazione fallisce prima di questa fase, ad esempio durante la creazione dell'immagine del contenitore, la creazione del cluster, il provisioning delle risorse o la generazione della specifica Kubernetes, non esiste un registro di distribuzione e gli eventi dell'ambiente descrivono cosa è successo. Per ulteriori informazioni, consulta Visualizzazione del flusso di eventi di un ambiente Elastic Beanstalk.

Contenuto del registro di distribuzione

Per gli ambienti Beanstalk Standard, un registro di distribuzione acquisisce le seguenti informazioni durante una distribuzione:

  • Ciclo di vita dell'implementazione: messaggi di inizio e completamento per ogni fase di distribuzione, ad esempio e. Starting Application deployment Completed Application deployment

  • Output .ebextensions: in caso di successo, i nomi dei comandi eseguiti. In caso di errore, le ultime 50 righe di cfn-init output per aiutare a diagnosticare il problema.

  • Output degli hook della piattaforma: in caso di successo, i nomi degli script hook eseguiti. In caso di errore, vengono visualizzate le ultime 50 righe di hook.

  • Installazione delle dipendenze: output da gestori di pacchetti comenpm install, pip installcomposer install, ebundle install. In caso di successo, viene registrato solo un messaggio di completamento. In caso di errore, vengono incluse le ultime 50 righe di output.

  • Output di compilazione: output di comandi di compilazione come docker buildgo build, e build Java. In caso di errore, vengono incluse le ultime 50 righe di output.

  • Output di avvio dell'applicazione: output iniziale dell'applicazione dopo l'avvio. La fonte dipende dalla tua piattaforma:

    • Docker: registri del contenitore da o docker logs docker compose logs

    • Java SE, Go, Python Node.js, Ruby, .NET: elabora i log stdout

    • Tomcat — Output del registro di Catalina

    • PHP: log degli PHP-FPM errori del master e del pool

    • ECS: registri dei contenitori da ogni contenitore di attività

    Nota

    L'output dell'applicazione viene acquisito a partire da 2 secondi dopo l'avvio dell'applicazione. Sono inclusi solo i messaggi di avvio iniziali: se l'applicazione impiega più tempo a produrre l'output, non verrà visualizzato nel registro di distribuzione. Per visualizzare i log completi delle applicazioni, richiedi i registri dei pacchetti o connettiti direttamente all'istanza. Per ulteriori informazioni, consulta Visualizzazione dei log dalle istanze.

Quando una fase di distribuzione non riesce, il log la contrassegna con [ERROR] e include fino a 50 righe di output della fase non riuscita. Se il log di distribuzione non contiene sufficienti dettagli, è possibile recuperare i log completi dell'istanza (inclusi eb-engine.log i log delle applicazioni) dalla scheda Logs. eb-hooks.log Per ulteriori informazioni, consulta Visualizzazione dei log delle istanze Amazon EC2 nell'ambiente Elastic Beanstalk.

Contenuto del registro di distribuzione per gli ambienti Beanstalk Cluster

Per un ambiente Beanstalk Cluster, il log di distribuzione è un file zip. Contiene un file di eventi a livello di ambiente e un file per pod, in una directory: 1-environment/

1-environment/ _k8Events.txt pod-name.txt

_k8Events.txtcontiene gli eventi Kubernetes nello spazio dei nomi dell'ambiente che non sono legati a un singolo pod, come gli eventi di pianificazione, volume, scalabilità e bilanciamento del carico. Il carattere di sottolineatura iniziale lo ordina per primo.

Ciascuno pod-name.txt inizia con un =====EVENTS===== blocco contenente gli eventi di quel contenitore, i più vecchi per primi, seguiti da un =====LOGS===== blocco contenente i log di ogni contenitore nel contenitore. I contenitori init vengono visualizzati come blocchi di contenitori propri, quindi quando un contenitore init fallisce, è previsto un registro vuoto per il contenitore dell'applicazione anziché un secondo problema.

Per un contenitore che si sta riavviando, il =====EVENTS===== blocco di quel pod indica il motivo (ad esempioBackOff) e il =====LOGS===== blocco contiene il log del contenitore al momento della raccolta. Il registro di un'istanza precedente del contenitore non è incluso.

Il log di ogni contenitore è limitato a 5 MiB, senza limiti di riga. Un registro che raggiunge il limite è contrassegnato come troncato. A parte questo limite, non viene rimosso nulla dal registro, indipendentemente dal fatto che l'operazione abbia esito positivo o negativo. Se Elastic Beanstalk non è in grado di leggere i log di un contenitore, la raccolta continua e il blocco di quel contenitore registra l'errore.

L'installazione delle dipendenze e l'output della compilazione non si trovano nel registro di distribuzione di un ambiente Beanstalk Cluster. Ciò si verifica quando Elastic Beanstalk crea l'immagine del contenitore. Per ulteriori informazioni, consulta Creazione di immagini di container per ambienti Beanstalk Cluster.

Visualizzazione dei log di distribuzione nella console

La console Elastic Beanstalk fornisce una scheda Deployments nella dashboard dell'ambiente in cui è possibile visualizzare la cronologia e i log delle implementazioni. La cronologia delle distribuzioni mostra le distribuzioni degli ultimi 42 giorni (6 settimane).

Visualizzazione della cronologia delle implementazioni

Per visualizzare la cronologia delle implementazioni
  1. Apri la console Elastic Beanstalk e, nell'elenco delle regioni, seleziona la tua. Regione AWS

  2. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

  3. Nella dashboard dell'ambiente, scegli la scheda Distribuzioni.

    La scheda Distribuzioni mostra una tabella delle distribuzioni per l'ambiente. Ogni riga include le seguenti informazioni:

    • ID richiesta: l'identificatore univoco per la distribuzione.

    • Stato: completato , non riuscito o in corso.

    • Tipo: il tipo di distribuzione, ad esempio Creazione dell'ambiente, Distribuzione dell'applicazione, Aggiornamento della configurazione, Aggiornamento della piattaforma gestita , Riavvio del server delle app, Rebuild Environment, Restore Environment , Swap Environment Domain o Terminate Environment.

    • Politica: la politica di distribuzione, ad esempio All at once, Rolling, Rolling with additional batch , Immutable o Traffic Splitting.

    • Ora di inizio: quando è iniziata la distribuzione.

    • Durata: quanto tempo è stato necessario per completare l'implementazione.

Quando una distribuzione è in corso, la scheda verifica automaticamente la presenza di aggiornamenti. Puoi anche scegliere il pulsante di aggiornamento per ricaricare manualmente l'elenco.

Visualizzazione dei dettagli e dei registri di distribuzione

Per visualizzare i dettagli della distribuzione
  1. Nella scheda Distribuzioni, scegli il link Richiedi ID per la distribuzione che desideri ispezionare.

  2. La pagina dei dettagli della distribuzione mostra una sezione di riepilogo con l'ID della richiesta, lo stato, il tipo di distribuzione, l'ora di inizio, la durata e la politica di distribuzione. La politica di distribuzione (ad esempio, All at once, Rolling , Rolling with additional batch, Immutable o Traffic splitting) viene visualizzata quando può essere determinata dagli eventi di distribuzione.

  3. Sotto il riepilogo, scegli una delle seguenti schede:

    • Eventi: una cronologia degli eventi relativi a questa distribuzione, filtrata per mostrare solo gli eventi per la distribuzione selezionata.

    • Registri di distribuzione: il registro di distribuzione consolidato dell'istanza. È possibile cercare, filtrare per livello di registro e scaricare il file di registro.

Per le implementazioni in corso in un ambiente Beanstalk Standard, la scheda dei log si aggiorna automaticamente per mostrare le nuove voci di registro man mano che vengono scritte. Al termine di una distribuzione, la console recupera lo stato finale del registro per garantire la visualizzazione dell'output completo.

In un ambiente Beanstalk Cluster, il registro di distribuzione viene visualizzato al termine dell'operazione, quindi la scheda dei log non si aggiorna durante l'esecuzione dell'operazione. Il file degli eventi a livello di ambiente viene mostrato per primo, seguito dai file per pod. Se il file zip compresso è più grande di 5 MiB, la console ti chiede di scaricarlo da Amazon S3 anziché visualizzarlo. Tale limite si applica all'intero archivio, non al registro di un singolo contenitore.

Importante

La visualizzazione dei log di distribuzione nella console richiede l's3:GetObjectautorizzazione sul bucket di storage Amazon S3 dell'ambiente (). elasticbeanstalk-region-account-id Se la tua policy IAM non include questa autorizzazione, la cronologia e gli eventi di distribuzione saranno ancora disponibili, ma la scheda dei log mostrerà un errore.

Dove sono archiviati i log di distribuzione

File di log di distribuzione sulle istanze Beanstalk Standard

I log di distribuzione vengono scritti nella /var/log/deployments/ directory di ogni istanza. Il nome del file di registro dipende da come è stata attivata la distribuzione:

  • Workflow-controlled distribuzioni (attivate tramite console, CLI o API) —eb-deployment-request-id.log, dov'è request-id l'ID univoco della richiesta di distribuzione.

  • Self-startup implementazioni (avvio dell'istanza) —eb-deployment-timestamp-instance-id.log, dove timestamp è in formato UTC (ad esempio20260317T151315Z) ed instance-id è l'ID dell'istanza Amazon EC2.

Elastic Beanstalk ruota automaticamente questi file, conservando i 50 log di distribuzione più recenti su ogni istanza.

Per le distribuzioni controllate dal flusso di lavoro, il log viene caricato su Amazon S3 nel seguente percorso:

s3://elasticbeanstalk-region-account-id/resources/environments/logs/deployments/environment-id/log-filename

Per le distribuzioni con avvio automatico, il log viene caricato su Amazon S3 in una sottodirectory: selfstartup/

s3://elasticbeanstalk-region-account-id/resources/environments/logs/deployments/environment-id/selfstartup/log-filename

Per le distribuzioni controllate dal flusso di lavoro, la prima istanza da cui inizia il caricamento rivendica il ruolo per l'intera distribuzione. Tale istanza carica il proprio log su Amazon S3 per la durata della distribuzione. Per le distribuzioni con avvio automatico, ogni istanza carica il proprio registro in modo indipendente. Tutte le istanze continuano a scrivere i log di distribuzione localmente.

Importante

Il caricamento dei log di distribuzione su Amazon S3 richiede l's3:PutObjectautorizzazione sul bucket di storage Amazon S3 dell'ambiente nel profilo dell'istanza e la configurazione VPC deve consentire la connettività ad Amazon S3.

I caricamenti dei log di distribuzione sono limitati a 1 MB per file. Se un log di distribuzione supera queste dimensioni, la versione caricata viene troncata con un messaggio che indica che il log completo è disponibile sull'istanza.

Disattivazione dei caricamenti dei log S3

Per gli ambienti Beanstalk Standard, per evitare che i log di distribuzione vengano caricati su Amazon S3, imposta la seguente proprietà di ambiente nel tuo ambiente:

option_settings: - namespace: aws:elasticbeanstalk:application:environment option_name: EB_DEPLOYMENT_LOG_S3_DISABLED value: true

Quando questa proprietà di ambiente è impostata, i log di distribuzione vengono comunque scritti localmente /var/log/deployments/ su ciascuna istanza, ma non vengono caricati su Amazon S3 e non saranno disponibili nella scheda Deployments della console. Puoi anche impostare questa proprietà nella pagina di configurazione in Software o utilizzando l'interfaccia a riga di comando di EB o. AWS CLI

La EB_DEPLOYMENT_LOG_S3_DISABLED proprietà viene letta sulle tue istanze, quindi non ha alcun effetto su un ambiente Beanstalk Cluster. Al momento non è possibile impedire a Elastic Beanstalk di caricare il registro di distribuzione di un ambiente Beanstalk Cluster.

File di log di distribuzione per ambienti Beanstalk Cluster

Per un ambiente Beanstalk Cluster, Elastic Beanstalk carica il log di distribuzione nel bucket di storage Amazon S3 del tuo ambiente nel seguente percorso:

s3://elasticbeanstalk-region-account-id/resources/environments/logs/deployments/environment-id/deployment-environment-name-request-id.zip

Elastic Beanstalk esegue il caricamento da solo, utilizzando il ruolo operativo dell'ambiente, quindi non è necessaria l'autorizzazione del profilo di istanza e non è necessario che nulla raggiunga Amazon S3 dai tuoi nodi.

Il caricamento è il massimo sforzo. In caso contrario, l'operazione viene comunque completata, non viene generato alcun evento ambientale e la console segnala che il registro di distribuzione non è disponibile.