

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à.

# Utilizzo di Elastic CloudWatch Beanstalk con Amazon Logs
<a name="AWSHowTo.cloudwatchlogs"></a>

Questo argomento spiega le funzionalità di monitoraggio che il servizio Amazon CloudWatch Logs può fornire a Elastic Beanstalk. Inoltre, illustra la configurazione ed elenca le posizioni dei log per ogni piattaforma Elastic Beanstalk. 

L'implementazione CloudWatch dei log può consentire di eseguire le seguenti attività di monitoraggio:
+ Monitora e archivia l'applicazione Elastic Beanstalk, il sistema e i file di log personalizzati dalle istanze Amazon EC2 dei tuoi ambienti.
+ Configura allarmi che ti consentano di reagire più facilmente a specifici eventi del flusso di log estratti dai filtri metrici.

L'agente CloudWatch Logs installato su ogni istanza Amazon EC2 nel tuo ambiente pubblica i punti dati metrici sul servizio per ogni gruppo di log CloudWatch che configuri. Ogni gruppo di log applica i propri modelli di filtro per determinare a quali eventi del flusso di log inviare CloudWatch come punti dati. I flussi del log appartenenti allo stesso gruppo di log condividono le stesse impostazioni di conservazione, monitoraggio e controllo degli accessi. Puoi configurare Elastic Beanstalk per trasmettere automaticamente i log CloudWatch al servizio, come descritto in. [Trasmissione dei log delle istanze su Logs CloudWatch](#AWSHowTo.cloudwatchlogs.streaming) Per ulteriori informazioni sui CloudWatch log, inclusi la terminologia e i concetti, consulta la [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) User Guide.

