

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

# Crea o modifica manualmente il file di configurazione CloudWatch dell'agente
<a name="CloudWatch-Agent-Configuration-File-Details"></a>

 Il file di configurazione dell' CloudWatch agente è un file JSON con quattro sezioni:`agent`, `metrics``logs`, e`traces`. 
+ La sezione `agent` include campi per la configurazione generale dell'agente. 
+ La `metrics` sezione specifica le metriche personalizzate per la raccolta e la pubblicazione su. CloudWatch Se intendi utilizzare l'agente solo per raccogliere log, puoi omettere dal file la sezione `metrics`.
+ La `logs` sezione specifica quali file di registro vengono pubblicati in Logs. CloudWatch Questo può includere eventi del log eventi di Windows, se Windows Server è in esecuzione nel server.
+ La `traces` sezione specifica le fonti per le tracce che vengono raccolte e inviate. AWS X-Ray

 Questa sezione spiega la struttura e i campi del file di configurazione dell' CloudWatch agente. Puoi visualizzare la definizione di schema di questo file di configurazione. La definizione di schema è ubicata in `installation-directory/doc/amazon-cloudwatch-agent-schema.json` sui server Linux e in `installation-directory/amazon-cloudwatch-agent-schema.json` sui server che eseguono Windows Server. 

Se crei o modifichi manualmente il file di configurazione dell'agente di , puoi assegnargli qualsiasi nome. Per semplicità nella risoluzione dei problemi, consigliamo di denominarlo `/opt/aws/amazon-cloudwatch-agent/etc/cloudwatch-agent.json` su un server Linux e `$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json` sui server che eseguono Windows Server. Dopo avere creato il file, potrai copiarlo negli altri server in cui desideri installare l'agente.

All'avvio, l'agente crea una copia di ogni file di configurazione nella directory `/opt/aws/amazon-cloudwatch/etc/amazon-cloudwatch-agent.d`, con il nome del file preceduto da `file_` (per le origini di file locali) o `ssm_` (per le sorgenti di archiviazione dei parametri di Systems Manager) per indicare l'origine della configurazione.

**Nota**  
Le metriche, i log e le tracce raccolti dall' CloudWatch agente comportano costi. Per ulteriori informazioni sui prezzi, consulta la pagina [ CloudWatchdei prezzi di Amazon](https://aws.amazon.com/cloudwatch/pricing).

## CloudWatch file di configurazione dell'agente: sezione Agente
<a name="CloudWatch-Agent-Configuration-File-Agentsection"></a>

La sezione `agent` può includere i seguenti campi. La procedura guidata non crea una sezione `agent`. Al contrario, la procedura guidata la omette e utilizza i valori predefiniti per tutti i campi della sezione.
+ `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta di tutti i parametri specificati in questo file di configurazione. Puoi ignorare questo valore per determinati tipi di parametri.

  Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

  Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 

  Il valore predefinito è 60. 
+ `region`: specifica la regione da utilizzare per l' CloudWatch endpoint quando viene monitorata un'istanza Amazon EC2. I parametri raccolti vengono inviati a questa regione, ad esempio `us-west-1`. Se ometti questo campo, l'agente invia i parametri alla regione in cui si trova l'istanza Amazon EC2.

  Se monitori un server locale, questo campo non viene utilizzato e l'agente legge la regione dal profilo `AmazonCloudWatchAgent` del file di configurazione AWS .
+ `credentials`— Speciifica un ruolo IAM da utilizzare per l'invio di metriche, log e tracce a un altro account. AWS Se specificato, questo campo contiene un parametro, `role_arn`.
  + `role_arn`: specifica l'Amazon Resource Name (ARN) di un ruolo IAM da utilizzare per l'autenticazione quando si inviano metriche, log e tracce a un altro account. AWS Per ulteriori informazioni, consulta [Invio di parametri, log e tracce a un altro account](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account).
+ `debug` Facoltativo. Speciifica l'esecuzione dell' CloudWatch agente con messaggi di log di debug. Il valore predefinito è `false`. 
+ `aws_sdk_log_level` Facoltativo. Supportato solo nelle versioni 1.247350.0 e successive dell'agente. CloudWatch 

  È possibile specificare questo campo per consentire all'agente di eseguire la registrazione per gli endpoint SDK. AWS Il valore di questo campo può includere una o più opzioni tra le seguenti. Separare più opzioni con il carattere `|`.
  + `LogDebug`
  + `LogDebugWithSigning`
  + `LogDebugWithHTTPBody`
  + `LogDebugRequestRetries`
  + `LogDebugWithEventStreamBody`

  Per ulteriori informazioni su queste opzioni, consulta [LogLevelType](https://docs.aws.amazon.com/sdk-for-go/api/aws/#LogLevelType).
+ `logfile`— Speciifica la posizione in cui l' CloudWatch agente scrive i messaggi di registro. Se specifichi una stringa vuota, il log passa a stderr. Se non specifichi questa opzione, le ubicazioni predefinite sono le seguenti:
  + Linux: `/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log`
  + Windows Server: `c:\\ProgramData\\Amazon\\CloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log` 

  L' CloudWatch agente ruota automaticamente il file di registro che crea. Un file di log viene ruotato in uscita fino a quando raggiunge la dimensione di 100 MB. L'agente mantiene i file di log ruotati fino a sette giorni e mantiene cinque file di log di backup che sono stati ruotati in uscita. Al nome dei file di backup dei log viene aggiunto un timestamp, che mostra la data e l'ora in cui il file è stato rimosso: ad esempio, `amazon-cloudwatch-agent-2018-06-08T21-01-50.247.log.gz`.
+ `omit_hostname` Facoltativo. Per impostazione predefinita, il nome host viene pubblicato come una dimensione di parametri che sono raccolti dall'agente, a meno che non venga usato il campo `append_dimensions` nella sezione `metrics`. Imposta da `omit_hostname ` a `true` per impedire che il nome host venga pubblicato come una dimensione anche se non si utilizza `append_dimensions`. Il valore predefinito è `false`. 
+ `run_as_user` Facoltativo. Specifica un utente da usare per eseguire l'agente CloudWatch . Se non si specifica questo parametro, viene utilizzato l'utente root. Questa opzione è valida solo su server Linux.

  Se si specifica questa opzione, l'utente deve esistere prima di avviare l' CloudWatch agente. Per ulteriori informazioni, consulta [Esecuzione dell' CloudWatch agente come utente diverso](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-run-as-user).
+ `user_agent` Facoltativo. Speciifica la `user-agent` stringa utilizzata dall' CloudWatch agente quando effettua chiamate API al CloudWatch backend. Il valore predefinito è una stringa costituita dalla versione dell'agente, dalla versione del linguaggio di programmazione Go utilizzata per compilare l'agente, dal sistema operativo di default runtime e dall'architettura, dal tempo di compilazione e dai plug-in abilitati.
+ `usage_data` : Opzionale. Per impostazione predefinita, l' CloudWatch agente invia dati sullo stato e sulle prestazioni su se stesso a CloudWatch ogni volta che pubblica metriche o esegue i log. CloudWatch Questi dati non comportano alcun costo. È possibile impedire all'agente di inviare questi dati specificando `false` per `usage_data`. Se si omette questo parametro, viene utilizzata l'impostazione predefinita di `true` e l'agente invia i dati dell'integrità e delle prestazioni.

  Se si imposta questo valore su `false`, affinché la modifica abbia effetto sarà necessario arrestare e riavviare l'agente.
+ `service.name` : Opzionale. Specifica il nome del servizio da utilizzare per popolare l'entità per la [ricerca della telemetria correlata](ExploreRelated.md).
+ `deployment.environment` : Opzionale. Specifica il nome dell'ambiente da utilizzare per popolare l'entità per la [ricerca della telemetria correlata](ExploreRelated.md).
+ `use_dualstack_endpoint` : Opzionale. In tal caso`true`, l' CloudWatch agente utilizzerà [endpoint dual stack](https://docs.aws.amazon.com/general/latest/gr/rande.html#dual-stack-endpoints) per tutte le chiamate API.

Di seguito è riportato un esempio di una sezione `agent`.

```
"agent": {
   "metrics_collection_interval": 60,
   "region": "us-west-1",
   "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
   "debug": false,
   "run_as_user": "cwagent"
  }
```

## CloudWatch file di configurazione dell'agente: sezione Metrics
<a name="CloudWatch-Agent-Configuration-File-Metricssection"></a>

### Campi comuni a Linux e Windows
<a name="CloudWatch-Agent-Common"></a>

Nei server in cui è in esecuzione Linux o Windows Server, la sezione `metrics` include i seguenti campi:
+ `namespace` Facoltativo. Lo spazio dei nomi da utilizzare per i parametri raccolti dall'agente. Il valore predefinito è `CWAgent`. La lunghezza massima è 255 caratteri. Di seguito è riportato un esempio:

  ```
  {
    "metrics": {
      "namespace": "Development/Product1Metrics",
     ......
     },
  }
  ```
+ `append_dimensions` Facoltativo. Aggiunge le dimensioni dei parametri Amazon EC2 a tutti i parametri raccolti dall'agente. In questo modo l'agente non pubblica il nome host come dimensione.

  Le uniche coppie chiave-valore supportate per `append_dimensions` sono mostrate nell'elenco seguente. Qualsiasi altra coppia chiave-valore viene ignorata. L'agente supporta queste coppie chiave-valore esattamente come sono mostrate nell'elenco seguente. Non è possibile modificare i valori della chiave per pubblicare nomi di dimensione diversi.
  + `"ImageId":"${aws:ImageId}"` imposta l'ID AMI dell'istanza come valore della dimensione `ImageId`.
  + `"InstanceId":"${aws:InstanceId}"` imposta l'ID istanza dell'istanza come valore della dimensione `InstanceId`.
  + `"InstanceType":"${aws:InstanceType}"` imposta il tipo di istanza dell'istanza come valore della dimensione `InstanceType`.
  + `"AutoScalingGroupName":"${aws:AutoScalingGroupName}"` imposta il nome del gruppo Auto Scaling dell'istanza come valore della dimensione `AutoScalingGroupName`.

  Se si desidera aggiungere dimensioni ai parametri con coppie chiave-valore arbitrarie, utilizza il parametro `append_dimensions` nel campo per quel particolare tipo di parametro.

  Se specifichi un valore che dipende da metadati Amazon EC2 e utilizzi proxy, devi assicurarti che il server possa accedere all'endpoint per Amazon EC2. Per ulteriori informazioni su questi endpoint, consulta [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region) nella *Riferimenti generali di Amazon Web Services*.
+ `aggregation_dimensions` Facoltativo. Specifica le dimensioni su cui devono essere aggregati i parametri raccolti. Ad esempio, se esegui il rollup dei parametri nella dimensione `AutoScalingGroupName`, vengono aggregati i parametri da tutte le istanze in ogni gruppo Auto Scaling, che possono essere visualizzati complessivamente.

  Puoi eseguire il rollup dei parametri lungo una o più dimensioni. Ad esempio, specificando `[["InstanceId"], ["InstanceType"], ["InstanceId","InstanceType"]]` aggrega i parametri per ID istanza singolarmente, tipo di istanza singolarmente e per la combinazione delle due dimensioni.

  Puoi inoltre specificare `[]` per eseguire il rollup di tutti i parametri in un'unica raccolta, ignorando tutte le dimensioni.
+ `endpoint_override`: specifica un endpoint FIPS o un collegamento privato da utilizzare come endpoint in cui l'agente invia i parametri. La specifica relativa e l'impostazione di un collegamento privato consente di inviare i parametri a un endpoint Amazon VPC. Per ulteriori informazioni, consulta [Cos'è Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). 

  Il valore di `endpoint_override` deve essere una stringa che è un URL.

  Ad esempio, la parte seguente della sezione dei parametri del file di configurazione imposta l'agente per utilizzare un endpoint VPC durante l'invio dei parametri. 

  ```
  {
    "metrics": {
      "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.monitoring.us-east-1.vpce.amazonaws.com",
     ......
     },
  }
  ```
+ `metrics_collected`: obbligatorio. Specifica i parametri da raccogliere, inclusi quelli personalizzati raccolti tramite `StatsD` o `collectd`. Questa sezione include varie sottosezioni. 

  Il contenuto della sezione `metrics_collected` varia se il file di configurazione è per un server che esegue Linux o Windows Server.
+ `metrics_destinations` : Opzionale. Specifica una o più destinazioni per tutte le metriche definite in `metrics_collected`. Se viene specificato qui, sostituisce la destinazione predefinita di `cloudwatch`. 
  + `cloudwatch`— Amazon CloudWatch.
  + `amp`: Servizio gestito da Amazon per Prometheus
    + `workspace_id`: l'ID corrispondente al workspace di Servizio gestito da Amazon per Prometheus.

  ```
  {
    "metrics": {
      "metrics_destinations": {
        "cloudwatch": {},
        "amp": {
          "workspace_id": "ws-abcd1234-ef56-7890-ab12-example"
        }
      }
    }
  }
  ```
+ `force_flush_interval`: specifica in secondi la quantità massima di tempo in cui i parametri rimangono nel buffer di memoria prima di essere inviati al server. Indipendentemente dall'impostazione, se la dimensione dei parametri nel buffer raggiunge 1 MB o 1.000 parametri differenti, i parametri vengono immediatamente inviati al server.

  Il valore predefinito è 60.
+ `credentials`: specifica un ruolo IAM da utilizzare durante l'invio di parametri a un account diverso. Se specificato, questo campo contiene un parametro, `role_arn`.
  + `role_arn`: specifica l'ARN di un ruolo IAM da utilizzare per l'autenticazione durante l'invio di parametri a un account diverso. Per ulteriori informazioni, consulta la pagina [Invio di parametri, log e tracce a un altro account](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account). Se specificato qui, questo valore sostituisce il `role_arn` specificato nella sezione `agent` del file di configurazione, se presente.
  + `service.name` : Opzionale. Specifica il nome del servizio da utilizzare per popolare l'entità per la [ricerca della telemetria correlata](ExploreRelated.md).
  + `deployment.environment` : Opzionale. Specifica il nome dell'ambiente da utilizzare per popolare l'entità per la [ricerca della telemetria correlata](ExploreRelated.md).

### Sezione Linux
<a name="CloudWatch-Agent-Linux-section"></a>

Nei server con Linux in esecuzione, la sezione `metrics_collected` del file di configurazione può anche includere i seguenti campi.

Molti di questi campi possono includere una sezione `measurement` che elenca i parametri che si desidera raccogliere per quella risorsa. Queste sezioni `measurement` possono specificare il nome di parametro completo, ad esempio `swap_used`, oppure solo la parte del nome parametro che verrà aggiunta al tipo della risorsa. Ad esempio, specificando `reads` nella sezione `measurement` della sezione `diskio` si causa la raccolta del parametro `diskio_reads`.
+ `collectd` Facoltativo. Specifica che desideri recuperare i parametri personalizzati utilizzando il protocollo `collectd`. Utilizzi `collectd` un software per inviare le metriche all' CloudWatch agente. Per ulteriori informazioni sulle opzioni di configurazione disponibili per collectd, consulta [Recupero dei parametri personalizzati con collectd](CloudWatch-Agent-custom-metrics-collectd.md). 
+ `cpu` Facoltativo. Specifica che è necessario raccogliere i parametri della CPU. Questa sezione è valida solo per le istanze Linux. È necessario includere almeno uno dei campi `totalcpu` e `resources` per tutti i parametri CPU da raccogliere. Questa sezione può includere i seguenti campi.
  + `drop_original_metrics` Facoltativo. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.
  + `resources` : Opzionale. Specifica questo campo con il valore `*` per far sì che i parametri per CPU vengano raccolti. L’unico valore consentito è `*`. 
  + `totalcpu` Facoltativo. Specifica se segnalare i parametri di CPU aggregati in tutti i core CPU. Il valore predefinito è true.
  + `measurement`: specifica la matrice di parametri cpu da raccogliere. I valori possibili sono `time_active`, `time_guest`, `time_guest_nice`, `time_idle`, `time_iowait`, `time_irq`, `time_nice`, `time_softirq`, `time_steal`, `time_system`, `time_user`, `usage_active`, `usage_guest`, `usage_guest_nice`, `usage_idle`, `usage_iowait`, `usage_irq`, `usage_nice`, `usage_softirq`, `usage_steal`, `usage_system` e `usage_user`. Il campo è obbligatorio se includi `cpu`.

    Per impostazione predefinita, l'unità di misura dei parametri `cpu_usage_*` è `Percent`, mentre i parametri `cpu_time_*` non hanno un'unità di misura.

    Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di `None` per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
  + `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri di CPU, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

    Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions` Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di CPU. Se specifichi questo campo, verrà utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions` globale, usato per tutti i tipi di parametri raccolti dall'agente.
+ `disk` Facoltativo. Specifica che i parametri del disco devono essere raccolti. Raccoglie le metriche solo per i volumi montati. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.
  + `drop_original_metrics` Facoltativo. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.
  + `resources` Facoltativo. Specifica una matrice di punti di montaggio su disco. Questo campo si limita CloudWatch a raccogliere metriche solo dai punti di montaggio elencati. Puoi specificare `*` come valore per raccogliere parametri da tutti i punti di montaggio. Il valore predefinito raccoglie i parametri da tutti i punti di montaggio. 
  + `measurement`: specifica la matrice di parametri disk da raccogliere. I valori possibili sono `free`, `total`, `used`, `used_percent`, `inodes_free`, `inodes_used` e `inodes_total`. Il campo è obbligatorio se includi `disk`.
