

# Monitorar métricas no DynamoDB com o Amazon CloudWatch
<a name="Monitoring-metrics-with-Amazon-CloudWatch"></a>

É 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?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html) e [Retenção de métricas](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#metrics-retention) no *Guia do usuário do Amazon CloudWatch*.

**Topics**
+ [Como usar as métricas do DynamoDB?](#How-do-I-use-DynamoDB-metrics)
+ [Visualizar métricas no console do CloudWatch](#Viewing-metrics-in-CloudWatch-console)
+ [Visualizar métricas na AWS CLI](#Viewing-metrics-in-the-cli)
+ [Métricas e dimensões do DynamoDB](metrics-dimensions.md)
+ [Criar alarmes do CloudWatch no DynamoDB](Monitoring-metrics-creating-cloudwatch-alarms.md)

## Como usar as métricas do DynamoDB?
<a name="How-do-I-use-DynamoDB-metrics"></a>

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](https://aws.amazon.com/blogs/database/automatically-archive-items-to-s3-using-dynamodb-time-to-live-with-aws-lambda-and-amazon-kinesis-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` rastreando a latência média e a latência mediana por meio de métricas de percentil (p50). Picos ocasionais na latência não são motivo de preocupação. No entanto, se a latência média ou p50 (mediana) for alta, poderá haver um problema subjacente a ser resolvido. Consulte [Solução de problemas de latência no Amazon DynamoDB](TroubleshootingLatency.md) para obter mais informações.  | 

## Visualizar métricas no console do CloudWatch
<a name="Viewing-metrics-in-CloudWatch-console"></a>

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/](https://console.aws.amazon.com/cloudwatch/).

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

1. 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Service-Quota-Integration.html).

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

1. (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
<a name="Viewing-metrics-in-the-cli"></a>

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

```
1.                 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 "
}
```