View a markdown version of this page

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

Gestione di 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 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

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 CloudWatch console, scegli Application Signals, Services. Se vedi un'operazione denominata AllOtherOperations o denominata AllOtherRemoteOperations, significa che è in corso una RemoteOperation 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à

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

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

Nei casi in cui si verifichi un aumento della generazione di numerose metriche diverse tramite RemoteOperation chiamate individuali, ad esempio, e richieste simili PUT /api/customer/owners/123PUT /api/customer/owners/456, Application Signals consiglia di consolidare queste operazioni in un'unica operazione. 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 i segnali CloudWatch delle applicazioni.

{ "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' CloudWatch agente è 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 CloudWatch dell'agente (accessibili tramite contenitore stdout o file di registro 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

Se la configurazione predefinita dei limiti delle metriche non risolve la cardinalità del servizio, puoi personalizzare la configurazione del limitatore metrico. A tale scopo, aggiungete una limiter sezione nella 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 } } } } }