

# Monitorar o com o Amazon CloudWatch
<a name="dax-monitoring-cloudwatch"></a>

 É possível monitorar o DynamoDB Accelerator (DAX) usando o Amazon CloudWatch, que coleta e processa dados brutos do DAX e os transforma em métricas legíveis quase em tempo real. Essas estatísticas são gravadas durante um período de duas semanas. Você pode acessar as informações históricas para obter uma perspectiva melhor sobre o desempenho do aplicativo web ou do serviço. Por padrão, os dados de métrica do DAX 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) no *Guia do usuário do Amazon CloudWatch*. 

**Topics**
+ [Como usar as métricas do DAX?](#dax-how-to-use-metrics)
+ [Visualizar métricas e dimensões do DAX](dax-metrics-dimensions-dax.md)
+ [Criar alarmes do CloudWatch para monitorar o DAX](dax-creating-alarms.md)
+ [Monitoramento da produção](dax-production-monitoring.md)

## Como usar as métricas do DAX?
<a name="dax-how-to-use-metrics"></a>

 As métricas informadas pelo DAX 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?   |   Métricas relevantes   | 
| --- | --- | 
|  Determinar se ocorreu algum erro do sistema  |   Monitore `FaultRequestCount` para determinar se alguma solicitação resultou em um código HTTP 500 (erro de servidor). Isso pode indicar um erro de serviço interno do DAX ou um HTTP 500 na [métrica SystemErrors](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) da tabela subjacente.   | 
|  Determinar se ocorreu algum erro do usuário  |   Monitore `ErrorRequestCount` para determinar se alguma solicitação resultou em um código HTTP 400 (erro de cliente). Se você vir a contagem de erros aumentando, investigue e verifique se você está enviando solicitações de clientes corretas.   | 
|  Determinar se ocorreu alguma ausência no cache  |   Monitore `ItemCacheMisses` para determinar o número de vezes que um item não foi encontrado no cache e `QueryCacheMisses` e `ScanCacheMisses` para determinar o número de vezes que uma consulta ou um resultado de verificação não foi encontrado no cache.   | 
|  Monitorar taxas de acerto do cache  |   Use a [Matemática de métricas do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) para definir uma métrica da taxa de acertos do cache usando expressões matemáticas.   Por exemplo, para o cache do item, você pode usar a expressão m1/SUM([m1, m2])\$1100, em que m1 é a métrica `ItemCacheHits` e m2 é a métrica `ItemCacheMisses` para seu cluster. Para os caches de verificação e consulta, você pode seguir o mesmo padrão usando a métrica do cache de verificação e consulta correspondente.   | 

# Visualizar métricas e dimensões do DAX
<a name="dax-metrics-dimensions-dax"></a>

 Quando você interage com o Amazon DynamoDB, ele envia as seguintes métricas e dimensões ao Amazon CloudWatch. É possível usar os procedimentos a seguir para visualizar as métricas do DynamoDB Accelerator (DAX). 

**Para visualizar métricas (console)**

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

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, selecione **Métricas**. 

1.  Selecione o namespace **DAX**. 

**Para visualizar métricas do (AWS CLI)**
+  Em um prompt de comando, use o seguinte comando. 

  ```
  1. aws cloudwatch list-metrics --namespace "AWS/DAX"
  ```

## Métricas e dimensões do DAX
<a name="dax-metrics-dimensions"></a>

 As seções a seguir contêm as métricas e as dimensões que o DAX envia para o CloudWatch. 

### Métricas do DAX
<a name="dax-metrics"></a>

As métricas a seguir estão disponíveis no DAX. O DAX envia métricas ao CloudWatch somente quando elas têm um valor diferente de zero.

**nota**  
O Amazon CloudWatch agrega as seguintes métricas do DAX em intervalos de um minuto:  
`CPUUtilization`
`CacheMemoryUtilization`
`NetworkBytesIn`
`NetworkBytesOut`
`BaselineNetworkBytesInUtilization`
`BaselineNetworkBytesOutUtilization`
`NetworkPacketsIn`
`NetworkPacketsOut`
`GetItemRequestCount`
`BatchGetItemRequestCount`
`BatchWriteItemRequestCount`
`DeleteItemRequestCount`
`PutItemRequestCount`
`UpdateItemRequestCount`
`TransactWriteItemsCount`
`TransactGetItemsCount`
`ItemCacheHits`
`ItemCacheMisses`
`QueryCacheHits`
`QueryCacheMisses`
`ScanCacheHits`
`ScanCacheMisses`
`TotalRequestCount`
`ErrorRequestCount`
`FaultRequestCount`
`FailedRequestCount`
`QueryRequestCount`
`ScanRequestCount`
`ClientConnections`
`EstimatedDbSize`
`EvictedSize`
`CPUCreditUsage`
`CPUCreditBalance`
`CPUSurplusCreditBalance`
`CPUSurplusCreditsCharged`

Nem todas as estatísticas, como `Average` ou `Sum`, são aplicáveis a todas as métricas. No entanto, todos esses valores estão disponíveis por meio do console do DAX ou usando o console do CloudWatch, AWS CLI ou AWS SDKs para todas as métricas. Na tabela a seguir, cada métrica tem uma lista de estatísticas válidas aplicáveis a essa métrica.


****  

| Métrica | Descrição | 
| --- | --- | 
| CPUUtilization |  O percentual de utilização da CPU do nó ou cluster. Unidades: `Percent` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| CacheMemoryUtilization |  O percentual de memória cache disponível que está em uso pelo cache de item e cache de consulta no nó ou cluster. Os dados armazenados em cache começam a ser despejados antes que a utilização da memória atinja 100% (consulte a métrica `EvictedSize`). Se `CacheMemoryUtilization` atinge 100% em qualquer nó, as solicitações de gravação serão limitadas e você deverá considerar a mudança para um cluster com um tipo de nó maior. Unidades: `Percent` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| NetworkBytesIn |  O número de bytes recebidos em todas as interfaces de rede pelo nó ou cluster. Unidades: `Bytes` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| NetworkBytesOut |  O número de bytes enviados em todas as interfaces de rede pelo nó ou cluster. Essa métrica identifica o volume de tráfego de saída em termos do número de bytes em um único nó ou cluster. Unidades: `Bytes` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| BaselineNetworkBytesInUtilization |  A porcentagem da largura de banda de rede de linha de base consumida em determinado momento para o tráfego de entrada. Para referência, 50% significa que metade da largura de banda de rede disponível para tráfego de entrada está sendo usada. Unidades: `Percent` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| BaselineNetworkBytesOutUtilization |  A porcentagem da largura de banda da rede de linha de base consumida em determinado momento para o tráfego de saída. Para referência, 50% significa que metade da largura de banda da rede disponível para tráfego de saída está sendo usada. Unidades: `Percent` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| NetworkPacketsIn |  O número de pacotes recebidos em todas as interfaces de rede pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| NetworkPacketsOut |  O número de pacotes enviados em todas as interfaces de rede pelo nó ou cluster. Essa métrica identifica o volume de tráfego de saída em termos do número de pacotes em um único nó ou cluster. Unidades: `Count` Estatística válida:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| GetItemRequestCount |  O número de solicitações `GetItem` manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| BatchGetItemRequestCount |  O número de solicitações `BatchGetItem` manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| BatchWriteItemRequestCount |  O número de solicitações `BatchWriteItem` manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| DeleteItemRequestCount |  O número de solicitações `DeleteItem` manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| PutItemRequestCount |  O número de solicitações `PutItem` manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| UpdateItemRequestCount |  O número de solicitações `UpdateItem` manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| TransactWriteItemsCount |  O número de solicitações `TransactWriteItems` manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| TransactGetItemsCount |  O número de solicitações `TransactGetItems` manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| ItemCacheHits |  O número de vezes que um item foi retornado do cache pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| ItemCacheMisses |  O número de vezes que um item não estava no cache do nó ou cluster e precisou ser recuperado do DynamoDB. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| QueryCacheHits |  O número de vezes que um resultado de consulta foi retornado do cache do nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| QueryCacheMisses |  O número de vezes que um resultado de consulta não estava no cache do nó ou cluster e precisou ser recuperado do DynamoDB. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| ScanCacheHits |  O número de vezes que um resultado de verificação foi retornado do cache do nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| ScanCacheMisses |  O número de vezes que um resultado de verificação não estava no cache do nó ou cluster e precisou ser recuperado do DynamoDB. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| TotalRequestCount |  O número total de solicitações manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| ErrorRequestCount |  Número total de solicitações que resultaram em um erro de usuário relatado pelo nó ou cluster. As solicitações que foram limitadas pelo nó ou cluster estão incluídas. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| ThrottledRequestCount |  O número total de solicitações limitadas pelo nó ou cluster. As solicitações que foram limitadas pelo DynamoDB não são incluídas e podem ser monitoradas usando [métricas do DynamoDB](metrics-dimensions.md). Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| FaultRequestCount |  Número total de solicitações que resultaram em um erro interno relatado pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| FailedRequestCount |  Número total de solicitações que resultaram em erro relatado pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| QueryRequestCount |  O número de solicitações de consulta manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| ScanRequestCount |  O número de solicitações de varredura manipuladas pelo nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| ClientConnections |  O número de conexões simultâneas feitas pelos clientes ao nó ou cluster. Unidades: `Count` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| EstimatedDbSize |  Uma aproximação da quantidade de dados armazenados em cache no cache de item e no cache de consulta pelo nó ou cluster. Unidades: `Bytes` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| EvictedSize |  A quantidade de dados que foi removida pelo nó ou cluster para criar espaço para dados recém-solicitados. Se a taxa de erros aumentar e você observar que essa métrica também está crescendo, isso provavelmente significa que seu conjunto de trabalho aumentou. Você deve considerar migrar para um cluster com um tipo de nó maior. Unidades: `Bytes` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| CPUCreditUsage |  O número de créditos de CPU gastos pelo nó por utilização de CPU. Um crédito de CPU equivale a um vCPU em execução em 100% de utilização por um minuto ou a uma combinação equivalente de vCPUs, utilização e tempo (por exemplo, um vCPU em execução a 50% de utilização por dois minutos ou dois vCPUs em execução a 25% de utilização por dois minutos). As métricas de crédito de CPU estão disponíveis a uma frequência de apenas 5 minutos. Se você especificar um período de mais cinco minutos, use a estatística `Sum` em vez da estatística `Average`. Unidades: `Credits (vCPU-minutes)` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| CPUCreditBalance |  O número de créditos ganhos de CPU que um nó acumulou desde que foi iniciado. Os créditos são acumulados no saldo de créditos após terem sido ganhos e são removidos do saldo de créditos quando são gastos. O saldo de créditos tem um limite máximo que é determinado pelo tamanho do nó do DAX. Depois que o limite for atingido, todos os novos créditos ganhos serão descartados. Os créditos em `CPUCreditBalance` são disponibilizados para que o nó gaste e apresente intermitência com uma utilização de CPU acima da referência. Unidades: `Credits (vCPU-minutes)` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| CPUSurplusCreditBalance |  O número de créditos excedentes gastos por um nó do DAX quando seu valor `CPUCreditBalance` é zero. O valor `CPUSurplusCreditBalance` é pago pelos créditos de CPU ganhos. Se o número de créditos excedentes ultrapassar o número máximo de créditos que o nó pode ganhar em um período de 24 horas, os créditos excedentes gastos acima do limite máximo incorrerão em uma taxa adicional. Unidades: `Credits (vCPU-minutes)` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 
| CPUSurplusCreditsCharged |  O número de créditos excedentes gastos que não são pagos pelos créditos de CPU ganhos e que, portanto, incorrem em uma cobrança adicional. Os créditos excedentes ultrapassaram o número máximo de créditos que o nó pode obter em um período de 24 horas. Os créditos excedentes gastos acima do limite máximo são cobrados no final da hora ou quando o nó for terminado. Unidades: `Credits (vCPU-minutes)` Estatística válida: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/amazondynamodb/latest/developerguide/dax-metrics-dimensions-dax.html)  | 

