

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

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

Você pode monitorar o MemoryDB usando o CloudWatch, que coleta dados brutos e os processa em métricas legíveis praticamente em tempo real. Essas estatísticas são mantidas por 15 meses, de maneira que você possa acessar informações históricas e ter uma perspectiva melhor de como o aplicativo web ou o serviço está se saindo. Você também pode definir alarmes que observam determinados limites e enviam notificações ou realizam ações quando esses limites são atingidos. Para obter mais informações, consulte o [Guia do usuário do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/).

As seções a seguir listam as métricas e dimensões do MemoryDB.

**Topics**
+ [

# Métricas em nível de host
](metrics.HostLevel.md)
+ [

# Métricas para MemoryDB
](metrics.memorydb.md)
+ [

# Quais métricas devo monitorar?
](metrics.whichshouldimonitor.md)
+ [

# Escolher estatísticas e períodos de métricas
](metrics.ChoosingStatisticsAndPeriods.md)
+ [

# Monitoramento das métricas do CloudWatch
](cloudwatchmetrics.md)

# Métricas em nível de host
<a name="metrics.HostLevel"></a>

O namespace `AWS/MemoryDB` inclui as seguintes métricas em nível de host para nós individuais.

**Consulte também**
+ [Métricas para MemoryDB](metrics.memorydb.md)


| Métrica | Descrição | Unidade | 
| --- | --- | --- | 
| CPUUtilization |  A percentagem de utilização da CPU para o host inteiro. Como o Valkey e o Redis OSS são de thread único, recomendamos que você monitore a métrica EngineCPUUtilization, para nós com quatro ou mais vCPUs. |  Percentual  | 
| FreeableMemory  |  A quantidade de memória livre disponível no host. Esse número é derivado da memória em RAM e dos buffers que o sistema operacional relata como passíveis de liberação. |  Bytes  | 
| NetworkBytesIn |  O número de bytes que o host leu da rede.  |  Bytes  | 
| NetworkBytesOut | O número de bytes enviados em todas as interfaces de rede pela instância.  |  Bytes  | 
| NetworkPacketsIn | O número de pacotes recebidos em todas as interfaces de rede pela instância. Essa métrica identifica o volume de tráfego de entrada em termos do número de pacotes em uma única instância.  | Contagem  | 
| NetworkPacketsOut | O número de pacotes enviados em todas as interfaces de rede pela instância. Essa métrica identifica o volume de tráfego de saída em termos do número de pacotes em uma única instância. | Contagem  | 
| NetworkBandwidthInAllowanceExceeded | Número de pacotes moldados porque a largura de banda agregada de entrada excedeu o máximo para a instância. | Contagem  | 
| NetworkConntrackAllowanceExceeded | Número de pacotes moldados porque o monitoramento da conexão excedeu o máximo para a instância e não foi possível estabelecer novas conexões. Isso pode resultar em perda de pacotes para tráfego indo para a instância ou vindo da instância | Contagem  | 
| NetworkBandwidthOutAllowanceExceeded | Número de pacotes moldados porque a largura de banda agregada de saída excedeu o máximo para a instância. | Contagem  | 
| NetworkPacketsPerSecondAllowanceExceeded | Número de pacotes moldados porque o valor bidirecional de pacotes por segundo excedeu o máximo para a instância. | Contagem  | 
| NetworkMaxBytesIn | A intermitência máxima por segundo de bytes recebidos em cada minuto. | Bytes | 
| NetworkMaxBytesOut  | A intermitência máxima por segundo de bytes transmitidos em cada minuto. | Bytes | 
| NetworkMaxPacketsIn | A intermitência máxima por segundo de pacotes recebidos em cada minuto. | Contagem  | 
| NetworkMaxPacketsOut | A intermitência máxima por segundo de pacotes transmitidos em cada minuto. | Contagem  | 
| SwapUsage |  A quantidade de troca usada no host.  |  Bytes  | 

# Métricas para MemoryDB
<a name="metrics.memorydb"></a>

O namespace `AWS/MemoryDB` inclui as métricas a seguir.

Com exceção de `ReplicationLag`, `EngineCPUUtilization`, `SuccessfulWriteRequestLatency` e `SuccessfulReadRequestLatency` essas métricas são derivadas do comando **info** do Valkey e Redis OSS. Cada métrica é calculada no nível do nó.