Oltre ai log delle istanze, se abiliti l'[integrità migliorata](health-enhanced.md) del tuo ambiente, puoi configurare l'ambiente in modo che trasmetta le informazioni sullo stato a Logs. CloudWatch Per informazioni, consulta [Streaming delle informazioni sullo stato dell'ambiente Elastic Beanstalk su Amazon Logs CloudWatch](AWSHowTo.cloudwatchlogs.envhealth.md).

**Topics**
+ [Prerequisiti per l'istanza dello streaming dei log su Logs CloudWatch](#AWSHowTo.cloudwatchlogs.prereqs)
+ [Come Elastic Beanstalk configura i log CloudWatch](#AWSHowTo.cloudwatchlogs.loggroups)
+ [Trasmissione dei log delle istanze su Logs CloudWatch](#AWSHowTo.cloudwatchlogs.streaming)
+ [Risoluzione dei problemi CloudWatch di integrazione dei log](#AWSHowTo.cloudwatchlogs.troubleshoot)
+ [Streaming delle informazioni sullo stato dell'ambiente Elastic Beanstalk su Amazon Logs CloudWatch](AWSHowTo.cloudwatchlogs.envhealth.md)

## Prerequisiti per l'istanza dello streaming dei log su Logs CloudWatch
<a name="AWSHowTo.cloudwatchlogs.prereqs"></a>

Per abilitare lo streaming dei log dalle istanze Amazon EC2 del tuo ambiente CloudWatch a Logs, devi soddisfare le seguenti condizioni.
+ *Piattaforma*: poiché questa caratteristica è disponibile solo nelle versioni della piattaforma rilasciate dopo [questa versione](https://aws.amazon.com/releasenotes/6677534638371416), se usi una versione precedente della piattaforma, aggiorna l'ambiente a uno corrente.
+ Se non disponi della policy gestita *AWSElasticBeanstalkWebTier*o di *AWSElasticBeanstalkWorkerTier*Elastic Beanstalk nel profilo dell'istanza di [Elastic Beanstalk, devi aggiungere quanto segue](concepts-roles-instance.md) al tuo profilo per abilitare questa funzionalità.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:PutLogEvents",
        "logs:CreateLogStream"
      ],
      "Resource": [
      "*"
      ]
    }
    ]
  }
  ```

------

## Come Elastic Beanstalk configura i log CloudWatch
<a name="AWSHowTo.cloudwatchlogs.loggroups"></a>

Elastic Beanstalk CloudWatch installa un log agent con le impostazioni di configurazione predefinite su ogni istanza creata. [Scopri di più nel Logs Agent Reference. CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html)

Quando abiliti lo streaming dei log delle istanze su CloudWatch Logs, Elastic Beanstalk invia i file di log dalle istanze dell'ambiente a Logs. CloudWatch Piattaforme diverse trasmettono log diversi. Nella tabella seguente sono elencati i log, suddivisi per piattaforma.


****  

|  Piattaforma / Ramo della piattaforma  |  Log  | 
| --- | --- | 
|  Docker / Ramo della piattaforma: Docker in esecuzione su Amazon Linux 2 (a 64 bit)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Docker / Ramo della piattaforma: ECS in esecuzione su Amazon Linux 2 (a 64 bit)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Go .NET Core su Linux Java / Ramo della piattaforma: Corretta esecuzione su Amazon Linux 2 (a 64 bit)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Node.js Python  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Tomcat PHP  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  .NET on Windows Server  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Ruby  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 

### File di log sulle piattaforme AMI Amazon Linux
<a name="AWSHowTo.cloudwatchlogs.loggroups.alami"></a>

**Nota**  
 [Il 18 luglio 2022,](https://docs.aws.amazon.com/elasticbeanstalk/latest/relnotes/release-2022-07-18-linux-al1-retire.html) **Elastic Beanstalk ha impostato lo stato di tutte le filiali della piattaforma basate su Amazon Linux AMI AL1 () come ritirato.** Per ulteriori informazioni sulla migrazione a una ramificazione della piattaforma Amazon Linux 2023 attuale e completamente supportata, consulta [Migrazione dell'applicazione Elastic Beanstalk Linux ad Amazon Linux 2023 o Amazon Linux 2](using-features.migration-al.md).

Nella tabella seguente sono elencati i file di log trasmessi dalle istanze sulle ramificazioni della piattaforma basate su AMI Amazon Linux (precedente ad Amazon Linux 2), per piattaforma.


****  

|  Piattaforma / Ramo della piattaforma  |  Log  | 
| --- | --- | 
|  Docker /  Ramo della piattaforma: Docker in esecuzione su Amazon Linux (a 64 bit)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Docker /  Ramo piattaforma: Docker a più container che esegue Amazon Linux (a 64 bit).  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Glassfish (Docker preconfigurato)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Go  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Java / Ramo della piattaforma: Java 8 in esecuzione su Amazon Linux (a 64 bit) Ramo della piattaforma: Java 7 in esecuzione su Amazon Linux (a 64 bit)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Tomcat  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Node.js  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  PHP  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Python  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
|  Ruby / Ramo della piattaforma: Puma con Ruby in esecuzione su Amazon Linux (a 64 bit)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 
| Ruby / Ramo della piattaforma: Passenger con Ruby in esecuzione su Amazon Linux a 64 bit  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/elasticbeanstalk/latest/dg/AWSHowTo.cloudwatchlogs.html)  | 

Elastic Beanstalk configura i CloudWatch gruppi di log in Logs per i vari file di log trasmessi. Per recuperare file di log specifici da CloudWatch Logs, devi conoscere il nome del gruppo di log corrispondente. Lo schema di denominazione dei gruppi di log dipende dal sistema operativo della piattaforma.

Per le piattaforme Linux, aggiungi alla posizione del file di log nell'istanza il prefisso `/aws/elasticbeanstalk/environment_name` per ottenere il nome del gruppo di log. Per recuperare, ad esempio, il file `/var/log/nginx/error.log`, specifica il gruppo di log `/aws/elasticbeanstalk/environment_name/var/log/nginx/error.log`.

Per le piattaforme Windows, consulta la tabella seguente per il gruppo di log corrispondente a ogni file di log.


|  File di log nell'istanza  |  Gruppo di log  | 
| --- | --- | 
|  `C:\Program Files\Amazon\ElasticBeanstalk\logs\AWSDeployment.log`  |  `/aws/elasticbeanstalk/<environment-name>/EBDeploy-Log`  | 
|  `C:\Program Files\Amazon\ElasticBeanstalk\logs\Hooks.log`  |  `/aws/elasticbeanstalk/<environment-name>/EBHooks-Log`  | 
|  `C:\inetpub\logs\LogFiles` (tutta la directory)  |  `/aws/elasticbeanstalk/<environment-name>/IIS-Log`  | 

## Trasmissione dei log delle istanze su Logs CloudWatch
<a name="AWSHowTo.cloudwatchlogs.streaming"></a>

È possibile abilitare lo streaming dei log delle istanze su CloudWatch Logs utilizzando la console Elastic Beanstalk, l'EB CLI o le opzioni di configurazione.

Prima di abilitarlo, configura le autorizzazioni IAM da utilizzare con l'agente Logs. CloudWatch Puoi collegare la seguente policy personalizzata al [profilo dell'istanza](concepts-roles-instance.md) assegnato al tuo ambiente.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

### Streaming di log delle istanze utilizzando la console Elastic Beanstalk
<a name="AWSHowTo.cloudwatchlogs.streaming.console"></a>

**Per trasmettere i log delle istanze a Logs CloudWatch**

1. Apri la console [Elastic Beanstalk](https://console.aws.amazon.com/elasticbeanstalk) e, **nell'elenco Regioni, seleziona la tua**. Regione AWS

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

1. Nel riquadro di navigazione, seleziona **Configuration** (Configurazione).

1. Nella categoria di configurazione **Updates, monitoring, and logging** (Aggiornamenti, monitoraggio e registrazione), scegli **Edit** (Modifica).

1. In **Streaming dei log delle istanze** su Logs: CloudWatch 
   + Abilita l'opzione **Log streaming (Streaming di log)**.
   + Imposta il valore di **Retention (Conservazione)** sul numero di giorni per cui salvare i log.
   + Seleziona l'impostazione **Lifecycle (Ciclo di vita)**, che determina se i log vengono salvati dopo che l'ambiente viene terminato.

1. Per salvare le modifiche scegli **Apply** (Applica) nella parte inferiore della pagina.

Dopo aver abilitato lo streaming dei log, puoi tornare alla pagina o alla categoria di configurazione **Software** e individuare il collegamento **Log Groups (Gruppi di log)**. Fai clic su questo link per visualizzare i log nella CloudWatch console.

### Streaming di log delle istanze tramite l'interfaccia a riga di comando EB
<a name="AWSHowTo.cloudwatchlogs.streaming.ebcli"></a>

Per abilitare lo streaming dei log delle istanze su CloudWatch Logs utilizzando la CLI EB, utilizzare [**eb logs**](eb3-logs.md) il comando.

```
$ eb logs --cloudwatch-logs enable
```

Puoi anche usarlo **eb logs** per recuperare i log dai log. CloudWatch È possibile recuperare tutti i log delle istanze dell'ambiente oppure usare le numerose opzioni del comando per specificare sottoinsiemi di log da recuperare. Il comando seguente permette ad esempio di recuperare il set completo di log delle istanze per l'ambiente e di salvare i log in una directory in `.elasticbeanstalk/logs`.

```
$ eb logs --all
```

In particolare, l'opzione `--log-group` permette di recuperare i log delle istanze per un determinato gruppo di log, corrispondente a un file di log nell'istanza specifico. A tale scopo, è necessario conoscere il nome del gruppo di log che corrisponde al file di log da recuperare. Puoi trovare queste informazioni in [Come Elastic Beanstalk configura i log CloudWatch](#AWSHowTo.cloudwatchlogs.loggroups).

### Streaming di log delle istanze tramite file di configurazione
<a name="AWSHowTo.cloudwatchlogs.files"></a>

Quando si crea o si aggiorna un ambiente, è possibile utilizzare un file di configurazione per impostare e configurare lo streaming dei log delle istanze su Logs. CloudWatch Il file di configurazione di esempio seguente permette di abilitare lo streaming di log delle istanze predefinito. Elastic Beanstalk trasmette in streaming il set predefinito di file di log per la piattaforma dell'ambiente. Per usare l'esempio, copia il testo in un file con l'estensione `.config` nella directory `.ebextensions` al primo livello del bundle di origine dell'applicazione.

```
option_settings:
  - namespace: aws:elasticbeanstalk:cloudwatch:logs
    option_name: StreamLogs
    value: true
```

### Streaming di file di log personalizzati
<a name="AWSHowTo.cloudwatchlogs.streaming.custom"></a>

L' CloudWatch integrazione di Elastic Beanstalk con Logs non supporta direttamente lo streaming di file di registro personalizzati generati dall'applicazione. Per lo streaming dei log personalizzati, utilizza un file di configurazione per installare direttamente l' CloudWatch agente e configurare i file da inviare. Per un esempio di file di configurazione, consulta [https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-streamtocloudwatch-linux.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-streamtocloudwatch-linux.config).

**Nota**  
L'esempio non funziona sulla piattaforma Windows.

Per ulteriori informazioni sulla configurazione dei CloudWatch log, consulta il [riferimento al file di configurazione dell'CloudWatch agente](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html) nella *Amazon CloudWatch User* Guide.

## Risoluzione dei problemi CloudWatch di integrazione dei log
<a name="AWSHowTo.cloudwatchlogs.troubleshoot"></a>

**Prova Amazon Q Developer CLI per la risoluzione dei problemi assistita dall'intelligenza artificiale**  
 La CLI per sviluppatori di Amazon Q può aiutarti a risolvere rapidamente i problemi ambientali. La Q CLI fornisce soluzioni controllando lo stato dell'ambiente, esaminando gli eventi, analizzando i log e ponendo domande di chiarimento. Per ulteriori informazioni e procedure dettagliate, consulta Risoluzione dei problemi degli [ambienti Elastic Beanstalk con Amazon](https://aws.amazon.com/blogs/devops/troubleshooting-elastic-beanstalk-environments-with-amazon-q-developer-cli/) Q Developer CLI nei blog. AWS 

**Impossibile individuare i registri delle istanze dell'ambiente**  
Se non riesci a trovare alcuni dei log delle istanze dell'ambiente che ti aspetti in CloudWatch Logs, esamina i seguenti problemi comuni:
+ Il ruolo IAM non dispone delle autorizzazioni IAM richieste.
+ Hai avviato il tuo ambiente in un ambiente Regione AWS che non supporta CloudWatch i log.
+ Uno dei file di log personalizzati non esiste nel percorso specificato.

**Log delle applicazioni mancanti o intermittenti**  
Se i log dell'applicazione Elastic Beanstalk`/var/log/web.stdout.log`, (), sembrano mancanti o intermittenti, ciò può essere dovuto alle impostazioni di limitazione della velocità predefinite in rsyslog e journald. La disattivazione completa della limitazione della velocità può risolvere questo problema, ma non è consigliata in quanto potrebbe comportare un utilizzo eccessivo del disco, una potenziale interruzione del servizio o un peggioramento delle prestazioni del sistema in caso di interruzioni impreviste dei log. È invece possibile modificare i limiti di velocità utilizzando quanto segue. [https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-ratelimitcloudwatchlogs-linux.config](https://github.com/awsdocs/elastic-beanstalk-samples/tree/main/configuration-files/aws-provided/instance-configuration/logs-ratelimitcloudwatchlogs-linux.config) Questa configurazione aumenta l'intervallo limite di velocità a 600 secondi con limiti di burst più elevati, garantendo un equilibrio tra la corretta registrazione e la protezione del sistema. 

**Problemi di limitazione**  
Se un'operazione Elastic Beanstalk che avvia contemporaneamente un gran numero di istanze restituisce un `Error: fail to create log stream: ThrottlingException: Rate exceeded` messaggio del tipo, si tratta di una limitazione da troppe chiamate all'API. CloudWatch 

Per risolvere il problema della limitazione, esegui una delle seguenti azioni:
+ Utilizzate un batch di dimensioni inferiori con distribuzioni continue per ridurre gli aggiornamenti simultanei.
+ Richiedi un aumento della quota di servizio limite Transaction Per Second (TPS) del tuo AWS account per. *CreateLogStream* Per ulteriori informazioni, consulta [ CloudWatch Logs quotas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html) e [Managing your CloudWatch Logs service quote nella](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch_limits_cwl.html#service-quotas-manage) *Amazon CloudWatch * Logs User Guide.