

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

# Gestione di operazioni ad alta cardinalità
<a name="Application-Signals-Cardinality"></a>

Application Signals include impostazioni nell'agente CloudWatch che puoi utilizzare per gestire la cardinalità delle operazioni e l'esportazione delle metriche per ottimizzare i costi. Per impostazione predefinita, la funzione di limitazione delle metriche diventa attiva quando il numero di operazioni distinte per un servizio nel corso del tempo supera la soglia predefinita di 500. È possibile ottimizzare il comportamento modificando le impostazioni di configurazione. 

## Determinazione dell'attivazione della limitazione delle metriche
<a name="Limiting-Activated"></a>

Puoi utilizzare i seguenti metodi per verificare se è in corso la limitazione predefinita delle metriche. In tal caso, dovresti valutare l'ottimizzazione del controllo della cardinalità seguendo i passaggi indicati nella sezione successiva.
+ Nella console CloudWatch, scegli **Application Signals** e poi **Servizi**. Se vedi un'**Operazione** denominata **AllOtherOperations** o una **RemoteOperation** denominata **AllOtherRemoteOperations**, allora è in corso la limitazione delle metriche.
+ Se sono presenti metriche raccolte da Application Signals che hanno il valore `AllOtherOperations` per la dimensione `Operation`, allora è in corso la limitazione delle metriche.
+ Se sono presenti metriche raccolte da Application Signals che hanno il valore `AllOtherRemoteOperations` per la dimensione `RemoteOperation`, allora è in corso la limitazione delle metriche.

### Ottimizzazione del controllo della cardinalità
<a name="Optimize-Cardinality"></a>

Per ottimizzare il controllo della cardinalità, puoi eseguire le seguenti operazioni:
+ Creare regole personalizzate per aggregare le operazioni.
+ Configurare la policy di limitazione delle metriche.

#### Creazione di regole personalizzate per aggregare le operazioni
<a name="Optimize-Cardinality-Custom-Rules"></a>

A volte, le operazioni con elevata cardinalità possono essere causate da valori univoci inappropriati estratti dal contesto. Ad esempio, l'invio di richieste HTTP/S che includono ID utente o ID di sessione nel percorso può generare centinaia di operazioni diverse. Per risolvere questi problemi, si consiglia di configurare l'agente CloudWatch con regole di personalizzazione per riscrivere tali operazioni.

Nei casi in cui si verifichi un'impennata nella generazione di numerose metriche diverse tramite chiamate `RemoteOperation` individuali, ad esempio `PUT /api/customer/owners/123`, `PUT /api/customer/owners/456` e richieste simili, consigliamo di consolidare queste operazioni in un'unica `RemoteOperation`. Un approccio consiste nello standardizzare tutte le chiamate `RemoteOperation` che iniziano con `PUT /api/customer/owners/` a un formato uniforme, nello specifico `PUT /api/customer/owners/{ownerId}`. Nell'esempio seguente viene descritto quanto segue. Per informazioni su altre regole di personalizzazione, consulta [Abilita CloudWatch Application Signals](CloudWatch-Agent-Application_Signals.md).

```
{
   "logs":{
      "metrics_collected":{
         "application_signals":{
            "rules":[
               {
                  "selectors":[
                     {
                        "dimension":"RemoteOperation",
                        "match":"PUT /api/customer/owners/*"
                     }
                  ],
                  "replacements":[
                     {
                        "target_dimension":"RemoteOperation",
                        "value":"PUT /api/customer/owners/{ownerId}"
                     }
                  ],
                  "action":"replace"
               }
            ]
         }
      }
   }
}
```

In altri casi, metriche ad alta cardinalità potrebbero essere state aggregate in `AllOtherRemoteOperations` e potrebbe non essere chiaro quali metriche specifiche siano incluse. L'agente CloudWatch è in grado di registrare le operazioni interrotte. Per identificare le operazioni interrotte, utilizza la configurazione nell'esempio seguente per attivare la registrazione fino alla ricomparsa del problema. Quindi ispeziona i log degli agenti CloudWatch (accessibili tramite container `stdout` o file di log EC2) e cerca la parola chiave `drop metric data`.

```
{
  "agent": {
    "config": {
      "agent": {
        "debug": true
      },
      "traces": {
        "traces_collected": {
          "application_signals": {
          }
        }
      },
      "logs": {
        "metrics_collected": {
          "application_signals": {
            "limiter": {
              "log_dropped_metrics": true
            }
          }
        }
      }
    }
  }
}
```

#### Creazione di una policy di limitazione delle metriche
<a name="Optimize-Cardinality-Metric-Limiting"></a>

Se la configurazione di limitazione delle metriche predefinita non riguarda la cardinalità del servizio, puoi personalizzare la configurazione del limitatore di metriche. Per configurarlo, aggiungi una sezione `limiter` in quella `logs/metrics_collected/application_signals` del file di configurazione dell'agente CloudWatch.

L'esempio seguente riduce la soglia di limitazione delle metriche da 500 metriche distinte a 100.

```
{
  "logs": {
    "metrics_collected": {
      "application_signals": {
        "limiter": {
          "drop_threshold": 100
        }
      }
    }
  }
}
```