**nota**  
As métricas `CPUCreditUsage`, `CPUCreditBalance`, `CPUSurplusCreditBalance` e `CPUSurplusCreditsCharged` estão disponíveis apenas para nós T3.

### Dimensões para métricas do DAX
<a name="dax-metric-dimensions"></a>

As métricas do DAX são qualificadas pelos valores para a conta, o ID de cluster ou a combinação do ID do cluster e o do nó. Você pode usar o console do CloudWatch para recuperar dados do DAX junto com qualquer uma das dimensões da tabela a seguir.


****  

|  Dimensão  |  Namespace da métrica do CloudWatch  |  Descrição  | 
| --- | --- | --- | 
|  Account  |  DAX Metrics  |  Fornece estatísticas agregadas em todos os nós em uma conta.  | 
|  ClusterId  |  Cluster Metrics  |  Limita os dados a um cluster.   | 
|  ClusterId, NodeId  |  ClusterId, NodeId  |  Limita os dados a um nó dentro de um cluster.   | 

# Criar alarmes do CloudWatch para monitorar o DAX
<a name="dax-creating-alarms"></a>

 Você pode criar um alarme do Amazon CloudWatch que envia uma mensagem do Amazon Simple Notification Service (Amazon SNS) quando o alarme muda de estado. Um alarme observa uma única métrica por um período tempo que você especifica. Ele executa uma ou mais ações com base no valor da métrica em relação a um limite especificado ao longo de vários períodos. A ação é uma notificação que é enviada para um tópico do Amazon SNS ou uma política de Auto Scaling. Os alertas invocam ações apenas para alterações de estado mantidas. Os alarmes do CloudWatch não invocam ações só porque estão em um determinado estado. O estado deve ter sido alterado e mantido por uma quantidade especificada de períodos. 

