Métricas de monitoramento com suporte

Nesta página, listamos as métricas disponíveis para o Memorystore para Redis e descrevemos o que cada uma mede.

Para saber como visualizar essas métricas, consulte Monitorar instâncias.

Métricas do Cloud Monitoring

Nesta seção, listamos e descrevemos as métricas do Cloud Monitoring disponíveis para o Memorystore para Redis.

Nome da métrica Descrição
redis.googleapis.com/keyspace/avg_ttl Essa métrica mede o time to live (TTL) médio, em milissegundos, de todas as chaves em um banco de dados do Redis que têm uma expiração definida. Use a métrica para entender o ciclo de vida dos dados em cache e identificar se as chaves estão expirando antes ou depois do esperado em todas as instâncias.
redis.googleapis.com/clients/blocked

Essa métrica rastreia o número de conexões de cliente que estão aguardando a disponibilidade de dados porque comandos de bloqueio estão sendo executados em uma instância. Esses comandos de bloqueio incluem BLPOP, BRPOP e BRPOPLPUSH. Um grande número de clientes bloqueados pode indicar que o aplicativo está aguardando determinados eventos ou chaves serem preenchidos.

Monitore essa métrica para entender o comportamento do seu aplicativo, principalmente se você notar aumentos inesperados na latência que podem estar relacionados a clientes aguardando operações de bloqueio.

redis.googleapis.com/replication/master/slaves/lag

Essa métrica mede o número de segundos em que uma réplica está atrasada em relação a uma instância principal. O Memorystore para Redis calcula o valor da métrica pegando o horário atual e subtraindo o horário em que a réplica reconhece o recebimento da mensagem de bytes recebidos.

É possível usar a métrica para identificar se uma réplica está atrasada em relação à instância principal.

redis.googleapis.com/replication/offset_diff

Essa métrica rastreia o número de bytes que não são replicados para uma réplica. A métrica representa a diferença entre o deslocamento de bytes de replicação de uma instância principal e o deslocamento de bytes de replicação da réplica. Se não houver diferença entre esses valores, a réplica estará totalmente sincronizada com a instância principal.

À medida que a instância principal replica dados para a réplica durante um processo de failover, você pode notar um aumento nesses bytes pendentes.

redis.googleapis.com/stats/cache_hit_ratio

Essa métrica representa a proporção entre chamadas de banco de dados Redis bem-sucedidas e com falha. Uma chamada é bem-sucedida quando o banco de dados do Redis retorna o valor solicitado pelo autor da chamada.

Uma proporção maior de ocorrência em cache significa que o cache está sendo mais bem utilizado. Isso é benéfico para o desempenho do seu aplicativo.

redis.googleapis.com/commands/calls

Essa métrica mede o número de comandos do Redis executados a cada minuto em uma instância principal. Eles incluem todos os comandos do Redis de código aberto, como SET , GET e HSET . A métrica não contabiliza comandos do Memorystore para Redis, como create ou update.

redis.googleapis.com/clients/connected Essa métrica mostra o número de clientes conectados a uma instância. É possível monitorar a métrica para identificar a carga na instância. Se o número de clientes conectados se aproximar do limite de maxclients, o servidor poderá rejeitar novas tentativas de conexão.
redis.googleapis.com/stats/cpu_utilization

Essa métrica mede o tempo de uso da CPU por minuto usado pelo servidor Redis. Esse tempo é dividido pelo espaço sistema-usuário e pelas relações pai-filho.

O valor dos segundos de CPU mostra o total de segundos de CPU para todas as linhas de execução do processo principal do servidor Redis. Se você quiser ver o uso da CPU apenas para a linha de execução principal, consulte a métrica "Segundos de CPU da linha de execução principal" (cpu_utilization_main_thread).

A alta utilização da CPU é uma causa comum de aumento da latência em instâncias do Redis, porque pode levar a atrasos no processamento de comandos. Ao monitorar essa métrica, é possível identificar se uma carga alta de vários clientes impulsiona o uso da CPU.

redis.googleapis.com/stats/evicted_keys

Essa métrica mostra o número de chaves que o Memorystore para Redis remove de uma instância porque ela atingiu o limite de maxmemory.

