Monitorar métricas no DynamoDB com o Amazon CloudWatch - Amazon DynamoDB

Monitorar métricas no DynamoDB com o Amazon CloudWatch

É possível monitorar o Amazon DynamoDB usando o CloudWatch, o qual coleta e processa dados brutos do DynamoDB e os transforma em métricas legíveis quase em tempo real. Essas estatísticas são mantidas por um período para que você possa acessar informações históricas e ter uma perspectiva melhor sobre a performance da aplicação web ou do serviço. Por padrão, os dados de métrica do DynamoDB são enviados para o CloudWatch automaticamente. Para obter mais informações, consulte O que é o Amazon CloudWatch? e Retenção de métricas no Guia do usuário do Amazon CloudWatch.

Como usar as métricas do DynamoDB?

As métricas relatadas pelo DynamoDB fornecem informações que você pode analisar de diferentes maneiras. A lista a seguir mostra alguns usos comuns para as métricas. Essas são sugestões para você começar, e não uma lista abrangente.

Como usar as métricas do DynamoDB?

Como?

Métricas relevantes

Como monitorar a taxa de exclusões por TTL em minha tabela?

Você pode monitorar TimeToLiveDeletedItemCount ao longo do período de tempo especificado, para rastrear a taxa de exclusões de TTL em sua tabela. Para ver um exemplo de uma aplicação sem servidor que usa a métrica TimeToLiveDeletedItemCount, consulte Automatically archive items to S3 using DynamoDB time to live (TTL) with AWS Lambda and Amazon Data Firehose.

Como posso determinar quanto do throughput provisionado está sendo usado?

Você pode monitorar ConsumedReadCapacityUnits ou ConsumedWriteCapacityUnits ao longo do período de tempo especificado, para rastrear a quantidade de throughput provisionado que está sendo usada.

Como posso determinar quais solicitações excedem as cotas de throughput provisionado de uma tabela?

ThrottledRequests será incrementado em um se um evento em uma solicitação exceder a cota de um throughput provisionado. Para ter uma ideia sobre qual evento está controlando a utilização de uma solicitação, compare ThrottledRequests com as métricas ReadThrottleEvents e WriteThrottleEvents da tabela e seus índices.

Como posso determinar se ocorreu algum erro do sistema?

Você pode monitorar SystemErrors para determinar se todas as solicitações resultaram em um código HTTP 500 (erro de servidor). Normalmente, essa métrica deve ser igual a zero. Se não for o caso, talvez você deva investigar.

Como posso monitorar o valor de latência das minhas operações de tabela?

É possível monitorar SuccessfulRequestLatency e rastrear a latência média. Picos ocasionais na latência não são motivo de preocupação. No entanto, se a latência média for alta, poderá haver um problema subjacente a ser resolvido. Consulte Solução de problemas de latência no Amazon DynamoDB Para mais informações.

Visualizar métricas no console do CloudWatch

As métricas são agrupadas primeiro pelo namespace do serviço e, depois, de acordo com várias combinações de dimensão dentro de cada namespace.

Para exibir métricas no console do CloudWatch
  1. Abra o console do CloudWatch em https://console.aws.amazon.com/cloudwatch/.

  2. No painel de navegação, escolha Métricas, Todas as métricas.

  3. Selecione o namespace DynamoDB. Também é possível selecionar o namespace Usage (Uso) para visualizar as métricas de uso do DynamoDB. Para obter mais informações sobre métricas de uso, consulte Métricas de uso da AWS.

  4. A guia Procurar exibe todas as métricas no namespace.

  5. (Opcional) Para adicionar o grafo de métricas a um painel do CloudWatch, escolha Ações, Adicionar ao painel.

Visualizar métricas na AWS CLI

Para ter informações sobre métricas usando a AWS CLI, utilize o comando list-metrics do CloudWatch. No exemplo a seguir, você lista todas as métricas no namespace AWS/DynamoDB.

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

Para obter estatísticas métricas, use o comando get-metric-statistics. O comando a seguir extrai estatísticas ConsumedReadCapacityUnits para a tabela ProductCatalog durante o período específico de 24 horas, com detalhamento de 5 minutos.

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

A saída da amostra é exibida da seguinte maneira:

{ "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 " }