Gestisci operazioni ad alta cardinalità - Amazon CloudWatch

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

Gestisci operazioni ad alta cardinalità

Application Signals include impostazioni nell' CloudWatch agente che puoi utilizzare per gestire la cardinalità delle tue operazioni e gestire 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 tempo supera la soglia predefinita di 500. È possibile ottimizzare il comportamento modificando le impostazioni di configurazione.

Determina se la limitazione metrica è attivata

Puoi utilizzare i seguenti metodi per scoprire se è in corso la limitazione metrica predefinita. In tal caso, dovresti prendere in considerazione l'ottimizzazione del controllo della cardinalità seguendo i passaggi nella sezione successiva.

  • Nella CloudWatch console, scegli Application Signals, Services. Se vedi un'operazione denominata AllOtherOperationso RemoteOperationdenominata AllOtherRemoteOperations, è in corso una limitazione delle metriche.

  • Se alcune metriche raccolte da Application Signals hanno il valore AllOtherOperations corrispondente alla loro Operation dimensione, allora si verifica una limitazione delle metriche.

  • Se alcune metriche raccolte da Application Signals hanno il valore AllOtherRemoteOperations corrispondente alla loro RemoteOperation dimensione, allora si verifica una limitazione delle metriche.

Ottimizza il controllo della cardinalità

Per ottimizzare il controllo della cardinalità, puoi fare quanto segue:

  • Crea regole personalizzate per aggregare le operazioni.

  • Configura la tua politica di limitazione delle metriche.

Crea regole personalizzate per aggregare le operazioni

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

Nei casi in cui si verifichi un'impennata nella generazione di numerose metriche diverse tramite RemoteOperation chiamate individuali, ad esempioPUT /api/customer/owners/123, e richieste similiPUT /api/customer/owners/456, si consiglia di consolidare queste operazioni in un'unica operazione. RemoteOperation Un approccio consiste nello standardizzare tutte le RemoteOperation chiamate che iniziano con un formato uniforme, PUT /api/customer/owners/ in particolare. PUT /api/customer/owners/{ownerId} Nell'esempio seguente viene descritto quanto segue. Per informazioni su altre regole di personalizzazione, consulta. Abilita CloudWatch Application Signals

{ "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, potrebbero essere state aggregate metriche ad alta cardinalità e potrebbe non essere chiaro quali metriche specifiche siano incluse. AllOtherRemoteOperations L' CloudWatch agente è in grado di registrare le operazioni interrotte. Per identificare le operazioni interrotte, utilizzate la configurazione nell'esempio seguente per attivare la registrazione fino alla ricomparsa del problema. Quindi ispezionate i log degli CloudWatch agenti (accessibili tramite contenitore stdout o file di EC2 registro) e cercate 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 } } } } } } }

Crea la tua politica di limitazione delle metriche

Se la configurazione di limitazione delle metriche predefinita non riguarda la cardinalità del servizio, puoi personalizzare la configurazione del limitatore metrico. A tale scopo, aggiungi una limiter sezione sotto la logs/metrics_collected/application_signals sezione 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 } } } } }