

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

# Pubblicazione di parametri Amazon CloudWatch personalizzati per un ambiente
<a name="health-enhanced-cloudwatch"></a>

Puoi pubblicare i dati raccolti tramite la reportistica sanitaria AWS Elastic Beanstalk avanzata su Amazon CloudWatch come metriche personalizzate. La pubblicazione di metriche CloudWatch consente di monitorare i cambiamenti nelle prestazioni delle applicazioni nel tempo e identificare potenziali problemi monitorando la scalabilità dell'utilizzo delle risorse e della latenza delle richieste in base al carico.

[Pubblicando le metriche su CloudWatch, le rendi disponibili anche per l'uso con [grafici e allarmi di monitoraggio](environment-health-console.md#environment-health-console-graphs).](using-features.alarms.md) Una metrica gratuita viene abilitata automaticamente quando si utilizzano i report sanitari avanzati. *EnvironmentHealth* [Metriche personalizzate diverse dalle tariffe *EnvironmentHealth*standard. CloudWatch ](https://aws.amazon.com/cloudwatch/pricing/) 

Per pubblicare metriche CloudWatch personalizzate per un ambiente, devi prima abilitare la reportistica avanzata sullo stato dell'ambiente. Per istruzioni, consulta [Abilitazione del reporting dello stato avanzato Elastic Beanstalk](health-enhanced-enable.md).

**Topics**
+ [Parametri del reporting sullo stato migliorato](#health-enhanced-cloudwatch-metrics)
+ [Configurazione delle CloudWatch metriche utilizzando la console Elastic Beanstalk](#health-enhanced-cloudwatch-console)
+ [Configurazione di metriche CloudWatch personalizzate utilizzando l'EB CLI](#health-enhanced-cloudwatch-ebcli)
+ [Specifica dei documenti di configurazione per parametri personalizzati](#health-enhanced-cloudwatch-configdocument)

## Parametri del reporting sullo stato migliorato
<a name="health-enhanced-cloudwatch-metrics"></a>

Quando abiliti la reportistica sanitaria avanzata nel tuo ambiente, il sistema di reporting sanitario avanzato pubblica automaticamente una [metrica CloudWatch personalizzata](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/publishingMetrics.html),. *EnvironmentHealth* [[Per pubblicare metriche aggiuntive CloudWatch, configura il tuo ambiente con tali metriche utilizzando la console [Elastic Beanstalk, l'EB CLI o .ebextensions](#health-enhanced-cloudwatch-console).](command-options.md)](#health-enhanced-cloudwatch-ebcli)

Puoi pubblicare le seguenti metriche sanitarie avanzate dal tuo ambiente su. CloudWatchParametri disponibili – Tutte le piattaforme

`EnvironmentHealth`  
*Solo ambiente. * Questa è l'unica CloudWatch metrica pubblicata dal sistema di reporting sanitario avanzato, a meno che non si configurino metriche aggiuntive. Lo stato dell'ambiente è rappresentato da uno di sette [stati](health-enhanced-status.md). Nella CloudWatch console, questi stati vengono mappati ai seguenti valori:  
+ 0 – OK
+ 1 – Info
+ 5 – Unknown (Sconosciuto)
+ 10 – No data (Nessun dato)
+ 15 – Warning (Avvertenza)
+ 20 – Degraded (Degradato)
+ 25 – Severe (Grave)

`InstancesSevere``InstancesDegraded``InstancesWarning``InstancesInfo``InstancesOk``InstancesPending``InstancesUnknown``InstancesNoData`  
*Solo ambiente. * Questi parametri indicano il numero di istanze nell'ambiente con ciascuno stato di integrità. `InstancesNoData` indica il numero di istanze per cui i dati non vengono ricevuti.

`ApplicationRequestsTotal``ApplicationRequests5xx``ApplicationRequests4xx``ApplicationRequests3xx``ApplicationRequests2xx`  
*Istanza e ambiente. * Indica il numero totale di richieste completate dall'istanza o dall'ambiente e il numero di richieste completate con ogni categoria di codice di stato.

`ApplicationLatencyP10``ApplicationLatencyP50``ApplicationLatencyP75``ApplicationLatencyP85``ApplicationLatencyP90``ApplicationLatencyP95``ApplicationLatencyP99``ApplicationLatencyP99.9`  
*Istanza e ambiente. * Indica il periodo di tempo medio, in secondi, necessario per completare la percentuale *x* più veloce di richieste.

`InstanceHealth`  
*Solo istanza.* Indica lo stato corrente dell'istanza. È rappresentato da uno di sette [stati](health-enhanced-status.md). Nella CloudWatch console, questi stati sono mappati ai seguenti valori:  
+ 0 – OK
+ 1 – Info
+ 5 – Unknown (Sconosciuto)
+ 10 – No data (Nessun dato)
+ 15 – Warning (Avvertenza)
+ 20 – Degraded (Degradato)
+ 25 – Severe (Grave)Parametri disponibili – Linux

`CPUIrq``CPUIdle``CPUUser``CPUSystem``CPUSoftirq``CPUIowait``CPUNice`  
*Solo istanza.* Indica la percentuale di tempo che la CPU ha passato in ogni stato nell'ultimo minuto.

`LoadAverage1min`  
*Solo istanza.* Il carico medio della CPU dell'istanza nell'ultimo minuto.

`RootFilesystemUtil`  
*Solo istanza.* Indica la percentuale di spazio su disco utilizzato.Parametri disponibili – Windows

`CPUIdle``CPUUser``CPUPrivileged`  
Solo istanza. Indica la percentuale di tempo che la CPU ha passato in ogni stato nell'ultimo minuto.

## Configurazione delle CloudWatch metriche utilizzando la console Elastic Beanstalk
<a name="health-enhanced-cloudwatch-console"></a>

Puoi utilizzare la console Elastic Beanstalk per configurare il tuo ambiente in cui pubblicare CloudWatch metriche di reporting sanitario avanzate e renderle disponibili per l'uso con grafici e allarmi di monitoraggio.

**Per configurare metriche CloudWatch personalizzate nella console Elastic Beanstalk**

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 (Reporting stato)**, seleziona i parametri di istanza e di ambiente da pubblicare in CloudWatch. Per selezionare più parametri, premere il tasto **CTRL** durante la selezione.

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

[**L'abilitazione delle metriche CloudWatch personalizzate le aggiunge all'elenco delle metriche disponibili nella pagina Monitoraggio.**](environment-health-console.md)

## Configurazione di metriche CloudWatch personalizzate utilizzando l'EB CLI
<a name="health-enhanced-cloudwatch-ebcli"></a>

Puoi utilizzare l'interfaccia a riga di comando EB per configurare parametri personalizzati salvando la configurazione dell'ambiente in locale, aggiungendo una voce che definisca i parametri da pubblicare e caricando la configurazione in Elastic Beanstalk. Puoi applicare la configurazione salvata a un ambiente durante o dopo la creazione.

**Per configurare metriche CloudWatch personalizzate con l'EB CLI e le configurazioni salvate**

1. Inizializza la tua cartella di progetto con [**eb init**](eb-cli3-configuration.md).

1. Crea un ambiente eseguendo il comando **eb create**.

1. Salva un modello di configurazione in locale eseguendo il comando **eb config save**. L'esempio seguente utilizza l'opzione `--cfg` per specificare il nome della configurazione.

   ```
   $ eb config save --cfg {{01-base-state}}
   Configuration saved at: ~/project/.elasticbeanstalk/saved_configs/01-base-state.cfg.yml
   ```

1. Apri il file di configurazione salvato in un editor di testo.

1. In `OptionSettings` >`aws:elasticbeanstalk:healthreporting:system:`, aggiungi una `ConfigDocument` chiave per abilitare ciascuna delle CloudWatch metriche che desideri. Ad esempio, la chiave `ConfigDocument` seguente pubblica i parametri `ApplicationRequests5xx` e `ApplicationRequests4xx` a livello di ambiente e i parametri `ApplicationRequestsTotal` a livello di istanza.

   ```
   OptionSettings:
     ...
     aws:elasticbeanstalk:healthreporting:system:
       ConfigDocument:
         CloudWatchMetrics:
           Environment:
             ApplicationRequests5xx: 60
             ApplicationRequests4xx: 60
           Instance:
             ApplicationRequestsTotal: 60
         Version: 1
       SystemType: enhanced
   ...
   ```

   Nell'esempio, 60 indica il numero di secondi tra le misure. Attualmente, questo è il solo valore supportato.
**Nota**  
Puoi combinare `CloudWatchMetrics` e `Rules` nella stessa impostazione dell'opzione `ConfigDocument`. Le `Rules` sono descritte in [Configurazione delle regole dello stato migliorato per un ambiente](health-enhanced-rules.md).  
Se hai già utilizzato `Rules` per configurare le regole dello stato migliorato, il file di configurazione che recuperi utilizzando il comando **eb config save** dispone già di una chiave `ConfigDocument` con una sezione `Rules`. *Non eliminarla*, ma aggiungi una sezione `CloudWatchMetrics` allo stesso valore dell'opzione `ConfigDocument`.

1. Salva il file di configurazione e chiudi l'editor di testo. In questo esempio, il file di configurazione aggiornato viene salvato con un nome (`02-cloudwatch-enabled.cfg.yml`) diverso rispetto al file di configurazione scaricato. In questo modo, si crea una configurazione salvata distinta quando si carica il file. Puoi utilizzare lo stesso nome del file scaricato per sovrascrivere la configurazione esistente senza crearne una nuova.

1. Usa il comando **eb config put** per caricare il file di configurazione aggiornato in Elastic Beanstalk.

   ```
   $ eb config put {{02-cloudwatch-enabled}}
   ```

   Quando utilizzi i comandi **eb config** `get` e `put` con configurazioni salvate, non includere l'estensione di file.

1. Applica la configurazione salvata all'ambiente in esecuzione.

   ```
   $ eb config --cfg {{02-cloudwatch-enabled}}
   ```

   L'opzione `--cfg` specifica un file di configurazione con nome che viene applicato all'ambiente. Puoi salvare il file di configurazione in locale o in Elastic Beanstalk. Se un file di configurazione con il nome specificato esiste in entrambi i percorsi, l'interfaccia a riga di comando EB utilizza il file locale.

## Specifica dei documenti di configurazione per parametri personalizzati
<a name="health-enhanced-cloudwatch-configdocument"></a>

Il documento di configurazione (config) per i parametri CloudWatch personalizzati di Amazon è un documento JSON che elenca i parametri da pubblicare a livello di ambiente e istanza. L'esempio seguente mostra un documento di configurazione che abilita tutti i parametri personalizzati disponibili su Linux.

```
{
  "CloudWatchMetrics": {
    "Environment": {
      "ApplicationLatencyP99.9": 60,
      "InstancesSevere": 60,
      "ApplicationLatencyP90": 60,
      "ApplicationLatencyP99": 60,
      "ApplicationLatencyP95": 60,
      "InstancesUnknown": 60,
      "ApplicationLatencyP85": 60,
      "InstancesInfo": 60,
      "ApplicationRequests2xx": 60,
      "InstancesDegraded": 60,
      "InstancesWarning": 60,
      "ApplicationLatencyP50": 60,
      "ApplicationRequestsTotal": 60,
      "InstancesNoData": 60,
      "InstancesPending": 60,
      "ApplicationLatencyP10": 60,
      "ApplicationRequests5xx": 60,
      "ApplicationLatencyP75": 60,
      "InstancesOk": 60,
      "ApplicationRequests3xx": 60,
      "ApplicationRequests4xx": 60
    },
    "Instance": {
      "ApplicationLatencyP99.9": 60,
      "ApplicationLatencyP90": 60,
      "ApplicationLatencyP99": 60,
      "ApplicationLatencyP95": 60,
      "ApplicationLatencyP85": 60,
      "CPUUser": 60,
      "ApplicationRequests2xx": 60,
      "CPUIdle": 60,
      "ApplicationLatencyP50": 60,
      "ApplicationRequestsTotal": 60,
      "RootFilesystemUtil": 60,
      "LoadAverage1min": 60,
      "CPUIrq": 60,
      "CPUNice": 60,
      "CPUIowait": 60,
      "ApplicationLatencyP10": 60,
      "LoadAverage5min": 60,
      "ApplicationRequests5xx": 60,
      "ApplicationLatencyP75": 60,
      "CPUSystem": 60,
      "ApplicationRequests3xx": 60,
      "ApplicationRequests4xx": 60,
      "InstanceHealth": 60,
      "CPUSoftirq": 60
    }
  },
  "Version": 1
}
```

Per il AWS CLI, si passa il documento come valore per la `Value` chiave in un argomento delle impostazioni delle opzioni, che a sua volta è un oggetto JSON. In questo caso, devi specificare il carattere di escape per le virgolette nel documento incorporato.

```
$ aws elasticbeanstalk validate-configuration-settings --application-name my-app --environment-name my-env --option-settings '[
    {
        "Namespace": "aws:elasticbeanstalk:healthreporting:system",
        "OptionName": "ConfigDocument",
        "Value": "{\"CloudWatchMetrics\": {\"Environment\": {\"ApplicationLatencyP99.9\": 60,\"InstancesSevere\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"InstancesUnknown\": 60,\"ApplicationLatencyP85\": 60,\"InstancesInfo\": 60,\"ApplicationRequests2xx\": 60,\"InstancesDegraded\": 60,\"InstancesWarning\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"InstancesNoData\": 60,\"InstancesPending\": 60,\"ApplicationLatencyP10\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"InstancesOk\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60},\"Instance\": {\"ApplicationLatencyP99.9\": 60,\"ApplicationLatencyP90\": 60,\"ApplicationLatencyP99\": 60,\"ApplicationLatencyP95\": 60,\"ApplicationLatencyP85\": 60,\"CPUUser\": 60,\"ApplicationRequests2xx\": 60,\"CPUIdle\": 60,\"ApplicationLatencyP50\": 60,\"ApplicationRequestsTotal\": 60,\"RootFilesystemUtil\": 60,\"LoadAverage1min\": 60,\"CPUIrq\": 60,\"CPUNice\": 60,\"CPUIowait\": 60,\"ApplicationLatencyP10\": 60,\"LoadAverage5min\": 60,\"ApplicationRequests5xx\": 60,\"ApplicationLatencyP75\": 60,\"CPUSystem\": 60,\"ApplicationRequests3xx\": 60,\"ApplicationRequests4xx\": 60,\"InstanceHealth\": 60,\"CPUSoftirq\": 60}},\"Version\": 1}"
    }
]'
```

Per un file di configurazione `.ebextensions` in YAML, puoi fornire il documento in formato JSON così com'è.

```
  option_settings:
    - namespace: aws:elasticbeanstalk:healthreporting:system
      option_name: ConfigDocument
      value: {
  "CloudWatchMetrics": {
    "Environment": {
      "ApplicationLatencyP99.9": 60,
      "InstancesSevere": 60,
      "ApplicationLatencyP90": 60,
      "ApplicationLatencyP99": 60,
      "ApplicationLatencyP95": 60,
      "InstancesUnknown": 60,
      "ApplicationLatencyP85": 60,
      "InstancesInfo": 60,
      "ApplicationRequests2xx": 60,
      "InstancesDegraded": 60,
      "InstancesWarning": 60,
      "ApplicationLatencyP50": 60,
      "ApplicationRequestsTotal": 60,
      "InstancesNoData": 60,
      "InstancesPending": 60,
      "ApplicationLatencyP10": 60,
      "ApplicationRequests5xx": 60,
      "ApplicationLatencyP75": 60,
      "InstancesOk": 60,
      "ApplicationRequests3xx": 60,
      "ApplicationRequests4xx": 60
    },
    "Instance": {
      "ApplicationLatencyP99.9": 60,
      "ApplicationLatencyP90": 60,
      "ApplicationLatencyP99": 60,
      "ApplicationLatencyP95": 60,
      "ApplicationLatencyP85": 60,
      "CPUUser": 60,
      "ApplicationRequests2xx": 60,
      "CPUIdle": 60,
      "ApplicationLatencyP50": 60,
      "ApplicationRequestsTotal": 60,
      "RootFilesystemUtil": 60,
      "LoadAverage1min": 60,
      "CPUIrq": 60,
      "CPUNice": 60,
      "CPUIowait": 60,
      "ApplicationLatencyP10": 60,
      "LoadAverage5min": 60,
      "ApplicationRequests5xx": 60,
      "ApplicationLatencyP75": 60,
      "CPUSystem": 60,
      "ApplicationRequests3xx": 60,
      "ApplicationRequests4xx": 60,
      "InstanceHealth": 60,
      "CPUSoftirq": 60
    }
  },
  "Version": 1
}
```