

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

# CloudWatch soluzione: carico di lavoro JVM su Amazon EC2
<a name="Solution-JVM-On-EC2"></a>

Questa soluzione consente di configurare la raccolta delle out-of-the-box metriche utilizzando CloudWatch agenti per l'applicazione JVM in esecuzione su istanze EC2. Inoltre, ti aiuta a configurare una dashboard preconfigurata. CloudWatch Per informazioni generali su tutte le soluzioni CloudWatch di osservabilità, vedere. [CloudWatch soluzioni di osservabilità](Monitoring-Solutions.md)

**Topics**
+ [Requisiti](#Solution-JVM-On-EC2-Requirements)
+ [Vantaggi](#Solution-JVM-On-EC2-Benefits)
+ [Costi](#Solution-JVM-On-EC2-Costs)
+ [CloudWatch configurazione dell'agente per questa soluzione](#Solution-JVM-CloudWatch-Agent)
+ [Implementazione dell'agente per la soluzione](#Solution-JVM-Agent-Deploy)
+ [Creazione del pannello di controllo della soluzione JVM](#Solution-JVM-Dashboard)

## Requisiti
<a name="Solution-JVM-On-EC2-Requirements"></a>

Questa soluzione è rilevante per le seguenti condizioni:
+ Versioni supportate: versioni Java LTS 8, 11, 17 e 21
+ Calcolo: Amazon EC2
+ Supporta fino a 500 istanze EC2 su tutti i carichi di lavoro JVM in un determinato momento Regione AWS
+  CloudWatch Versione più recente dell'agente
+ Agente SSM installato sull'istanza EC2
**Nota**  
AWS Systems Manager (agente SSM) è preinstallato su alcune [Amazon Machine Images (AMIs)](https://docs.aws.amazon.com/systems-manager/latest/userguide/ami-preinstalled-agent.html) fornite da terze parti AWS affidabili. Se l'agente non è installato, puoi installarlo manualmente utilizzando la procedura per il tipo di sistema operativo.  
[Installazione e disinstallazione manuale dell'agente SSM su istanze EC2 per Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html)
[Installazione e disinstallazione manuale dell'agente SSM su istanze EC2 per macOS](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-macos.html)
[Installazione e disinstallazione manuale dell'agente SSM su istanze EC2 per Windows Server](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-windows.html)

## Vantaggi
<a name="Solution-JVM-On-EC2-Benefits"></a>

La soluzione offre il monitoraggio JVM, fornendo approfondimenti preziosi per i seguenti casi d'uso:
+ Monitoraggio dell'utilizzo della memoria heap e non heap della JVM.
+ Analisi del caricamento di thread e classi per problemi di concorrenza.
+ Tracciamento della rimozione di oggetti inutili (garbage collection) per identificare perdite di memoria.
+ Passaggio tra diverse applicazioni JVM configurate tramite la soluzione con lo stesso account.

Di seguito sono riportati i principali vantaggi della soluzione:
+ Automatizza la raccolta delle metriche per JVM utilizzando CloudWatch la configurazione degli agenti, eliminando la strumentazione manuale.
+ Fornisce un dashboard consolidato e preconfigurato per le metriche JVM. CloudWatch Il pannello di controllo gestirà automaticamente le metriche dalle nuove istanze EC2 JVM configurate utilizzando la soluzione, anche se tali metriche non esistono quando crei il pannello di controllo per la prima volta. Inoltre, consente di raggruppare le metriche in applicazioni logiche per facilitarne la gestione e l'analisi.

L'immagine seguente mostra un esempio di pannello di controllo per questa soluzione.

![Esempio di pannello di controllo JVM](http://docs.aws.amazon.com/it_it/AmazonCloudWatch/latest/monitoring/images/JvmDashboard.png)


## Costi
<a name="Solution-JVM-On-EC2-Costs"></a>

Questa soluzione crea e utilizza risorse nel tuo account. Ti verranno addebitati i costi standard di utilizzo, inclusi i seguenti:
+ Tutte le metriche raccolte dall' CloudWatch agente vengono addebitate come metriche personalizzate. Il numero di metriche utilizzate da questa soluzione dipende dal numero di host EC2.
  + Ogni host JVM configurato per la soluzione pubblica un totale di 18 metriche più una metrica (`disk_used_percent`) per la quale il conteggio delle metriche dipende dal numero di percorsi per l'host.
+ Un pannello di controllo personalizzato.
+ Operazioni API richieste dall' CloudWatch agente per pubblicare le metriche. Con la configurazione predefinita per questa soluzione, l' CloudWatch agente le chiama **PutMetricData**una volta al minuto per ogni host EC2. Ciò significa che l'**PutMetricData**API verrà chiamata entro 30 giorni `30*24*60=43,200` al mese per ogni host EC2.

Per ulteriori informazioni sui CloudWatch prezzi, consulta la pagina [ CloudWatch dei prezzi di Amazon](https://aws.amazon.com/cloudwatch/pricing/).

Il calcolatore dei prezzi può aiutarti a stimare i costi mensili approssimativi per l'utilizzo di questa soluzione. 

**Per utilizzare il calcolatore dei prezzi per stimare i costi mensili della soluzione**

1. Apri il [calcolatore CloudWatch dei prezzi di Amazon](https://calculator.aws/#/createCalculator/CloudWatch).

1. In **Scegli una regione**, seleziona la regione in cui vuoi implementare la soluzione.

1. Nella sezione **Metriche**, per **Numero di metriche**, inserisci **(18 \+ average number of disk paths per EC2 host) \* number of EC2 instances configured for this solution**.

1. Nella **APIs**sezione, per **Numero di richieste API**, inserisci**43200 \* number of EC2 instances configured for this solution**.

   Per impostazione predefinita, l' CloudWatch agente esegue un'**PutMetricData**operazione al minuto per ogni host EC2.

1. Nella sezione **Pannello di controllo e allarmi**, per **Numero di pannelli di controllo**, inserisci **1**.

1. Puoi vedere i costi mensili stimati nella parte inferiore del calcolatore dei prezzi.

## CloudWatch configurazione dell'agente per questa soluzione
<a name="Solution-JVM-CloudWatch-Agent"></a>

L' CloudWatch agente è un software che viene eseguito in modo continuo e autonomo sui server e in ambienti containerizzati. Raccoglie metriche, log e tracce dall'infrastruttura e dalle applicazioni e li invia a e X-Ray. CloudWatch 

Per ulteriori informazioni sull'agente, vedere. CloudWatch [Raccogli metriche, log e tracce utilizzando l'agente CloudWatch](Install-CloudWatch-Agent.md)

La configurazione dell'agente in questa soluzione consente la raccolta delle metriche fondamentali per la soluzione. Per impostazione predefinita, l' CloudWatch agente può essere configurato per raccogliere più metriche JVM rispetto a quelle visualizzate nella dashboard. Per un elenco di tutte le metriche JVM che puoi raccogliere, consulta [Raccolta di metriche di JVM](CloudWatch-Agent-JMX-metrics.md#CloudWatch-Agent-JVM-metrics). Per informazioni generali sulla configurazione CloudWatch dell'agente, vedere. [Metriche raccolte dall'agente CloudWatch](metrics-collected-by-CloudWatch-agent.md)

**Esposizione delle porte JMX per l'applicazione JVM**

L' CloudWatch agente si affida a JMX per raccogliere le metriche relative al processo JVM. Affinché questo sia possibile, è necessario esporre la porta JMX dall'applicazione JVM. Le istruzioni per esporre la porta JMX dipendono dal tipo di carico di lavoro utilizzato per l'applicazione JVM. Per informazioni su queste istruzioni, consulta la documentazione dell'applicazione.

In generale, per abilitare una porta JMX per il monitoraggio e la gestione, è necessario impostare le seguenti proprietà di sistema per l'applicazione JVM. Assicurarsi di specificare un numero di porta non utilizzato. L'esempio seguente configura una JMX non autenticata. Se la sicurezza policies/requirements richiede l'attivazione di JMX con autenticazione tramite password o SSL per l'accesso remoto, consulta la documentazione [JMX](https://docs.oracle.com/en/java/javase/17/management/monitoring-and-management-using-jmx-technology.html) per impostare la proprietà richiesta.

```
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port={{port-number}}
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false
```

Esamina gli script iniziali e i file di configurazione dell'applicazione per trovare il posto migliore in cui aggiungere questi argomenti. Quando esegui un `.jar` file dalla riga di comando, questo comando potrebbe essere simile al seguente, dove {{pet-search.jar}} è il nome del jar dell'applicazione.

```
$ java -jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false {{pet-search.jar}}
```

**Configurazione dell'agente per questa soluzione**

Le metriche raccolte dall'agente sono definite nella configurazione dell'agente. La soluzione fornisce configurazioni degli agenti per raccogliere le metriche consigliate con dimensioni adeguate per il pannello di controllo della soluzione. 

I passaggi per l'implementazione della soluzione sono descritti più avanti, nella sezione [Implementazione dell'agente per la soluzione](#Solution-JVM-Agent-Deploy). Le informazioni seguenti consentono di comprendere come personalizzare la configurazione dell'agente per l'ambiente in uso.

È necessario personalizzare alcune parti della seguente configurazione dell'agente per il proprio ambiente:
+ Il numero di porta JMX è quello configurato nella sezione precedente di questa documentazione. Si trova nella riga dell'`endpoint` nella configurazione.
+ `ProcessGroupName`: assegna nomi significativi alla dimensione `ProcessGroupName`. Questi nomi dovrebbero rappresentare il cluster, l'applicazione o il raggruppamento di servizi per le istanze EC2 che eseguono la stessa applicazione o processo. Ciò consente di raggruppare le metriche delle istanze appartenenti allo stesso gruppo di processi JVM, offrendo una visualizzazione unificata delle prestazioni del cluster, dell'applicazione e dei servizi nel pannello di controllo della soluzione.

Ad esempio, se hai due applicazioni Java in esecuzione nello stesso account, una per l'applicazione `order-processing` e l'altra per l'applicazione `inventory-management`, dovresti impostare conformemente le dimensioni `ProcessGroupName` nella configurazione dell'agente di ciascuna istanza.
+ Per le istanze dell'applicazione `order-processing`, imposta `ProcessGroupName=order-processing`.
+ Per le istanze dell'applicazione `inventory-management`, imposta `ProcessGroupName=inventory-management`.

Se segui queste linee guida, il pannello di controllo della soluzione raggrupperà automaticamente le metriche in base alla dimensione `ProcessGroupName`. Il pannello di controllo includerà opzioni del menu a discesa per selezionare e visualizzare le metriche per uno specifico gruppo di processi, consentendoti di monitorare separatamente le prestazioni dei singoli gruppi di processi.

### Configurazione dell'agente per gli host JVM
<a name="Solution-JVM-Agent-Config"></a>

Utilizza la seguente configurazione dell' CloudWatch agente sulle istanze EC2 in cui vengono distribuite le tue applicazioni Java. La configurazione verrà memorizzata come metrica nel Parameter Store di SSM, come descritto più avanti nella sezione [Fase 2: Archiviare il file di configurazione CloudWatch dell'agente consigliato in Systems Manager Parameter Store](#Solution-JVM-Agent-Step2).

{{ProcessGroupName}}Sostituiscilo con il nome del tuo gruppo di processi. Sostituiscilo {{port-number}} con la porta JMX dell'applicazione Java. Se JMX è stata abilitata con l'autenticazione tramite password o SSL per l'accesso remoto, consulta [Raccolta delle metriche di Java Management Extensions (JMX)](CloudWatch-Agent-JMX-metrics.md) per informazioni sulla configurazione di TLS o dell'autorizzazione nella configurazione dell'agente, se necessario.

Le metriche EC2 mostrate in questa configurazione (che è mostrata al di fuori del blocco JMX) funzionano solo per le istanze Linux e macOS. Se utilizzi istanze Windows, puoi scegliere di omettere queste metriche nella configurazione. Per informazioni sulle metriche raccolte sulle istanze di Windows, consulta [Metriche raccolte dall' CloudWatch agente sulle istanze di Windows Server](metrics-collected-by-CloudWatch-agent.md#windows-metrics-enabled-by-CloudWatch-agent).

```
{
  "metrics": {
    "namespace": "CWAgent",
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    },
    "metrics_collected": {
      "jmx": [
        {
          "endpoint": "localhost:{{port-number}}",
          "jvm": {
            "measurement": [
              "jvm.classes.loaded",
              "jvm.gc.collections.count",
              "jvm.gc.collections.elapsed",
              "jvm.memory.heap.committed",
              "jvm.memory.heap.max",
              "jvm.memory.heap.used",
              "jvm.memory.nonheap.committed",
              "jvm.memory.nonheap.max",
              "jvm.memory.nonheap.used",
              "jvm.threads.count"
            ]
          },
          "append_dimensions": {
            "ProcessGroupName": "{{ProcessGroupName}}"
          }
        }
      ],
      "disk": {
        "measurement": [
          "used_percent"
        ]
      },
      "mem": {
        "measurement": [
          "used_percent"
        ]
      },
      "swap": {
        "measurement": [
          "used_percent"
        ]
      },
      "netstat": {
        "measurement": [
          "tcp_established",
          "tcp_time_wait"
        ]
      }
    }
  }
}
```

## Implementazione dell'agente per la soluzione
<a name="Solution-JVM-Agent-Deploy"></a>

Esistono diversi approcci per l'installazione dell' CloudWatch agente, a seconda del caso d'uso. Si consiglia di utilizzare Systems Manager per questa soluzione. Fornisce un'esperienza da console e semplifica la gestione di una flotta di server gestiti all'interno di un unico AWS account. Le istruzioni in questa sezione utilizzano Systems Manager e sono destinate a quando l' CloudWatch agente non è in esecuzione con configurazioni esistenti. È possibile verificare se l' CloudWatch agente è in esecuzione seguendo la procedura riportata di seguito. [Verifica che l' CloudWatch agente sia in esecuzione](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running)

Se stai già eseguendo l' CloudWatch agente sugli host EC2 in cui viene distribuito il carico di lavoro e gestisci le configurazioni degli agenti, puoi saltare le istruzioni in questa sezione e seguire il meccanismo di distribuzione esistente per aggiornare la configurazione. Assicurati di unire la configurazione dell'agente JVM con quella dell'agente esistente, quindi implementa la configurazione unificata. Se si utilizza Systems Manager per archiviare e gestire la configurazione per l' CloudWatch agente, è possibile unire la configurazione al valore del parametro esistente. Per ulteriori informazioni, vedere [Gestione dei file di configurazione CloudWatch dell'agente](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/create-store-cloudwatch-configurations.html).

**Nota**  
L'utilizzo di Systems Manager per implementare le seguenti configurazioni di CloudWatch agenti sostituirà o sovrascriverà qualsiasi configurazione di CloudWatch agente esistente sulle istanze EC2. Puoi modificare questa configurazione per adattarla al tuo ambiente o caso d'uso specifico. Le metriche definite in questa soluzione sono il requisito minimo richiesto per il pannello di controllo consigliato. 

Il processo di implementazione include i seguenti passaggi:
+ Passaggio 1: assicurarsi che le istanze EC2 di destinazione dispongano delle autorizzazioni IAM richieste.
+ Passaggio 2: archiviare il file di configurazione dell'agente consigliato nel Parameter Store di Systems Manager.
+ Passaggio 3: installa l' CloudWatch agente su una o più istanze EC2 utilizzando uno stack. CloudFormation 
+ Passaggio 4: verificare che la configurazione dell'agente sia corretta.

### Passaggio 1: assicurarsi che le istanze EC2 di destinazione dispongano delle autorizzazioni IAM richieste
<a name="Solution-JVM-Agent-Step1"></a>

È necessario concedere l'autorizzazione a Systems Manager per installare e configurare l' CloudWatch agente. È inoltre necessario concedere all' CloudWatch agente l'autorizzazione a pubblicare dati di telemetria dalla propria istanza EC2 a. CloudWatch Assicurati che il ruolo IAM associato all'istanza abbia **CloudWatchAgentServerPolicy**le policy di **Amazon SSMManaged InstanceCore** IAM allegate.
+ Dopo aver creato il ruolo, collegalo alle istanze EC2. Segui i passaggi descritti in [Avvia un'istanza con un ruolo IAM](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#launch-instance-with-role) per collegare un ruolo durante il lancio di una nuova istanza EC2. Per collegare un ruolo a un'istanza EC2 esistente, segui i passaggi in [Collegamento di un ruolo IAM a un'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role).

### Fase 2: Archiviare il file di configurazione CloudWatch dell'agente consigliato in Systems Manager Parameter Store
<a name="Solution-JVM-Agent-Step2"></a>

Parameter Store semplifica l'installazione dell' CloudWatch agente su un'istanza EC2 archiviando e gestendo in modo sicuro i parametri di configurazione, eliminando la necessità di valori codificati. Ciò garantisce un processo di implementazione più sicuro e flessibile, che consente una gestione centralizzata e aggiornamenti più semplici delle configurazioni su più istanze.

Utilizza i seguenti passaggi per memorizzare il file di configurazione dell' CloudWatch agente consigliato come parametro in Parameter Store.

**Per creare il file di configurazione CloudWatch dell'agente come parametro**

1. Apri la AWS Systems Manager console all'indirizzo [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. Dal pannello di navigazione, scegli **Gestione applicazioni**, **Parameter Store**.

1. Per creare un nuovo parametro per la configurazione, segui questi passaggi.

   1. Scegli **Create parameter (Crea parametro)**.

   1. Nella casella **Nome**, inserisci un nome che utilizzerai per fare riferimento al file di configurazione dell' CloudWatch agente nei passaggi successivi. Ad esempio, **AmazonCloudWatch-JVM-Configuration**.

   1. (Facoltativo) Nella casella **Descrizione**, digita una descrizione per il parametro.

   1. Per **Livello parametri**, scegli **Standard**. 

   1. Per **Type (Tipo)**, scegliere **String**.

   1. Per **Tipo di dati**, scegli **testo**.

   1. Nella casella **Valore**, incolla il blocco JSON corrispondente elencato in [Configurazione dell'agente per gli host JVM](#Solution-JVM-Agent-Config). Assicurati di personalizzare il valore della dimensione di raggruppamento e il numero di porta come descritto.

   1. Scegli **Create parameter (Crea parametro)**. 

### Passaggio 3: installare l' CloudWatch agente e applicare la configurazione utilizzando un CloudFormation modello
<a name="Solution-JVM-Agent-Step3"></a>

È possibile utilizzare AWS CloudFormation per installare l'agente e configurarlo in modo da utilizzare la configurazione dell' CloudWatch agente creata nei passaggi precedenti.

**Per installare e configurare l' CloudWatch agente per questa soluzione**

1. [Apri la procedura guidata CloudFormation**Quick create stack** utilizzando questo link: https://console.aws.amazon.com/cloudformation/ home? \#/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json) - -1.0.0.json. agent-installation-template 

1. Verifica che la Regione selezionata sulla console sia quella in cui è in esecuzione il carico di lavoro JVM.

1. Per **Nome dello stack**, inserisci un nome per identificare questo stack, ad esempio **CWAgentInstallationStack**.

1. Nella sezione **Parametri**, specifica quanto segue:

   1. Per **CloudWatchAgentConfigSSM**, immettere il nome del parametro Systems Manager per la configurazione dell'agente creata in precedenza, ad esempio**AmazonCloudWatch-JVM-Configuration**.

   1. Per selezionare le istanze di destinazione, sono disponibili due opzioni.

      1. Per **InstanceIds**, specifica un elenco delimitato da virgole di un elenco di istanze IDs IDs in cui desideri installare l' CloudWatch agente con questa configurazione. Puoi elencare una singola istanza o più istanze.

      1. Se stai implementando su larga scala, puoi specificare la **TagKey**e la corrispondente **TagValue**per indirizzare tutte le istanze EC2 con questo tag e questo valore. Se si specifica a **TagKey**, è necessario specificare un corrispondente. **TagValue** (Per un gruppo Auto Scaling, specificare **TagKey**e specificare **aws:autoscaling:groupName** il nome del gruppo Auto Scaling da distribuire su tutte le **TagValue**istanze all'interno del gruppo Auto Scaling.)

         Se specificate sia i **TagKeys**parametri che quelli, **InstanceIds**avranno la precedenza **InstanceIds**e i tag verranno ignorati.

1. Esamina le impostazioni e quindi scegli **Crea stack**. 

Se desideri prima modificare il file modello per personalizzarlo, scegli l'opzione **Carica un file modello** in **Procedura guidata creazione stack** per caricare il modello modificato. Per ulteriori informazioni, consulta [Creazione di uno stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) sulla console. CloudFormation È possibile utilizzare il seguente collegamento per scaricare il modello: [ https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw- agent-installation-template -1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/CloudWatchAgent/CFN/v1.0.0/cw-agent-installation-template-1.0.0.json). 

**Nota**  
Una volta completato questo passaggio, questo parametro Systems Manager verrà associato agli CloudWatch agenti in esecuzione nelle istanze di destinazione. Ciò significa che:  
Se il parametro Systems Manager viene eliminato, l'agente si arresta.
Se il parametro Systems Manager viene modificato, le modifiche alla configurazione verranno applicate automaticamente all'agente alla frequenza pianificata, che per impostazione predefinita è di 30 giorni.
Se si desidera applicare immediatamente le modifiche a questo parametro Systems Manager, è necessario eseguire nuovamente questo passaggio. Per ulteriori informazioni sulle associazioni, consulta [Utilizzo delle associazioni in Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/state-manager-associations.html).

### Passaggio 4: verificare che la configurazione dell'agente sia corretta
<a name="Solution-JVM-Agent-Step4"></a>

È possibile verificare se l' CloudWatch agente è installato seguendo la procedura riportata di seguito. [Verifica che l' CloudWatch agente sia in esecuzione](troubleshooting-CloudWatch-Agent.md#CloudWatch-Agent-troubleshooting-verify-running) Se l' CloudWatch agente non è installato e non è in esecuzione, assicurati di aver configurato tutto correttamente.
+ Assicurati di aver collegato un ruolo con le autorizzazioni corrette per l'istanza EC2, come descritto nella sezione [Passaggio 1: assicurarsi che le istanze EC2 di destinazione dispongano delle autorizzazioni IAM richieste](#Solution-JVM-Agent-Step1).
+ Assicurati di aver configurato correttamente il JSON per il parametro Systems Manager. Segui la procedura riportata in [Risoluzione dei problemi di installazione dell'agente con CloudWatch CloudFormation](Install-CloudWatch-Agent-New-Instances-CloudFormation.md#CloudWatch-Agent-CloudFormation-troubleshooting).

Se tutto è configurato correttamente, dovresti vedere le metriche JVM pubblicate su. CloudWatch Puoi controllare la CloudWatch console per verificare che vengano pubblicate.

**Per verificare che le metriche JVM vengano pubblicate su CloudWatch**

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

1. Scegli **Metriche**, **Tutte le metriche**.

1. Assicurati di aver selezionato la regione in cui hai distribuito la soluzione e scegli **Namespace personalizzati**,. **CWAgent**

1. Cerca le metriche menzionate in [Configurazione dell'agente per gli host JVM](#Solution-JVM-Agent-Config), ad esempio `jvm.memory.heap.used`. Se vedi risultati per queste metriche, significa che le metriche vengono pubblicate su. CloudWatch

## Creazione del pannello di controllo della soluzione JVM
<a name="Solution-JVM-Dashboard"></a>

Il pannello di controllo fornito da questa soluzione presenta le metriche per la Java Virtual Machine (JVM) sottostante del server. Offre una panoramica della JVM aggregando e presentando le metriche di tutte le istanze, fornendo una sintesi a livello generale dello stato operativo e di integrità complessivo. Inoltre, il pannello di controllo mostra una ripartizione dei collaboratori principali (widget dei principali 10 per metrica) per ogni metrica. Questo ti aiuta a identificare rapidamente i valori anomali o le istanze che contribuiscono in modo significativo alle metriche osservate.

Il pannello di controllo della soluzione non mostra le metriche EC2. Per visualizzare le metriche EC2, dovrai utilizzare la dashboard automatica di EC2 per visualizzare le metriche fornite da EC2 e utilizzare la dashboard della console EC2 per vedere le metriche EC2 raccolte dall'agente. CloudWatch Per ulteriori informazioni sui dashboard automatici per i servizi, consulta. AWS [Visualizzazione di una CloudWatch dashboard per un singolo AWS servizio](CloudWatch_Automatic_Dashboards_Focus_Service.md)

Per creare il pannello di controllo, puoi utilizzare le seguenti opzioni:
+ Usa la CloudWatch console per creare la dashboard.
+ Usa AWS CloudFormation la console per distribuire la dashboard.
+ Scarica l' AWS CloudFormation infrastruttura come codice e integrala come parte della tua automazione di integrazione continua (CI).

Utilizzando la CloudWatch console per creare una dashboard, puoi visualizzarne l'anteprima prima di crearla effettivamente e ricevere l'addebito.

**Nota**  
 La dashboard creata con CloudFormation questa soluzione mostra le metriche della regione in cui viene distribuita la soluzione. Assicurati di creare lo CloudFormation stack nella regione in cui sono pubblicate le metriche JVM.   
Se le metriche degli CloudWatch agenti vengono pubblicate in uno spazio dei nomi diverso da `CWAgent` (ad esempio, se hai fornito uno spazio dei nomi personalizzato), dovrai modificare la CloudFormation configurazione per sostituirla con lo spazio dei nomi personalizzato che stai utilizzando. `CWAgent`

**CloudWatch Per creare la dashboard tramite Console**
**Nota**  
I pannelli di controllo delle soluzioni attualmente mostrano le metriche relative alla rimozione di oggetti inutili (garbage collection) solo per G1 Garbage Collector, che è il raccoglitore predefinito per le ultime versioni di Java. Se si utilizza un algoritmo di rimozione di oggetti inutili (garbage collection) diverso, i widget relativi alla rimozione sono vuoti. Tuttavia, puoi personalizzare questi widget modificando il CloudFormation modello di dashboard e applicando il tipo di raccolta dei rifiuti appropriato alla dimensione del nome delle metriche relative alla raccolta dei rifiuti. Ad esempio, se utilizzi la rimozione di oggetti inutili (garbage collection) parallela, modifica **name=\\"G1 Young Generation\\"** in **name=\\"Parallel GC\\"** per la metrica di conteggio della rimozione di oggetti inutili (garbage collection) `jvm.gc.collections.count`.

1. **Apri la CloudWatch Console Create Dashboard utilizzando questo link: home? https://console.aws.amazon.com/cloudwatch/** [ \#dashboards? Modello di dashboard = JvmOnEc 2&referrer=os-catalog](https://console.aws.amazon.com/cloudwatch/home?#dashboards?dashboardTemplate=JvmOnEc2&referrer=os-catalog). 

1. Verifica che la Regione selezionata sulla console sia quella in cui è in esecuzione il carico di lavoro JVM.

1. Immetti il nome del pannello di controllo e scegli **Crea pannello di controllo**.

   Per distinguere facilmente questo pannello di controllo da altri simili in Regioni diverse, consigliamo di includere il nome della Regione nel nome del pannello di controllo, ad esempio **JVMDashboard-us-east-1**.

1. Visualizza l'anteprima del pannello di controllo e scegli **Salva** per creare il pannello di controllo.

**Per creare la dashboard tramite CloudFormation**

1. [Apri la procedura guidata di **creazione CloudFormation rapida dello stack** utilizzando questo link: https://console.aws.amazon.com/cloudformation/ home? \#/ stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/JVM\_EC2/CloudWatch/CFN/v1.0.0/dashboard](https://console.aws.amazon.com/cloudformation/home?#/stacks/quickcreate?templateURL=https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/JVM_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json) -template-1.0.0.json. 

1. Verifica che la Regione selezionata sulla console sia quella in cui è in esecuzione il carico di lavoro JVM.

1. Per **Nome dello stack**, inserisci un nome per identificare questo stack, ad esempio **JVMDashboardStack**.

1. Nella sezione **Parametri, specifica il nome** del pannello di controllo sotto il parametro. **DashboardName**

   Per distinguere facilmente questo pannello di controllo da altri simili in Regioni diverse, consigliamo di includere il nome della Regione nel nome del pannello di controllo, ad esempio **JVMDashboard-us-east-1**.

1. Riconosci le capacità di accesso per le trasformazioni nella sezione **Capacità e trasformazioni**. Tieni presente che CloudFormation non aggiunge alcuna risorsa IAM.

1. Esamina le impostazioni e quindi scegli **Crea stack**. 

1. Una volta che lo stato dello stack è **CREATE\_COMPLETE**, scegli la scheda **Risorse** sotto lo stack creato, quindi scegli il link in **ID fisico** per accedere al pannello di controllo. Puoi anche accedere alla dashboard nella CloudWatch console selezionando **Dashboard** nel riquadro di navigazione a sinistra della console e trovando il nome della dashboard in **Dashboard personalizzate**.

Se desideri modificare il file modello per personalizzarlo per qualsiasi scopo, puoi utilizzare l'opzione **Carica un file modello** in **Procedura guidata creazione stack** per caricare il modello modificato. Per ulteriori informazioni, consulta [Creazione di uno stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html) sulla console. CloudFormation Puoi usare questo link per scaricare il modello: [ https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/JVM\_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json](https://aws-observability-solutions-prod-us-east-1.s3.us-east-1.amazonaws.com/JVM_EC2/CloudWatch/CFN/v1.0.0/dashboard-template-1.0.0.json). 

**Nota**  
I pannelli di controllo delle soluzioni attualmente mostrano le metriche relative alla rimozione di oggetti inutili (garbage collection) solo per G1 Garbage Collector, che è il raccoglitore predefinito per le ultime versioni di Java. Se si utilizza un algoritmo di rimozione di oggetti inutili (garbage collection) diverso, i widget relativi alla rimozione sono vuoti. Tuttavia, puoi personalizzare questi widget modificando il CloudFormation modello di dashboard e applicando il tipo di raccolta dei rifiuti appropriato alla dimensione del nome delle metriche relative alla raccolta dei rifiuti. Ad esempio, se utilizzi la rimozione di oggetti inutili (garbage collection) parallela, modifica **name=\\"G1 Young Generation\\"** in **name=\\"Parallel GC\\"** per la metrica di conteggio della rimozione di oggetti inutili (garbage collection) `jvm.gc.collections.count`. 

### Nozioni di base sul pannello di controllo JVM
<a name="Solution-JVM-Dashboard-GetStarted"></a>

Ecco alcune attività che puoi provare con il nuovo pannello di controllo JVM. Queste attività permettono di accertarsi che il pannello di controllo funzioni correttamente e offrono un'esperienza pratica nel suo utilizzo per monitorare un insieme di processi JVM. Provandole, acquisirai familiarità con la navigazione nel pannello di controllo e l'interpretazione delle metriche visualizzate.

**Selezione di un gruppo di processi**

Utilizza l'elenco a discesa **Nome gruppo di processi JVM** per selezionare il gruppo di processi che desideri monitorare. Il pannello di controllo si aggiorna automaticamente per visualizzare le metriche per il gruppo di processi selezionato. Se disponi di più applicazioni o ambienti Java, ognuno potrebbe essere rappresentato come un gruppo di processi separato. La selezione del gruppo di processi appropriato garantisce la visualizzazione di metriche specifiche per l'applicazione o l'ambiente che si desidera analizzare.

**Verifica dell'utilizzo della memoria**

Nella sezione panoramica del pannello di controllo, trova i widget **Percentuale di utilizzo della memoria heap** e **Percentuale di utilizzo della memoria non heap**. Questi mostrano la percentuale di memoria heap e non heap utilizzata in tutto il gruppo di processi selezionato. JVMs Una percentuale elevata indica una possibile pressione sulla memoria che potrebbe portare a problemi di prestazioni o eccezioni `OutOfMemoryError`. Puoi anche approfondire l'utilizzo della memoria heap per singolo host nella sezione **Utilizzo della memoria per host** per verificare gli host con un utilizzo elevato.

**Analisi di thread e classi caricati**

Nella sezione **Thread e classi caricati per host**, trova i widget **Principali 10 per numero di thread** e **Principali 10 per classi caricate**. Cercane uno JVMs con un numero anormalmente elevato di thread o classi rispetto ad altri. Un volume eccessivo di thread può indicare perdite di thread o una concorrenza eccessiva, mentre un grande numero di classi caricate potrebbe indicare potenziali perdite di classi o una generazione dinamica di classi inefficiente.

**Identificazione di problemi relativi alla rimozione di oggetti inutili (garbage collection)**

Nella sezione **Rimozione di oggetti inutili (garbage collection)**, trova i widget **Principali 10 per numero di invocazioni di rimozione di oggetti inutili al minuto** e **Principali 10 per durata di rimozione di oggetti inutili** per i diversi tipi di raccoglitori di oggetti inutili: **Young**, **Concurrent** e **Mixed**. Cerca quelle JVMs che hanno un numero insolitamente elevato di raccolte o che hanno una durata di raccolta lunga rispetto ad altre. Ciò potrebbe indicare problemi di configurazione o perdite di memoria.