Monitoraggio di metriche in DynamoDB con Amazon CloudWatch - Amazon DynamoDB

Monitoraggio di metriche in DynamoDB con Amazon CloudWatch

È possibile monitorare DynamoDB utilizzando CloudWatch, che raccoglie i dati non elaborati da DynamoDB e li elabora trasformandoli in parametri leggibili quasi in tempo reale. Queste statistiche vengono mantenute per un periodo di tempo, per permettere l’accesso alle informazioni storiche e offrire una prospettiva migliore sulle prestazioni del servizio o dell’applicazione web. Per impostazione predefinita, i dati dei parametri di DynamoDB vengono inviati automaticamente a CloudWatch. Per maggiori informazioni, consulta Cos'è Amazon CloudWatch? e Conservazione dei parametri nella Guida per l'utente di Amazon CloudWatch.

Come si utilizzano i parametri di DynamoDB?

I parametri forniti da DynamoDB offrono informazioni che possono essere analizzate in diversi modi. L'elenco seguente mostra alcuni usi comuni dei parametri. Questi suggerimenti sono solo introduttivi e non costituiscono un elenco completo.

Come si utilizzano i parametri di DynamoDB?

In che modo?

Parametri rilevanti

Come faccio a monitorare la frequenza di eliminazioni TTL nella tabella?

È possibile monitorare TimeToLiveDeletedItemCount nel periodo di tempo specificato per tenere traccia della frequenza di eliminazioni TTL nella tabella. Per un esempio di un’applicazione serverless che utilizza la metrica TimeToLiveDeletedItemCount, consulta Automatically archive items to S3 using DynamoDB Time to Live (TTL) with AWS Lambda and Amazon Data Firehose.

Come faccio a determinare quanta parte del throughput allocato viene utilizzata?

È possibile monitorare ConsumedReadCapacityUnits o ConsumedWriteCapacityUnits nel periodo di tempo specificato per tenere traccia di quanto del throughput assegnato viene utilizzato.

Come faccio a stabilire quali richieste superano le quote di throughput allocato di una tabella?

Il parametro ThrottledRequests viene incrementato di uno se qualsiasi evento in una richiesta supera le quote di throughput assegnato. Quindi, per scoprire quale evento limita una richiesta, confrontare ThrottledRequests con i parametri ReadThrottleEvents e WriteThrottleEvents della tabella e degli indici.

Come faccio a stabilire se si sono verificati errori di sistema?

È possibile monitorare SystemErrors per determinare se eventuali richieste hanno causato un codice HTTP 500 (errore del server). In genere, questo parametro deve essere uguale a zero. In caso contrario, è opportuno analizzare la situazione.

Come faccio a monitorare il valore di latenza per le operazioni sulle tabelle?

È possibile monitorare SuccessfulRequestLatency tenendo traccia della latenza media e della latenza mediana tramite metriche percentili (p50). I picchi di latenza occasionali non devono essere motivo di preoccupazione. Tuttavia, se la latenza media o p50 (mediana) è elevata, potrebbe esserci un problema di fondo da risolvere. Per ulteriori informazioni, consulta Risoluzione dei problemi di latenza in Amazon DynamoDB.

Visualizzazione dei parametri nella console CloudWatch

Le metriche vengono raggruppate prima in base al namespace del servizio e successivamente in base alle diverse combinazioni di dimensioni all’interno di ogni namespace.

Per visualizzare i parametri nella console di CloudWatch
  1. Apri la console CloudWatch all'indirizzo https://console.aws.amazon.com/cloudwatch/.

  2. Nel pannello di navigazione, seleziona Metriche, Tutte le metriche.

  3. Seleziona lo spazio dei nomi DynamoDB. È possibile anche selezionare lo spazio dei nomi Utilizzo per visualizzare le metriche di utilizzo di DynamoDB. Per informazioni sui parametri di utilizzo, consulta parametri di utilizzo di AWS.

  4. La scheda Sfoglia mostra tutte le metriche per tale dimensione nel namespace.

  5. (Facoltativo) Per aggiungere il grafico delle metriche a una dashboard CloudWatch, seleziona Operazioni, Aggiungi a pannello di controllo.

Visualizzazione delle metriche nella AWS CLI

Per ottenere informazioni sulle metriche utilizzando la AWS CLI, usa il comando CloudWatch list-metrics. Nell'esempio seguente, vengono elencati tutti i parametri nello spazio dei nomi AWS/DynamoDB.

aws cloudwatch list-metrics --namespace "AWS/DynamoDB"

Per ottenere statistiche sui parametri, utilizza il comando get-metric-statistics. Il seguente comando ottiene statistiche ConsumedReadCapacityUnits per la tabella ProductCatalog nel periodo specifico di 24 ore, con una granularità di 5 minuti.

aws cloudwatch get-metric-statistics —namespace AWS/DynamoDB \ —metric-name ConsumedReadCapacityUnits \ —start-time 2023-11-01T00:00:00Z \ —end-time 2023-11-02T00:00:00Z \ —period 360 \ —statistics Average \ —dimensions Name=TableName,Value=ProductCatalog

L'output di esempio viene visualizzato come segue:

{ "Datapoints": [ { "Timestamp": "2023-11-01T 09:18:00+00:00", "Average": 20, "Unit": "Count" }, { "Timestamp": "2023-11-01T 04:36:00+00:00", "Average": 22.5, "Unit": "Count" }, { "Timestamp": "2023-11-01T 15:12:00+00:00", "Average": 20, "Unit": "Count" }, ... { "Timestamp": "2023-11-01T 17:30:00+00:00", "Average": 25, "Unit": "Count" } ], "Label": " ConsumedReadCapacityUnits " }