**Nota**  
I parametri `disk` hanno una dimensione per `Partition`, il che significa che il numero di parametri personalizzati generati dipende dal numero di partizioni associate all'istanza. Il numero di partizioni disponibili dipende dall'AMI in uso e dal numero di volumi Amazon EBS che colleghi al server.

    Per visualizzare le unità di misura predefinite per ciascun parametro `disk`, consulta [Metriche raccolte dall' CloudWatch agente sulle istanze Linux e macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di `None` di `None` per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come elencato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
  + `ignore_file_system_types`: specifica i tipi di file system da escludere durante la raccolta di parametri disk. Tra i valori validi figurano `sysfs`, `devtmpfs` e così via.
  + `drop_device`: impostando questa opzione su `true`, `Device` non viene incluso come dimensione per i parametri disk.

    Impedire che `Device` venga utilizzato come dimensione può essere utile sulle istanze che utilizzano il sistema Nitro perché su tali istanze i nomi dei dispositivi cambiano per ogni montaggio del disco quando l'istanza viene riavviata. Ciò può causare dati incoerenti nei parametri e che gli allarmi basati su tali parametri vadano in stato `INSUFFICIENT DATA`.

    Il valore predefinito è `false`.
  + `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri del disco, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

    Questo valore è specificato in secondi.

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni, consulta la pagina [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions` Facoltativo. Specifica le coppie chiave-valore da utilizzare come dimensioni aggiuntive solo per le metriche del disco. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions`, usato per tutti i tipi di parametri raccolti dall'agente.

    Una coppia chiave-valore che è possibile utilizzare è la seguente. Puoi anche specificare altre coppie chiave-valore personalizzate.
    + `"VolumeId":"${aws:VolumeId}"` aggiunge una dimensione `VolumeId` alle metriche del disco del dispositivo a blocchi. Per i volumi Amazon EBS, questo sarà l'ID del volume Amazon EBS. Per l'archivio dell'istanza EC2, questo sarà il numero di serie del dispositivo. L'utilizzo di questo richiede che il parametro `drop_device` sia impostato su `false`.
+ `diskio` : Opzionale. Speciifica che le i/o metriche del disco devono essere raccolte. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.
  + `drop_original_metrics` Facoltativo. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.
  + `resources` : Opzionale. Se specifichi una serie di dispositivi, CloudWatch raccoglie le metriche solo da tali dispositivi. In caso contrario, verranno raccolti parametri da tutti i dispositivi. Puoi inoltre specificare \$1 come valore per raccogliere parametri da tutti i dispositivi.
  + `measurement`: specifica l'array di parametri dei driver diskio e AWS NVMe da raccogliere per i volumi Amazon EBS e i volumi di instance store collegati alle istanze Amazon EC2. I valori possibili per diskio sono `reads`, `writes`, `read_bytes`, `write_bytes`, `read_time`, `write_time`, `io_time` e `iops_in_progress`. Per un elenco delle metriche dei driver NVMe per i volumi Amazon EBS e i volumi di archivio dell'istanza Amazon EC2, consulta [Raccogli i parametri dei NVMe driver di Amazon EBS](Container-Insights-metrics-EBS-Collect.md) e [Raccogli i parametri del driver del volume NVMe di Amazon EC2 Instance Store](Container-Insights-metrics-instance-store-Collect.md). Il campo è obbligatorio se includi `diskio`.

    Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di `None` di `None` per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella descrizione in. `Unit` [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)

    Per informazioni sulle unità predefinite e la descrizione delle metriche, consulta [Raccogli i parametri dei NVMe driver di Amazon EBS](Container-Insights-metrics-EBS-Collect.md).
  + `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri diskio, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

    Questo valore è specificato in secondi.

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions` Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri diskio. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions`, usato per tutti i tipi di parametri raccolti dall'agente.
+ `swap` Facoltativo. Specifica che i parametri di memoria di scambio devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.
  + `drop_original_metrics` Facoltativo. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.
  + `measurement`: specifica la matrice di parametri swap da raccogliere. I valori possibili sono `free`, `used` e `used_percent`. Il campo è obbligatorio se includi `swap`.

    Per visualizzare le unità di misura predefinite per ciascun parametro `swap`, consulta [Metriche raccolte dall' CloudWatch agente sulle istanze Linux e macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di `None` di `None` per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
  + `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri di scambio, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

    Questo valore è specificato in secondi. 

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions` Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di scambio. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions` globale, usato per tutti i tipi di parametri raccolti dall'agente. Viene raccolto come parametro ad alta risoluzione. 
+ `mem` Facoltativo. Specifica che i parametri di memoria devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.
  + `drop_original_metrics` Facoltativo. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.
  + `measurement`: specifica la matrice di parametri memory da raccogliere. I valori possibili sono `active`, `available`, `available_percent`, `buffered`, `cached`, `free`, `inactive`, `shared`, `total`, `used` e `used_percent`. Il campo è obbligatorio se includi `mem`.

    Per visualizzare le unità di misura predefinite per ciascun parametro `mem`, consulta [Metriche raccolte dall' CloudWatch agente sulle istanze Linux e macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di `None` per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
  + `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri di memoria, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

    Questo valore è specificato in secondi.

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions` Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di memoria. Se specifichi questo campo, verrà utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions`, usato per tutti i tipi di parametri raccolti dall'agente.
+ `net` Facoltativo. Specifica che i parametri di rete devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.
  + `drop_original_metrics` Facoltativo. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.
  + `resources` : Opzionale. Se specifichi una serie di interfacce di rete, CloudWatch raccoglie le metriche solo da tali interfacce. In caso contrario, verranno raccolti parametri da tutti i dispositivi. Puoi inoltre specificare `*` come valore per raccogliere parametri da tutte le interfacce.
  + `measurement`: specifica la matrice di parametri di rete da raccogliere. I valori possibili sono `bytes_sent`, `bytes_recv`, `drop_in`, `drop_out`, `err_in`, `err_out`, `packets_sent` e `packets_recv`. Il campo è obbligatorio se includi `net`.

    Per visualizzare le unità di misura predefinite per ciascun parametro `net`, consulta [Metriche raccolte dall' CloudWatch agente sulle istanze Linux e macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di `None` per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come elencato nella descrizione in. `Unit` [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
  + `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri di rete, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

    Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions` Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di rete. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions`, usato per tutti i tipi di parametri raccolti dall'agente.
+ `netstat` Facoltativo. Specifica che i parametri della connessione TCP e della connessione UDP devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.
  + `drop_original_metrics` Facoltativo. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.
  + `measurement`: specifica la matrice di parametri netstat da raccogliere. I valori possibili sono `tcp_close`, `tcp_close_wait`, `tcp_closing`, `tcp_established`, `tcp_fin_wait1`, `tcp_fin_wait2`, `tcp_last_ack`, `tcp_listen`, `tcp_none`, `tcp_syn_sent`, `tcp_syn_recv`, `tcp_time_wait` e `udp_socket`. Il campo è obbligatorio se includi `netstat`.

    Per visualizzare le unità di misura predefinite per ciascun parametro `netstat`, consulta [Metriche raccolte dall' CloudWatch agente sulle istanze Linux e macOS](metrics-collected-by-CloudWatch-agent.md#linux-metrics-enabled-by-CloudWatch-agent).

    Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di `None` per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
  + `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri netstat, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

    Questo valore è specificato in secondi.

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni sui parametri ad alta risoluzione, consulta [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics).
  + `append_dimensions` Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di netstat. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions`, usato per tutti i tipi di parametri raccolti dall'agente.
+ `processes` Facoltativo. Specifica che i parametri di processo devono essere raccolti. Questa sezione è valida solo per le istanze Linux. Questa sezione può includere i seguenti campi.
  + `drop_original_metrics` Facoltativo. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.
  + `measurement`: specifica la matrice di parametri processes da raccogliere. I valori possibili sono `blocked`, `dead`, `idle`, `paging`, `running`, `sleeping`, `stopped`, `total`, `total_threads`, `wait` e `zombies`. Il campo è obbligatorio se includi `processes`.

    Per tutti i parametri `processes`, l'unità di misura predefinita è `None`.

    Nelle voci di ciascun parametro individuale, potresti specificare uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di `None` per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
  + `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri di processo, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

    Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

    Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni, consulta la pagina [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 
  + `append_dimensions` Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di processo. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions`, usato per tutti i tipi di parametri raccolti dall'agente.
+ `nvidia_gpu` Facoltativo. Specifica che i parametri della GPU NVIDIA devono essere raccolti. Questa sezione è valida solo per le istanze Linux su host configurati con un acceleratore della GPU NVIDIA e hanno NVIDIA System Management Interface (nvidia-smi) installato.

  I parametri della GPU NVIDIA raccolti hanno come prefisso la stringa `nvidia_smi_` per distinguerli da quelli raccolti per altri tipi di acceleratori. Questa sezione può includere i seguenti campi.
  + `drop_original_metrics` Facoltativo. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.
  + `measurement`: specifica la matrice dei parametri della GPU NVIDIA da raccogliere. Per un elenco dei possibili valori da utilizzare, consulta la colonna **Metric** (Parametri) della tabella in [Raccolta dei parametri della GPU NVIDIA](CloudWatch-Agent-NVIDIA-GPU.md).

    Nelle voci di ciascun parametro individuale, puoi definire uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, la quale sostituisce l'unità di misura predefinita di `None` per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
  + `metrics_collection_interval` : Opzionale. Specifica la frequenza di raccolta dei parametri della GPU NVIDIA, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.
+ `jmx` : Opzionale. Specifica che desideri recuperare le metriche di Java Management Extensions (JMX) dall'istanza. Per ulteriori informazioni sui parametri che è possibile utilizzare in questa sezione e sulle metriche che è possibile raccogliere, consulta [Raccolta delle metriche di Java Management Extensions (JMX)](CloudWatch-Agent-JMX-metrics.md). 
+  `otlp` : Opzionale. Specifica che desideri raccogliere le metriche dall'SDK. OpenTelemetry Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione, consulta [Raccogli metriche e tracce con OpenTelemetry](CloudWatch-Agent-OpenTelemetry-metrics.md). 
+ `procstat` Facoltativo. Specifica che si desidera recuperare i parametri dai singoli processi. Per ulteriori informazioni sulle opzioni di configurazione disponibili per procstat, consulta [Raccolta di parametri dei processi con il plug-in procstat](CloudWatch-Agent-procstat-process-metrics.md). 
+ `statsd` Facoltativo. Specifica che desideri recuperare i parametri personalizzati utilizzando il protocollo `StatsD`. L' CloudWatch agente funge da demone per il protocollo. Utilizzi qualsiasi `StatsD` client standard per inviare le metriche all'agente. CloudWatch Per ulteriori informazioni sulle opzioni di configurazione disponibili per StatsD, consulta [Recupero dei parametri personalizzati con StatsD](CloudWatch-Agent-custom-metrics-statsd.md). 
+ `ethtool` Facoltativo. Specifica che desideri recuperare i parametri di rete utilizzando il plug-in `ethtool`. Questo plug-in può importare sia i parametri raccolti dall'utilità standard ethtool, sia i parametri delle prestazioni di rete dalle istanze Amazon EC2. Per ulteriori informazioni sulle opzioni di configurazione disponibili per ethtool, consulta [Raccolta di parametri sulle prestazioni di rete](CloudWatch-Agent-network-performance.md). 

Di seguito è riportato un esempio di una sezione `metrics` per un server Linux. In questo esempio vengono raccolti tre parametri CPU, tre parametri netstat, tre parametri di processo e un parametro del disco e l'agente è impostato per ricevere ulteriori parametri da un client `collectd`.

```
"metrics": {
    "aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"],[]],
    "metrics_collected": {
      "collectd": {},
      "cpu": {
        "resources": [
          "*"
        ],
        "measurement": [
          {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"},
          {"name": "cpu_usage_nice", "unit": "Percent"},
          "cpu_usage_guest"
        ],
        "totalcpu": false,
        "drop_original_metrics": [ "cpu_usage_guest" ],
        "metrics_collection_interval": 10,
        "append_dimensions": {
          "test": "test1",
          "date": "2017-10-01"
        }
      },
      "netstat": {
        "measurement": [
          "tcp_established",
          "tcp_syn_sent",
          "tcp_close"
        ],
        "metrics_collection_interval": 60
      },
       "disk": {
        "measurement": [
          "used_percent"
        ],
        "resources": [
          "*"
        ],
        "drop_device": true
      },  
      "processes": {
        "measurement": [
          "running",
          "sleeping",
          "dead"
        ]
      }
    },
    "append_dimensions": {
      "ImageId": "${aws:ImageId}",
      "InstanceId": "${aws:InstanceId}",
      "InstanceType": "${aws:InstanceType}",
      "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
    }
  }
```

### Windows Server
<a name="CloudWatch-Agent-Windows-section"></a>

Nella sezione `metrics_collected` per Windows Server, puoi avere sottosezioni per ciascun oggetto prestazione di Windows, ad esempio `Memory`, `Processor` e `LogicalDisk`. Per informazioni sugli oggetti e sui contatori disponibili, consulta [Contatori delle prestazioni](https://learn.microsoft.com/en-us/windows/win32/perfctrs/performance-counters-portal) nella documentazione di Microsoft Windows.

All'interno della sottosezione per ciascun oggetto, è necessario specificare una matrice `measurement` dei contatori da raccogliere. La matrice `measurement` è obbligatoria per ciascun oggetto specificato nel file di configurazione. Puoi inoltre specificare un campo `resources` per denominare le istanze da cui raccogliere i parametri. Puoi inoltre specificare `*` per `resources` per raccogliere parametri separati per ogni istanza. Se ometti `resources` per i contatori che hanno istanze, i dati per tutte le istanze vengono aggregati in un unico set. Se ometti `resources` per i contatori che non hanno istanze, i contatori non vengono raccolti dall'agente. CloudWatch Per determinare se i contatori dispongono della istanza, è possibile utilizzare uno dei seguenti comandi.

Powershell:

```
Get-Counter -ListSet *
```

Riga di comando (non Powershell):

```
TypePerf.exe –q
```

All'interno di ogni sezione di oggetti, puoi inoltre specificare i seguenti campi facoltativi:
+ `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri di questo oggetto, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

  Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

  Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni, consulta la pagina [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 
+ `append_dimensions` Facoltativo. Specifica le dimensioni aggiuntive da utilizzare solo per i parametri di questo oggetto. Se specifichi questo campo, verrà utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions` globale, usato per tutti i tipi di parametri raccolti dall'agente. 
+ `drop_original_metrics` : Opzionale. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

All'interno di ogni sezione di contatori, puoi inoltre specificare i seguenti campi facoltativi:
+ `rename`: specifica un nome diverso da utilizzare per questa metrica CloudWatch .
+ `unit`: specifica l'unità di misura da utilizzare per questo parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)

Esistono altre sezioni facoltative che puoi includere in `metrics_collected`:
+ `statsd`: consente di recuperare i parametri personalizzati utilizzando il protocollo `StatsD`. L' CloudWatch agente funge da demone per il protocollo. Puoi utilizzare qualsiasi client `StatsD` standard per inviare i parametri all'agente di CloudWatch. Per ulteriori informazioni, consulta [Recupero dei parametri personalizzati con StatsD](CloudWatch-Agent-custom-metrics-statsd.md).
+ `procstat`: consente di recuperare i parametri dai singoli processi. Per ulteriori informazioni, consulta [Raccolta di parametri dei processi con il plug-in procstat](CloudWatch-Agent-procstat-process-metrics.md).
+  `jmx` Facoltativo. Specifica che desideri recuperare le metriche di Java Management Extensions (JMX) dall'istanza. Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione e sulle metriche che è possibile raccogliere, consulta [Raccolta delle metriche di Java Management Extensions (JMX)](CloudWatch-Agent-JMX-metrics.md). 
+  `otlp` : Opzionale. Specifica che desideri raccogliere le metriche dall'SDK. OpenTelemetry Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione, consulta [Raccogli metriche e tracce con OpenTelemetry](CloudWatch-Agent-OpenTelemetry-metrics.md). 

Di seguito è riportato un esempio di una sezione `metrics` per l'uso su Windows Server. In questo esempio, vengono raccolti molti parametri di Windows e il computer è impostato per ricevere ulteriori parametri da un client `StatsD`.

```
"metrics": {
    "metrics_collected": {
      "statsd": {},
      "Processor": {
        "measurement": [
          {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"},
          "% Interrupt Time",
          "% User Time",
          "% Processor Time"
        ],
        "resources": [
          "*"
        ],
        "append_dimensions": {
          "d1": "win_foo",
          "d2": "win_bar"
        }
      },
      "LogicalDisk": {
        "measurement": [
          {"name": "% Idle Time", "unit": "Percent"},
          {"name": "% Disk Read Time", "rename": "DISK_READ"},
          "% Disk Write Time"
        ],
        "resources": [
          "*"
        ]
      },
      "Memory": {
        "metrics_collection_interval": 5,
        "measurement": [
          "Available Bytes",
          "Cache Faults/sec",
          "Page Faults/sec",
          "Pages/sec"
        ],
        "append_dimensions": {
          "d3": "win_bo"
        }
      },
      "Network Interface": {
        "metrics_collection_interval": 5,
        "measurement": [
          "Bytes Received/sec",
          "Bytes Sent/sec",
          "Packets Received/sec",
          "Packets Sent/sec"
        ],
        "resources": [
          "*"
        ],
        "append_dimensions": {
          "d3": "win_bo"
        }
      },
      "System": {
        "measurement": [
          "Context Switches/sec",
          "System Calls/sec",
          "Processor Queue Length"
        ],
        "append_dimensions": {
          "d1": "win_foo",
          "d2": "win_bar"
        }
      }
    },
    "append_dimensions": {
      "ImageId": "${aws:ImageId}",
      "InstanceId": "${aws:InstanceId}",
      "InstanceType": "${aws:InstanceType}",
      "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
    },
    "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]]
    }
  }
```

## CloudWatch file di configurazione dell'agente: sezione Logs
<a name="CloudWatch-Agent-Configuration-File-Logssection"></a>

La sezione `logs` include i seguenti campi:
+ `service.name` : Opzionale. Specifica il nome del servizio da utilizzare per popolare l'entità per la [ricerca della telemetria correlata](ExploreRelated.md).
+ `deployment.environment` : Opzionale. Specifica il nome dell'ambiente da utilizzare per popolare l'entità per la [ricerca della telemetria correlata](ExploreRelated.md).
+ `backpressure_mode` : Opzionale. Speciifica il comportamento quando l' CloudWatch agente inserisce i log più velocemente di quanto possa inviarli a CloudWatch Logs, con conseguente contropressione. La contropressione può verificarsi a causa di problemi di rete, limitazione delle API o volume di log elevato.

  L'agente supporta i seguenti valori:
  + `fd_release`— Rilascia i descrittori di file per i file eliminati in condizioni di contropressione. Questa opzione può aiutare a prevenire l'esaurimento dello spazio su disco quando i processi di rotazione o pulizia dei registri esterni rimuovono i file mentre l'agente mantiene i descrittori di file aperti. L'`auto_removal`opzione ha la precedenza sull'`backpressure_mode`opzione impostata su. `fd_release` Quando `auto_removal` è abilitata, l' CloudWatch agente elabora il file fino al completamento senza rilasciare il descrittore di file.
**Importante**  
L'utilizzo `fd_release` può impedire all' CloudWatch agente di leggere i file di registro fino al completamento, con conseguente perdita del registro.
+ `concurrency` : Opzionale. Speciifica il numero di editori di log condivisi utilizzati per pubblicare contemporaneamente i file di registro in Logs. CloudWatch 

  Se si omette questo campo, ogni destinazione di file di registro (gruppo di log, combinazione di flussi) ha un unico editore di log condiviso, il che può causare problemi per file di grandi dimensioni o quando si scrivono più file nella stessa destinazione. L'abilitazione della concorrenza può contribuire alla velocità effettiva.
+ `logs_collected`: obbligatorio se è inclusa la sezione `logs`. Specifica quali file di log e log di eventi Windows devono essere raccolti dal server. Può includere due campi: `files` e `windows_events`.
  + `files`— Speciifica quali file di registro regolari l' CloudWatch agente deve raccogliere. Include il campo `collect_list`, che definisce ulteriormente questi file.
    + `collect_list`: campo obbligatorio se `files` è incluso. Contiene una matrice di voci, ciascuna delle quali specifica un file di log da raccogliere. Ciascuna di queste voci può includere i seguenti campi:
      + `file_path`— specifica il percorso del file di registro da caricare su Logs. CloudWatch Le regole di corrispondenza glob Standard Unix sono accettate, con l'aggiunta di `**` come *super asterisco*. Ad esempio, specificando `/var/log/**.log`, tutti i file `.log` nella struttura di directory `/var/log` verranno raccolti. Per ulteriori esempi, consulta la pagina Web [Glob Library](https://github.com/gobwas/glob).

        Puoi anche utilizzare l'asterisco standard come carattere jolly. Ad esempio, `/var/log/system.log*` corrisponde ai file, ad esempio `system.log_1111`, `system.log_2222` e così via in `/var/log`.

        Solo il file più recente viene inviato ai CloudWatch registri in base all'ora di modifica del file. Ti consigliamo di utilizzare i caratteri jolly per specificare una serie di file dello stesso tipo, ad esempio `access_log.2018-06-01-01` e `access_log.2018-06-01-02`, ma non file di più tipi, ad esempio `access_log_80` e `access_log_443`. Per specificare più tipi di file, aggiungi un'altra voce di flusso di log al file di configurazione dell'agente in modo che ciascun tipo di file di log abbia come destinazione un flusso di log distinto.
      + `auto_removal` : Opzionale. In tal caso`true`, l' CloudWatch agente elimina automaticamente questo file di registro dopo averlo letto ed è stato ruotato. In genere i file di registro vengono eliminati dopo che l'intero contenuto è stato caricato su CloudWatch Logs, ma se l'agente raggiunge l'EOF (fine del file) e rileva anche un altro file di registro più recente che corrisponde allo stesso`file_path`, l'agente elimina il VECCHIO file, quindi è necessario assicurarsi di aver finito di scrivere sul file VECCHIO prima di creare il NUOVO file. La [libreria di tracciamento RUST](https://docs.rs/tracing/latest/tracing/) presenta un'incompatibilità nota perché potrebbe creare un NUOVO file di log e quindi tentare comunque di scrivere sul VECCHIO file di log.

        L'agente rimuove solo i file completi dai log che creano più file, ad esempio i log che creano file separati per ogni data. Se un log scrive continuamente in un singolo file, non viene rimosso.

        Se hai già un metodo di rotazione o rimozione dei file di log, si consiglia di omettere questo campo o impostarlo su `false`.

        Se non compili questo campo, verrà utilizzato il valore predefinito `false`.
      + `log_group_name` : Opzionale. Speciifica cosa usare come nome del gruppo di log in Logs. CloudWatch 

        È consigliabile usare questo campo per specificare un nome del gruppo di log per evitare confusione. Se `log_group_name` non è specificato, viene utilizzato come nome del gruppo di log il valore del `file_path`, fino al punto finale. Ad esempio, se il percorso del file è `/tmp/TestLogFile.log.2017-07-11-14`, il nome del gruppo di log sarà `/tmp/TestLogFile.log`. 

        Se specifichi un nome del gruppo di log, puoi utilizzare `{instance_id}`, `{hostname}`, `{local_hostname}` e `{ip_address}` come variabili all'interno del nome. `{hostname}` recupera il nome host dai metadati EC2, mentre `{local_hostname}` utilizza il nome host dal file di configurazione di rete.

        Se utilizzi queste variabili per creare diversi gruppi di log, devi tenere presente il limite di 1.000.000 gruppi di log per Regione in ogni account.

        I caratteri consentiti includono a-z, A-Z, 0-9, '\$1' (trattino basso), '-' (trattino), '/' (barra) e '.' (punto).
      + `log_group_class` : Opzionale. Specifica quale classe di gruppo di log usare per il nuovo gruppo di log. Per ulteriori informazioni sulle classi dei gruppi di log, consulta [Classi di log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CloudWatch_Logs_Log_Classes.html).

        I valori validi sono `STANDARD` e `INFREQUENT_ACCESS`. Se ometti questo campo, verrà utilizzato il valore predefinito `STANDARD`.
**Importante**  
Dopo la creazione di un gruppo di log, la relativa classe non può essere modificata.
      + `log_stream_name` : Opzionale. Specifica cosa usare come nome del flusso di log in Logs. CloudWatch Nel nome, puoi utilizzare `{instance_id}`, `{hostname}`, `{local_hostname}` e `{ip_address}` come variabili all'interno del nome. `{hostname}` recupera il nome host dai metadati EC2, mentre `{local_hostname}` utilizza il nome host dal file di configurazione di rete.

        Se ometti questo campo, viene utilizzato il valore del parametro `log_stream_name` nella sezione `logs` globale. Se anche questo viene omesso, viene utilizzato il valore predefinito di `{instance_id}`.

        Se non esiste, il flusso di log verrà creato automaticamente.
      + `retention_in_days` : Opzionale. Specifica il numero di giorni in cui mantenere gli eventi di log nel gruppo di log specificato.
        + Se l'agente sta creando questo gruppo di log e si omette questo campo, la conservazione non avrà scadenza.
        + Se questo gruppo di flussi di log esiste già e si specifica questo campo, viene utilizzata la nuova conservazione specificata. Se si omette questo campo per un gruppo di flussi di log già esistente, la conservazione del gruppo non viene modificata.

          La procedura guidata dell' CloudWatch agente utilizza `-1` come valore predefinito per questo campo quando viene utilizzato per creare il file di configurazione dell'agente e non si specifica un valore per la conservazione dei log. Questo valore `-1` impostato dalla procedura guidata specifica che gli eventi nel gruppo di log non scadono. Tuttavia, la modifica manuale di questo valore su `-1` non ha alcun effetto.

        I valori validi sono 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288 e 3653.

        Se configuri l'agente in modo che scriva più flussi di log nello stesso gruppo, la specificazione del parametro `retention_in_days` in un'unica posizione imposterà la conservazione dei log per l'intero gruppo. Se definisci il parametro `retention_in_days` per lo stesso gruppo di log in più posizioni, la conservazione viene impostata se tutti i valori sono uguali. Tuttavia, se sono specificati valori del parametro `retention_in_days` diversi per lo stesso gruppo di log in più posizioni, la conservazione dei log non verrà impostata e l'agente si fermerà, restituendo un errore.
**Nota**  
Per poter impostare le policy di conservazione, il ruolo o l'utente IAM dell'agente deve disporre della `logs:PutRetentionPolicy`. 
**avvertimento**  
Se hai impostato la `retention_in_days` per un gruppo di log già esistente, tutti i log del gruppo pubblicati prima del numero di giorni definito verranno eliminati. Ad esempio, se si imposta il valore su 3, sarebbero eliminati tutti i log antecedenti agli ultimi 3 giorni. 
      + `filters` : Opzionale. Può contenere una matrice di voci, ognuna delle quali definisce un'espressione regolare e un tipo di filtro per definire se pubblicare o eliminare le voci di log corrispondenti al filtro. Se si omette questo campo, tutti i log del file di registro vengono pubblicati in Logs. CloudWatch Se si include questo campo, l'agente elabora ogni messaggio di registro con tutti i filtri specificati e solo gli eventi di registro che superano tutti i filtri vengono pubblicati in Logs. CloudWatch Le voci di registro che non superano tutti i filtri rimarranno comunque nel file di registro dell'host, ma non verranno inviate a CloudWatch Logs.

        Ogni voce nella matrice dei filtri può includere i seguenti campi:
        + `type`: indica il tipo di filtro. I valori validi sono `include` e `exclude`. Con`include`, la voce di registro deve corrispondere all'espressione da pubblicare in CloudWatch Logs. Con`exclude`, ogni voce di registro che corrisponde al filtro non viene inviata a CloudWatch Logs.
        + `expression`— Una stringa di espressioni regolari che segue la [RE2 sintassi](https://github.com/google/re2/wiki/Syntax).
**Nota**  
L' CloudWatch agente non controlla le prestazioni di alcuna espressione regolare fornita né limita il tempo di esecuzione della valutazione delle espressioni regolari. Consigliamo di fare attenzione a non scrivere un'espressione dispendiosa da valutare. Per ulteriori informazioni sui possibili problemi, vedete [Regular expression Denial of Service - S ReDo](https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS)

        Ad esempio, il seguente estratto del file di configurazione dell' CloudWatch agente pubblica i log che sono richieste PUT e POST nei registri, ma CloudWatch escludono i log provenienti da Firefox.

        ```
        "collect_list": [ 
          {
            "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", 
            "log_group_name": "test.log", 
            "log_stream_name": "test.log",
            "filters": [
              {
                "type": "exclude",
                "expression": "Firefox"
              },
              {
                "type": "include",
                "expression": "P(UT|OST)"
              }
            ]
          },
          .....
        ]
        ```
**Nota**  
L'ordine dei filtri nel file di configurazione influisce sulle prestazioni. Nell'esempio precedente, l'agente elimina tutti i log corrispondenti a `Firefox` prima di iniziare a valutare il secondo filtro. Per fare in modo che vengano valutate meno voci di log da più di un filtro, inserisci prima il filtro che prevedi escluda più log nel file di configurazione.
      + `timezone` : Opzionale. Specifica il fuso orario da utilizzare per l'inserimento di timestamp negli eventi di log. I valori validi sono `UTC` e `Local`. Il valore predefinito è `Local`.

        Questo parametro viene ignorato se non specifichi un valore per `timestamp_format`.
      + `timestamp_format` : Opzionale. Specifica il formato del timestamp, utilizzando testo normale e simboli speciali che iniziano con %. Se ometti questo campo, verrà utilizzata l'ora corrente. Se utilizzi questo campo, puoi utilizzare i simboli del seguente elenco nel formato.
**Nota**  
Questo parametro non viene considerato quando `file_path` è impostato su `amazon-cloudwatch-agent.log` 

        Se una singola voce di log contiene due timestamp che corrispondono al formato, viene utilizzato il primo timestamp.

        Questo elenco di simboli è diverso dall'elenco utilizzato dal precedente agente Logs. CloudWatch Per un riepilogo delle differenze, consulta [Differenze nel timestamp tra l' CloudWatch agente e l'agente Logs precedente CloudWatch](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-logs-timestamp-differences).  
`%y`  
Anno senza secolo come numero decimale a cui è aggiunto uno zero Ad esempio, `19` per rappresentare 2019.  
`%Y`  
Anno con secolo come numero decimale Ad esempio, `2019`.  
`%b`  
Mese come il nome abbreviato nella lingua locale  
`%B`  
Mese come il nome completo nella lingua locale  
`%m`  
Mese come numero decimale a cui è aggiunto uno zero  
`%-m`  
Mese come numero decimale (senza l'aggiunta di uno zero)  
`%d`  
Giorno del mese come numero decimale a cui è aggiunto uno zero  
`%-d`  
Giorno del mese come numero decimale (senza l'aggiunta di uno zero)  
`%A`  
Nome completo di giorno feriale, ad esempio `Monday`  
`%a`  
Abbreviazione di giorno feriale, ad esempio `Mon`  
`%H`  
Ora (formato di 24 ore) come numero decimale a cui è aggiunto uno zero  
`%I`  
Ora (formato di 12 ore) come numero decimale a cui è aggiunto uno zero  
`%-I`  
Ora (formato di 12 ore) come numero decimale (senza l'aggiunta di uno zero)  
`%p`  
AM o PM  
`%M`  
Minuti come numero decimale a cui è aggiunto uno zero  
`%-M`  
Minuti come numero decimale (senza l'aggiunta di uno zero)  
`%S`  
Secondi come numero decimale a cui è aggiunto uno zero  
`%-S`  
Secondi come numero decimale (senza l'aggiunta di uno zero)  
`%f`  
Secondi frazionati come numero decimale (1-9 cifre), con l'aggiunta di zero a sinistra.  
`%Z`  
Fuso orario, ad esempio `PST`  
`%z`  
Fuso orario, espresso come la differenza tra il fuso orario locale e UTC. Ad esempio, `-0700`. È supportato solo questo formato. Ad esempio, `-07:00` non è un formato valido.  

      + `multi_line_start_pattern`: specifica il modello per identificare l'inizio di un messaggio di log. Un messaggio di log è composto da una riga corrispondente al modello e da tutte le righe successive non corrispondenti al modello.

        Se questo campo viene omesso, la modalità a più righe viene disabilitata e le righe che iniziano con caratteri diversi da spazi vuoti chiudono il messaggio di log precedente e iniziano un nuovo messaggio di log.

        Se includi questo campo, puoi specificare `{timestamp_format}` per utilizzare la stessa espressione regolare come formato del timestamp. Altrimenti, è possibile specificare un'espressione regolare diversa per CloudWatch Logs da utilizzare per determinare le righe iniziali delle voci su più righe.
      + `encoding`: specifica la codifica del file di log in modo che il file possa essere letto correttamente. Se specifichi una codifica non corretta, potrebbe verificarsi una perdita di dati, in quanto i caratteri che non possono essere decodificati saranno sostituiti da altri caratteri.

        Il valore predefinito è `utf-8`. Di seguito sono riportati i valori possibili:

         `ascii, big5, euc-jp, euc-kr, gbk, gb18030, ibm866, iso2022-jp, iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-8-i, iso8859-10, iso8859-13, iso8859-14, iso8859-15, iso8859-16, koi8-r, koi8-u, macintosh, shift_jis, utf-8, utf-16, utf-16le, UTF-16, UTF-16LE, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, x-mac-cyrillic` 
      + `service.name` : Opzionale. Specifica il nome del servizio da utilizzare per popolare l'entità per la [ricerca della telemetria correlata](ExploreRelated.md).
      + `deployment.environment` : Opzionale. Specifica il nome dell'ambiente da utilizzare per popolare l'entità per la [ricerca della telemetria correlata](ExploreRelated.md).
      + `trim_timestamp` : Opzionale. Se questo è vero, l' CloudWatch agente rimuoverà il timestamp corrispondente `timestamp_format` dalla riga prima di inviarlo a Logs. CloudWatch Il testamento LogEvent conterrà ancora il campo. `timestamp`

        Se non compili questo campo, verrà utilizzato il valore predefinito `false`.
  + La sezione `windows_events` specifica il tipo di eventi Windows da raccogliere dai server con Windows Server in esecuzione. Include i seguenti campi:
    + `collect_list`: campo obbligatorio se `windows_events` è incluso. Specifica i tipi e i livelli di eventi Windows da raccogliere. Ciascun log da raccogliere presenta una voce in questa sezione, che può includere i seguenti campi:
      + `event_name`: specifica il tipo di eventi Windows da registrare. Equivale al nome del canale del log degli eventi di Windows, ad esempio `System`, `Security`, `Application` e così via. Questo campo è obbligatorio per ogni tipo di evento Windows da registrare.
**Nota**  
Quando CloudWatch recupera i messaggi da un canale di registro di Windows, cerca il canale di registro in base alla sua `Full Name` proprietà. Nel frattempo, nel riquadro di spostamento del Visualizzatore eventi di Windows vengono visualizzate le proprietà `Log Name` dei canali di log. `Full Name` e `Log Name` non sempre corrispondono. Per verificare il `Full Name` di un canale, fare clic con il pulsante destro del mouse nel Visualizzatore eventi di Windows e aprire **Properties** (Proprietà).
      + `event_levels` : Opzionale. Specifica i livelli di evento da registrare. È necessario specificare ciascun livello da registrare. I valori possibili sono `INFORMATION`, `WARNING`, `ERROR`, `CRITICAL` e `VERBOSE`. Questo campo è facoltativo per ogni tipo di evento Windows da registrare e può essere utilizzato con altre opzioni di filtro come `event_ids` e `filters`.
      + `event_ids` : Opzionale. Contiene una serie di eventi di Windows IDs per specificare quali eventi raccogliere dal registro eventi di Windows. Quando questo campo è escluso, vengono raccolti tutti gli eventi del log eventi specificato. Quando questo campo è incluso, l'agente raccoglie solo gli eventi che corrispondono all'evento IDs specificato.

        Ogni voce dell'array `event_ids` deve essere un valore numerico di ID evento e può essere utilizzata con altre opzioni di filtro. Vedi la terza voce nell'esempio di configurazione riportato di seguito.
**Nota**  
L'utilizzo di `event_ids` per il filtraggio è consigliato rispetto alle espressioni regex quando è necessario filtrare in base all'ID evento, in quanto offre prestazioni migliori.
      + `filters` : Opzionale. Contiene un array di voci. Ogni voce specifica un'espressione regolare e un tipo di filtro per definire se pubblicare o eliminare le voci di log corrispondenti al filtro. Quando il campo è incluso, l'agente elabora ogni messaggio di registro con tutti i filtri specificati e solo gli eventi di registro che superano tutti i filtri vengono pubblicati nei CloudWatch registri. I registri degli eventi di Windows che non superano tutti i filtri verranno eliminati e non inviati a CloudWatch Logs. La sezione dei filtri può essere utilizzata anche con altri meccanismi di filtraggio come gli ID degli eventi [4624, 4625] e i livelli di sistema (Information, Error o Critical) per filtrare efficacemente i log e inviarli a. CloudWatch

        Ogni voce nella matrice dei filtri può includere i seguenti campi:
        + `type`: specifica il tipo di filtro. I valori validi sono `include` e `exclude`. Con include, la voce degli eventi di Windows deve corrispondere all'espressione da pubblicare su Logs. CloudWatch Con exclude, ogni voce del registro eventi di Windows che corrisponde al filtro non viene inviata a CloudWatch Logs.
        + `expression`— Una stringa di espressioni regolari che segue la RE2 sintassi.
**Nota**  
L' CloudWatch agente non convalida le espressioni regolari fornite dall'utente. Inoltre, non limita il loro tempo di valutazione. Scrivi le espressioni con attenzione per evitare problemi di prestazioni. Per ulteriori informazioni sui rischi di sicurezza, vedere [Regular expression Denial of Service](https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS) - S. ReDo

        Nell'esempio di configurazione dell'agente riportato di seguito:

        Come prima immissione, l'agente invia i log che contengono i messaggi di errore del database, tutte le attività relative all'autenticazione e tutti gli eventi di accesso (tentativi riusciti e falliti) a. CloudWatch Tutti i log che non corrispondono a questo schema vengono scartati.

        Nella seconda voce, il filtraggio iniziale viene eseguito in base agli ID degli eventi per l'abbonamento agli eventi Windows. L'agente raccoglie tutti i log che contengono la stringa utente, eliminando i log che non corrispondono a questi schemi. L'agente quindi elimina i log contenenti `successful` prima di inviare i log rimanenti a Logs. CloudWatch Ogni tipo di filtro viene applicato a ogni registro eventi di Windows prima dell'invio a. CloudWatch

        ```
        "collect_list": [ 
          {
                "event_name": "Application",
                "log_group_name": "ApplicationEvents",
                "log_stream_name": "ApplicationEvents", 
                "filters": [
                    {
                        "type": "include",
                        "expression": "Database.*failed|Authentication.*|login.*"
                    }
                ]
            },
            {
                "event_name": "System", 
                "log_group_name": "SystemEvents",
                "log_stream_name": "Logon-events",
                "event_ids": [
                    4624,
                    4625
                 ],
                "filters": [
                    {
                        "type": "include",
                        "expression": ".*user.*"
                    },
                    {
                        "type": "exclude",
                        "expression": ".*successful.*"
                    }
                 ]
             }
          .....
        ]
        ```
**Nota**  
L'ordine dei filtri nella configurazione influisce sulle prestazioni. Nella seconda voce, l'agente scarta tutti i log corrispondenti all'utente prima di iniziare a valutare la seconda espressione di filtro. Per prestazioni ottimali, ordina i filtri dal tasso di esclusione più alto a quello più basso.

        Sebbene sia possibile filtrare i log relativi agli ID degli eventi e ai livelli di sistema nell'espressione del filtro, per migliorare le prestazioni si consiglia di utilizzare `event_ids` e `log_level` come mostrato nella seconda voce.
**avvertimento**  
Anche se tutti i meccanismi di filtraggio (event\$1levels, event\$1ids, filters) sono facoltativi, durante la configurazione dell'agente è necessario specificarne almeno uno per filtrare i log.
      + `log_group_name`: obbligatorio Specifica cosa usare come nome del gruppo di log in CloudWatch Logs. 
      + `log_stream_name` : Opzionale. Specifica cosa usare come nome del flusso di log in Logs. CloudWatch Nel nome, puoi utilizzare `{instance_id}`, `{hostname}`, `{local_hostname}` e `{ip_address}` come variabili all'interno del nome. `{hostname}` recupera il nome host dai metadati EC2, mentre `{local_hostname}` utilizza il nome host dal file di configurazione di rete.

        Se ometti questo campo, viene utilizzato il valore del parametro `log_stream_name` nella sezione `logs` globale. Se anche questo viene omesso, viene utilizzato il valore predefinito di `{instance_id}`.

        Se non esiste, il flusso di log verrà creato automaticamente.
      + `event_format` : Opzionale. Speciifica il formato da utilizzare per la memorizzazione degli eventi di Windows nei registri. CloudWatch `xml`utilizza il formato XML come in Windows Event Viewer. `text`utilizza il formato legacy dell'agente CloudWatch Logs.
      + `retention_in_days` : Opzionale. Specifica il numero di giorni in cui mantenere gli eventi di Windows nel gruppo di log specificato.
        + Se l'agente sta creando questo gruppo di log e si omette questo campo, la conservazione non avrà scadenza.
        + Se questo gruppo di flussi di log esiste già e si specifica questo campo, viene utilizzata la nuova conservazione specificata. Se si omette questo campo per un gruppo di flussi di log già esistente, la conservazione del gruppo non viene modificata.

          La procedura guidata dell' CloudWatch agente utilizza `-1` come valore predefinito per questo campo quando viene utilizzato per creare il file di configurazione dell'agente e non si specifica un valore per la conservazione dei log. Questo valore `-1` specificato dalla procedura guidata specifica che gli eventi nel gruppo di log non scadono. Tuttavia, la modifica manuale di questo valore su `-1` non ha alcun effetto.

        I valori validi sono 1, 3, 5, 7, 14, 30, 60, 90, 120, 150, 180, 365, 400, 545, 731, 1827, 2192, 2557, 2922, 3288 e 3653.

        Se configuri l'agente in modo che scriva più flussi di log nello stesso gruppo, la specificazione del parametro `retention_in_days` in un'unica posizione imposterà la conservazione dei log per l'intero gruppo. Se definisci il parametro `retention_in_days` per lo stesso gruppo di log in più posizioni, la conservazione viene impostata se tutti i valori sono uguali. Tuttavia, se sono specificati valori del parametro `retention_in_days` diversi per lo stesso gruppo di log in più posizioni, la conservazione dei log non verrà impostata e l'agente si fermerà, restituendo un errore.
**Nota**  
Per poter impostare le policy di conservazione, il ruolo o l'utente IAM dell'agente deve disporre della `logs:PutRetentionPolicy`. 
**avvertimento**  
Se hai impostato la `retention_in_days` per un gruppo di log già esistente, tutti i log del gruppo pubblicati prima del numero di giorni definito verranno eliminati. Ad esempio, se si imposta il valore su 3, sarebbero eliminati tutti i log antecedenti agli ultimi 3 giorni. 
+ `log_stream_name` : Opzionale. Specifica il nome del flusso di log predefinito da utilizzare per tutti i log o gli eventi Windows che non dispongono di nomi del flusso di log individuali definiti nel parametro `log_stream_name` all'interno della voce in `collect_list`.
+ `endpoint_override`: specifica un endpoint FIPS o un collegamento privato da utilizzare come endpoint in cui l'agente invia i log. Specificando questo campo e impostando un collegamento privato potrai inviare i log a un endpoint Amazon VPC. Per ulteriori informazioni, consulta [Cos'è Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html). 

  Il valore di `endpoint_override` deve essere una stringa che è un URL.

  Ad esempio, la parte seguente della sezione dei log del file di configurazione imposta l'agente per utilizzare un endpoint VPC durante l'invio dei log. 

  ```
  {
    "logs": {
      "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.logs.us-east-1.vpce.amazonaws.com",
     ......
     },
  }
  ```
+ `force_flush_interval`: specifica in secondi la quantità massima di tempo in cui i log rimangono nel buffer di memoria prima di essere inviati al server. Indipendentemente dall'impostazione di questo campo, se la dimensione dei log nel buffer raggiunge 1 MB, i log vengono immediatamente inviati al server. Il valore predefinito è 5.

  Se utilizzi l'agente per segnalare parametri ad alta risoluzione in formato dei parametri incorporati e stai impostando allarmi su tali parametri, mantieni questo parametro impostato sul valore predefinito di 5. In caso contrario, i parametri vengono segnalati con un ritardo che può causare allarmi su dati parziali o incompleti.
+ `credentials`— Speciifica un ruolo IAM da utilizzare per l'invio dei log a un account diverso. AWS Se specificato, questo campo contiene un parametro, `role_arn`.
  + `role_arn`— specifica l'ARN di un ruolo IAM da utilizzare per l'autenticazione quando si inviano i log a un account diverso. AWS Per ulteriori informazioni, consulta [Invio di parametri, log e tracce a un altro account](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account). Se specificato qui, sostituisce il `role_arn` specificato nella sezione `agent` del file di configurazione, se presente.
+ `metrics_collected`— Questo campo può contenere sezioni per specificare che l'agente deve raccogliere i log per abilitare casi d'uso come CloudWatch Application Signals e Container Insights con osservabilità migliorata per Amazon EKS.
  + `application_signals`(Facoltativo) Indica che desideri abilitare [CloudWatchApplication Signals](CloudWatch-Application-Monitoring-Sections.md). Per ulteriori informazioni su questa configurazione, consulta. [Abilita CloudWatch Application Signals](CloudWatch-Agent-Application_Signals.md)
  + `kubernetes`: questo campo può contenere un parametro `enhanced_container_insights`, che può essere utilizzato per abilitare Approfondimenti sui container con osservabilità migliorata per Amazon EKS.
    + `enhanced_container_insights`: imposta questo valore su `true` per abilitare Approfondimenti sui container con osservabilità migliorata per Amazon EKS. Per ulteriori informazioni, consulta [Container Insights con osservabilità migliorata per Amazon EKS](container-insights-detailed-metrics.md).
    + `accelerated_compute_metrics`: imposta questa opzione su `false` per disattivare la raccolta delle metriche di GPU Nvidia sui cluster Amazon EKS. Per ulteriori informazioni, consulta [Metriche della GPU NVIDIA](Container-Insights-metrics-enhanced-EKS.md#Container-Insights-metrics-EKS-GPU).
  + `emf`: per raccogliere i parametri integrati nei log, non è più necessario aggiungere questo campo `emf`. Questo è un campo legacy che specifica che l'agente deve raccogliere i log con formato del parametro integrato. È possibile generare dati di parametro da questi log. Per ulteriori informazioni, consulta [Incorporamento dei parametri nei log](CloudWatch_Embedded_Metric_Format.md).
  + `otlp` Facoltativo. Speciifica che desideri raccogliere metriche dall'SDK. OpenTelemetry Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione, consulta [Raccogli metriche e tracce con OpenTelemetry](CloudWatch-Agent-OpenTelemetry-metrics.md).

Di seguito è riportato un esempio di una sezione `logs`.

```
"logs":{
    "logs_collected": {
    "files": {
            "collect_list": [
                   {
                        "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log",
                       "log_group_name": "amazon-cloudwatch-agent.log",
                       "log_stream_name": "my_log_stream_name_1"
                   },
                   {
                       "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log",
                       "log_group_name": "test.log",
                       "log_stream_name": "my_log_stream_name_2"
                   }
               ]
           },
      "windows_events": {
                "collect_list": [
                                {
                       "event_name": "System",
                       "event_ids": [
                           1001,
                           1008
                       ],
                       "log_group_name": "System",
                       "log_stream_name": "System"
                   },
                   {
                       "event_name": "CustomizedName",
                       "event_levels": [
                           "INFORMATION",
                           "ERROR"
                       ],
                       "log_group_name": "CustomizedLogGroup",
                       "log_stream_name": "CustomizedLogStream"
                   },
                   {
                       "event_name": "Application",
                       "event_levels": [
                           "INFORMATION",
                           "ERROR"
                       ],
                       "event_ids":[
                            7369,
                            5624
                       ],
                       "log_group_name": "CustomizedLogGroup",
                       "log_stream_name": "CustomizedLogStream"
                   }
               ]
           }
       },
       "log_stream_name": "my_log_stream_name",
       "metrics_collected": {
        "kubernetes": {
        "enhanced_container_insights": true
      }
    }
  }
```

## CloudWatch file di configurazione dell'agente: sezione Traces
<a name="CloudWatch-Agent-Configuration-File-Tracessection"></a>

Aggiungendo una `traces` sezione al file di configurazione dell' CloudWatch agente, è possibile abilitare CloudWatch Application Signals o raccogliere tracce da X-Ray e dall'SDK di OpenTelemetry strumentazione e inviarle a X-Ray.

**Importante**  
Il ruolo IAM dell'agente o l'utente IAM deve disporre della **AWSXrayWriteOnlyAccess**policy per inviare i dati di traccia a X-Ray. 

Per iniziare rapidamente a raccogliere le tracce, puoi aggiungere solo quanto segue al file di configurazione dell' CloudWatchagente.

```
"traces_collected": {
        "xray": {
        },
        "otlp": {
        }
      }
```

Se si aggiunge la sezione precedente al file di configurazione dell' CloudWatch agente e si riavvia l'agente, l'agente inizia a raccogliere le tracce utilizzando le seguenti opzioni e valori predefiniti. Per ulteriori informazioni su questi parametri, consulta le definizioni dei parametri più avanti in questa sezione.

```
"traces_collected": {
        "xray": {
            "bind_address": "127.0.0.1:2000",
            "tcp_proxy": {
              "bind_address": "127.0.0.1:2000"
            }
        },
        "otlp": {
            "grpc_endpoint": "127.0.0.1:4317",
            "http_endpoint": "127.0.0.1:4318"
        }
      }
```

La sezione `traces` può includere i seguenti campi:
+ `traces_collected`: obbligatorio se è inclusa la sezione `traces`. Speciifica SDKs da quale raccogliere le tracce. Include i seguenti campi:
  + `application_signals` : Opzionale. Specifica che si desidera abilitare [CloudWatchApplication Signals](CloudWatch-Application-Monitoring-Sections.md). Per ulteriori informazioni su questa configurazione, vedere. [Abilita CloudWatch Application Signals](CloudWatch-Agent-Application_Signals.md)
  + `xray` : Opzionale. Specifica che desideri raccogliere le tracce dall'SDK X-Ray. Questa sezione può includere i seguenti campi.
    + `bind_address` Facoltativo. Speciifica l'indirizzo UDP dell' CloudWatch agente da utilizzare per ascoltare le tracce X-Ray. Il formato è `ip:port`. Questo indirizzo deve corrispondere all'indirizzo impostato nell'SDK X-Ray.

      Se ometti questo campo, verrà utilizzato il valore predefinito `127.0.0.1:2000`.
    + `tcp_proxy` : Opzionale. Configura l'indirizzo di un proxy utilizzato per supportare il campionamento remoto di X-Ray. Per ulteriori informazioni, consulta [Configurazione delle regole di campionamento](https://docs.aws.amazon.com/xray/latest/devguide/xray-console-sampling.html) nella console di X-Ray.

      Questa sezione può contenere i seguenti campi.
      + `bind_address` : Opzionale. Speciifica l'indirizzo TCP su cui l' CloudWatch agente deve configurare il proxy. Il formato è `ip:port`. Questo indirizzo deve corrispondere all'indirizzo impostato nell'SDK X-Ray.

        Se ometti questo campo, verrà utilizzato il valore predefinito `127.0.0.1:2000`.
  + `otlp` : Opzionale. Specifica che si desidera raccogliere tracce dall'SDK. OpenTelemetry Per ulteriori informazioni sui campi che è possibile utilizzare in questa sezione, consulta [Raccogli metriche e tracce con OpenTelemetry](CloudWatch-Agent-OpenTelemetry-metrics.md). [Per ulteriori informazioni su AWS Distro for OpenTelemetry, consulta AWS Distro for. OpenTelemetry](https://aws.amazon.com/otel/) [Per ulteriori informazioni su AWS Distro for OpenTelemetry SDKs, vedere Introduzione.](https://aws-otel.github.io/docs/introduction)

    Questa sezione può includere i seguenti campi.
    + `grpc_endpoint` Facoltativo. Speciifica l'indirizzo che l' CloudWatch agente deve utilizzare per ascoltare le OpenTelemetry tracce inviate utilizzando le chiamate di procedura remota gRPC. Il formato è `ip:port`. Questo indirizzo deve corrispondere all'indirizzo impostato per l'esportatore gRPC nell'SDK. OpenTelemetry

      Se ometti questo campo, verrà utilizzato il valore predefinito `127.0.0.1:4317`.
    + `http_endpoint` : Opzionale. Speciifica l'indirizzo che l' CloudWatch agente deve utilizzare per ascoltare le tracce OTLP inviate tramite HTTP. Il formato è `ip:port`. Questo indirizzo deve corrispondere all'indirizzo impostato per l'esportatore HTTP nell'SDK. OpenTelemetry 

      Se ometti questo campo, verrà utilizzato il valore predefinito `127.0.0.1:4318`.
+ `concurrency` : Opzionale. Specifica il numero massimo di chiamate simultanee a X-Ray che possono essere utilizzate per caricare tracce. Il valore predefinito è `8`.
+ `local_mode` : Opzionale. Se `true`, l'agente non raccoglie i metadati delle istanze Amazon EC2. Il valore predefinito è `false`.
+ `endpoint_override` : Opzionale. Speciifica un endpoint FIPS o un link privato da utilizzare come endpoint in cui l'agente invia le tracce. CloudWatch Specificando questo campo e impostando un collegamento privato potrai inviare le tracce a un endpoint Amazon VPC. Per ulteriori informazioni, consulta [Cos'è Amazon VPC?](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html).

  Il valore di `endpoint_override` deve essere una stringa che è un URL.
+ `region_override` : Opzionale. Specifica la Regione da utilizzare per l'endpoint X-Ray. L' CloudWatch agente invia le tracce a X-Ray nella regione specificata. Se ometti questo campo, l'agente invia i parametri alla Regione in cui si trova l'istanza Amazon EC2.

  Se si specifica una Regione qui, questa avrà la precedenza sull'impostazione del parametro `region` nella sezione `agent` del file di configurazione.
+ `proxy_override` : Opzionale. Speciifica l'indirizzo del server proxy per l' CloudWatch agente da utilizzare per l'invio di richieste a X-Ray. Il protocollo del server proxy deve essere specificato come parte di questo indirizzo.
+ `credentials`— Speciifica un ruolo IAM da utilizzare per l'invio di tracce a un account diverso. AWS Se specificato, questo campo contiene un parametro, `role_arn`.
  + `role_arn`— specifica l'ARN di un ruolo IAM da utilizzare per l'autenticazione quando si inviano tracce a un AWS account diverso. Per ulteriori informazioni, consulta [Invio di parametri, log e tracce a un altro account](CloudWatch-Agent-common-scenarios.md#CloudWatch-Agent-send-to-different-AWS-account). Se specificato qui, sostituisce il `role_arn` specificato nella sezione `agent` del file di configurazione, se presente.
+ `transit_spans_in_otlp_format` : Opzionale. If`true`, invia tracce a X-Ray nel formato OpenTelemetry Protocol, che supporta gli eventi span in Transaction Search. Per ulteriori informazioni, consulta [Aggiunta degli attributi personalizzati](CloudWatch-Transaction-Search-add-custom-attributes.md). Il valore predefinito è `false`. 

## CloudWatch file di configurazione dell'agente: esempi completi
<a name="CloudWatch-Agent-Configuration-File-Complete-Example"></a>

Di seguito è riportato un esempio di file completo di configurazione CloudWatch dell'agente per un server Linux.

Gli elementi elencati nelle sezioni `measurement` per i parametri che si desidera raccogliere possono specificare il nome parametro completo oppure solo la parte del nome del parametro che verrà aggiunta al tipo della risorsa. Ad esempio, specificando `reads` o `diskio_reads` nella sezione `measurement` della sezione `diskio` si causa la raccolta del parametro `diskio_reads`.

Questo esempio include entrambi i modi di specificare i parametri nella `measurement` sezione.

```
    {
      "agent": {
        "metrics_collection_interval": 10,
        "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log"
      },
      "metrics": {
        "namespace": "MyCustomNamespace",
        "metrics_collected": {
          "cpu": {
            "resources": [
              "*"
            ],
            "measurement": [
              {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"},
              {"name": "cpu_usage_nice", "unit": "Percent"},
              "cpu_usage_guest"
            ],
            "totalcpu": false,
            "metrics_collection_interval": 10,
            "append_dimensions": {
              "customized_dimension_key_1": "customized_dimension_value_1",
              "customized_dimension_key_2": "customized_dimension_value_2"
            }
          },
          "disk": {
            "resources": [
              "/",
              "/tmp"
            ],
            "measurement": [
              {"name": "free", "rename": "DISK_FREE", "unit": "Gigabytes"},
              "total",
              "used"
            ],
             "ignore_file_system_types": [
              "sysfs", "devtmpfs"
            ],
            "metrics_collection_interval": 60,
            "append_dimensions": {
              "customized_dimension_key_3": "customized_dimension_value_3",
              "customized_dimension_key_4": "customized_dimension_value_4"
            }
          },
          "diskio": {
            "resources": [
              "*"
            ],
            "measurement": [
              "reads",
              "writes",
              "read_time",
              "write_time",
              "io_time"
            ],
            "metrics_collection_interval": 60
          },
          "swap": {
            "measurement": [
              "swap_used",
              "swap_free",
              "swap_used_percent"
            ]
          },
          "mem": {
            "measurement": [
              "mem_used",
              "mem_cached",
              "mem_total"
            ],
            "metrics_collection_interval": 1
          },
          "net": {
            "resources": [
              "eth0"
            ],
            "measurement": [
              "bytes_sent",
              "bytes_recv",
              "drop_in",
              "drop_out"
            ]
          },
          "netstat": {
            "measurement": [
              "tcp_established",
              "tcp_syn_sent",
              "tcp_close"
            ],
            "metrics_collection_interval": 60
          },
          "processes": {
            "measurement": [
              "running",
              "sleeping",
              "dead"
            ]
          }
        },
        "append_dimensions": {
          "ImageId": "${aws:ImageId}",
          "InstanceId": "${aws:InstanceId}",
          "InstanceType": "${aws:InstanceType}",
          "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
        },
        "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]],
        "force_flush_interval" : 30
      },
      "logs": {
        "logs_collected": {
          "files": {
            "collect_list": [
              {
                "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
                "log_group_name": "amazon-cloudwatch-agent.log",
                "log_stream_name": "amazon-cloudwatch-agent.log",
                "timezone": "UTC"
              },
              {
                "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log",
                "log_group_name": "test.log",
                "log_stream_name": "test.log",
                "timezone": "Local"
              }
            ]
          }
        },
        "log_stream_name": "my_log_stream_name",
        "force_flush_interval" : 15,
        "metrics_collected": {
           "kubernetes": {
                "enhanced_container_insights": true
      }
    }
  }
}
```

Di seguito è riportato un esempio di file di configurazione completo CloudWatch dell'agente per un server che esegue Windows Server.

```
{
      "agent": {
        "metrics_collection_interval": 60,
        "logfile": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log"
      },
      "metrics": {
        "namespace": "MyCustomNamespace",
        "metrics_collected": {
          "Processor": {
            "measurement": [
              {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"},
              "% Interrupt Time",
              "% User Time",
              "% Processor Time"
            ],
            "resources": [
              "*"
            ],
            "append_dimensions": {
              "customized_dimension_key_1": "customized_dimension_value_1",
              "customized_dimension_key_2": "customized_dimension_value_2"
            }
          },
          "LogicalDisk": {
            "measurement": [
              {"name": "% Idle Time", "unit": "Percent"},
              {"name": "% Disk Read Time", "rename": "DISK_READ"},
              "% Disk Write Time"
            ],
            "resources": [
              "*"
            ]
          },
          "customizedObjectName": {
            "metrics_collection_interval": 60,
            "customizedCounterName": [
              "metric1",
              "metric2"
            ],
            "resources": [
              "customizedInstances"
            ]
          },
          "Memory": {
            "metrics_collection_interval": 5,
            "measurement": [
              "Available Bytes",
              "Cache Faults/sec",
              "Page Faults/sec",
              "Pages/sec"
            ]
          },
          "Network Interface": {
            "metrics_collection_interval": 5,
            "measurement": [
              "Bytes Received/sec",
              "Bytes Sent/sec",
              "Packets Received/sec",
              "Packets Sent/sec"
            ],
            "resources": [
              "*"
            ],
            "append_dimensions": {
              "customized_dimension_key_3": "customized_dimension_value_3"
            }
          },
          "System": {
            "measurement": [
              "Context Switches/sec",
              "System Calls/sec",
              "Processor Queue Length"
            ]
          }
        },
        "append_dimensions": {
          "ImageId": "${aws:ImageId}",
          "InstanceId": "${aws:InstanceId}",
          "InstanceType": "${aws:InstanceType}",
          "AutoScalingGroupName": "${aws:AutoScalingGroupName}"
        },
        "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]]
      },
      "logs": {
        "logs_collected": {
          "files": {
            "collect_list": [
              {
                "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log",
                "log_group_name": "amazon-cloudwatch-agent.log",
                "timezone": "UTC"
              },
              {
                "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log",
                "log_group_name": "test.log",
                "timezone": "Local"
              }
            ]
          },
          "windows_events": {
            "collect_list": [
              {
                "event_name": "System",
                "event_levels": [
                  "INFORMATION",
                  "ERROR"
                ],
                "log_group_name": "System",
                "log_stream_name": "System",
                "event_format": "xml"
              },
              {
                "event_name": "CustomizedName",
                "event_levels": [
                  "WARNING",
                  "ERROR"
                ],
                "log_group_name": "CustomizedLogGroup",
                "log_stream_name": "CustomizedLogStream",
                "event_format": "xml"
              }
            ]
          }
        },
        "log_stream_name": "example_log_stream_name"
      }
    }
```

## Salvate il file di configurazione CloudWatch dell'agente manualmente
<a name="Saving-Agent-Configuration-File"></a>

Se si crea o si modifica manualmente il file di configurazione dell' CloudWatch agente, è possibile assegnargli un nome qualsiasi. Dopo avere creato il file, potrai copiarlo negli altri server in cui desideri eseguire l'agente.

## Caricamento del file di configurazione CloudWatch dell'agente in Systems Manager Parameter Store
<a name="Upload-CloudWatch-Agent-Configuration-To-Parameter-Store"></a>

Se si prevede di utilizzare l'agente SSM per installare l' CloudWatch agente sui server, dopo aver modificato manualmente il file di configurazione dell' CloudWatch agente, è possibile caricarlo in Systems Manager Parameter Store. Per eseguire questa operazione, utilizza il comando `put-parameter` di Systems Manager.

Per poter archiviare il file in Parameter Store, devi utilizzare un ruolo IAM con autorizzazioni sufficienti. 

Usa il seguente comando, dove *parameter name* è il nome da usare per questo file in Parameter Store e *configuration\$1file\$1pathname* indica il percorso e il nome del file di configurazione che hai modificato.

```
aws ssm put-parameter --name "parameter name" --type "String" --value file://configuration_file_pathname
```

# Abilita CloudWatch Application Signals
<a name="CloudWatch-Agent-Application_Signals"></a>

Usa CloudWatch Application Signals per strumentare automaticamente le tue applicazioni AWS in modo da monitorare le prestazioni delle applicazioni rispetto ai tuoi obiettivi aziendali. Application Signals offre una visione unificata e incentrata sulle applicazioni delle applicazioni Java, delle loro dipendenze e dei loro edge. Per ulteriori informazioni, consulta [Segnali applicativi](CloudWatch-Application-Monitoring-Sections.md).

CloudWatch Application Signals sfrutta l' CloudWatch agente per ricevere metriche e tracce dalle applicazioni con strumentazione automatica, applicare facoltativamente regole per ridurre la cardinalità elevata e quindi pubblicare la telemetria elaborata su. CloudWatch È possibile fornire una configurazione personalizzata all' CloudWatch agente specificamente per Application Signals utilizzando il file di configurazione dell'agente. Innanzitutto, la presenza di una `application_signals` sezione sotto la sezione all'interno della `metrics_collected` sezione del `logs` file di configurazione dell'agente specifica che l' CloudWatch agente riceverà le metriche dalle applicazioni con strumentazione automatica. Allo stesso modo, la presenza di una `application_signals` sezione sotto la `traces_collected` sezione all'interno della `traces` sezione del file di configurazione dell'agente specifica che l' CloudWatch agente è abilitato a ricevere tracce dalle applicazioni con strumentazione automatica. Inoltre, puoi facoltativamente inoltrate regole di configurazione personalizzate per ridurre la pubblicazione di telemetria ad alta cardinalità, come indicato in questa sezione.
+ Per i cluster Amazon EKS, quando installi il componente aggiuntivo [Amazon CloudWatch Observability](install-CloudWatch-Observability-EKS-addon.md) EKS, l' CloudWatch agente è abilitato per impostazione predefinita a ricevere sia metriche che tracce dalle tue applicazioni con strumentazione automatica. Se desideri facoltativamente inoltrare regole di configurazione personalizzate, puoi farlo inoltrando una configurazione dell'agente personalizzata al componente aggiuntivo Amazon EKS quando lo crei o lo aggiorni utilizzando una configurazione aggiuntiva, come indicato in [(Facoltativo) Configurazione aggiuntiva](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration).
+ Per RedHat for OpenShift on AWS (ROSA), quando si installa l'operatore dell' CloudWatch agente utilizzando helm chart, l' CloudWatch agente è abilitato per impostazione predefinita a ricevere sia metriche che tracce dalle applicazioni con strumentazione automatica. Se desideri facoltativamente inoltrare regole di configurazione personalizzate, puoi farlo inoltrando una configurazione dell'agente personalizzata al grafico Helm, come indicato in [(Facoltativo) Configurazione aggiuntiva](install-CloudWatch-Observability-EKS-addon.md#install-CloudWatch-Observability-EKS-addon-configuration).
+ Per altre piattaforme supportate, tra cui Amazon EC2, è necessario avviare l' CloudWatch agente con una configurazione dell'agente che abiliti Application Signals specificando le `application_signals` sezioni e, facoltativamente, eventuali regole di configurazione personalizzate, come descritto più avanti in questa sezione.

Di seguito è riportata una panoramica dei campi del file di configurazione dell' CloudWatch agente relativi ad Application Signals. CloudWatch 
+ `logs`
  + `metrics_collected`— Questo campo può contenere sezioni per specificare che l'agente deve raccogliere i log per abilitare casi d'uso come CloudWatch Application Signals e Container Insights con osservabilità migliorata per Amazon EKS.
**Nota**  
In precedenza, questa sezione veniva utilizzata anche per specificare che l'agente deve raccogliere i log con formato del parametro incorporato. Queste impostazioni non sono più necessarie.
    + `application_signals`(Facoltativo) Specificate che desiderate abilitare CloudWatch Application Signals a ricevere metriche dalle vostre applicazioni con strumentazione automatica per facilitare i segnali applicativi. CloudWatch 
      + `rules` (Facoltativo) Una serie di regole per selezionare parametri e tracce in modo condizionale e applicare azioni per gestire scenari ad alta cardinalità. Ogni regola può contenere i seguenti campi:
        + `rule_name` (Facoltativo) Il nome della regola.
        + `selectors` (Facoltativo) Una serie di corrispondenze tra le dimensioni di parametri e tracce. Ogni selettore deve fornire i campi riportati di seguito:
          + `dimension` Obbligatorio se `selectors` non è vuoto. Questo specifica la dimensione delle metriche e delle tracce da utilizzare come filtro.
          + `match` Obbligatorio se `selectors` non è vuoto. Un modello jolly utilizzato per i valori corrispondenti della dimensione specificata.
        + `action` (Facoltativo) L'operazione da applicare ai parametri e alle tracce che corrispondono ai selettori specificati. `action` deve essere una delle seguenti parole chiave.
          + `keep`Speciifica di inviare solo le metriche e le tracce a, se corrisponde a. CloudWatch `selectors`
          + `drop` Specifica di eliminare il parametro e le tracce che corrispondono ai `selectors`.
          + `replace` Specifica di sostituire le dimensioni dei parametri e delle tracce che corrispondono ai `selectors`. Le sostituzioni sono effettuate in base alla sezione `replacements`.
        + `replacements` Obbligatorio se `action` è `replace`. Una serie di coppie di dimensioni e valori che verranno applicate a parametri e tracce che corrispondono ai `selectors` specificati quando `action` è `replace`. Ogni sostituzione deve fornire i campi riportati di seguito:
          + `target_dimension` Obbligatorio se `replacements` non è vuoto. Specifica la dimensione che deve essere sostituita.
          + `value` Obbligatorio se `replacements` non è vuoto. Il valore con cui sostituire il valore originale di `target_dimension`.
      + `limiter`(Facoltativo) Utilizzate questa sezione per limitare il numero di metriche e dimensioni a cui vengono inviate Application Signals CloudWatch, per ottimizzare i costi.
        + `disabled` (Facoltativo) Se `true`, la funzionalità di limitazione delle metriche è disabilitata. Il valore predefinito è `false`.
        + `drop_threshold`(Facoltativo) Il numero massimo di metriche distinte per servizio in un intervallo di rotazione che possono essere esportate da un agente. CloudWatch L'impostazione predefinita è 500.
        + `rotation_interval` (Facoltativo) L'intervallo in base al quale il limitatore reimposta i record delle metriche per il conteggio delle distinzioni. Viene espresso sotto forma di una stringa con una sequenza di numeri e un suffisso di unità. Le frazioni sono supportate. I suffissi di unità supportati sono`s`,,`m`, `h` `ms``us`, e. `ns` Il valore predefinito è `1h` per un'ora.
        + `log_dropped_metrics`(Facoltativo) Speciifica se l'agente deve scrivere i log nei log dell' CloudWatch agente quando le metriche di Application Signals vengono eliminate. Il valore predefinito è `false`.
**Nota**  
Per attivare questa registrazione, anche il parametro `debug` nella sezione `agent` deve essere impostato su `true`.
+ `traces`
  + `traces_collected`
    + `application_signals` Facoltativo. Specificalo per consentire all' CloudWatchagente di ricevere tracce dalle tue applicazioni con strumentazione automatica per facilitare CloudWatch i segnali applicativi.

**Nota**  
Anche se le regole `application_signals` personalizzate sono specificate nella sezione `metrics_collected` contenuta nella sezione `logs`, si applicano implicitamente anche alla sezione `traces_collected`. Lo stesso insieme di regole si applicherà sia ai parametri che alle tracce.

Quando sono presenti più regole con operazioni diverse, queste si applicano nella seguente sequenza: `keep`, poi `drop`, quindi `replace`.

Di seguito è riportato un esempio di file di configurazione completo CloudWatch dell'agente che applica regole personalizzate.

```
{
  "logs": {
    "metrics_collected": {
      "application_signals": {
        "rules": [
          {
            "rule_name": "keep01",
            "selectors": [
              {
                "dimension": "Service",
                "match": "pet-clinic-frontend"
              },
              {
                "dimension": "RemoteService",
                "match": "customers-service"
              }
            ],
            "action": "keep"
          },
          {
            "rule_name": "drop01",
            "selectors": [
              {
                "dimension": "Operation",
                "match": "GET /api/customer/owners/*"
              }
            ],
            "action": "drop"
          },
          {
            "rule_name": "replace01",
            "selectors": [
              {
                "dimension": "Operation",
                "match": "PUT /api/customer/owners/*/pets/*"
              },
              {
                "dimension": "RemoteOperation",
                "match": "PUT /owners"
              }
            ],
            "replacements": [
              {
                "target_dimension": "Operation",
                "value": "PUT /api/customer/owners/{ownerId}/pets{petId}"
              }
            ],
            "action": "replace"
          }
        ]
      }
    }
  },
  "traces": {
    "traces_collected": {
      "application_signals": {}
    }
  }
}
```

Per il file di configurazione di esempio precedente, le `rules` vengono elaborate come segue:

1. La regola `keep01` assicura che tutte i parametri e le tracce con la dimensione `Service` come `pet-clinic-frontend` e la dimensione `RemoteService` come `customers-service` vengano mantenute.

1. Per i parametri e le tracce elaborati dopo l'applicazione di `keep01`, la regola `drop01` garantisce che i parametri e le tracce con la dimensione `Operation` come `GET /api/customer/owners/*` vengano eliminati.

1. Per i parametri e le tracce elaborati dopo l'applicazione di `drop01`, la regola `replace01` aggiorna i parametri e le tracce che hanno la dimensione `Operation` come `PUT /api/customer/owners/*/pets/*` e la dimensione `RemoteOperation` come `PUT /owners` in modo che la dimensione `Operation` venga ora sostituita da `PUT /api/customer/owners/{ownerId}/pets{petId}`.

Di seguito è riportato un esempio completo di file di CloudWatch configurazione che gestisce la cardinalità in Application Signals modificando il limite delle metriche a 100, abilitando la registrazione delle metriche eliminate e impostando l'intervallo di rotazione su due ore.

```
{
    "logs": {
        "metrics_collected": {
            "application_signals": {
                "limiter": {
                    "disabled": false,
                    "drop_threshold": 100,
                    "rotation_interval": "2h",
                    "log_dropped_metrics": true
                }
            }
        },
        "traces": {
            "traces_collected": {
                "application_signals": {}
            }
        }
    }
}
```

# Raccolta di parametri sulle prestazioni di rete
<a name="CloudWatch-Agent-network-performance"></a>

Le istanze EC2 in esecuzione su Linux che utilizzano Elastic Network Adapter (ENA) pubblicano parametri delle prestazioni di rete. La versione 1.246396.0 e successive dell' CloudWatch agente consentono di importare questi parametri delle prestazioni di rete in. CloudWatch Quando si importano queste metriche delle prestazioni di rete in CloudWatch, vengono addebitate come metriche personalizzate. CloudWatch 

Per ulteriori informazioni sul driver ENA, consulta [Abilitazione delle reti avanzate con Elastic Network Adapter (ENA) sulle istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) e [Abilitazione delle reti avanzate con Elastic Network Adapter (ENA) sulle istanze Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking-ena.html).

La modalità di impostazione della raccolta dei parametri delle prestazioni di rete varia nei server Linux e nei server Windows.

Nella tabella seguente sono elencati i parametri delle prestazioni di rete abilitati dall'adattatore ENA. Quando l' CloudWatch agente importa queste metriche CloudWatch da istanze Linux, queste vengono anteposte all'inizio di ciascuna `ethtool_` di queste metriche.


| Metrica | Description | 
| --- | --- | 
|  Nome su server Linux: `bw_in_allowance_exceeded` Nome su server Windows: `Aggregate inbound BW allowance exceeded`  |  Il numero di pacchetti in coda è and/or diminuito perché la larghezza di banda aggregata in entrata ha superato il massimo per l'istanza. Questa metrica viene raccolta solo se è stata elencata nella `ethtool` sottosezione della sezione del file di configurazione dell'agente. `metrics_collected` CloudWatch Per ulteriori informazioni, consulta [Raccolta di parametri sulle prestazioni di rete](#CloudWatch-Agent-network-performance) Unità: nessuna  | 
|   Nome su server Linux: `bw_out_allowance_exceeded` Nome su server Windows: `Aggregate outbound BW allowance exceeded` |  Il numero di pacchetti in coda è and/or diminuito perché la larghezza di banda aggregata in uscita ha superato il massimo per l'istanza. Questa metrica viene raccolta solo se è stata elencata nella `ethtool` sottosezione della sezione del file di configurazione dell'agente. `metrics_collected` CloudWatch Per ulteriori informazioni, consulta [Raccolta di parametri sulle prestazioni di rete](#CloudWatch-Agent-network-performance) Unità: nessuna  | 
|  Nome su server Linux: `conntrack_allowance_available` Nome su server Windows: `Available connection tracking allowance` |  Riporta il numero di connessioni tracciate che possono essere stabilite dall'istanza prima di raggiungere il limite Connessioni tracciate di quel tipo di istanza. Questa metrica è disponibile solo sulle istanze EC2 basate su Nitro che utilizzano il driver Linux per l'adattatore elastico di rete (ENA) a partire dalla versione 2.8.1 e sui computer che utilizzano il driver Windows per l'adattatore elastico di rete (ENA) a partire dalla versione 2.6.0. Questa metrica viene raccolta solo se è stata elencata nella `ethtool` sottosezione della sezione del file di configurazione `metrics_collected` dell' CloudWatch agente. Per ulteriori informazioni, consulta [Raccolta di parametri sulle prestazioni di rete](#CloudWatch-Agent-network-performance) Unità: nessuna  | 
|  Nome su server Linux: `ena_srd_mode` Nome su server Windows: `ena srd mode` |  Descrive quali funzionalità ENA Express sono abilitate. Per maggiori informazioni su ENA Express, consulta [ Improve network performance with ENA Express on Linux instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ena-express.html). I valori sono i seguenti: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html)  | 
|  Nome su server Linux: `ena_srd_eligible_tx_pkts` Nome su server Windows: `ena srd eligible tx pkts` |  Il numero di pacchetti di rete inviati in un determinato periodo di tempo che soddisfano i requisiti AWS Scalable Reliable Datagram (SRD) di idoneità, come indicato di seguito: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-network-performance.html)  | 
|  Nome su server Linux: `ena_srd_tx_pkts` Nome su server Windows: `ena srd tx pkts` |  Il numero di pacchetti SRD trasmessi in un determinato periodo di tempo.  | 
|  Nome su server Linux: `ena_srd_rx_pkts` Nome su server Windows: `ena srd rx pkts` |  Il numero di pacchetti SRD ricevuti in un determinato periodo di tempo.  | 
|  Nome su server Linux: `ena_srd_resource_utilization` Nome su server Windows: `ena srd resource utilization` |  La percentuale di utilizzo massimo della memoria consentita per le connessioni SRD simultanee adoperate dall'istanza.  | 
|  Nome su server Linux: `linklocal_allowance_exceeded` Nome su server Windows: `Link local packet rate allowance exceeded`  |  Il numero di pacchetti accodati o rilasciati perché il PPS del traffico verso i servizi proxy locali ha superato il valore massimo per l'interfaccia di rete. Ciò influisce sul traffico verso il servizio DNS, il servizio di metadati dell'istanza e il servizio di sincronizzazione oraria di Amazon, ma non influisce sul traffico verso i resolver DNS personalizzati. Questa metrica viene raccolta solo se è stata elencata nella `ethtool` sottosezione della sezione del file di configurazione `metrics_collected` dell' CloudWatch agente. Per ulteriori informazioni, consulta [Raccolta di parametri sulle prestazioni di rete](#CloudWatch-Agent-network-performance) Unità: nessuna  | 
|  Nome su server Linux: `pps_allowance_exceeded` Nome su server Windows: `PPS allowance exceeded` |  Il numero di pacchetti in coda è and/or diminuito perché il PPS bidirezionale ha superato il massimo consentito per l'istanza.  Questa metrica viene raccolta solo se è stata elencata nella `ethtool` sottosezione della sezione del file di configurazione dell'agente. `metrics_collected` CloudWatch Per ulteriori informazioni, consulta [Raccolta di parametri sulle prestazioni di rete](#CloudWatch-Agent-network-performance) Unità: nessuna  | 

## Configurazione di Linux
<a name="CloudWatch-Agent-network-performance-Linux"></a>

Sui server Linux, il *plugin ethtool* consente di importare le metriche delle prestazioni di rete in. CloudWatch

ethtool è un'utility Linux standard in grado di raccogliere statistiche sui dispositivi Ethernet sui server Linux. Le statistiche raccolte dipendono dal dispositivo di rete e dal driver. Esempi di queste statistiche includono `tx_cnt`, `rx_bytes`, `tx_errors` e `align_errors`. Quando utilizzi il plugin ethtool con l' CloudWatch agente, puoi anche importare queste statistiche CloudWatch, insieme alle metriche delle prestazioni di rete EC2 elencate in precedenza in questa sezione.

**Suggerimento**  
Per trovare le statistiche disponibili sul nostro sistema operativo e dispositivo di rete, usa il comando `ethtool –S`.

Quando l' CloudWatch agente importa le metriche in CloudWatch, aggiunge un `ethtool_` prefisso ai nomi di tutte le metriche importate. Quindi viene richiamata la statistica standard di ethtool e `rx_bytes` viene richiamata `ethtool_rx_bytes` la metrica delle prestazioni di rete EC2. CloudWatch `bw_in_allowance_exceeded` `ethtool_bw_in_allowance_exceeded` CloudWatch

Sui server Linux, per importare le metriche ethtool, aggiungi una `ethtool` sezione alla sezione del file di configurazione dell'agente`metrics_collected`. CloudWatch La sezione `ethtool` può includere le seguenti sottosezioni:
+ **interface\$1include**: l'inclusione di questa sezione fa sì che l'agente raccolga i parametri solo dalle interfacce con i nomi elencati in questa sezione. Se si omette questa sezione, i parametri vengono raccolti da tutte le interfacce Ethernet non elencate in `interface_exclude`.

  L'interfaccia ethernet predefinita è `eth0`.
+ **interface\$1exclude**: se si include questa sezione, elencare le interfacce Ethernet da cui non si desidera raccogliere i parametri.

  Il plug-in ethtool ignora sempre le interfacce di loopback.
+ **metrics\$1include** — Questa sezione elenca le metriche in cui importare. CloudWatch Può includere sia le statistiche standard raccolte da ethtool che i parametri di rete ad alta risoluzione di Amazon EC2.

L'esempio seguente visualizza parte del file di configurazione dell'agente. CloudWatch Questa configurazione raccoglie i parametri standard ethtool `rx_packets` e `tx_packets` e i parametri sulle prestazioni rete Amazon EC2 provenienti solo dall'interfaccia `eth1`.

Per ulteriori informazioni sul file di configurazione CloudWatch dell'agente, vedere[Crea o modifica manualmente il file di configurazione CloudWatch dell'agente](CloudWatch-Agent-Configuration-File-Details.md).

```
{
"metrics": {
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "ethtool": {
        "interface_include": [
          "eth1"
        ],
        "metrics_include": [
          "bw_in_allowance_exceeded",
          "bw_out_allowance_exceeded",
          "conntrack_allowance_exceeded",
          "linklocal_allowance_exceeded",
          "pps_allowance_exceeded"
         ]
      }
   }
}
}
```

## Configurazione su Windows
<a name="CloudWatch-Agent-network-performance-Windows"></a>

Sui server Windows, le metriche delle prestazioni di rete sono disponibili tramite Windows Performance Counters, da cui l' CloudWatch agente raccoglie già le metriche. Non è quindi necessario alcun plug-in per raccogliere queste metriche dai server Windows.

Di seguito è riportato un file di configurazione di esempio per raccogliere le metriche delle prestazioni di rete da Windows. Per ulteriori informazioni sulla modifica del file di configurazione dell' CloudWatch agente, vedere. [Crea o modifica manualmente il file di configurazione CloudWatch dell'agente](CloudWatch-Agent-Configuration-File-Details.md)

```
{
    "metrics": {
        "append_dimensions": {
            "InstanceId": "${aws:InstanceId}"
        },
        "metrics_collected": {
            "ENA Packets Shaping": {
                "measurement": [
                    "Aggregate inbound BW allowance exceeded",
                    "Aggregate outbound BW allowance exceeded",
                    "Connection tracking allowance exceeded",
                    "Link local packet rate allowance exceeded",
                    "PPS allowance exceeded"
                ],
                "metrics_collection_interval": 60,
                "resources": [
                    "*"
                ]
            }
        }
    }
}
```

## Visualizzazione dei parametri sulle prestazioni di rete
<a name="CloudWatch-view-ENA-metrics"></a>

Dopo aver importato le metriche delle prestazioni di rete in CloudWatch, puoi visualizzare queste metriche come grafici di serie temporali e creare allarmi in grado di monitorare queste metriche e avvisarti se superano una soglia specificata. La procedura seguente mostra come visualizzare i parametri ethtool come grafici di serie temporali. Per ulteriori informazioni sull'impostazione degli allarmi, consulta [Utilizzo degli CloudWatch allarmi Amazon](CloudWatch_Alarms.md).

Poiché tutte queste metriche sono contatori aggregati, puoi utilizzare funzioni matematiche metriche, ad esempio per calcolare la frequenza di queste CloudWatch metriche nei grafici o `RATE(METRICS())` utilizzarle per impostare allarmi. Per ulteriori informazioni sulle funzioni matematiche dei parametri, consulta [Utilizzo di espressioni matematiche con metriche CloudWatch](using-metric-math.md)

**Per visualizzare le metriche delle prestazioni di rete nella console CloudWatch**

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel riquadro di navigazione, seleziona **Parametri**.

1. Scegli lo spazio dei nomi da utilizzare per i parametri raccolti dall'agente. Per impostazione predefinita, lo è **CWAgent**, ma è possibile che sia stato specificato uno spazio dei nomi diverso nel file di configurazione dell' CloudWatch agente.

1. Scegli una dimensione di parametro (ad esempio, **Per-Instance Metrics** (Parametri per istanza)).

1. La scheda **All metrics** (Tutti i parametri) visualizza tutti i parametri per tale dimensione nello spazio dei nomi. È possibile effettuare le seguenti operazioni:

   1. Per creare il grafico di un parametro, seleziona la casella di controllo accanto al parametro. Per selezionare tutte i parametri, seleziona la casella di controllo nella riga dell'intestazione della tabella.

   1. Per ordinare la tabella, utilizza l'intestazione della colonna.

   1. Per filtrare in base a una risorsa, scegli l'ID della risorsa e quindi **Add to search** (Aggiungi alla ricerca).

   1. Per filtrare in base a un parametro, scegli il nome del parametro e quindi **Add to search** (Aggiungi alla ricerca).

1. (Facoltativo) Per aggiungere questo grafico a una CloudWatch dashboard, scegli **Azioni**, quindi scegli **Aggiungi alla dashboard**.

# Raccogli i parametri dei NVMe driver di Amazon EBS
<a name="Container-Insights-metrics-EBS-Collect"></a>

Per consentire all' CloudWatch agente di raccogliere i parametri dei driver AWS NVMe per i volumi Amazon EBS collegati a un'istanza Amazon EC2, aggiungi la `diskio` sezione all'interno della sezione del file di configurazione dell'`metrics_collected`agente. CloudWatch 

Inoltre, il file binario dell' CloudWatch agente richiede `ioctl` le autorizzazioni per i dispositivi NVMe driver per raccogliere i parametri dai volumi Amazon EBS collegati.

È possibile raccogliere i seguenti parametri. 


| Metrica | Nome della metrica in CloudWatch | Description | 
| --- | --- | --- | 
|  `ebs_total_read_ops` |  `diskio_ebs_total_read_ops`  | Il numero di operazioni di lettura completate. | 
|  `ebs_total_write_ops` |  `diskio_ebs_total_write_ops`  | Il numero di operazioni di scrittura completate. | 
|  `ebs_total_read_bytes` |  `diskio_ebs_total_read_bytes`  | Il numero totale di byte letti trasferiti. | 
|  `ebs_total_write_bytes` |  `diskio_ebs_total_write_bytes`  | Il numero totale di byte scritti trasferiti. | 
|  `ebs_total_read_time` |  `diskio_ebs_total_read_time`  | Il tempo totale impiegato, in microsecondi, da tutte le operazioni di lettura completate. | 
|  `ebs_total_write_time` |  `diskio_ebs_total_write_time`  | Il tempo totale impiegato, in microsecondi, da tutte le operazioni di scrittura completate. | 
|  `ebs_volume_performance_exceeded_iops` |  `diskio_ebs_volume_performance_exceeded_iops`  | Il tempo totale, in microsecondi, durante il quale la richiesta di IOPS ha superato le prestazioni di capacità di IOPS allocata del volume. | 
|  `ebs_volume_performance_exceeded_tp` |  `diskio_ebs_volume_performance_exceeded_tp`  | Il tempo totale, in microsecondi, durante il quale la richiesta di throughput ha superato le prestazioni di throughput allocato del volume. | 
|  `ebs_ec2_instance_performance_exceeded_iops` |  `diskio_ebs_ec2_instance_performance_exceeded_iops`  | Il tempo totale, in microsecondi, durante il quale il volume EBS ha superato le prestazioni di IOPS massime dell'istanza Amazon EC2 collegata. | 
|  `ebs_ec2_instance_performance_exceeded_tp` |  `diskio_ebs_ec2_instance_performance_exceeded_tp`  | Il tempo totale, in microsecondi, durante il quale il volume EBS ha superato le prestazioni di throughput massime dell'istanza Amazon EC2 collegata. | 
|  `ebs_volume_queue_length` |  `diskio_ebs_volume_queue_length`  | Il numero di operazioni di lettura e scrittura in attesa di completamento. | 

# Raccogli i parametri del driver del volume NVMe di Amazon EC2 Instance Store
<a name="Container-Insights-metrics-instance-store-Collect"></a>

Per consentire all' CloudWatch agente di raccogliere i parametri dei driver AWS NVMe, ad esempio di archiviare i volumi collegati a un'istanza Amazon EC2, aggiungi la `diskio` sezione all'interno della sezione del file di configurazione `metrics_collected` dell'agente. CloudWatch 

Inoltre, il file binario dell' CloudWatch agente richiede `ioctl` le autorizzazioni per i dispositivi NVMe driver per raccogliere i parametri dai volumi di Instance Store collegati.

È possibile raccogliere i seguenti parametri. 


| Metrica | Nome della metrica in CloudWatch | Description | 
| --- | --- | --- | 
|  `instance_store_total_read_ops` |  `diskio_instance_store_total_read_ops`  | Il numero di operazioni di lettura completate. | 
|  `instance_store_total_write_ops` |  `diskio_instance_store_total_write_ops`  | Il numero di operazioni di scrittura completate. | 
|  `instance_store_total_read_bytes` |  `diskio_instance_store_total_read_bytes`  | Il numero totale di byte letti trasferiti. | 
|  `instance_store_total_write_bytes` |  `diskio_instance_store_total_write_bytes`  | Il numero totale di byte scritti trasferiti. | 
|  `instance_store_total_read_time` |  `diskio_instance_store_total_read_time`  | Il tempo totale impiegato, in microsecondi, da tutte le operazioni di lettura completate. | 
|  `instance_store_total_write_time` |  `diskio_instance_store_total_write_time`  | Il tempo totale impiegato, in microsecondi, da tutte le operazioni di scrittura completate. | 
|  `instance_store_performance_exceeded_iops` |  `diskio_instance_store_performance_exceeded_iops`  | Il tempo totale, in microsecondi, durante il quale la richiesta di IOPS ha superato le prestazioni di IOPS massime del volume. | 
|  `instance_store_performance_exceeded_tp` |  `diskio_instance_store_performance_exceeded_tp`  | Il tempo totale, in microsecondi, durante il quale la richiesta di throughput ha superato le prestazioni di throughput massimo del volume. | 
|  `instance_store_volume_queue_length` |  `diskio_instance_store_volume_queue_length`  | Il numero di operazioni di lettura e scrittura in attesa di completamento. | 

# Raccolta dei parametri della GPU NVIDIA
<a name="CloudWatch-Agent-NVIDIA-GPU"></a>

 Puoi utilizzare l' CloudWatch agente per raccogliere i parametri della GPU NVIDIA dai server Linux. Per configurarlo, aggiungi una `nvidia_gpu` sezione all'interno della `metrics_collected` sezione del file di configurazione dell' CloudWatch agente. Per ulteriori informazioni, consulta [Sezione Linux](CloudWatch-Agent-Configuration-File-Details.md#CloudWatch-Agent-Linux-section). 

Inoltre, sull'istanza deve essere installato un driver NVIDIA. I driver NVIDIA sono preinstallati su alcune Amazon Machine Images ()AMIs. In caso contrario, il driver può essere installato manualmente. Per ulteriori informazioni, consulta [Installazione dei driver NVIDIA sulle istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html). 

È possibile raccogliere i seguenti parametri. Tutte queste metriche vengono raccolte senza CloudWatch `Unit`, ma è possibile specificare un'unità per ogni metrica aggiungendo un parametro al file di configurazione dell' CloudWatch agente. Per ulteriori informazioni, consulta [Sezione Linux](CloudWatch-Agent-Configuration-File-Details.md#CloudWatch-Agent-Linux-section).


| Metrica | Nome della metrica in CloudWatch | Description | 
| --- | --- | --- | 
|  `utilization_gpu` |  `nvidia_smi_utilization_gpu` |  La percentuale di tempo nell'ultimo periodo di campionamento in cui erano in esecuzione uno o più kernel sulla GPU.  | 
|  `temperature_gpu` |  `nvidia_smi_temperature_gpu` |  La temperatura del core della GPU in gradi Celsius.  | 
|  `power_draw` |  `nvidia_smi_power_draw` |  L'ultimo assorbimento di potenza misurato per l'intera scheda, in watt.  | 
|  `utilization_memory` |  `nvidia_smi_utilization_memory` |  La percentuale di tempo nell'ultimo periodo di campionamento in cui la memoria globale (dispositivo) veniva letta o scritta.  | 
|  `fan_speed` |  `nvidia_smi_fan_speed` |  La percentuale di velocità massima attualmente prevista per il funzionamento della ventola del dispositivo.  | 
|  `memory_total` |  `nvidia_smi_memory_total` |  Memoria totale riportata, in MB.  | 
|  `memory_used` |  `nvidia_smi_memory_used` |  Memoria utilizzata, in MB.  | 
|  `memory_free` |  `nvidia_smi_memory_free` |  Memoria libera, in MB.  | 
|  `pcie_link_gen_current` |  `nvidia_smi_pcie_link_gen_current` |  L'attuale generazione del collegamento.  | 
|  `pcie_link_width_current` |  `nvidia_smi_pcie_link_width_current` |  L'attuale larghezza del collegamento.  | 
|  `encoder_stats_session_count` |  `nvidia_smi_encoder_stats_session_count` |  Il numero attuale di sessioni dell'encoder.  | 
|  `encoder_stats_average_fps` |  `nvidia_smi_encoder_stats_average_fps` |  La media mobile dei fotogrammi di codifica al secondo.  | 
|  `encoder_stats_average_latency` |  `nvidia_smi_encoder_stats_average_latency` |  La media mobile della latenza di codifica in microsecondi.  | 
|  `clocks_current_graphics` |  `nvidia_smi_clocks_current_graphics` |  L'attuale frequenza di clock della scheda video (shader).  | 
|  `clocks_current_sm` |  `nvidia_smi_clocks_current_sm` |  L'attuale frequenza di clock dello Streaming Multiprocessor (SM).  | 
|  `clocks_current_memory` |  `nvidia_smi_clocks_current_memory` |  L'attuale frequenza di clock della memoria.  | 
|  `clocks_current_video` |  `nvidia_smi_clocks_current_video` |  L'attuale frequenza di clock del video (encoder più decoder).  | 

Tutti questi parametri vengono raccolti con le seguenti dimensioni:


| Dimensione | Description | 
| --- | --- | 
|  `index` |  Un identificatore univoco per la GPU su questo server. Rappresenta l'indice NVIDIA Management Library (NVML) del dispositivo.  | 
|  `name` |  Il tipo di GPU. Ad esempio, `NVIDIA Tesla A100`  | 
|  `arch` |  L'architettura del server.  | 

# Raccolta delle metriche di Java Management Extensions (JMX)
<a name="CloudWatch-Agent-JMX-metrics"></a>

Puoi utilizzare l' CloudWatch agente per raccogliere i parametri Java Management Extensions (JMX) dalle tue applicazioni Java.

L' CloudWatch agente supporta la raccolta di queste metriche dalle seguenti versioni:
+ JVM 8 e versioni successive
+ Kafka 0.8.2.x e versioni successive
+ Tomcat 9, 10.1 e 11 (beta)

------
#### [ Amazon EC2 ]

**Per abilitare JMX nella tua istanza JVM**  
Affinché l' CloudWatch agente sia in grado di raccogliere le metriche JMX, la JVM dell'applicazione deve collegarsi a una porta utilizzando la proprietà di sistema. `com.sun.management.jmxremote.port`

```
java -Dcom.sun.management.jmxremote.port=port-number -jar example.jar
```

Per ulteriori informazioni e altre configurazioni, consulta la [documentazione di JMX](https://docs.oracle.com/en/java/javase/17/management/monitoring-and-management-using-jmx-technology.html).

------
#### [ Amazon EKS ]

**Per abilitare JMX sui pod delle applicazioni Java**  
Quando si utilizza il componente aggiuntivo CloudWatch Observability EKS, è possibile gestire il modo in cui le metriche JMX sono abilitate con le annotazioni. Per ulteriori informazioni, consulta [Installa l' CloudWatch agente con il componente aggiuntivo Amazon CloudWatch Observability EKS o il grafico Helm](install-CloudWatch-Observability-EKS-addon.md). Per abilitare la raccolta di metriche JMX da un carico di lavoro, aggiungi le seguenti annotazioni al file manifesto del carico di lavoro nella sezione `PodTemplate`:
+ `instrumentation.opentelemetry.io/inject-java: "true"`
+ Uno o più dei seguenti:
  + Per le metriche JVM: `cloudwatch.aws.amazon.com/inject-jmx-jvm: "true"`
  + Per le metriche relative ai broker Kafka: `cloudwatch.aws.amazon.com/inject-jmx-kafka: "true"`
  + Per le metriche relative ai consumatori Kafka: `cloudwatch.aws.amazon.com/inject-jmx-kafka-consumer: "true"`
  + Per le metriche relative ai produttori Kafka: `cloudwatch.aws.amazon.com/inject-jmx-kafka-producer: "true"`
  + Per le metriche Tomcat: `cloudwatch.aws.amazon.com/inject-jmx-tomcat: "true"`

------

Per iniziare a raccogliere le metriche JMX, aggiungi una `jmx` sezione all'interno della sezione del file di configurazione dell'`metrics_collected`agente. CloudWatch La sezione `jmx` può contenere i seguenti campi.
+ `jvm` : Opzionale. Specifica che desideri recuperare le metriche di Java Virtual Machine (JVM) dall'istanza. Per ulteriori informazioni, consulta [Raccolta di metriche di JVM](#CloudWatch-Agent-JVM-metrics). 

  Questa sezione può includere i seguenti campi.
  + `measurement`: specifica l'array di metriche JVM da raccogliere. Per un elenco dei possibili valori da utilizzare, consulta la colonna **Metric** (Parametri) della tabella in [Raccolta di metriche di JVM](#CloudWatch-Agent-JVM-metrics).

    Nelle voci di ciascun parametro individuale, puoi definire uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, che sostituisce l'unità di misura predefinita per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come elencato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
+ `kafka` : Opzionale. Specifica che desideri recuperare le metriche del broker Apache Kafka dall'istanza. Per ulteriori informazioni, consulta [Raccolta di metriche di Kafka](#CloudWatch-Agent-Kafka-metrics). 

  Questa sezione può includere i seguenti campi.
  + `measurement`: specifica l'array di metriche del broker Kafka da raccogliere. Per un elenco dei valori che è possibile utilizzare in questo campo, consulta la colonna **Metrica** della prima tabella in [Raccolta di metriche di Kafka](#CloudWatch-Agent-Kafka-metrics).

    Nelle voci di ciascun parametro individuale, puoi definire uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, che sostituisce l'unità di misura predefinita per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
+ `kafka-consumer` : Opzionale. Specifica che desideri recuperare le metriche del consumatore di Apache Kafka dall'istanza. Per ulteriori informazioni, consulta [Raccolta di metriche di Kafka](#CloudWatch-Agent-Kafka-metrics). 

  Questa sezione può includere i seguenti campi.
  + `measurement`: specifica l'array di metriche del broker Kafka da raccogliere. Per un elenco dei valori che è possibile utilizzare in questo campo, consulta la colonna **Metrica** della seconda tabella delle metriche in [Raccolta di metriche di Kafka](#CloudWatch-Agent-Kafka-metrics).

    Nelle voci di ciascun parametro individuale, puoi definire uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, che sostituisce l'unità di misura predefinita per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
+ `kafka-producer` : Opzionale. Specifica che desideri recuperare le metriche del produttore di Apache Kafka dall'istanza. Per ulteriori informazioni, consulta [Raccolta di metriche di Kafka](#CloudWatch-Agent-Kafka-metrics). 

  Questa sezione può includere i seguenti campi.
  + `measurement`: specifica l'array di metriche del broker Kafka da raccogliere. Per un elenco dei valori che è possibile utilizzare in questo campo, consulta la colonna **Metrica** della terza tabella delle metriche in [Raccolta di metriche di Kafka](#CloudWatch-Agent-Kafka-metrics).

    Nelle voci di ciascun parametro individuale, puoi definire uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, che sostituisce l'unità di misura predefinita per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)
+ `tomcat` : Opzionale. Specifica che desideri recuperare le metriche di Tomcat dall'istanza. Per ulteriori informazioni, consulta [Raccolta di metriche di Tomcat](#CloudWatch-Agent-Tomcat-metrics). 

  Questa sezione può includere i seguenti campi.
  + `measurement`: specifica l'array di metriche di Tomcat da raccogliere. Per un elenco dei possibili valori da utilizzare, consulta la colonna **Metric** (Parametri) della tabella in [Raccolta di metriche di Tomcat](#CloudWatch-Agent-Tomcat-metrics).

    Nelle voci di ciascun parametro individuale, puoi definire uno o più dei seguenti valori:
    + `rename`: specifica un nome diverso per questo parametro.
    + `unit`: specifica l'unità di misura da utilizzare per questo parametro, che sostituisce l'unità di misura predefinita per il parametro. L'unità specificata deve essere un'unità CloudWatch metrica valida, come indicato nella `Unit` descrizione in. [MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)

La sezione `jmx` può includere anche il campo facoltativo `append_dimensions`:
+ `append_dimensions` Facoltativo. Le dimensioni aggiuntive da utilizzare solo per i parametri di processo. Se specifichi questo campo, viene utilizzato in aggiunta alle dimensioni specificate nel campo `append_dimensions`, usato per tutti i tipi di parametri raccolti dall'agente.

**I seguenti campi sono solo per Amazon EC2.**
+ `endpoint`: l'indirizzo a cui il client JMX deve connettersi. Il formato è `ip:port`. Se l'endpoint non è il localhost, è necessario abilitare l'autenticazione tramite password e SSL.
+ `metrics_collection_interval` Facoltativo. Specifica la frequenza di raccolta dei parametri di processo, sostituendo il valore di `metrics_collection_interval` globale specificato nella sezione `agent` del file di configurazione.

  Questo valore è specificato in secondi. Ad esempio, il valore 10 causa la raccolta dei parametri ogni 10 secondi; il valore 300 specifica che i parametri devono essere raccolti ogni 5 minuti.

  Se imposti questo valore al di sotto di 60 secondi, ogni parametro viene raccolto come parametro ad alta risoluzione. Per ulteriori informazioni, consulta [Parametri ad alta risoluzione](publishingMetrics.md#high-resolution-metrics). 

Se JMX è stato abilitato con l'autenticazione tramite password o SSL per l'accesso remoto, puoi utilizzare i seguenti campi.
+ `password_file` : Opzionale. Specifica un file di proprietà Java contenente le chiavi delle password. Il file deve essere di sola lettura e riservato all'utente che esegue l'agente. CloudWatch Se l'autenticazione tramite password è abilitata, è necessaria la stessa coppia di nome utente e password della voce nel file di password JMX fornito nella proprietà `com.sun.management.jmxremote.password.file`. Se SSL è abilitato, è necessario specificare `keystore` e `truststore`, corrispondenti rispettivamente a `javax.net.ssl.keyStorePassword` e `javax.net.ssl.trustStorePassword`.
+ `username`: se l'autenticazione con password è abilitata, specifica il nome utente che corrisponde al nome utente nel file di password fornito.
+ `keystore_path`: se SSL è abilitato, specifica il percorso completo del keystore Java, che consiste in una chiave privata e un certificato per la chiave pubblica. Corrisponde alla proprietà `javax.net.ssl.keyStore`.
+ `keystore_type`: se SSL è abilitato, specifica il tipo di keystore utilizzato. Corrisponde alla proprietà `javax.net.ssl.keyStoreType`.
+ `truststore_path`: se SSL è abilitato, specifica il percorso completo del truststore Java, che deve contenere il certificato pubblico del server JMX remoto. Corrisponde alla proprietà `javax.net.ssl.trustStore`.
+ `truststore_type`: se SSL è abilitato, specifica il tipo di truststore utilizzato. Corrisponde alla proprietà `javax.net.ssl.trustStoreType`.
+ `remote_profile` : Opzionale. I profili remoti JMX supportati sono TLS in combinazione con i profili SASL: `SASL/PLAIN`, `SASL/DIGEST-MD5` e `SASL/CRAM-MD5`. Dovrebbe essere uno dei seguenti: `SASL/PLAIN`, `SASL/DIGEST-MD5`, `SASL/CRAM-MD5`, `TLS SASL/PLAIN`, `TLS SASL/DIGEST-MD5` o `TLS SASL/CRAM-MD5`
+ `realm` : Opzionale. Il realm richiesto dal profilo remoto `SASL/DIGEST-MD5`.
+ `registry_ssl_enabled`: se l'autenticazione del registro RMI è abilitata. Impostato su true se la JVM è stata configurata con `com.sun.management.jmxremote.registry.ssl=true`.
+ `insecure` Imposta il valore su `true` per disattivare la convalida richiesta se l'agente è configurato per un endpoint non localhost.

Di seguito è riportato un esempio della `jmx` sezione del file di configurazione dell' CloudWatch agente.

```
{
  "metrics": {
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "remotehost:1314",
          "jvm": {
            "measurement": [
              "jvm.memory.heap.init",
              "jvm.memory.nonheap.used"
            ]
          },
          "kafka": {
            "measurement": [
              "kafka.request.count",
              {
                "name": "kafka.message.count",
                "rename": "KAFKA_MESSAGE_COUNT",
                "unit": "Count"
              }
            ]
          },
          "username": "cwagent",
          "keystore_path": "/path/to/keystore",
          "keystore_type": "PKCS12",
          "truststore_path": "/path/to/truststore",
          "truststore_type": "PKCS12"
        },
        {
          "endpoint": "localhost:1315",
          "kafka-producer": {
            "measurement": [
              "kafka.producer.request-rate"
            ]
          },
          "append_dimensions": {
            "service.name": "kafka/1"
          }
        }
      ]
    }
  }
}
```

## Raccolta di metriche di JVM
<a name="CloudWatch-Agent-JVM-metrics"></a>

Puoi utilizzare l' CloudWatch agente per raccogliere i parametri della Java Virtual Machine (JVM). Per configurarlo, aggiungi una `jvm` sezione all'interno della `jmx` sezione del file di configurazione dell' CloudWatchagente.

È possibile raccogliere i seguenti parametri.


| Metrica | Dimensioni | Description | 
| --- | --- | --- | 
|  `jvm.classes.loaded` | [DEFAULT] |  Il numero totale di classi caricate. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.gc.collections.count` | [DEFAULT], `name` |  Il numero totale di rimozioni di oggetti inutili che si sono verificate. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.gc.collections.elapsed` | [DEFAULT], `name` |  Il tempo cumulativo e approssimativo trascorso di rimozione di oggetti inutili. **Unità:** millisecondi **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.memory.heap.init` | [DEFAULT] |  La quantità iniziale di memoria richiesta dalla JVM al sistema operativo per l'heap. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.memory.heap.max` |  [DEFAULT]  |  La quantità massima di memoria che può essere utilizzata per l'heap. **Unità:** byte **Statistiche significative**: massimo  | 
|  `jvm.memory.heap.used` | [DEFAULT] |  L'attuale utilizzo della memoria heap. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.memory.heap.committed` | [DEFAULT] |  La quantità di memoria la cui disponibilità è garantita per l'heap. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.memory.nonheap.init` | [DEFAULT] |  La quantità iniziale di memoria richiesta dalla JVM al sistema operativo per scopi diversi dall'heap. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.memory.nonheap.max` | [DEFAULT] |  La quantità massima di memoria che può essere utilizzata per scopi diversi dall'heap. **Unità:** byte **Statistiche significative**: massimo  | 
|  `jvm.memory.nonheap.used` | [DEFAULT] |  L'attuale utilizzo della memoria non heap. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.memory.nonheap.committed` | [DEFAULT] |  La quantità di memoria la cui disponibilità è garantita per scopi diversi dall'heap. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.memory.pool.init` |  [DEFAULT], `name` |  La quantità iniziale di memoria richiesta dalla JVM al sistema operativo per il pool di memoria. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.memory.pool.max` |  [DEFAULT], `name` |  La quantità massima di memoria che può essere utilizzata per il pool di memoria. **Unità:** byte **Statistiche significative**: massimo  | 
|  `jvm.memory.pool.used` |  [DEFAULT], `name` |  L'attuale utilizzo di memoria del pool di memoria. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.memory.pool.committed` |  [DEFAULT], `name` |  La quantità di memoria la cui disponibilità è garantita per il pool di memoria. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `jvm.threads.count` | [DEFAULT] |  Il numero corrente di thread. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 

Le metriche JVM vengono raccolte con le seguenti dimensioni:


| Dimensione | Description | 
| --- | --- | 
| [DEFAULT] | Su Amazon EC2, per impostazione predefinita, l'host viene pubblicato anche come dimensione delle metriche raccolte dall' CloudWatch agente, a meno che non si utilizzi il `append_dimensions` campo nella sezione. `metrics` Per ulteriori informazioni, consulta `omit_hostname` nella sezione dell'agente di [Crea o modifica manualmente il file di configurazione CloudWatch dell'agente](CloudWatch-Agent-Configuration-File-Details.md). Su Amazon EKS, per impostazione predefinita, il contesto relativo a k8s viene pubblicato anche come dimensioni delle metriche (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`, `k8s.node.name`, `k8s.pod.name` e `k8s.replicaset.name`). Questi possono essere filtrati utilizzando il campo `aggregation_dimensions`.  | 
| `name` | Per le metriche `jvm.gc.collections`, il valore è il nome del raccoglitore di oggetti inutili. Per le metriche `jvm.memory.pool`, il valore è il nome del pool di memoria.  | 

## Raccolta di metriche di Kafka
<a name="CloudWatch-Agent-Kafka-metrics"></a>

Puoi utilizzare l' CloudWatch agente per raccogliere i parametri di Apache Kafka. Per configurarlo, aggiungi una o più delle seguenti sottosezioni all'interno della `jmx` sezione del file di configurazione dell'agente. CloudWatch
+ Utilizza una sezione `kafka` per raccogliere le metriche del broker Kafka.
+ Utilizza una sezione `kafka-consumer` per raccogliere le metriche del consumatore di Kafka.
+ Utilizza una sezione `kafka-producer` per raccogliere le metriche del produttore di Kafka.

**Metriche del broker Kafka**

È possibile raccogliere le seguenti metriche per i broker Kafka.


| Metrica | Dimensioni | Description | 
| --- | --- | --- | 
|  `kafka.message.count` | [DEFAULT] |  Il numero di messaggi ping ricevuti dal broker Kafka. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.request.count` |  [DEFAULT], `type` |  Il numero di richieste ricevute dal broker Kafka. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.request.failed` | [DEFAULT], `type` |  Il numero di richieste al broker Kafka che hanno portato a un errore. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.request.time.total` | [DEFAULT], `type` |  Il tempo totale impiegato dal broker Kafka per soddisfare le richieste di servizio. **Unità:** millisecondi **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.request.time.50p` | [DEFAULT], `type` |  Il 50° percentile impiegato dal broker Kafka per rispondere alle richieste di servizio. **Unità:** millisecondi **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.request.time.99p` | [DEFAULT], `type` |  Il 99° percentile impiegato dal broker Kafka per rispondere alle richieste di servizio. **Unità:** millisecondi **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.request.time.avg` | [DEFAULT], `type` |  Il tempo medio impiegato dal broker Kafka per soddisfare le richieste di servizio. **Unità:** millisecondi **Statistiche significative**: media  | 
|  `kafka.network.io` | [DEFAULT], `state` |  Il numero di byte ricevuti o inviati dal broker Kafka. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.purgatory.size` | [DEFAULT], `type` |  Il numero di richieste in attesa in purgatorio. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.partition.count` | [DEFAULT] |  Il numero di partizioni del broker Kafka. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.partition.offline` | [DEFAULT] |  Il numero di partizioni che sono offline. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.partition.under_replicated` | [DEFAULT] |  Il numero di partizioni sottoreplicate. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.isr.operation.count` | [DEFAULT], `operation` |  Il numero di operazioni di riduzione ed espansione delle repliche sincronizzate. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.max.lag` | [DEFAULT] |  Il ritardo massimo nei messaggi tra le repliche del follower e del leader. **Unità:** nessuna **Statistiche significative**: massimo  | 
|  `kafka.controller.active.count` |  [DEFAULT] |  Il numero di controller attivi sul broker. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.leader.election.rate` |  [DEFAULT] |  Il tasso di elezione dei leader. Se questo aumenta, indica gli errori del broker. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.unclean.election.rate` |  [DEFAULT] |  Il tasso di elezione non corretto per i leader. Se questo aumenta, indica gli errori del broker. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.request.queue` |  [DEFAULT] |  La dimensione della coda delle richieste. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.logs.flush.time.count`  |  [DEFAULT] |  Il numero di svuotamenti dei log. **Unità:** millisecondi **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.logs.flush.time.median` |  [DEFAULT] |  Il valore del 50° percentile del numero di svuotamenti dei log. **Unità:** millisecondi **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.logs.flush.time.99p` |  [DEFAULT] |  Il valore del 99° percentile del numero di svuotamenti dei log. **Unità:** millisecondi **Statistiche significative:** minimo, massimo, media  | 

Le metriche del broker Kafka vengono raccolte con le seguenti dimensioni:


| Dimensione | Description | 
| --- | --- | 
| [DEFAULT] | Su Amazon EC2, per impostazione predefinita, l'host viene pubblicato anche come dimensione delle metriche raccolte dall' CloudWatch agente, a meno che non si utilizzi il `append_dimensions` campo nella sezione. `metrics` Per ulteriori informazioni, consulta `omit_hostname` nella sezione dell'agente di [Crea o modifica manualmente il file di configurazione CloudWatch dell'agente](CloudWatch-Agent-Configuration-File-Details.md). Su Amazon EKS, per impostazione predefinita, il contesto relativo a k8s viene pubblicato anche come dimensioni delle metriche (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`, `k8s.node.name`, `k8s.pod.name` e `k8s.replicaset.name`). Questi possono essere filtrati utilizzando il campo `aggregation_dimensions`.  | 
| `type` | Il tipo di richiesta. I valori possibili sono `produce`, `fetch`, `fetchconsumer` e `fetchfollower`. | 
| `state` | La direzione del traffico di rete. I valori possibili sono `in` e `out`. | 
| `operation` | Il tipo di operazione per la replica sincronizzata. I valori possibili sono `shrink` e `expand`. | 

**Metriche dei consumatori di Kafka**

È possibile raccogliere le seguenti metriche per i consumatori di Kafka.


| Metrica | Dimensioni | Description | 
| --- | --- | --- | 
|  `kafka.consumer.fetch-rate` | [DEFAULT], `client-id` |  Il numero di richieste di recupero per tutti gli argomenti al secondo. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.consumer.records-lag-max` |  [DEFAULT], `client-id` |  Il numero di messaggi di ritardo del consumatore rispetto al produttore. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.consumer.total.bytes-consumed-rate` |  [DEFAULT], `client-id` |  Il numero medio di byte consumati al secondo per tutti gli argomenti. **Unità:** byte **Statistiche significative**: media  | 
|  `kafka.consumer.total.fetch-size-avg` |  [DEFAULT], `client-id` |  Il numero di byte recuperati per richiesta per tutti gli argomenti. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.consumer.total.records-consumed-rate` |  [DEFAULT], `client-id` |  Il numero medio di record consumati al secondo per tutti gli argomenti. **Unità:** nessuna **Statistiche significative**: media  | 
|  `kafka.consumer.bytes-consumed-rate` |  [DEFAULT], `client-id`, `topic` |  Il numero medio di byte consumati al secondo. **Unità:** byte **Statistiche significative**: media  | 
|  `kafka.consumer.fetch-size-avg` | [DEFAULT], `client-id`, `topic` |  Il numero di byte recuperati per richiesta. **Unità:** byte **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.consumer.records-consumed-rate` | [DEFAULT], `client-id`, `topic` |  Il numero medio di record consumati al secondo. **Unità:** nessuna **Statistiche significative**: media  | 

Le metriche del consumatore Kafka vengono raccolte con le seguenti dimensioni:


| Dimensione | Description | 
| --- | --- | 
| [DEFAULT] | Su Amazon EC2, per impostazione predefinita, l'host viene pubblicato anche come dimensione delle metriche raccolte dall' CloudWatch agente, a meno che non si utilizzi il `append_dimensions` campo nella sezione. `metrics` Per ulteriori informazioni, consulta `omit_hostname` nella sezione dell'agente di [Crea o modifica manualmente il file di configurazione CloudWatch dell'agente](CloudWatch-Agent-Configuration-File-Details.md). Su Amazon EKS, per impostazione predefinita, il contesto relativo a k8s viene pubblicato anche come dimensioni delle metriche (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`, `k8s.node.name`, `k8s.pod.name` e `k8s.replicaset.name`). Questi possono essere filtrati utilizzando il campo `aggregation_dimensions`.  | 
| `client-id` | ID del client. | 
| `topic` | L'argomento Kafka. | 

**Metriche dei produttori di Kafka**

È possibile raccogliere le seguenti metriche per i produttori di Kafka.


| Metrica | Dimensioni | Description | 
| --- | --- | --- | 
|  `kafka.producer.io-wait-time-ns-avg` | [DEFAULT], `client-id` |  Il tempo medio impiegato dal I/O thread in attesa che un socket fosse pronto per la lettura o la scrittura. **Unità:** nessuna **Statistiche significative**: media  | 
|  `kafka.producer.outgoing-byte-rate` | [DEFAULT], `client-id` |  Il numero medio di byte in uscita inviati al secondo a tutti i server. **Unità:** byte **Statistiche significative**: media  | 
|  `kafka.producer.request-latency-avg` | [DEFAULT], `client-id` |  La latenza media delle richieste. **Unità:** millisecondi **Statistiche significative**: media  | 
|  `kafka.producer.request-rate` | [DEFAULT], `client-id` |  Il numero medio di richieste inviate al secondo. **Unità:** nessuna **Statistiche significative**: media  | 
|  `kafka.producer.response-rate` | [DEFAULT], `client-id` |  Il numero di risposte ricevute al secondo. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `kafka.producer.byte-rate` | [DEFAULT], `client-id`, `topic` |  Il numero medio di byte inviati al secondo per un argomento. **Unità:** byte **Statistiche significative**: media  | 
|  `kafka.producer.compression-rate` | [DEFAULT], `client-id`, `topic` |  Il tasso di compressione medio dei batch di record per un argomento. **Unità:** nessuna **Statistiche significative**: media  | 
|  `kafka.producer.record-error-rate` | [DEFAULT], `client-id`, `topic` |  Il numero medio al secondo di invio di record che hanno generato errori per un argomento. **Unità:** nessuna **Statistiche significative**: media  | 
|  `kafka.producer.record-retry-rate` | [DEFAULT], `client-id`, `topic` |  Il numero medio al secondo di record ritentati inviati per un argomento. **Unità:** nessuna **Statistiche significative**: media  | 
|  `kafka.producer.record-send-rate` | [DEFAULT], `client-id`, `topic` |  Il numero medio di record inviati al secondo per un argomento. **Unità:** nessuna **Statistiche significative**: media  | 

Le metriche del produttore Kafka vengono raccolte con le seguenti dimensioni:


| Dimensione | Description | 
| --- | --- | 
| [DEFAULT] | Su Amazon EC2, per impostazione predefinita, l'host viene pubblicato anche come dimensione delle metriche raccolte dall' CloudWatch agente, a meno che non si utilizzi il `append_dimensions` campo nella sezione. `metrics` Per ulteriori informazioni, consulta `omit_hostname` nella sezione dell'agente di [Crea o modifica manualmente il file di configurazione CloudWatch dell'agente](CloudWatch-Agent-Configuration-File-Details.md). Su Amazon EKS, per impostazione predefinita, il contesto relativo a k8s viene pubblicato anche come dimensioni delle metriche (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`, `k8s.node.name`, `k8s.pod.name` e `k8s.replicaset.name`). Questi possono essere filtrati utilizzando il campo `aggregation_dimensions`.  | 
| `client-id` | ID del client. | 
| `topic` | L'argomento Kafka. | 

## Raccolta di metriche di Tomcat
<a name="CloudWatch-Agent-Tomcat-metrics"></a>

Puoi utilizzare l' CloudWatch agente per raccogliere i parametri di Apache Tomcat. Per configurarlo, aggiungi una `tomcat` sezione all'interno della `metrics_collected` sezione del file di configurazione dell' CloudWatch agente.

È possibile raccogliere i seguenti parametri.


| Metrica | Dimensioni | Description | 
| --- | --- | --- | 
|  `tomcat.sessions` | [DEFAULT] |  Il numero di sessioni attive nel dominio. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `tomcat.errors`  | [DEFAULT], `proto_handler` |  Il numero di errori riscontrati. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media  | 
|  `tomcat.processing_time`  | [DEFAULT], `proto_handler` |  Il tempo totale di elaborazione. **Unità:** millisecondi **Statistiche significative:** minimo, massimo, media   | 
|  `tomcat.traffic`  | [DEFAULT], `proto_handler` |  Il numero di byte inviati e ricevuti. **Unità:** byte **Statistiche significative:** minimo, massimo, media   | 
|  `tomcat.threads`  | [DEFAULT], `proto_handler` |  Il numero di thread. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media   | 
|  `tomcat.max_time`  | [DEFAULT], `proto_handler`, `direction` |  Tempo massimo per elaborare una richiesta. **Unità:** millisecondi **Statistiche significative**: massimo   | 
|  `tomcat.request_count`  | [DEFAULT], `proto_handler` |  Il totale delle richieste. **Unità:** nessuna **Statistiche significative:** minimo, massimo, media   | 

Le metriche Tomcat vengono raccolte con le seguenti dimensioni:


| Dimensione | Description | 
| --- | --- | 
| [DEFAULT] | Su Amazon EC2, per impostazione predefinita, l'host viene pubblicato anche come dimensione delle metriche raccolte dall' CloudWatch agente, a meno che non si utilizzi il `append_dimensions` campo nella sezione. `metrics` Per ulteriori informazioni, consulta `omit_hostname` nella sezione dell'agente di [Crea o modifica manualmente il file di configurazione CloudWatch dell'agente](CloudWatch-Agent-Configuration-File-Details.md). Su Amazon EKS, per impostazione predefinita, il contesto relativo a k8s viene pubblicato anche come dimensioni delle metriche (`k8s.container.name`, `k8s.deployment.name`, `k8s.namespace.name`, `k8s.node.name`, `k8s.pod.name` e `k8s.replicaset.name`). Questi possono essere filtrati utilizzando il campo `aggregation_dimensions`.  | 
| `proto_handler` | `proto_handler` è un identificativo per un connettore, fornito nel formato `<protocol>-<type>-<port>` (ad esempio, `http-nio-8080`). | 
| `direction` | La direzione del traffico. I valori possibili sono `received` e `sent`.  | 

# Raccogli metriche e tracce con OpenTelemetry
<a name="CloudWatch-Agent-OpenTelemetry-metrics"></a>

 Puoi raccogliere metriche e tracce dalle tue applicazioni o servizi utilizzando l' CloudWatchagente con il OpenTelemetry protocollo (OTLP), una popolare soluzione open source. Puoi utilizzare qualsiasi OpenTelemetry SDK per inviare metriche e tracce all'agente. CloudWatch Per ulteriori informazioni su ciò che è disponibile OpenTelemetry SDKs, consulta [Lingua OpenTelemetry APIs supportata &](https://opentelemetry.io/docs/languages/). SDKs .

Per raccogliere OpenTelemetry metriche e tracce, aggiungete una `otlp` sezione al file di configurazione dell' CloudWatch agente. La sezione contiene i seguenti campi:
+ `grpc_endpoint` : Opzionale. Speciifica l'indirizzo che l' CloudWatchagente deve utilizzare per ascoltare le OpenTelemetry metriche o le tracce inviate utilizzando chiamate di procedura remota gRPC. Il formato è `ip:port`. Questo indirizzo deve corrispondere all'indirizzo impostato per l'esportatore gRPC nell'SDK. OpenTelemetry Se ometti questo campo, verrà utilizzato il valore predefinito `127.0.0.1:4317`.
+ `http_endpoint` : Opzionale. Speciifica l'indirizzo che l' CloudWatch agente deve utilizzare per ascoltare le OpenTelemetry metriche o le tracce inviate tramite HTTP. Il formato è `ip:port`. Questo indirizzo deve corrispondere all'indirizzo impostato per l'esportatore HTTP nell'SDK. OpenTelemetry Se ometti questo campo, verrà utilizzato il valore predefinito `127.0.0.1:4318`.
+ `tls` : Opzionale. Specifica che il server deve essere configurato con TLS.
  + `cert_file`: il percorso del certificato TLS da utilizzare per le connessioni TLS richieste.
  + `key_file`: il percorso della chiave TLS da utilizzare per le connessioni TLS richieste.

La `otlp` sezione può essere inserita in più sezioni all'interno del file di configurazione dell' CloudWatch agente a seconda di come e dove si desidera inviare le metriche e le tracce.

**Importante**  
Ogni sezione `otlp` richiede un endpoint e una porta univoci. Per informazioni dettagliate sulla suddivisione degli endpoint delle metriche e delle tracce, consulta [OTLP Exporter](https://opentelemetry.io/docs/languages/sdk-configuration/otlp-exporter/) Configuration nella documentazione SDK. OpenTelemetry 

Per inviare i parametri al CloudWatch nostro Amazon Managed Service for Prometheus, aggiungi `otlp` la sezione sottostante all'interno della sezione. `metrics_collected` `metrics` Per ulteriori informazioni sull'invio di metriche a destinazioni diverse, consulta[Crea o modifica manualmente il file di configurazione CloudWatch dell'agente](CloudWatch-Agent-Configuration-File-Details.md). L'esempio seguente mostra una configurazione che invia metriche a: CloudWatch

**Nota**  
 Se esegui l'agente in ambienti containerizzati e invii telemetria dall'esterno della rete del container dell'agente, assicurati di specificare l'endpoint come `0.0.0.0` anziché l'endpoint predefinito `127.0.0.1`.

```
{
  "metrics": {
    "metrics_collected": {
      "otlp": {
        "grpc_endpoint": "127.0.0.1:4317",
        "http_endpoint": "127.0.0.1:4318"
      }
    }
  }
}
```

Per inviare i parametri ad Amazon CloudWatch Logs utilizzando il formato Embedded metric (EMF), aggiungi la `otlp` sezione sotto `metrics_collected` all'interno della sezione. `logs` Per impostazione predefinita, questo invia i log EMF al gruppo di log `/aws/cwagent` e un flusso di log generato. Per impostazione predefinita, le metriche vengono estratte nel namespace `CWAgent`. L'esempio seguente mostra una configurazione che invia le metriche come log EMF a Logs: CloudWatch 

```
{
  "logs": {
    "metrics_collected": {
      "otlp": {
        "grpc_endpoint": "127.0.0.1:4317",
        "http_endpoint": "127.0.0.1:4318"
      }
    }
  }
}
```

Per inviare tracce a AWS X-Ray, aggiungete la `otlp` sezione sottostante all'interno della sezione`traces_collected`. `traces` L'esempio seguente mostra una configurazione che invia le metriche a X-Ray:

```
{
  "traces": {
    "traces_collected": {
      "otlp": {
        "grpc_endpoint": "127.0.0.1:4317",
        "http_endpoint": "127.0.0.1:4318"
      }
    }
  }
}
```

# Raccolta di parametri dei processi con il plug-in procstat
<a name="CloudWatch-Agent-procstat-process-metrics"></a>

 Il plug-in *procstat* consente di recuperare i parametri dai singoli processi. Il plug-in è supportato su server Linux e server che eseguono una versione supportata di Windows Server. Questa sezione descrive come configurare l' CloudWatchagente per procstat e visualizzare le metriche importate dall' CloudWatch agente. Elenca anche le metriche raccolte da procstat. 

**Nota**  
Il plug-in `procstat` non è supportato per il tipo di avvio Fargate in ambienti Amazon ECS. 

**Topics**
+ [Configurare l'agente per procstat CloudWatch](#CloudWatch-Agent-procstat-configuration)
+ [Parametri raccolti da Procstat](#CloudWatch-Agent-procstat-process-metrics-collected)
+ [Visualizzazione delle metriche di processo importate dall'agente CloudWatch](#CloudWatch-view-procstat-metrics)

## Configurare l'agente per procstat CloudWatch
<a name="CloudWatch-Agent-procstat-configuration"></a>

Per utilizzare il plugin procstat, aggiungi una `procstat` sezione nella sezione del file di configurazione dell'`metrics_collected`agente. CloudWatch Esistono tre modi per specificare i processi da monitorare. Puoi usare solo uno di questi metodi, ma puoi specificare uno o più processi da monitorare.
+ `pid_file`: consente di selezionare i processi in base ai nomi dei file PID creati. 
+ `exe`: consente di selezionare i processi i cui nomi corrispondono alla stringa specificata, utilizzando regole di corrispondenza delle espressioni regolari. La corrispondenza è di tipo "contiene", ovvero se si specifica `agent` come il termine da abbinare, i processi con nomi come `cloudwatchagent` corrispondono al termine. Per ulteriori informazioni, consulta la pagina [Syntax](https://github.com/google/re2/wiki/Syntax).
+ `pattern`: consente di selezionare i processi in base alla righe di comando utilizzate per avviare i processi. Le righe di comando di tutti i processi selezionati corrispondono alla stringa specificata utilizzando regole di corrispondenza delle espressioni regolari. L'intera riga di comando è selezionata, inclusi i parametri e le opzioni utilizzati con il comando.

   La corrispondenza è di tipo "contiene", ovvero se si specifica `-config` come il termine da abbinare, i processi con parametri come `-c` corrispondono al termine. 

L' CloudWatch agente utilizza solo uno di questi metodi, anche se includi più di una delle sezioni precedenti. Se si specifica più di una sezione, l' CloudWatch agente utilizza la `pid_file` sezione se presente. In caso contrario, utilizza la sezione `exe`.

Su Linux server, le stringhe specificate in una sezione `exe` o `pattern` vengono valutate come espressioni regolari. Su server che eseguono Windows Server, queste stringhe vengono valutate come query WMI. Ad esempio, sarebbe `pattern: "%apache%"`. Per ulteriori informazioni, consulta la pagina [LIKE Operator](https://docs.microsoft.com/en-us/windows/desktop/WmiSdk/like-operator).

Indipendentemente dal metodo utilizzato, puoi includere un parametro `metrics_collection_interval` opzionale, che specifica la frequenza in secondi di raccolta di tali parametri. Se non specifichi questo parametro, verrà utilizzato il valore predefinito di 60 secondi.

Negli esempi nelle sezioni seguenti, la sezione `procstat` è la sola inclusa nella sezione `metrics_collected` del file di configurazione dell'agente. I file di configurazione effettivi possono anche includere altre sezioni in `metrics_collected`. Per ulteriori informazioni, consulta [Crea o modifica manualmente il file di configurazione CloudWatch dell'agente](CloudWatch-Agent-Configuration-File-Details.md).

### Configurazione con pid\$1file
<a name="CloudWatch-Agent-procstat-configuration-pidfile"></a>

La sezione `procstat` di esempio seguente monitora i processi che creano i file PID `example1.pid` e `example2.pid`. Ogni processo raccogli parametri diversi. I parametri raccolti dal processo che crea `example2.pid` vengono raccolti ogni 10 secondi, mentre i parametri raccolti dal processo `example1.pid` vengono raccolti ogni 60 secondi, ovvero il valore predefinito. 

```
{
    "metrics": {
        "metrics_collected": {
            "procstat": [
                {
                    "pid_file": "/var/run/example1.pid",
                    "measurement": [
                        "cpu_usage",
                        "memory_rss"
                    ]
                },
                {
                    "pid_file": "/var/run/example2.pid",
                    "measurement": [
                        "read_bytes",
                        "read_count",
                        "write_bytes"
                    ],
                    "metrics_collection_interval": 10
                }
            ]
        }
    }
}
```

### Configurazione con exe
<a name="CloudWatch-Agent-procstat-configuration-exe"></a>

La sezione `procstat` di esempio seguente monitora tutti i processi con nomi che corrispondono alle stringhe `agent` o `plugin`. Ogni processo raccoglie gli stessi parametri. 

```
{
    "metrics": {
        "metrics_collected": {
            "procstat": [
                {
                    "exe": "agent",
                    "measurement": [
                        "cpu_time",
                        "cpu_time_system",
                        "cpu_time_user"
                    ]
                },
                {
                    "exe": "plugin",
                    "measurement": [
                        "cpu_time",
                        "cpu_time_system",
                        "cpu_time_user"
                    ]
                }
            ]
        }
    }
}
```

### Configurazione con modello
<a name="CloudWatch-Agent-procstat-configuration-pattern"></a>

La sezione `procstat` di esempio seguente monitora tutti i processi con righe di comando che corrispondono alle stringhe `config` o `-c`. Ogni processo raccoglie gli stessi parametri. 

```
{
    "metrics": {
        "metrics_collected": {
            "procstat": [
                {
                    "pattern": "config",
                    "measurement": [
                        "rlimit_memory_data_hard",
                        "rlimit_memory_data_soft",
                        "rlimit_memory_stack_hard",
                        "rlimit_memory_stack_soft"
                    ]
                },
                {
                    "pattern": "-c",
                    "measurement": [
                        "rlimit_memory_data_hard",
                        "rlimit_memory_data_soft",
                        "rlimit_memory_stack_hard",
                        "rlimit_memory_stack_soft"
                    ]
                }
            ]
        }
    }
}
```

## Parametri raccolti da Procstat
<a name="CloudWatch-Agent-procstat-process-metrics-collected"></a>

La tabella seguente elenca i parametri che puoi raccogliere con il plug-in `procstat`.

L' CloudWatch agente aggiunge `procstat` all'inizio dei seguenti nomi di metriche. La sintassi varia a seconda che la raccolta venga eseguita da un server Linux o da un server che esegue Windows Server. Ad esempio, il parametro `cpu_time` viene visualizzato come `procstat_cpu_time` quando viene raccolto da Linux e come `procstat cpu_time` quando viene raccolto da Windows Server.


| Nome parametro | Disponibile su | Description | 
| --- | --- | --- | 
|  `cpu_time` |  Linux |  Il tempo di utilizzo della CPU. Questo parametro è misurato in centesimi di secondo. Unità: numero  | 
|  `cpu_time_guest` |  Linux |  Il periodo di tempo durante il quale il processo si trova in modalità guest. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: nessuna  | 
|  `cpu_time_guest_nice` |  Linux |  Il tempo in cui il processo è in esecuzione su un guest nice. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: nessuna  | 
|  `cpu_time_idle` |  Linux |  Il periodo di tempo durante il quale il processo si trova in modalità di inattività. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: nessuna  | 
|  `cpu_time_iowait` |  Linux |  Il periodo di attesa del processo per il completamento I/O delle operazioni. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: nessuna  | 
|  `cpu_time_irq` |  Linux |  Il periodo di tempo durante il quale il processo lavora sulle interruzioni. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: nessuna  | 
|  `cpu_time_nice` |  Linux |  Il periodo di tempo durante il quale il processo si trova in modalità nice. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: nessuna  | 
|  `cpu_time_soft_irq` |  Linux |  Il periodo di tempo durante il quale il processo lavora sulle interruzioni del software. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: nessuna  | 
|  `cpu_time_steal` |  Linux |  Il tempo impiegato per l'esecuzione in altri sistemi operativi durante l'esecuzione in un ambiente virtualizzato. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: nessuna  | 
|  `cpu_time_stolen` |  Linux, Windows Server |  Il periodo di tempo durante il quale il processo si trova nello stato di *stolen time* (tempo rubato), ovvero il tempo impiegato su altri sistemi operativi in un ambiente virtualizzato. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: nessuna  | 
|  `cpu_time_system` |  Linux, Windows Server, macOS |  Il periodo di tempo durante il quale il processo si trova in modalità di sistema. Questo parametro è misurato in centesimi di secondo. Tipo: Float Unità: numero  | 
|  `cpu_time_user` |  Linux, Windows Server, macOS |  Il periodo di tempo durante il quale il processo si trova in modalità utente. Questo parametro è misurato in centesimi di secondo. Unità: numero  | 
|  `cpu_usage` |  Linux, Windows Server, macOS |  La percentuale di tempo durante il quale il processo è attivo su qualsiasi capacità. Unità: percentuale  | 
|  `memory_data` |  Linux, macOS |  La quantità di memoria utilizzata dal processo per i dati. Unità: byte  | 
|  `memory_locked` |  Linux, macOS |  La quantità di memoria bloccata dal processo. Unità: byte  | 
|  `memory_rss` |  Linux, Windows Server, macOS |  La quantità di memoria reale (set residente) utilizzata dal processo. Unità: byte  | 
|  `memory_stack` |  Linux, macOS |  La quantità di memoria stack utilizzata dal processo. Unità: byte  | 
|  `memory_swap` |  Linux, macOS |  La quantità di memoria swap utilizzata dal processo. Unità: byte  | 
|  `memory_vms` |  Linux, Windows Server, macOS |  La quantità di memoria virtuale utilizzata dal processo. Unità: byte  | 
|  `num_fds` |  Linux |  Il numero di descrittori di file aperti da questo processo. Unità: nessuna  | 
|  `num_threads` |  Linux, Windows, macOS |  Il numero di thread nel processo. Unità: nessuna  | 
|  `pid` |  Linux, Windows Server, macOS |  Identificatore processo (ID). Unità: nessuna  | 
|  `pid_count` |  Linux, Windows Server, macOS |  Il numero di processi IDs associati al processo. Sui server Linux e sui computer macOS il nome completo di questa metrica è `procstat_lookup_pid_count` e su Windows Server è `procstat_lookup pid_count`. Unità: nessuna  | 
|  `read_bytes` |  Linux, Windows Server |  Il numero di byte letti dal processo dai dischi. Unità: byte  | 
|  `write_bytes` |  Linux, Windows Server |  Il numero di byte scritti dal processo sui dischi. Unità: byte  | 
|  `read_count` |  Linux, Windows Server |  Il numero di operazioni di lettura del disco eseguite dal processo. Unità: nessuna  | 
|  `rlimit_realtime_priority_hard` |  Linux |  Il limite hard alla priorità in tempo reale che può essere impostato per questo processo. Unità: nessuna  | 
|  `rlimit_realtime_priority_soft` |  Linux |  Il limite soft alla priorità in tempo reale che può essere impostato per questo processo. Unità: nessuna  | 
|  `rlimit_signals_pending_hard` |  Linux |  Il limite hard al numero massimo di segnali che possono essere messi in coda da questo processo. Unità: nessuna  | 
|  `rlimit_signals_pending_soft` |  Linux |  Il limite soft al numero massimo di segnali che possono essere messi in coda da questo processo. Unità: nessuna  | 
|  `rlimit_nice_priority_hard` |  Linux |  Il limite hard alla priorità nice massima che può essere impostata da questo processo. Unità: nessuna  | 
|  `rlimit_nice_priority_soft` |  Linux |  Il limite soft alla priorità nice massima che può essere impostata da questo processo. Unità: nessuna  | 
|  `rlimit_num_fds_hard` |  Linux |  Il limite del numero massimo di descrittori di file che un processo può avere aperti. Unità: nessuna  | 
|  `rlimit_num_fds_soft` |  Linux |  Il limite soft del numero massimo di descrittori di file che un processo può avere aperti. Unità: nessuna  | 
|  `write_count` |  Linux, Windows Server |  Il numero di operazioni di scrittura del disco eseguite dal processo. Unità: nessuna  | 
|  `involuntary_context_switches` |  Linux |  Il numero di volte in cui si è verificato un passaggio di contesto involontario del processo.  Unità: nessuna  | 
|  `voluntary_context_switches` |  Linux |  Il numero di volte in cui si è verificato un passaggio di contesto volontario del processo.  Unità: nessuna  | 
|  `realtime_priority` |  Linux |  L'utilizzo corrente di priorità real-time per il processo. Unità: nessuna  | 
|  `nice_priority` |  Linux |  L'utilizzo corrente di priorità nice per il processo. Unità: nessuna  | 
|  `signals_pending` |  Linux |  Il numero di segnali in attesa di essere gestiti dal processo. Unità: nessuna  | 
|  `rlimit_cpu_time_hard` |  Linux |  Il limite di risorsa di tempo CPU hard per il processo. Unità: nessuna  | 
|  `rlimit_cpu_time_soft` |  Linux |  Il limite di risorsa di tempo CPU soft per il processo. Unità: nessuna  | 
|  `rlimit_file_locks_hard` |  Linux |  Il limite di risorsa dei blocchi file hard per il processo. Unità: nessuna  | 
|  `rlimit_file_locks_soft` |  Linux |  Il limite di risorsa dei blocchi file soft per il processo. Unità: nessuna  | 
|  `rlimit_memory_data_hard` |  Linux |  Il limite di risorse hard sul processo per memoria utilizzata per i dati. Unità: byte  | 
|  `rlimit_memory_data_soft` |  Linux |  Il limite di risorse soft sul processo per memoria utilizzata per i dati. Unità: byte  | 
|  `rlimit_memory_locked_hard` |  Linux |  Il limite di risorse hard sul processo per memoria bloccata. Unità: byte  | 
|  `rlimit_memory_locked_soft` |  Linux |  Il limite di risorse soft sul processo per memoria bloccata. Unità: byte  | 
|  `rlimit_memory_rss_hard` |  Linux |  Il limite di risorse hard sul processo per memoria fisica. Unità: byte  | 
|  `rlimit_memory_rss_soft` |  Linux |  Il limite di risorse soft sul processo per memoria fisica. Unità: byte  | 
|  `rlimit_memory_stack_hard` |  Linux |  Il limite di risorsa hard sullo stack del processo. Unità: byte  | 
|  `rlimit_memory_stack_soft` |  Linux |  Il limite di risorsa soft sullo stack del processo. Unità: byte  | 
|  `rlimit_memory_vms_hard` |  Linux |  Il limite di risorse hard sul processo per memoria virtuale. Unità: byte  | 
|  `rlimit_memory_vms_soft` |  Linux |  Il limite di risorse soft sul processo per memoria virtuale. Unità: byte  | 

## Visualizzazione delle metriche di processo importate dall'agente CloudWatch
<a name="CloudWatch-view-procstat-metrics"></a>

Dopo aver importato le metriche di processo in CloudWatch, puoi visualizzare queste metriche come grafici di serie temporali e creare allarmi in grado di monitorare queste metriche e avvisarti se superano una soglia specificata. La procedura seguente mostra come visualizzare i parametri del processo come grafico delle serie temporali. Per ulteriori informazioni sull'impostazione degli allarmi, consulta [Utilizzo degli CloudWatch allarmi Amazon](CloudWatch_Alarms.md).

**Per visualizzare le metriche di processo nella console CloudWatch**

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel riquadro di navigazione, seleziona **Parametri**.

1. Scegli lo spazio dei nomi da utilizzare per i parametri raccolti dall'agente. Per impostazione predefinita, lo è **CWAgent**, ma è possibile che sia stato specificato uno spazio dei nomi diverso nel file di configurazione dell' CloudWatch agente.

1. Scegli una dimensione di parametro (ad esempio, **Per-Instance Metrics** (Parametri per istanza)).

1. La scheda **All metrics** (Tutti i parametri) visualizza tutti i parametri per tale dimensione nello spazio dei nomi. È possibile effettuare le seguenti operazioni:

   1. Per creare il grafico di un parametro, seleziona la casella di controllo accanto al parametro. Per selezionare tutte i parametri, seleziona la casella di controllo nella riga dell'intestazione della tabella.

   1. Per ordinare la tabella, utilizza l'intestazione della colonna.

   1. Per filtrare per risorsa, scegli l'ID della risorsa e quindi **Add to search** (Aggiungi alla ricerca).

   1. Per filtrare in base a un parametro, scegli il nome del parametro e quindi **Add to search** (Aggiungi alla ricerca).

1. (Facoltativo) Per aggiungere questo grafico a una CloudWatch dashboard, scegli **Azioni**, **Aggiungi alla dashboard**.

# Recupero dei parametri personalizzati con StatsD
<a name="CloudWatch-Agent-custom-metrics-statsd"></a>

Puoi recuperare metriche personalizzate aggiuntive dalle tue applicazioni o servizi utilizzando l' CloudWatch agente con il `StatsD` protocollo. StatSD è una soluzione open source popolare in grado di raccogliere parametri da un'ampia varietà di applicazioni. StatSD è particolarmente utile per la strumentazione dei parametri. Per un esempio di utilizzo congiunto dell' CloudWatch agente e StatSD, consulta [Come monitorare meglio i parametri delle applicazioni personalizzate utilizzando Amazon](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/) Agent. CloudWatch

`StatsD`è supportato sia su server Linux che su server che eseguono Windows Server. CloudWatch supporta il seguente `StatsD` formato:

```
MetricName:value|type|@sample_rate|#tag1:
  value,tag1...
```
+ `MetricName`: una stringa senza virgola, barre, caratteri \$1 o @.
+ `value`: questo può essere un numero intero o float.
+ `type`: specifica `c` per il contatore, `g` per il misuratore, `ms` per il timer, `h` per l'istogramma o `s` per il set.
+ `sample_rate` (facoltativo) Un float compreso tra 0 e 1, inclusi. Utilizza solo per contatore, istogramma e parametri timer. Il valore predefinito è 1 (campionamento 100% del tempo).
+ `tags`— (Facoltativo) Un elenco di tag separati da virgole. `StatsD`i tag sono simili alle dimensioni di. CloudWatch Utilizza i due punti per tag chiave/valore, ad esempio `env:prod`.

Puoi utilizzare qualsiasi `StatsD` client che segue questo formato per inviare le metriche all' CloudWatch agente. Per ulteriori informazioni su alcuni dei `StatsD` client disponibili, vedere la [pagina del client StatSD su](https://github.com/etsy/statsd/wiki#client-implementations). GitHub 

Per raccogliere questi parametri personalizzati, aggiungi una riga `"statsd": {}` alla sezione `metrics_collected` del file di configurazione dell'agente. È possibile aggiungere questa riga manualmente. Se utilizzi la procedura guidata per creare il file di configurazione, è già tutto previsto. Per ulteriori informazioni, consulta la pagina [Create il file di configurazione dell' CloudWatch agente](create-cloudwatch-agent-configuration-file.md).

La configurazione predefinita `StatsD` funziona per la maggior parte degli utenti. È possibile aggiungere dei campi facoltativi alla sezione **statsd** del file di configurazione dell'agente in base alle esigenze:
+ `service_address`— L'indirizzo del servizio che l' CloudWatch agente deve ascoltare. Il formato è `ip:port`. Se ometti l'indirizzo IP, l'agente ascolta su tutte le interfacce disponibili. È supportato solo il formato UDP, perciò non devi specificare un prefisso UDP. 

  Il valore predefinito è `:8125`.
+ `metrics_collection_interval`: la frequenza in secondi con cui il plug-in `StatsD` viene eseguito e raccoglie i parametri. Il valore predefinito è 10 secondi. L'intervallo varia tra 1 e 172.000.
+ `metrics_aggregation_interval`— Con quale frequenza, in secondi, CloudWatch aggrega le metriche in singoli punti dati. Il valore predefinito è 60 secondi.

  Ad esempio, se `metrics_collection_interval` è 10 ed `metrics_aggregation_interval` è 60, CloudWatch raccoglie i dati ogni 10 secondi. Al termine di ogni minuto, le sei letture di dati di quel minuto vengono aggregate in un singolo punto dati, che viene inviato a CloudWatch.

  L'intervallo varia tra 0 e 172.000. Impostando `metrics_aggregation_interval` su 0 si disabilita l'aggregazione dei parametri `StatsD`.
+ `allowed_pending_messages`: il numero di messaggi UDP che possono essere messi in coda. Quando la coda è piena, il server StatsD inizia a eliminare i pacchetti. Il valore predefinito è 10000.
+ `drop_original_metrics` : Opzionale. Se utilizzi il campo `aggregation_dimensions` nella sezione `metrics` per raggruppare i parametri in risultati aggregati, per impostazione predefinita l'agente invia sia i parametri aggregati che i parametri originali separati per ogni valore della dimensione. Se non desideri che le metriche originali vengano inviate a CloudWatch, puoi specificare questo parametro con un elenco di metriche. Le metriche specificate insieme a questo parametro non hanno le relative metriche per dimensione riportate. CloudWatch Vengono invece riportati solo i parametri aggregati. Ciò riduce il numero di parametri raccolti dall'agente, riducendo i costi.

Di seguito è riportato un esempio della sezione **statsd** del file di configurazione dell'agente, utilizzando la porta di default e intervalli personalizzati di raccolta e aggregazione.

```
{
   "metrics":{
      "metrics_collected":{
         "statsd":{
            "service_address":":8125",
            "metrics_collection_interval":60,
            "metrics_aggregation_interval":300
         }
      }
   }
}
```

## Visualizzazione delle metriche StatsD importate dall'agente CloudWatch
<a name="CloudWatch-view-statsd-metrics"></a>

Dopo aver importato le metriche StatsD CloudWatch in, puoi visualizzare queste metriche come grafici di serie temporali e creare allarmi in grado di guardare queste metriche e avvisarti se superano una soglia specificata. La procedura seguente mostra come visualizzare le parametri StatsD come grafico di serie temporali. Per ulteriori informazioni sull'impostazione degli allarmi, consulta [Utilizzo degli CloudWatch allarmi Amazon](CloudWatch_Alarms.md).

**Per visualizzare le metriche StatsD nella console CloudWatch**

1. Apri la CloudWatch console all'indirizzo. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)

1. Nel riquadro di navigazione, seleziona **Parametri**.

1. Scegli lo spazio dei nomi da utilizzare per i parametri raccolti dall'agente. Per impostazione predefinita, lo è **CWAgent**, ma è possibile che sia stato specificato uno spazio dei nomi diverso nel file di configurazione dell' CloudWatch agente.

1. Scegli una dimensione di parametro (ad esempio, **Per-Instance Metrics** (Parametri per istanza)).

1. La scheda **All metrics** (Tutti i parametri) visualizza tutti i parametri per tale dimensione nello spazio dei nomi. È possibile effettuare le seguenti operazioni:

   1. Per creare il grafico di un parametro, seleziona la casella di controllo accanto al parametro. Per selezionare tutte i parametri, seleziona la casella di controllo nella riga dell'intestazione della tabella.

   1. Per ordinare la tabella, utilizza l'intestazione della colonna.

   1. Per filtrare per risorsa, scegli l'ID della risorsa e quindi **Add to search** (Aggiungi alla ricerca).

   1. Per filtrare in base a un parametro, scegli il nome del parametro e quindi **Add to search** (Aggiungi alla ricerca).

1. (Facoltativo) Per aggiungere questo grafico a una CloudWatch dashboard, scegli **Azioni**, **Aggiungi alla dashboard**.

# Recupero dei parametri personalizzati con collectd
<a name="CloudWatch-Agent-custom-metrics-collectd"></a>

Puoi recuperare metriche aggiuntive dalle tue applicazioni o servizi utilizzando l' CloudWatchagente con il protocollo collectd, supportato solo sui server Linux. collectd è una popolare soluzione open source con plugin in grado di raccogliere statistiche di sistema per un'ampia varietà di applicazioni. Combinando le metriche di sistema che l' CloudWatch agente può già raccogliere con le metriche aggiuntive di collectd, puoi monitorare, analizzare e risolvere meglio i tuoi sistemi e le tue applicazioni. Per ulteriori informazioni su collectd, consulta [collectd - Il daemon di raccolta delle statistiche di sistema](https://collectd.org/).

Si utilizza il software collectd per inviare le metriche all'agente. CloudWatch Per le metriche collectd, l' CloudWatch agente funge da server mentre il plugin collectd funge da client.

Il software collectd non è installato automaticamente su ogni server. Su un server che esegue Amazon Linux 2, attieniti alla seguente procedura per installare collectd

```
sudo amazon-linux-extras install collectd
```

Per informazioni sull'installazione di collectd su altri sistemi, consulta la [pagina dei download per collectd.](https://www.collectd.org/download.html) 

Per raccogliere questi parametri personalizzati, aggiungi una riga **"collectd": \$1\$1** alla sezione **metrics\$1collected** del file di configurazione dell'agente. È possibile aggiungere questa riga manualmente. Se utilizzi la procedura guidata per creare il file di configurazione, è già tutto previsto. Per ulteriori informazioni, consulta la pagina [Create il file di configurazione dell' CloudWatch agente](create-cloudwatch-agent-configuration-file.md).

Sono disponibili anche parametri opzionali. Se utilizzi collectd e non utilizzi `/etc/collectd/auth_file` come **collectd\$1auth\$1file**, è necessario impostare alcune di queste opzioni. 
+ **service\$1address: l'indirizzo** del servizio che l'agente deve ascoltare. CloudWatch Il formato è `"udp://ip:port`. Il valore predefinito è `udp://127.0.0.1:25826`.
+ **name\$1prefix:** Un prefisso da allegare all'inizio del nome di ogni parametro collectd. Il valore predefinito è `collectd_`. La lunghezza massima è 255 caratteri.
+ **collectd\$1security\$1level:** Consente di specificare il livello di protezione per la comunicazione di rete. Il valore predefinito è **encrypt**.

  **encrypt** specifica che vengono accettati solo i dati criptati. **sign** specifica che vengono accettati solo i dati firmati e criptati. **none** specifica che vengono accettati tutti i dati. Se specifichi un valore per **collectd\$1auth\$1file**, i dati criptati vengono decriptati, se possibile.

  Per ulteriori informazioni, consulta [Configurazione del client](https://collectd.org/wiki/index.php/Networking_introduction#Client_setup) e [Possibili interazioni](https://collectd.org/wiki/index.php/Networking_introduction#Possible_interactions) nei Wiki collectd.
+ **collectd\$1auth\$1file** Imposta un file con la mappatura tra nomi utente e password. Queste password vengono utilizzate per verificare le firme e decriptare i pacchetti di rete criptati. Se presenti, i dati firmati vengono verificati e i pacchetti criptati vengono decriptati. In caso contrario, i dati firmati vengono accettati senza controllare la firma e i dati criptati non possono essere decriptati.

  Il valore predefinito è `/etc/collectd/auth_file`.

   Se **collectd\$1security\$1level** è impostato su **none**, questo è facoltativo. Se si è impostato **collectd\$1security\$1level** su `encrypt` o **sign**, è necessario specificare **collectd\$1auth\$1file**.

  Per il formato del file di autorizzazione, ogni riga è un nome utente seguito da due punti e qualsiasi numero di spazi seguiti dalla password. Ad esempio:

  `user1: user1_password`

  `user2: user2_password`
+ **collectd\$1typesdb**: un elenco di uno o più file che contengono le descrizioni dei set di dati. L'elenco deve essere circondato da parentesi, anche se c'è una sola voce nell'elenco. Ogni voce dell'elenco deve essere inclusa nelle virgolette doppie. Se sono presenti più voci, separale con le virgole. Il valore predefinito nei server Linux è `["/usr/share/collectd/types.db"]`. L'impostazione predefinita nei computer macOs dipende dalla versione di collectd. Ad esempio, `["/usr/local/Cellar/collectd/5.12.0/share/collectd/types.db"]`.

  Per ulteriori informazioni, consulta [https://www.collectd.org/documentation/manpages/types.db.html](https://www.collectd.org/documentation/manpages/types.db.html).
+ **metrics\$1aggregation\$1interval:** La frequenza in secondi con cui CloudWatch aggrega i parametri in singoli punti dati. Il valore predefinito è 60 secondi. L'intervallo è compreso tra 0 e 172,000. Se si imposta il valore su 0 si disabilita l'aggregazione dei parametri collectd.

Di seguito è riportato un esempio della sezione collectd di un file di configurazione dell'agente.

```
{
   "metrics":{
      "metrics_collected":{
         "collectd":{
            "name_prefix":"My_collectd_metrics_",
            "metrics_aggregation_interval":120
         }
      }
   }
}
```

## Visualizzazione delle metriche raccolte importate dall'agente CloudWatch
<a name="CloudWatch-view-collectd-metrics"></a>

Dopo aver importato le metriche collectd in CloudWatch, puoi visualizzare queste metriche come grafici di serie temporali e creare allarmi in grado di controllare queste metriche e avvisarti se superano una soglia specificata. La procedura seguente mostra come visualizzare i parametri collectd come grafici delle serie temporali. Per ulteriori informazioni sull'impostazione degli allarmi, consulta [Utilizzo degli CloudWatch allarmi Amazon](CloudWatch_Alarms.md).

**CloudWatch Per visualizzare le metriche raccolte nella console**

1. Apri la CloudWatch console all'indirizzo. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)

1. Nel riquadro di navigazione, seleziona **Parametri**.

1. Scegli lo spazio dei nomi da utilizzare per i parametri raccolti dall'agente. Per impostazione predefinita, lo è **CWAgent**, ma è possibile che sia stato specificato uno spazio dei nomi diverso nel file di configurazione dell' CloudWatch agente.

1. Scegli una dimensione di parametro (ad esempio, **Per-Instance Metrics** (Parametri per istanza)).

1. La scheda **All metrics** (Tutti i parametri) visualizza tutti i parametri per tale dimensione nello spazio dei nomi. È possibile effettuare le seguenti operazioni:

   1. Per creare il grafico di un parametro, seleziona la casella di controllo accanto al parametro. Per selezionare tutte i parametri, seleziona la casella di controllo nella riga dell'intestazione della tabella.

   1. Per ordinare la tabella, utilizza l'intestazione della colonna.

   1. Per filtrare per risorsa, scegli l'ID della risorsa e quindi **Add to search** (Aggiungi alla ricerca).

   1. Per filtrare in base a un parametro, scegli il nome del parametro e quindi **Add to search** (Aggiungi alla ricerca).

1. (Facoltativo) Per aggiungere questo grafico a una CloudWatch dashboard, scegli **Azioni**, **Aggiungi alla dashboard**.

# Configurare e configurare la raccolta dei parametri Prometheus su istanze Amazon EC2
<a name="CloudWatch-Agent-PrometheusEC2"></a>

Le sezioni seguenti spiegano come installare l' CloudWatch agente con il monitoraggio Prometheus sulle istanze EC2 e come configurare l'agente per lo scraping di destinazioni aggiuntive. Fornisce inoltre esercitazioni per impostare carichi di lavoro di esempio per l'utilizzo dei test con il monitoraggio Prometheus.

Sono supportate sia le istanze Windows sia le istanze Linux.

Per informazioni sui sistemi operativi supportati dall'agente, consulta CloudWatch [Raccogli metriche, log e tracce utilizzando l'agente CloudWatch](Install-CloudWatch-Agent.md)

**Requisiti del gruppo di sicurezza VPC**

Se utilizzi un VPC, si applicano i seguenti requisiti.
+ Le regole di ingresso dei gruppi di sicurezza per i carichi di lavoro Prometheus devono aprire le porte CloudWatch Prometheus all'agente per lo scraping delle metriche di Prometheus tramite l'IP privato.
+ Le regole di uscita del gruppo di sicurezza per l' CloudWatch agente devono consentire all'agente di connettersi alla CloudWatch porta dei carichi di lavoro Prometheus tramite IP privato. 

**Topics**
+ [CloudWatch Fase 1: Installare l'agente](#CloudWatch-Agent-PrometheusEC2-install)
+ [Passaggio 2: scraping delle origini Prometheus e importazione dei parametri](#CloudWatch-Agent-PrometheusEC2-configure)
+ [Esempio: configurare carichi di lavoro Java/JMX di esempio per i test metrici di Prometheus](#CloudWatch-Agent-Prometheus-Java)

## CloudWatch Fase 1: Installare l'agente
<a name="CloudWatch-Agent-PrometheusEC2-install"></a>

Il primo passaggio consiste nell'installare l' CloudWatch agente sull'istanza EC2. Per istruzioni, consulta [Installazione dell'agente CloudWatch](install-CloudWatch-Agent-on-EC2-Instance.md).

## Passaggio 2: scraping delle origini Prometheus e importazione dei parametri
<a name="CloudWatch-Agent-PrometheusEC2-configure"></a>

L' CloudWatch agente con monitoraggio Prometheus necessita di due configurazioni per analizzare le metriche di Prometheus. Una è per le configurazioni standard Prometheus come documentato in [<scrape\$1config>](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) nella documentazione di Prometheus. L'altra è per la configurazione dell'agente. CloudWatch 

### Configurazione di Prometheus Scrape
<a name="CloudWatch-Agent-PrometheusEC2-configure-scrape"></a>

<scrape\$1config>L' CloudWatch agente supporta le configurazioni scrape standard di Prometheus come documentato nella documentazione di Prometheus.[https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config](https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config) È possibile modificare questa sezione per aggiornare le configurazioni già presenti in questo file e aggiungere ulteriori destinazioni di scraping Prometheus. Un file di configurazione di esempio contiene le seguenti righe di configurazione globali:

```
PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus.yaml
global:
  scrape_interval: 1m
  scrape_timeout: 10s
scrape_configs:
- job_name: MY_JOB
  sample_limit: 10000
  file_sd_configs:
    - files: ["C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus_sd_1.yaml", "C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus_sd_2.yaml"]
```

La sezione `global` specifica i parametri validi in tutti i contesti di configurazione. Servono anche come valori predefiniti per altre sezioni di configurazione. Contiene i seguenti parametri:
+ `scrape_interval`: definisce con quale frequenza recuperare le destinazioni.
+ `scrape_timeout`: definisce quanto tempo attendere prima che una richiesta di scrape scada.

La sezione `scrape_configs` specifica un insieme di destinazioni e parametri che definiscono come eseguire lo scraping. Contiene i seguenti parametri:
+ `job_name`: il nome del processo assegnato ali parametri raschiate per impostazione predefinita.
+ `sample_limit`: limite di scraping sul numero di campioni sottoposti a scraping che verranno accettati.
+ `file_sd_configs`: elenco delle configurazioni di individuazione del servizio file. Legge un insieme di file contenenti un elenco di zero o più configurazioni statiche. La sezione `file_sd_configs` contiene un parametro `files` che definisce i modelli per i file da cui vengono estratti i gruppi di destinazione.

L'agente supporta i seguenti tipi di configurazione di rilevamento dei servizi. CloudWatch 

**`static_config`** Consente di specificare un elenco di destinazioni e un set di etichette comuni per loro. È il modo canonico per specificare destinazioni statiche in una configurazione scrape.

Di seguito è riportato un esempio di configurazione statica per lo scraping dei parametri Prometheus da un host locale. I parametri possono anche essere sottoposti a scraping da altri server se la porta Prometheus è aperta al server in cui viene eseguito l'agente.

```
PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus_sd_1.yaml
- targets:
    - 127.0.0.1:9404
  labels:
    key1: value1
    key2: value2
```

Questo connettore fornisce i seguenti parametri:
+ `targets`: le destinazioni sottoposte a scraping dalla configurazione statica.
+ `labels`: etichette assegnate a tutti i parametri sottoposti a scraping dalle destinazioni.

**`ec2_sd_config`** Consente di recuperare le destinazioni di scraping dalle istanze Amazon EC2. Di seguito è riportato un esempio `ec2_sd_config` per lo scraping dei parametri Prometheus da un elenco di istanze EC2. Le porte Prometheus di queste istanze devono essere aperte sul server su cui viene eseguito l'agente. CloudWatch Il ruolo IAM per l'istanza EC2 in cui viene eseguito l' CloudWatch agente deve includere l'autorizzazione. `ec2:DescribeInstance` Ad esempio, puoi collegare la policy gestita **Amazon EC2 ReadOnlyAccess** all'istanza su cui è in esecuzione l' CloudWatch agente.

```
PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus.yaml
global:
  scrape_interval: 1m
  scrape_timeout: 10s
scrape_configs:
  - job_name: MY_JOB
    sample_limit: 10000
    ec2_sd_configs:
      - region: us-east-1
        port: 9404
        filters:
          - name: instance-id
            values:
              - i-98765432109876543
              - i-12345678901234567
```

Questo connettore fornisce i seguenti parametri:
+ `region`— La AWS regione in cui si trova l'istanza EC2 di destinazione. Se si lascia vuoto, verrà utilizzata la regione dai metadati dell'istanza.
+ `port`: la porta da cui eseguire lo scraping dei parametri.
+ `filters`: filtri facoltativi da utilizzare per filtrare l'elenco delle istanze. Questo esempio filtra in base all'istanza EC2. IDs Per ulteriori criteri in base ai quali puoi filtrare, consulta [ DescribeInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html).

### CloudWatch configurazione dell'agente per Prometheus
<a name="CloudWatch-Agent-PrometheusEC2-configure-agent"></a>

Il file di configurazione CloudWatch dell'agente include `prometheus` sezioni in entrambe le sezioni. `logs` `metrics_collected` Include i seguenti parametri.
+ **cluster\$1name**: specifica il nome del cluster da aggiungere come etichetta nell'evento log. Questo campo è facoltativo. 
+ **log\$1group\$1name**: specifica il nome del gruppo di log per i parametri Prometheus.
+ **prometheus\$1config\$1path**: specifica il percorso del file di configurazione di scraping di Prometheus.
+ **emf\$1processor**: specifica la configurazione del processore con formato metrico incorporato. Per ulteriori informazioni sul formato della metrica incorporata, vedere [Incorporamento dei parametri nei log](CloudWatch_Embedded_Metric_Format.md). 

  La sezione `emf_processor` può contenere i parametri seguenti:
  + **metric\$1declaration\$1dedup**: se impostato su true, la funzione di deduplicazione dei parametri con formato metrico incorporato è abilitata.
  + **metric\$1namespace**: specifica lo spazio dei nomi delle metriche per le metriche emesse. CloudWatch 
  + **metric\$1unit**: specifica la mappa metric name:metric unit. Per informazioni sulle unità metriche supportate, [ MetricDatum](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html)consulta.
  + **metric\$1declaration**: sono sezioni che specificano la matrice di log con formato metrico incorporato da generare. Esistono `metric_declaration` sezioni per ogni sorgente Prometheus da cui l'agente importa per impostazione predefinita CloudWatch . Ciascuna di queste sezioni include i seguenti campi:
    + `source_labels` specifica il valore delle etichette controllate dalla riga `label_matcher`.
    + `label_matcher` è un'espressione regolare che controlla il valore delle etichette elencate in `source_labels`. Le metriche corrispondenti sono abilitate per l'inclusione nel formato metrico incorporato inviato a. CloudWatch 
    + `metric_selectors` è un'espressione regolare che specifica le metriche da raccogliere e inviare a CloudWatch.
    + `dimensions` è l'elenco delle etichette da utilizzare come dimensioni CloudWatch per ogni metrica selezionata.

Di seguito è riportato un esempio di configurazione CloudWatch dell'agente per Prometheus.

```
{
   "logs":{
      "metrics_collected":{
         "prometheus":{
            "cluster_name":"prometheus-cluster",
            "log_group_name":"Prometheus",
            "prometheus_config_path":"C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus.yaml",
            "emf_processor":{
               "metric_declaration_dedup":true,
               "metric_namespace":"CWAgent-Prometheus",
               "metric_unit":{
                  "jvm_threads_current": "Count",
                  "jvm_gc_collection_seconds_sum": "Milliseconds"
               },
               "metric_declaration":[
                  {
                     "source_labels":[
                        "job", "key2"
                     ],
                     "label_matcher":"MY_JOB;^value2",
                     "dimensions":[
                        [
                           "key1", "key2"
                        ],
                        [
                           "key2"
                        ]
                     ],
                     "metric_selectors":[
                        "^jvm_threads_current$",
                        "^jvm_gc_collection_seconds_sum$"
                     ]
                  }
               ]
            }
         }
      }
   }
}
```

Nell'esempio precedente viene configurata una sezione di formato metrica incorporata da inviare come evento di log se sono soddisfatte le seguenti condizioni:
+ Il valore dell'etichetta `job` è `MY_JOB`
+ Il valore dell'etichetta `key2` è `value2`
+ I parametri Prometheus `jvm_threads_current` e `jvm_gc_collection_seconds_sum` contengono le etichette `job` e `key2`.

L'evento log inviato include la seguente sezione evidenziata.

```
{
    "CloudWatchMetrics": [
        {
            "Metrics": [
                {
                    "Unit": "Count",
                    "Name": "jvm_threads_current"
                },
                {
                    "Unit": "Milliseconds",
                    "Name": "jvm_gc_collection_seconds_sum"
                }
            ],
            "Dimensions": [
                [
                    "key1",
                    "key2"
                ],
                [
                    "key2"
                ]
            ],
            "Namespace": "CWAgent-Prometheus"
        }
    ],
    "ClusterName": "prometheus-cluster",
    "InstanceId": "i-0e45bd06f196096c8",
    "Timestamp": "1607966368109",
    "Version": "0",
    "host": "EC2AMAZ-PDDOIUM",
    "instance": "127.0.0.1:9404",
    "jvm_threads_current": 2,
    "jvm_gc_collection_seconds_sum": 0.006000000000000002,
    "prom_metric_type": "gauge",
    ...
}
```

## Esempio: configurare carichi di lavoro Java/JMX di esempio per i test metrici di Prometheus
<a name="CloudWatch-Agent-Prometheus-Java"></a>

JMX Exporter è un esportatore ufficiale di Prometheus che può recuperare ed esporre JMX mBeans JMX come metriche Prometheus. Per ulteriori informazioni, vedere [prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).

L' CloudWatch agente può raccogliere metriche Prometheus predefinite da Java Virtual Machine (JVM), Hjava e Tomcat (Catalina), da un esportatore JMX su istanze EC2.

### CloudWatch Fase 1: Installare l'agente
<a name="CloudWatch-Agent-PrometheusJava-install"></a>

Il primo passaggio consiste nell'installare l' CloudWatch agente sull'istanza EC2. Per istruzioni, consulta [Installazione dell'agente CloudWatch](install-CloudWatch-Agent-on-EC2-Instance.md).

### Fase 2: Avvia il carico di lavoro Java/JMX
<a name="CloudWatch-Agent-PrometheusJava-start"></a>

Il passaggio successivo consiste nell'avviare il carico di Java/JMX lavoro.

Per prima cosa, scarica il file jar di JMX Exporter più recente dal seguente percorso:[prometheus/jmx\$1exporter](https://github.com/prometheus/jmx_exporter).

 **Uso del file jar per l'applicazione di esempio**

I comandi di esempio nelle seguenti sezioni usano `SampleJavaApplication-1.0-SNAPSHOT.jar` come file jar. Sostituisci queste parti dei comandi con il file jar per la tua applicazione.

#### Preparazione della configurazione di JMX Exporter
<a name="CloudWatch-Agent-PrometheusJava-start-config"></a>

Il file `config.yaml` è il file di configurazione JMX Exporter. Per ulteriori informazioni, consulta la sezione relativa alla [configurazione](https://github.com/prometheus/jmx_exporter#Configuration) nella documentazione di JMX Exporter.

Ecco una configurazione di esempio per Java e Tomcat.

```
---
lowercaseOutputName: true
lowercaseOutputLabelNames: true

rules:
- pattern: 'java.lang<type=OperatingSystem><>(FreePhysicalMemorySize|TotalPhysicalMemorySize|FreeSwapSpaceSize|TotalSwapSpaceSize|SystemCpuLoad|ProcessCpuLoad|OpenFileDescriptorCount|AvailableProcessors)'
  name: java_lang_OperatingSystem_$1
  type: GAUGE

- pattern: 'java.lang<type=Threading><>(TotalStartedThreadCount|ThreadCount)'
  name: java_lang_threading_$1
  type: GAUGE

- pattern: 'Catalina<type=GlobalRequestProcessor, name=\"(\w+-\w+)-(\d+)\"><>(\w+)'
  name: catalina_globalrequestprocessor_$3_total
  labels:
    port: "$2"
    protocol: "$1"
  help: Catalina global $3
  type: COUNTER

- pattern: 'Catalina<j2eeType=Servlet, WebModule=//([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), name=([-a-zA-Z0-9+/$%~_-|!.]*), J2EEApplication=none, J2EEServer=none><>(requestCount|maxTime|processingTime|errorCount)'
  name: catalina_servlet_$3_total
  labels:
    module: "$1"
    servlet: "$2"
  help: Catalina servlet $3 total
  type: COUNTER

- pattern: 'Catalina<type=ThreadPool, name="(\w+-\w+)-(\d+)"><>(currentThreadCount|currentThreadsBusy|keepAliveCount|pollerThreadCount|connectionCount)'
  name: catalina_threadpool_$3
  labels:
    port: "$2"
    protocol: "$1"
  help: Catalina threadpool $3
  type: GAUGE

- pattern: 'Catalina<type=Manager, host=([-a-zA-Z0-9+&@#/%?=~_|!:.,;]*[-a-zA-Z0-9+&@#/%=~_|]), context=([-a-zA-Z0-9+/$%~_-|!.]*)><>(processingTime|sessionCounter|rejectedSessions|expiredSessions)'
  name: catalina_session_$3_total
  labels:
    context: "$2"
    host: "$1"
  help: Catalina session $3 total
  type: COUNTER

- pattern: ".*"
```

#### Avvio dell'applicazione Java con Prometheus Exporter
<a name="CloudWatch-Agent-PrometheusJava-start-start"></a>

Avvio dell'applicazione di esempio. Questo invierà i parametri Prometheus alla porta 9404. Assicurati di sostituire il punto di ingresso `com.gubupt.sample.app.App` con le informazioni corrette per l'applicazione Java di esempio. 

In Linux immetti il seguente comando.

```
$ nohup java -javaagent:./jmx_prometheus_javaagent-0.14.0.jar=9404:./config.yaml -cp  ./SampleJavaApplication-1.0-SNAPSHOT.jar com.gubupt.sample.app.App &
```

In Windows immetti il seguente comando.

```
PS C:\> java -javaagent:.\jmx_prometheus_javaagent-0.14.0.jar=9404:.\config.yaml -cp  .\SampleJavaApplication-1.0-SNAPSHOT.jar com.gubupt.sample.app.App
```

#### Verifica dell'invio dei parametri Prometheus
<a name="CloudWatch-Agent-PrometheusJava-start-verify"></a>

Verifica che vengano inviati i parametri Prometheus. 

In Linux immetti il seguente comando.

```
$ curl localhost:9404
```

In Windows immetti il seguente comando.

```
PS C:\> curl  http://localhost:9404
```

Esempio di output su Linux:

```
StatusCode        : 200
StatusDescription : OK
Content           : # HELP jvm_classes_loaded The number of classes that are currently loaded in the JVM
                    # TYPE jvm_classes_loaded gauge
                    jvm_classes_loaded 2526.0
                    # HELP jvm_classes_loaded_total The total number of class...
RawContent        : HTTP/1.1 200 OK
                    Content-Length: 71908
                    Content-Type: text/plain; version=0.0.4; charset=utf-8
                    Date: Fri, 18 Dec 2020 16:38:10 GMT

                    # HELP jvm_classes_loaded The number of classes that are currentl...
Forms             : {}
Headers           : {[Content-Length, 71908], [Content-Type, text/plain; version=0.0.4; charset=utf-8], [Date, Fri, 18
                    Dec 2020 16:38:10 GMT]}
Images            : {}
InputFields       : {}
Links             : {}
ParsedHtml        : System.__ComObject
RawContentLength  : 71908
```

### Fase 3: Configurare l' CloudWatch agente per acquisire le metriche di Prometheus
<a name="CloudWatch-Agent-PrometheusJava-agent"></a>

Quindi, configura la configurazione dello scrape Prometheus nel file di configurazione dell'agente. CloudWatch 

**Per impostare la configurazione dello scrape di Prometheus per l'esempio Java/JMX**

1. Impostare la configurazione per `file_sd_config` e `static_config`.

   In Linux immetti il seguente comando.

   ```
   $ cat /opt/aws/amazon-cloudwatch-agent/var/prometheus.yaml
   global:
     scrape_interval: 1m
     scrape_timeout: 10s
   scrape_configs:
     - job_name: jmx
       sample_limit: 10000
       file_sd_configs:
         - files: [ "/opt/aws/amazon-cloudwatch-agent/var/prometheus_file_sd.yaml" ]
   ```

   In Windows immetti il seguente comando.

   ```
   PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus.yaml
   global:
     scrape_interval: 1m
     scrape_timeout: 10s
   scrape_configs:
     - job_name: jmx
       sample_limit: 10000
       file_sd_configs:
         - files: [ "C:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\prometheus_file_sd.yaml" ]
   ```

1. Impostare la configurazione delle destinazioni di scraping.

   In Linux immetti il seguente comando.

   ```
   $ cat /opt/aws/amazon-cloudwatch-agent/var/prometheus_file_sd.yaml
   - targets:
     - 127.0.0.1:9404
     labels:
       application: sample_java_app
       os: linux
   ```

   In Windows immetti il seguente comando.

   ```
   PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus_file_sd.yaml
   - targets:
     - 127.0.0.1:9404
     labels:
       application: sample_java_app
       os: windows
   ```

1. Impostare la configurazione di scraping di Prometheus tramite `ec2_sc_config`. Sostituisci *your-ec2-instance-id* con l'ID dell'istanza EC2 corretto.

   In Linux immetti il seguente comando.

   ```
   $ cat .\prometheus.yaml
   global:
     scrape_interval: 1m
     scrape_timeout: 10s
   scrape_configs:
     - job_name: jmx
       sample_limit: 10000
       ec2_sd_configs:
         - region: us-east-1
           port: 9404
           filters:
             - name: instance-id
               values:
                 - your-ec2-instance-id
   ```

   In Windows immetti il seguente comando.

   ```
   PS C:\ProgramData\Amazon\AmazonCloudWatchAgent> cat prometheus_file_sd.yaml
   - targets:
     - 127.0.0.1:9404
     labels:
       application: sample_java_app
       os: windows
   ```

1. Configura la configurazione dell' CloudWatch agente. Innanzitutto, passa alla directory corretta. In Linux è `/opt/aws/amazon-cloudwatch-agent/var/cwagent-config.json`. In Windows è `C:\ProgramData\Amazon\AmazonCloudWatchAgent\cwagent-config.json`.

   Di seguito è riportato un esempio di configurazione con le metriche di Java/JHX Prometheus definite. Assicurati di sostituirlo *path-to-Prometheus-Scrape-Configuration-file* con il percorso corretto.

   ```
   {
     "agent": {
       "region": "us-east-1"
     },
     "logs": {
       "metrics_collected": {
         "prometheus": {
           "cluster_name": "my-cluster",
           "log_group_name": "prometheus-test",
           "prometheus_config_path": "path-to-Prometheus-Scrape-Configuration-file",
           "emf_processor": {
             "metric_declaration_dedup": true,
             "metric_namespace": "PrometheusTest",
             "metric_unit":{
               "jvm_threads_current": "Count",
               "jvm_classes_loaded": "Count",
               "java_lang_operatingsystem_freephysicalmemorysize": "Bytes",
               "catalina_manager_activesessions": "Count",
               "jvm_gc_collection_seconds_sum": "Seconds",
               "catalina_globalrequestprocessor_bytesreceived": "Bytes",
               "jvm_memory_bytes_used": "Bytes",
               "jvm_memory_pool_bytes_used": "Bytes"
             },
             "metric_declaration": [
               {
                 "source_labels": ["job"],
                 "label_matcher": "^jmx$",
                 "dimensions": [["instance"]],
                 "metric_selectors": [
                   "^jvm_threads_current$",
                   "^jvm_classes_loaded$",
                   "^java_lang_operatingsystem_freephysicalmemorysize$",
                   "^catalina_manager_activesessions$",
                   "^jvm_gc_collection_seconds_sum$",
                   "^catalina_globalrequestprocessor_bytesreceived$"
                 ]
               },
               {
                 "source_labels": ["job"],
                 "label_matcher": "^jmx$",
                 "dimensions": [["area"]],
                 "metric_selectors": [
                   "^jvm_memory_bytes_used$"
                 ]
               },
               {
                 "source_labels": ["job"],
                 "label_matcher": "^jmx$",
                 "dimensions": [["pool"]],
                 "metric_selectors": [
                   "^jvm_memory_pool_bytes_used$"
                 ]
               }
             ]
           }
         }
       },
       "force_flush_interval": 5
     }
   }
   ```

1. Riavviare l' CloudWatch agente immettendo uno dei seguenti comandi.

   In Linux immetti il seguente comando.

   ```
   sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/var/cwagent-config.json
   ```

   In Windows immetti il seguente comando.

   ```
   & "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:C:\ProgramData\Amazon\AmazonCloudWatchAgent\cwagent-config.json
   ```

### Visualizzazione dei parametri e dei log Prometheus
<a name="CloudWatch-Agent-PrometheusJava-view"></a>

Ora puoi visualizzare le Java/JMX metriche raccolte.

**Per visualizzare le metriche relative al carico di lavoro di esempio Java/JMX**

1. Apri la CloudWatch console all'indirizzo. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)

1. Nella regione in cui è in esecuzione il cluster, scegli **Metrics** (Parametri) nel pannello di navigazione sinistro. Trova il **PrometheusTest**namespace per visualizzare le metriche.

1. Per visualizzare gli eventi di CloudWatch Logs, scegli **Registra gruppi** nel riquadro di navigazione. Gli eventi sono nel gruppo di log **prometheus-test**.

# Configura i nomi dei servizi e degli ambienti dell' CloudWatch agente per le entità correlate
<a name="CloudWatch-Agent-configure-related-telemetry"></a>

L' CloudWatch agente può inviare metriche e log con dati di entità per supportare il [relativo riquadro Esplora](ExploreRelated.md) nella CloudWatch console. Il nome del servizio o il nome dell'ambiente possono essere configurati dalla configurazione [JSON dell'CloudWatch agente](CloudWatch-Agent-Configuration-File-Details.md).

**Nota**  
La configurazione dell'agente può essere sovrascritta. Per dettagli su come l'agente decide quali dati inviare per le entità correlate, consulta [Utilizzo dell'agente con la relativa telemetria CloudWatch](CloudWatch-Agent-RelatedEntities.md),

Per quanto riguarda le metriche, può essere configurata a livello di agente, metrica o plug-in. Per i log, può essere configurato a livello di agente, di log o di file. Viene sempre utilizzata la configurazione più specifica. Ad esempio, se la configurazione esiste a livello di agente e a livello di metriche, le metriche utilizzeranno la configurazione delle metriche e qualsiasi altra cosa (log) utilizzerà la configurazione dell'agente. L'esempio seguente mostra diversi modi per configurare il nome del servizio e il nome dell'ambiente.

```
{
  "agent": {
    "service.name": "agent-level-service",
    "deployment.environment": "agent-level-environment"
  },
  
  "metrics": {
    "service.name": "metric-level-service",
     "deployment.environment": "metric-level-environment",
     
    "metrics_collected": {
      "statsd": {
        "service.name": "statsd-level-service",
        "deployment.environment": "statsd-level-environment",
      },
      "collectd": {
        "service.name": "collectdd-level-service",
        "deployment.environment": "collectd-level-environment",
      }
    }
    
  },
  
  "logs": {
    "service.name": "log-level-service",
    "deployment.environment": "log-level-environment",
    
    "logs_collected": {
      "files": {
        "collect_list": [
          {
            "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log",
            "log_group_name": "amazon-cloudwatch-agent.log",
            "log_stream_name": "amazon-cloudwatch-agent.log",
            
            "service.name": "file-level-service",
            "deployment.environment": "file-level-environment"
          }
        ]
      }
    }
    
  }
}
```