## Como posso ser notificado de erros no cache de consulta?
<a name="dax-notify-reach-capacity"></a>

1. Crie um tópico do Amazon SNS, `arn:aws:sns:us-west-2:522194210714:QueryMissAlarm`.

   Para obter mais informações, consulte [Configurar Amazon Simple Notification Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html) no *Guia do usuário do Amazon CloudWatch*.

1. Crie o alarme.

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name QueryCacheMissesAlarm  \
       --alarm-description "Alarm over query cache misses" \
       --namespace AWS/DAX \
       --metric-name QueryCacheMisses  \
       --dimensions Name=ClusterID,Value=myCluster \
       --statistic Sum \
       --threshold 8 \
       --comparison-operator GreaterThanOrEqualToThreshold \
       --period 60 \
       --evaluation-periods 1 \
       --alarm-actions arn:aws:sns:us-west-2:522194210714:QueryMissAlarm
   ```

1. Teste o alarme.

   ```
   aws cloudwatch set-alarm-state --alarm-name QueryCacheMissesAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name QueryCacheMissesAlarm --state-reason "initializing" --state-value ALARM
   ```

**nota**  
 Você também pode aumentar ou diminuir o limite para que seja adequado ao seu aplicativo. Você também pode usar a [Matemática de métricas do CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html) para definir uma métrica da taxa de ausências no cache e definir um alarme para essa métrica.

## Como posso recebe notificação se as solicitações causarem um erro interno no cluster?
<a name="dax-notify-system-errors"></a>

1. Crie um tópico do Amazon SNS, `arn:aws:sns:us-west-2:123456789012:notify-on-system-errors`.

   Para obter mais informações, consulte [Configurar Amazon Simple Notification Service](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html) no *Guia do usuário do Amazon CloudWatch*.

1. Crie o alarme.

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name FaultRequestCountAlarm \
       --alarm-description "Alarm when a request causes an internal error" \
       --namespace AWS/DAX \
       --metric-name FaultRequestCount \
       --dimensions Name=ClusterID,Value=myCluster \
       --statistic Sum \
       --threshold 0 \
       --comparison-operator GreaterThanThreshold \
       --period 60 \
       --unit Count \
       --evaluation-periods 1 \
       --alarm-actions arn:aws:sns:us-east-1:123456789012:notify-on-system-errors
   ```