Ao monitorar essa métrica, você pode determinar se o tamanho da memória da instância é suficiente para sua carga de trabalho. Se os dados acessados com frequência forem removidos do cache, as remoções de chaves poderão afetar o desempenho do aplicativo.

redis.googleapis.com/keyspace/keys_with_expiration Essa métrica rastreia o número de chaves em uma instância que têm uma expiração configurada. Se nenhuma chave tiver uma validade, "sem dados" será exibido no gráfico da métrica.
redis.googleapis.com/keyspace/keys Essa métrica mostra o número total de chaves armazenadas em um banco de dados. Se nenhuma chave for armazenada, "sem dados" vai aparecer no gráfico da métrica.
redis.googleapis.com/stats/cpu_utilization_main_thread Essa métrica mede os segundos de CPU usados pela linha de execução principal do servidor Redis. Essa medição é dividida pelo espaço do sistema/usuário e pela relação pai/filho. É possível monitorar a métrica para identificar picos de uso da CPU que ocorrem na linha de execução principal.
redis.googleapis.com/stats/memory/maxmemory Essa métrica representa a quantidade máxima de memória (maxmemory) que as chaves podem usar em uma instância. Quando esse limite é atingido, o Memorystore para Redis remove chaves da instância. Esse processo de remoção ocorre de acordo com a política configurada para a instância.
redis.googleapis.com/stats/memory/usage_ratio Essa métrica mostra o uso atual da memória de uma instância, expresso como uma proporção do limite máximo de memória. É possível monitorar a métrica para determinar o quanto a instância está próxima da capacidade. Com base na configuração da instância, atingir esse limite aciona o processo de remoção de chaves.
redis.googleapis.com/stats/keyspace_misses

Essa métrica rastreia o número de buscas com falha de chaves no dicionário principal. A métrica é incrementada sempre que um cliente tenta acessar uma chave que não existe no banco de dados.

A métrica é usada para calcular a proporção de ocorrência em cache, que mede a eficiência com que seu aplicativo usa o cache. Um grande número de falhas de keyspace geralmente indica que o aplicativo está solicitando dados que não estão presentes no cache. Se o aplicativo precisar buscar esses dados de um repositório de dados de back-end mais lento, isso poderá aumentar a latência.

redis.googleapis.com/replication/role

Essa métrica retorna um valor que identifica a função de um nó em um grupo de replicação. Um valor de 1 indica que o nó é primário, e um valor de 0 significa que o nó é uma réplica.

É possível usar a métrica para monitorar o status dos nós, principalmente durante eventos de failover em que as funções podem mudar. Além disso, é possível acompanhar a integridade e a topologia das instâncias do nível padrão, que oferecem alta disponibilidade por replicação.

redis.googleapis.com/persistence/rdb/bgsave_in_progress

Essa métrica retorna um valor que identifica se uma operação de salvamento em segundo plano (BGSAVE) do banco de dados Redis (RDB) está ativa. Um valor de 1 indica que um salvamento de RDB em segundo plano está ativo. Um valor de 0 significa que nenhum salvamento em segundo plano está em execução.

É possível usar a métrica para rastrear snapshots automáticos de RDB ou exportações manuais. Além disso, ao monitorar a métrica, é possível correlacionar picos transitórios no uso da memória ou na latência com tarefas de persistência em andamento.

redis.googleapis.com/stats/pubsub/channels Essa métrica rastreia o número global de canais do Pub/Sub que têm assinaturas de clientes ativas em uma instância. A métrica mede a contagem total de canais únicos em que os clientes estão inscritos usando os comandos SUBSCRIBE ou PSUBSCRIBE.
redis.googleapis.com/stats/pubsub/patterns Essa métrica rastreia o número global de padrões do Pub/Sub que têm assinaturas de clientes ativas em uma instância. A métrica mede a contagem total de padrões únicos a que os clientes estão inscritos. Normalmente, os clientes criam essas assinaturas usando o comando PSUBSCRIBE.
redis.googleapis.com/stats/reject_connections_count