Para conferir a documentação completa do comando **INFO**, consulte [INFO](http://valkey.io/commands/info). 

**Consulte também:**
+ [Métricas em nível de host](metrics.HostLevel.md)

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/memorydb/latest/devguide/metrics.memorydb.html)

A seguir estão agregações de determinados tipos de comandos, derivados de : **info commandstats**. A seção commandstats fornece estatísticas com base no tipo de comando, incluindo o número de chamadas.

Para conferir uma lista completa dos comandos disponíveis, consulte [comandos](https://valkey.io/commands). 


| Métrica  | Descrição  | Unidade  | 
| --- | --- | --- | 
| EvalBasedCmds | O número total de comandos para comandos baseados em avaliação. Deriva da estatística commandstats, somando eval e evalsha. | Contagem | 
| GeoSpatialBasedCmds | O número total de comandos para comandos baseados em dados geoespaciais. É derivado da estatística commandstats. Ele é derivado somando todos o tipos de comandos geo: geoadd, geodist, geohash, geopos, georadius, e georadiusbymember. | Contagem | 
| GetTypeCmds | O número total de comandos do tipo read-only. É derivado da estatística commandstats, somando todos os comandos do tipo read-only (get, hget, scard, lrange, etc.) | Contagem | 
| HashBasedCmds | O número total de comandos baseados em hash. É derivado da estatística commandstats, somando todos os comandos que atuam em um ou mais hashes (hget, hkeys, hvals, hdel, etc.). | Contagem | 
| HyperLogLogBasedCmds | O número total de comandos baseados em HyperLogLog. É derivado da estatística commandstats, somando todos os comandos do tipo pf (pfadd, pfcount, pfmerge, etc.). | Contagem | 
|  JsonBasedCmds |  O número total de comandos que são baseados em JSON. Deriva da estatística commandstats, somando todos os comandos que atuam em um ou mais objetos de documento JSON.  | Contagem | 
| KeyBasedCmds | O número total de comandos baseados em chave. É derivado da estatística commandstats, somando todos os comandos que atuam em uma ou mais chaves em várias estruturas de dados (del, expire, rename, etc.). | Contagem | 
| ListBasedCmds | O número total de comandos baseados em lista. É derivado da estatística commandstats, somando todos os comandos que atuam em uma ou mais listas (lindex, lrange, lpush, ltrim, etc.). | Contagem | 
| PubSubBasedCmds | O número total de comandos para a funcionalidade pub/sub. Deriva da estatística commandstats, somando todos os comandos usados para a funcionalidade pub/sub: psubscribe, publish, pubsub, punsubscribe, subscribe e unsubscribe. | Contagem | 
| SearchBasedCmds | O número total de comandos de pesquisa e índice secundário, incluindo comandos de leitura e gravação. Deriva da estatística commandstats, somando todos os comandos de pesquisa que atuam em índices secundários. | Contagem | 
| SearchBasedGetCmds | Número total de comandos somente leitura secundários de índice e pesquisa. Deriva da estatística commandstats, somando todos os comandos get de pesquisa e índice secundário. | Contagem | 
| SearchBasedSetCmds | Número total de comandos de gravação secundários de índice e pesquisa. Deriva da estatística commandstats, somando todos os comandos set de pesquisa e índice secundário. | Contagem | 
| SearchNumberOfIndexes | Número total de índices.  | Contagem | 
| SearchNumberOfIndexedKeys | Número total de chaves indexadas.  | Contagem | 
| SearchTotalIndexSize | Memória (bytes) usada por todos os índices.  | Bytes | 
| SetBasedCmds | O número total de comandos que são baseados em conjuntos. É derivado da estatística commandstats, somando todos os comandos que atuam em um ou mais conjuntos (scard, sdiff, sadd, sunion, etc.). | Contagem | 
| SetTypeCmds | O número total de tipos de comando write. É derivado da estatística commandstats, somando todos os tipos de comando mutative que operam em dados (set, hset, sadd, lpop, etc.) | Contagem | 
| SortedSetBasedCmds | O número total de comandos que são classificados com base em conjuntos. É derivado da estatística commandstats, somando todos os comandos que atuam em um ou mais conjuntos classificados (zcount, zrange, zrank, zadd, etc.). | Contagem | 
| StringBasedCmds | O número total de comandos baseados em string. É derivado da estatística commandstats, somando todos os comandos que atuam em uma ou mais strings (strlen, setex, setrange, etc.). | Contagem | 
| StreamBasedCmds | O número total de comandos que são baseados em fluxo. É derivado da estatística commandstats, somando todos os comandos que atuam em um ou mais tipos de dados de fluxos (xrange, xlen, xadd, xdel, etc.). | Contagem | 

# Quais métricas devo monitorar?
<a name="metrics.whichshouldimonitor"></a>

As seguintes métricas do CloudWatch oferecem uma boa visão do desempenho do MemoryDB. Na maioria dos casos, recomendamos que você defina alarmes do CloudWatch para essas métricas para poder tomar medidas corretivas antes que problemas de performance ocorram.

**Topics**
+ [

## CPUUtilization
](#metrics-cpu-utilization)
+ [

## EngineCPUUtilization
](#metrics-engine-cpu-utilization)
+ [

## SwapUsage
](#metrics-swap-usage)
+ [

## Evictions
](#metrics-evictions)
+ [

## CurrConnections
](#metrics-curr-connections)
+ [

## Memória
](#metrics-memory)
+ [

## Rede
](#metrics-network)
+ [

## Latência
](#metrics-latency)
+ [

## Replicação
](#metrics-replication)

## CPUUtilization
<a name="metrics-cpu-utilization"></a>

Essa é uma métrica em nível de host relatada como uma porcentagem. Para obter mais informações, consulte [Métricas em nível de host](metrics.HostLevel.md).

 Para tipos de nós menores com 2 vCPUs ou menos, use a métrica `CPUUtilization ` para monitorar a workload.

De modo geral, sugerimos que você defina o limite para 90% da CPU disponível. Como o Valkey e o Redis OSS têm thread único, o valor efetivo do limite deve ser calculado como uma fração da capacidade total do nó. Por exemplo, suponha que você esteja usando um tipo de nó com dois núcleos. Nesse caso, o limite para CPUUtilization seria 90/2 ou 45%. Para saber o número de núcleos (vCPUs) que seu tipo de nó possui, consulte [Precificação do MemoryDB](https://aws.amazon.com/memorydb/pricing/?p=ps).

Você precisará determinar seu próprio limite, com base no número de núcleos no nó que está usando. Se você exceder esse limite e sua workload principal for de solicitações de leitura, escale seu cluster adicionando réplicas de leitura. Se a workload principal for proveniente de solicitações de gravação, recomendamos que você adicione mais fragmentos para distribuir a workload de gravação em mais nós primários.

**dica**  
Em vez de usar a métrica ao nível do host `CPUUtilization`, talvez você possa usar a métrica `EngineCPUUtilization`, que informa a porcentagem de uso no núcleo do mecanismo Valkey ou Redis OSS. Para ver se essa métrica está disponível em seus nós e para obter mais informações, consulte [Métricas para MemoryDB](https://docs.aws.amazon.com/memorydb/latest/devguide/metrics.memorydb.html).

Para tipos de nós maiores com 4 vCPUs ou mais, talvez você queira usar a métrica `EngineCPUUtilization`, que informa a porcentagem de uso no núcleo do mecanismo Valkey ou Redis OSS. Para ver se essa métrica está disponível em seus nós e para obter mais informações, consulte [Métricas para MemoryDB](https://docs.aws.amazon.com/memorydb/latest/devguide/metrics.memorydb.html).

## EngineCPUUtilization
<a name="metrics-engine-cpu-utilization"></a>

Para tipos de nós maiores com 4 vCPUs ou mais, talvez você queira usar a métrica `EngineCPUUtilization`, que informa a porcentagem de uso no núcleo do mecanismo Valkey ou Redis OSS. Para ver se essa métrica está disponível em seus nós e para obter mais informações, consulte [Métricas para MemoryDB](https://docs.aws.amazon.com/memorydb/latest/devguide/metrics.memorydb.html).

## SwapUsage
<a name="metrics-swap-usage"></a>

Esta é uma métrica em nível de host relatada em bytes. Para obter mais informações, consulte [Métricas em nível de host](metrics.HostLevel.md).

Se a métrica `FreeableMemory` do CloudWatch estiver próxima de 0 (ou seja, abaixo de 100 MB), ou se a métrica `SwapUsage` for maior que a métrica `FreeableMemory`, isso poderá indicar que há um nó sob uso intenso da memória.

## Evictions
<a name="metrics-evictions"></a>

Essa é uma métrica de mecanismo. Recomendamos que você determine seu próprio limite de alarme para essa métrica com base nas necessidades do seu aplicativo.

## CurrConnections
<a name="metrics-curr-connections"></a>

Essa é uma métrica de mecanismo. Recomendamos que você determine seu próprio limite de alarme para essa métrica com base nas necessidades do seu aplicativo.

Um número crescente de *CurrConnections* pode indicar um problema em seu aplicativo; você precisará investigar o comportamento do aplicativo para resolver esse problema. 

## Memória
<a name="metrics-memory"></a>

A memória é um aspecto central do Valkey e do Redis OSS. Compreender a utilização da memória do seu cluster é necessário para evitar a perda de dados e acomodar o crescimento futuro do seu conjunto de dados. Estatísticas sobre a utilização de memória de um nó estão disponíveis na seção de memória do comando [INFO](https://valkey.io/commands/info).

## Rede
<a name="metrics-network"></a>

Um dos fatores determinantes para a capacidade de largura de banda da rede do cluster é o tipo de nó selecionado. Para obter mais informações sobre a capacidade de rede de seu nó, consulte [Precificação do Amazon MemoryDB](https://aws.amazon.com/memorydb/pricing/).

## Latência
<a name="metrics-latency"></a>

As métricas de latência `SuccessfulWriteRequestLatency` e `SuccessfulReadRequestLatency` medem o tempo total que o mecanismo do MemoryDB para Valkey leva para responder a uma solicitação.

**nota**  
Valores inflados para as métricas `SuccessfulWriteRequestLatency` e `SuccessfulReadRequestLatency` podem ocorrer ao usar o pipeline do Valkey com CLIENT REPLY habilitado no cliente do Valkey. A criação de pipeline do Valkey é uma técnica para melhorar o desempenho emitindo vários comandos ao mesmo tempo, sem esperar pela resposta de cada comando individual. Para evitar valores inflados, recomendamos configurar seu cliente do Redis para gerar comandos do pipeline com [CLIENT REPLY OFF](https://valkey.io/commands/client-reply/).

## Replicação
<a name="metrics-replication"></a>

O volume de dados que está sendo replicado é visível através da métrica `ReplicationBytes`. Você pode monitorar o `MaxReplicationThroughput` em relação ao throughput da capacidade de replicação. Recomenda-se adicionar mais fragmentos ao atingir o throughput máximo da capacidade de replicação.

`ReplicationDelayedWriteCommands` também pode indicar se a workload está excedendo o throughput da capacidade máxima de replicação. Para obter mais informações sobre a replicação no MemoryDB, consulte [Entendendo a replicação do MemoryDB](https://docs.aws.amazon.com/memorydb/latest/devguide/replication.html)

# Escolher estatísticas e períodos de métricas
<a name="metrics.ChoosingStatisticsAndPeriods"></a>

Embora o CloudWatch permita que você escolha qualquer estatística e período para cada métrica, nem todas as combinações são úteis. Por exemplo, as estatísticas Average, Minimum e Maximum para CPUUtilization são úteis, mas a estatística Sum não é.

Todas as amostras do MemoryDB são publicadas por um período de 60 segundos para cada nó individual. Em qualquer período de 60 segundos, uma métrica de nó conterá apenas uma única amostra.

# Monitoramento das métricas do CloudWatch
<a name="cloudwatchmetrics"></a>

O MemoryDB e o CloudWatch são integrados para que você possa reunir uma variedade de métricas. Você pode monitorar essas métricas usando o CloudWatch. 

**nota**  
Os seguintes exemplos requerem ferramentas de linha de comando do CloudWatch. Para mais informações sobre o CloudWatch e para baixar as ferramentas do desenvolvedor, consulte a [página de produto do CloudWatch](https://aws.amazon.com/cloudwatch). 

Os procedimentos a seguir mostram como usar o CloudWatch para coletar estatísticas de espaço de armazenamento de um cluster para a última hora. 

**nota**  
Os valores `StartTime` e `EndTime` fornecidos nos exemplos a seguir são para fins ilustrativos. Verifique se fez a substituição dos valores de hora inicial e final apropriados para seus nós.

Para obter informações sobre os limites do MemoryDB, consulte [limites de serviço daAWS](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_memorydb) para o MemoryDB.

## Monitoramento das métricas do CloudWatch (Console)
<a name="cloudwatchmetricsclusters.viewdetails"></a>

 **Para reunir estatísticas de utilização da CPU em um cluster** 

1. Faça login no Console de gerenciamento da AWS e abra o console do MemoryDB em [https://console.aws.amazon.com/memorydb/](https://console.aws.amazon.com/memorydb/).

1. Selecione os nós para os quais você deseja visualizar métricas. 
**nota**  
Selecionar mais de 20 nós desabilita as métricas de visualização no console.

   1. Na página **Clusters** do Management Console da AWS, clique no nome de um ou mais clusters.

      A página de detalhes do cluster é exibida. 

   1. Clique na guia **Nodes** na parte superior da janela.

   1. Na guia **Nós** da janela de detalhes, selecione os nós de cache para os quais você deseja visualizar as métricas.

      Uma lista das Métricas do CloudWatch disponíveis aparece na parte inferior da janela do console. 

   1. Clique na métrica **CPU Utilization**. 

      O console do CloudWatch será aberto, exibindo as métricas selecionadas. Você pode usar as caixas de listagem suspensas **Statistic** e **Period** e a guia **Time Range** para alterar as métricas exibidas. 

## Monitoramento das métricas do CloudWatch usando a CLI do CloudWatch
<a name="cloudwatchmetrics.cli"></a>

 **Para reunir estatísticas de utilização da CPU em um cluster** 
+ Use o comando **aws cloudwatch get-metric-statistics** do CloudWatch com os seguintes parâmetros (observe que os horários de início e término são mostrados apenas como exemplos, você precisará substituir seus próprios horários de início e término apropriados):

  Para Linux, macOS ou Unix:

  ```
  1. aws cloudwatch get-metric-statistics CPUUtilization \
  2.     --dimensions=ClusterName=mycluster,NodeId=0002" \
  3.     --statistics=Average \
  4.     --namespace="AWS/MemoryDB" \
  5.     --start-time 2013-07-05T00:00:00 \
  6.     --end-time 2013-07-06T00:00:00 \
  7.     --period=60
  ```

  Para Windows:

  ```
  1. mon-get-stats CPUUtilization ^
  2.     --dimensions=ClusterName=mycluster,NodeId=0002" ^
  3.     --statistics=Average ^
  4.     --namespace="AWS/MemoryDB" ^
  5.     --start-time 2013-07-05T00:00:00 ^
  6.     --end-time 2013-07-06T00:00:00 ^
  7.     --period=60
  ```

## Monitoramento das métricas do CloudWatch usando a API do CloudWatch
<a name="cloudwatchmetrics.api"></a>

 **Para reunir estatísticas de utilização da CPU em um cluster** 
+ Chame a API do CloudWatch `GetMetricStatistics` com os seguintes parâmetros (observe que os horários de início e término são mostrados apenas como exemplos, você precisará substituir seus próprios horários de início e término apropriados):
  + `Statistics.member.1``=Average`
  + `Namespace``=AWS/MemoryDB`
  + `StartTime``=2013-07-05T00:00:00`
  + `EndTime``=2013-07-06T00:00:00`
  + `Period``=60`
  + `MeasureName``=CPUUtilization`
  + `Dimensions``=ClusterName=mycluster,NodeId=0002`  
**Example**  

  ```
   1. http://monitoring.amazonaws.com/
   2.     ?SignatureVersion=4
   3.     &Action=GetMetricStatistics
   4.     &Version=2014-12-01
   5.     &StartTime=2013-07-16T00:00:00
   6.     &EndTime=2013-07-16T00:02:00
   7.     &Period=60
   8.     &Statistics.member.1=Average
   9.     &Dimensions.member.1="ClusterName=mycluster"
  10.     &Dimensions.member.2="NodeId=0002"
  11.     &Namespace=Amazon/memorydb
  12.     &MeasureName=CPUUtilization						
  13.     &Timestamp=2013-07-07T17%3A48%3A21.746Z
  14.     &AWS;AccessKeyId=<&AWS; Access Key ID>
  15.     &Signature=<Signature>
  ```