1. Teste o alarme.

   ```
   aws cloudwatch set-alarm-state --alarm-name FaultRequestCountAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name FaultRequestCountAlarm --state-reason "initializing" --state-value ALARM
   ```

# Monitoramento da produção
<a name="dax-production-monitoring"></a>

 Você deve estabelecer uma referência de performance normal do DAX em seu ambiente, medindo a performance em vários momentos e em diferentes condições de carga. Ao monitorar o DAX, você deve pensar na possibilidade de armazenar os dados históricos de monitoramento. Esses dados armazenados fornecem a você uma linha de base com a qual comparar os dados de desempenho atuais, identificar padrões normais e anomalias de desempenho e criar métodos para solucionar problemas. 

 Para estabelecer uma linha de base, você deve monitorar, no mínimo, os seguintes itens durante o teste de carga e na produção: 
+  Utilização da CPU e solicitações limitadas, para que seja possível determinar se é necessário usar um tipo de nó maior no cluster. A utilização da CPU do cluster está disponível por meio da métrica `CPUUtilization` do CloudWatch. A estatística média dessa métrica fornece uma visão da utilização média da CPU em todos os nós do cluster. Para decisões de escalabilidade de cluster, recomendamos que você use a estatística máxima, que é a utilização máxima em todos os nós. 
**nota**  
A AWS melhorou o detalhamento da métrica `CPUUtilization`. Você pode observar alterações na métrica entre 17/5/2024 e 22/6/2024.
+  A latência da operação (medida do lado do cliente) deve permanecer consistente dentro dos requisitos de latência da aplicação. 
+  As taxas de erro devem permanecer baixas, como pode ser visto nas métricas `ErrorRequestCount`, `FaultRequestCount` e `FailedRequestCount` do CloudWatch.
+  Consumo de bytes de rede, para que você possa determinar se deve usar mais nós ou um tipo de nó maior no cluster. Para monitorar o consumo, é possível definir alertas nas métricas `BaselineNetworkBytesInUtilization` e `BaselineNetworkBytesOutUtilization` disponíveis no CloudWatch, que indicam o consumo percentual da largura de banda da rede disponível para seu tipo de instância, para tráfego de entrada e de saída, respectivamente. 
+ Utilização da memória cache e tamanho da remoção, para que você possa determinar se o tipo de nó do cluster tem memória suficiente para manter o conjunto de trabalho e, se não, mudar para um tipo de nó maior.
**nota**  
 No caso de um grande número de falhas e gravações no cache, a utilização da memória cache pode aumentar em até 100% e causar tempo de inatividade na disponibilidade. 
+  Conexões de cliente, para que você possa monitorar todos os picos inexplicáveis em conexões com o cluster.