Essa métrica rastreia o número de tentativas de conexão que uma instância rejeita pelos seguintes motivos:

  • O limite de maxclients: o servidor atinge o número máximo permitido de conexões simultâneas de clientes.
  • Pressão na memória: a instância rejeita novas conexões devido ao alto uso da memória.
  • Uma conexão TLS inválida: uma instância em que a criptografia em trânsito está ativada tem problemas relacionados ao TLS.

Ao monitorar a métrica, é possível identificar problemas de capacidade. Se o número de conexões rejeitadas aumentar, talvez seja necessário escalonar a instância para processar mais conexões ou aumentar a capacidade de memória dela. Além disso, quando a criptografia é aplicada, você pode usar a métrica para ajudar a depurar problemas de conexão do lado do cliente.

redis.googleapis.com/replication/master_repl_offset Essa métrica representa o número total de bytes que uma instância principal produz e envia para uma réplica. Ao subtrair o deslocamento de bytes de replicação da réplica desse deslocamento, é possível calcular o tamanho do atraso de replicação. Quando não há diferença entre esses valores de deslocamento, a réplica está totalmente sincronizada com a instância principal.
redis.googleapis.com/replication/master/slaves/offset Essa métrica indica o número total de bytes que uma réplica recebe de uma instância principal. Ao subtrair esse valor do deslocamento de bytes de replicação da instância principal, é possível calcular o tamanho do atraso de replicação. Quando não há diferença entre esses valores de deslocamento, a réplica está totalmente sincronizada com a instância principal.
redis.googleapis.com/stats/memory/system_memory_usage_ratio Essa métrica representa a quantidade de memória em uso, expressa como uma proporção da memória total disponível para o sistema. A memória total disponível do sistema é a memória provisionada para uma instância, além da memória adicional que o Memorystore para Redis fornece para gerenciar processos de sobrecarga.
redis.googleapis.com/stats/memory/system_memory_overload_duration

Essa métrica mede o tempo total (em microssegundos) em que uma instância está no modo de sobrecarga de memória do sistema.

Use a métrica para acompanhar períodos em que o uso de memória da instância excede os limites operacionais seguros para o sistema. Valores persistentes na métrica podem indicar que a instância corre risco de degradação ou instabilidade de performance devido à memória insuficiente para processos de sobrecarga.

redis.googleapis.com/commands/usec_per_call

Essa métrica representa o tempo médio gasto em cada chamada de comando do Redis por mais de um minuto. Esse tempo é medido em microssegundos.

A métrica é dividida por comandos individuais. Isso permite monitorar a performance de operações específicas, como GET, SET e HSET.

Também é possível usar a métrica para medir a latência da instância. Ao comparar o tempo por chamada em diferentes pontos, é possível identificar mudanças na performance e investigar as causas de uma discrepância de latência.

redis.googleapis.com/stats/connections/total Essa métrica representa o número total de conexões que o servidor aceita.
redis.googleapis.com/commands/total_time Essa métrica mede o tempo total, em microssegundos, gasto em cada comando do Redis de código aberto (como SET, GET ou HSET) no último segundo. Por exemplo, se o comando SET usar 800.000 microssegundos, serão necessários 80% de um único núcleo de CPU para processar todas as instâncias desse comando combinadas.
redis.googleapis.com/stats/network_traffic Essa métrica representa o número total de bytes enviados para ou do Redis. Essa contagem inclui os bytes dos comandos, os dados de payload e os delimitadores.
redis.googleapis.com/server/uptime Essa métrica indica o tempo de atividade do processo do servidor Redis em execução.
redis.googleapis.com/stats/memory/usage Essa métrica representa o número total de bytes alocados pelo processo do servidor Redis.

Métricas de detalhes da instância

Esta seção lista e descreve as métricas disponíveis para uma instância na página Detalhes da instância do console do Google Cloud .

Nome da métrica Descrição
Bytes com replicação pendente

Essa métrica mostra a quantidade de dados gravados em um nó principal, mas não copiados para um nó de réplica. Isso representa a diferença entre o deslocamento de bytes de replicação da instância principal e o deslocamento da réplica.

