

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

# Streaming delle informazioni sullo stato dell'ambiente Elastic Beanstalk su Amazon Logs CloudWatch
<a name="AWSHowTo.cloudwatchlogs.envhealth"></a>

Se [abiliti la reportistica avanzata sullo stato del tuo ambiente, puoi configurare l'ambiente in modo che trasmetta informazioni sullo stato di salute](health-enhanced.md) a Logs. CloudWatch Questo streaming è indipendente dallo streaming dei log delle EC2 istanze di Amazon. In questo argomento viene descritto lo streaming delle informazioni sullo stato dell'ambiente. Per informazioni sullo streaming di log delle istanze, consulta [Utilizzo di Elastic CloudWatch Beanstalk con Amazon Logs](AWSHowTo.cloudwatchlogs.md).

Quando configuri lo streaming dello stato dell'ambiente, Elastic Beanstalk CloudWatch crea un gruppo di log Logs per lo stato dell'ambiente. Il nome del gruppo di log è `/aws/elasticbeanstalk/environment-name/environment-health.log`. In questo gruppo di log, Elastic Beanstalk crea flussi di log denominati `YYYY-MM-DD#<hash-suffix>` (potrebbero essere presenti più flussi di log per ogni data).

Quando lo stato dell'ambiente cambia, Elastic Beanstalk aggiunge un record al flusso di log sullo stato. Il record rappresenta la transizione dello stato, ovvero il nuovo stato e una descrizione della causa del cambiamento. Lo stato di un ambiente può ad esempio cambiare in Severe (Grave) a causa di un errore del sistema di bilanciamento del carico. Per una descrizione degli stati avanzati, consulta [Colori e stati indicanti l'integrità](health-enhanced-status.md).

## Prerequisiti per lo streaming dello stato dell'ambiente su Logs CloudWatch
<a name="AWSHowTo.cloudwatchlogs.envhealth.prereqs"></a>

Per abilitare lo streaming dello stato dell'ambiente su CloudWatch Logs, è necessario soddisfare le seguenti condizioni:
+ *Piattaforma*: è necessario usare una versione della piattaforma che supporta i report sullo stato avanzati.
+ *Autorizzazioni*: è necessario concedere a Elastic Beanstalk determinate autorizzazioni per la creazione di log in modo che possa eseguire lo streaming delle informazioni sullo stato dell'ambiente per tuo conto. Se l'ambiente non usa un ruolo di servizio creato da Elastic Beanstalk, `aws-elasticbeanstalk-service-role`, oppure il ruolo collegato ai servizi del tuo account, `AWSServiceRoleForElasticBeanstalk`, assicurati di aggiungere le autorizzazioni seguenti al tuo ruolo di servizio personalizzato.

  ```
  {
        "Effect": "Allow",
        "Action": [
          "logs:DescribeLogStreams",
          "logs:CreateLogStream",
          "logs:PutLogEvents"
        ],
        "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*:log-stream:*"
  }
  ```

## Streaming dei registri relativi allo stato dell'ambiente su Logs CloudWatch
<a name="AWSHowTo.cloudwatchlogs.envhealth.streaming"></a>

Puoi abilitare lo streaming dello stato dell'ambiente su CloudWatch Logs utilizzando la console Elastic Beanstalk, l'EB CLI o le opzioni di configurazione.

### Streaming di log sullo stato dell'ambiente utilizzando la console Elastic Beanstalk
<a name="AWSHowTo.cloudwatchlogs.envhealth.streaming.console"></a>

**Per trasmettere i log sullo stato dell'ambiente 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 **Monitoring (Monitoraggio)**, scegliere **Edit (Modifica)**.

1. In **Health reporting (Report sullo stato)** assicurati che l'opzione **System (Sistema)** per la creazione di report sia impostata su **Enhanced (Avanzato)**.

1. In **Health, streaming degli eventi su CloudWatch Logs**
   + 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 avere abilitato lo streaming dei log, puoi tornare alla pagina o alla categoria di configurazione **Monitoring (Monitoraggio)** e individuare il collegamento **Log Group (Gruppo di log)**. Fai clic su questo collegamento per visualizzare i registri relativi allo stato dell'ambiente nella CloudWatch console.

### Streaming di log sullo stato dell'ambiente tramite l'interfaccia a riga di comando EB
<a name="AWSHowTo.cloudwatchlogs.envhealth.streaming.ebcli"></a>

Per abilitare lo streaming dei registri relativi allo stato dell'ambiente su CloudWatch Logs utilizzando la CLI EB, utilizzare [**eb logs**](eb3-logs.md) il comando.

```
$ eb logs --cloudwatch-logs enable --cloudwatch-log-source environment-health
```

È inoltre possibile utilizzare **eb logs** per recuperare i log da Logs. CloudWatch Il comando seguente permette ad esempio di recuperare tutti i log sullo stato per l'ambiente e di salvarli in una directory in `.elasticbeanstalk/logs`.

```
$ eb logs --all --cloudwatch-log-source environment-health
```

### Streaming di log sullo stato dell'ambiente tramite file di configurazione
<a name="AWSHowTo.cloudwatchlogs.envhealth.files"></a>

Quando si crea o si aggiorna un ambiente, è possibile utilizzare un file di configurazione per impostare e configurare lo streaming dei registri dello stato dell'ambiente su Logs. CloudWatch Per usare l'esempio seguente, copia il testo in un file con l'estensione `.config` nella directory `.ebextensions` al livello principale del bundle di origine dell'applicazione. L'esempio configura Elastic Beanstalk per abilitare lo streaming di log sullo stato dell'ambiente, conservare i log dopo che l'ambiente è stato terminato e salvarli per 30 giorni.

**Example [File di configurazione dello streaming di informazioni sullo stato](samples/aws_eb_cloudwatchlogs-envhealth.zip)**  

```
############################################################################
##  Sets up Elastic Beanstalk to stream environment health information
##  to Amazon CloudWatch Logs.
##  Works only for environments that have enhanced health reporting enabled.
############################################################################

option_settings:
  aws:elasticbeanstalk:cloudwatch:logs:health:
    HealthStreamingEnabled: true
    ### Settings below this line are optional.
    # DeleteOnTerminate: Delete the log group when the environment is
    # terminated. Default is false. If false, the health data is kept
    # RetentionInDays days.
    DeleteOnTerminate: false
    # RetentionInDays: The number of days to keep the archived health data
    # before it expires, if DeleteOnTerminate isn't set. Default is 7 days.
    RetentionInDays: 30
```

Per le opzioni predefinite e i valori validi, consulta [`aws:elasticbeanstalk:cloudwatch:logs:health`](command-options-general.md#command-options-general-cloudwatchlogs-health).