Um valor zero para a métrica indica que a réplica está totalmente sincronizada com a instância principal. Um valor alto geralmente ocorre durante períodos de alta atividade de gravação ou durante um processo de failover, porque os dados estão sendo sincronizados.

Proporção de ocorrência em cache

Essa métrica mostra a proporção entre chamadas de banco de dados Redis bem-sucedidas (acertos) e o número total de chamadas (acertos mais erros). A métrica representa a eficiência com que seu aplicativo usa o cache.

Uma proporção maior de cache para ocorrência indica que mais solicitações estão sendo atendidas diretamente do cache. Isso é benéfico para o desempenho do aplicativo porque reduz a latência.

Uma proporção baixa ou em queda geralmente indica que o aplicativo solicita dados que não estão presentes no cache. Isso pode exigir que você aumente o tamanho da instância ou ajuste a lógica de população de dados.

Chamadas

Essa métrica mostra o número de comandos do Redis executados em uma instância principal a cada minuto. A métrica conta todos os comandos do Redis de código aberto, como SET, GET e HSET. No entanto, a métrica não inclui comandos específicos do Memorystore para Redis, como create ou update.

Você pode usar a métrica para medir e analisar a latência da instância. Ao comparar o volume de chamadas com o tempo gasto nelas, é possível identificar mudanças na performance e investigar o que pode causar picos de latência.

Clientes conectados / bloqueados

Essa métrica mostra as seguintes informações:

  • Clientes conectados: o número total de clientes conectados a uma instância. Use essas informações para identificar a carga geral na instância. Se o número de clientes conectados se aproximar do limite de maxclients, o servidor poderá começar a rejeitar novas tentativas de conexão.

    Ao rastrear o número de clientes conectados, você determina se está se aproximando de limites que exigem escalonamento ou pool de conexões.

  • Clientes bloqueados: o número de conexões de clientes que aguardam dados porque executam comandos de bloqueio, como BLPOP, BRPOP e BRPOPLPUSH.

    Um grande número de clientes bloqueados pode indicar que seu aplicativo aguarda eventos específicos ou o preenchimento de chaves. Isso pode se manifestar como aumento da latência no aplicativo.

Segundos de CPU

Essa métrica mostra o tempo total de uso da CPU (em segundos) que uma instância usa em um período específico.

Ao monitorar essa métrica, é possível determinar se a instância tem um uso alto de CPU. Essa é uma causa frequente de aumento da latência porque a alta utilização da CPU pode atrasar o processamento de comandos. Também é possível usar a métrica para determinar se uma carga alta de um grande número de clientes impulsiona o uso da CPU.

Chaves removidas / expiradas

Essa métrica mostra as seguintes informações:

  • Chaves removidas: o número de chaves que o Memorystore para Redis remove (descarta) de uma instância porque ela atinge o limite máximo de memória (maxmemory).
  • Chaves expiradas: o número de chaves que atingem o limite de expiração e são excluídas
Tempo de atividade da instância

Essa métrica indica o tempo total em que o processo do servidor Redis é executado continuamente. Se uma instância for reiniciada devido a um failover, manutenção ou falha inesperada, o valor da métrica vai cair para zero e depois aumentar novamente a partir do novo horário de início.

Você pode usar a métrica para identificar e correlacionar interrupções inesperadas de serviço, eventos de failover ou janelas de manutenção com outras mudanças de desempenho.

Chaves no banco de dados

Essa métrica mostra o número total de chaves armazenadas em cada banco de dados do Redis em uma instância. A métrica rastreia todas as chaves que residem nos bancos de dados, independentemente de terem uma expiração definida. Se não houver chaves armazenadas nos bancos de dados, "sem dados" vai aparecer no gráfico da métrica, em vez de um valor zero.

Monitore a métrica para verificar se a instância recebe tráfego e armazena dados. Uma queda repentina na métrica pode indicar perda de dados, remoção em massa ou reinicialização de uma instância.

Uso de memória / Memória máx. Essa métrica mostra o uso de memória de uma instância em comparação com o limite máximo de memória (maxmemory). Esse limite representa a quantidade máxima de memória que as chaves podem usar na instância. Depois que o limite é atingido, o Memorystore para Redis começa a remover chaves de acordo com a política de remoção configurada para a instância.
Entrada/saída de bytes da rede

Essa métrica mostra o número de bytes que uma instância envia e recebe em um determinado período. Esse tráfego inclui dados de comandos, dados de payload e delimitadores.

É possível usar a métrica para entender a carga de rede do aplicativo, identificar gargalos de largura de banda e correlacionar picos de rede com mudanças de latência ou com o desempenho do aplicativo.

Conexões recebidas/Conexões rejeitadas Essa métrica mostra as tentativas de conexão de rede bem-sucedidas (recebidas) e rejeitadas em um determinado período. Use a métrica para entender sua taxa de conexão de entrada, detectar tempestades de conexão e diagnosticar problemas de conectividade ou capacidade do cliente.

Métricas de snapshot do RDB

Nesta seção, listamos e descrevemos as métricas que ajudam você a gerenciar snapshots RDB do Memorystore para Redis.

Métricas de monitoramento de snapshots

Nesta seção, listamos e descrevemos as métricas de monitoramento de snapshots do Memorystore para Redis.

Nome da métrica Descrição
redis.googleapis.com/rdb/enabled Essa métrica indica se o modo de snapshot do RDB está ativado para uma instância.
redis.googleapis.com/rdb/snapshot/time_until_next_run Essa métrica indica o número de segundos até o início do próximo snapshot programado.

Métricas de status de snapshots

Esta seção lista e descreve as métricas de status de snapshots do Memorystore para Redis.

Nome da métrica Descrição
redis.googleapis.com/rdb/snapshot/in_progress Essa métrica indica se um snapshot de RDB está em andamento. Se o valor da métrica for true, o snapshot estará ocorrendo.
redis.googleapis.com/rdb/snapshot/elapsed_time Essa métrica mede o tempo decorrido durante a criação do snapshot atual.
redis.googleapis.com/rdb/snapshot/attempt_count Essa métrica indica o número de tentativas de snapshot feitas a cada minuto.
redis.googleapis.com/rdb/snapshot/last_status Essa métrica indica o status da tentativa de snapshot mais recente.
redis.googleapis.com/rdb/snapshot/last_success_duration Essa métrica indica o tempo total necessário para gravar o último snapshot bem-sucedido. Esse tempo não inclui tentativas com falha.
redis.googleapis.com/rdb/snapshot/last_success_age Essa métrica indica o tempo decorrido desde o início do último snapshot concluído.

Métricas de recuperação de snapshots

Esta seção lista e descreve as métricas de recuperação de snapshots do Memorystore para Redis.

Nome da métrica Descrição
redis.googleapis.com/rdb/recovery/in_progress Essa métrica indica se uma recuperação de um snapshot do RDB ocorre. Se o valor dessa métrica for true, uma recuperação estará em andamento.
redis.googleapis.com/rdb/recovery/elapsed_time Essa métrica indica o aumento do tempo decorrido durante uma recuperação em andamento de um snapshot do RDB.
redis.googleapis.com/rdb/recovery/estimated_recovery_time Essa métrica indica o tempo esperado para recuperação ao usar o último snapshot do RDB sem erros.
redis.googleapis.com/rdb/recovery/estimated_remaining_time Essa métrica indica o tempo restante para concluir uma recuperação de um snapshot do RDB.
redis.googleapis.com/rdb/recovery/attempts_since_last_success Essa métrica indica o número de tentativas de recuperação desde a última tentativa bem-sucedida de recuperação de um snapshot do RDB.
redis.googleapis.com/rdb/recovery/last_status Essa métrica indica o status da recuperação mais recente de um snapshot do RDB.
redis.googleapis.com/rdb/recovery/last_duration Essa métrica indica o tempo necessário para restaurar o último snapshot do RDB.
redis.googleapis.com/rdb/recovery/total_bytes_count Essa métrica indica o tamanho de um snapshot do RDB.
redis.googleapis.com/rdb/recovery/loaded_bytes_count Essa métrica indica o número de bytes carregados durante a recuperação de um snapshot do RDB. Se a recuperação não estiver ativa, o número de bytes será 0.