Métricas de monitoramento com suporte

Nesta página, listamos as métricas do Cloud Monitoring disponíveis para Memorystore for Valkey, e descreve o que cada métrica avalia.

Métricas do Cloud Monitoring

Nome da métrica Descrição
memorystore.googleapis.com/instance/clients/average_connected_clients Média do número atual de conexões de cliente em todos os nós da instância.
memorystore.googleapis.com/instance/clients/maximum_connected_clients Número máximo atual de conexões de cliente para um único nó na instância.
memorystore.googleapis.com/instance/clients/maximum_connection_duration Duração máxima de uma conexão de cliente para um único nó na instância.
memorystore.googleapis.com/instance/clients/total_connected_clients Número atual de conexões de cliente com a instância.
memorystore.googleapis.com/instance/stats/total_connections_received_count Contagem do total de conexões de clientes no nível da instância criadas no último minuto.
memorystore.googleapis.com/instance/stats/total_rejected_connections_count Número de conexões rejeitadas devido ao limite de maxclients.
memorystore.googleapis.com/instance/commandstats/total_usec_count O tempo total consumido por comando.
memorystore.googleapis.com/instance/commandstats/total_calls_count Número total de chamadas para esse comando em um minuto.
memorystore.googleapis.com/instance/cpu/average_utilization Uso médio da CPU em todos os nós da instância, de 0,0 a 1,0.
memorystore.googleapis.com/instance/cpu/maximum_utilization Utilização máxima da CPU para um único nó na instância de 0,0 a 1,0.
memorystore.googleapis.com/instance/stats/average_expired_keys Número médio de eventos de expiração de chave para as principais de todos os nós na instância.
memorystore.googleapis.com/instance/stats/maximum_expired_keys Número máximo de eventos de expiração de chaves para um único nó na instância do primário.
memorystore.googleapis.com/instance/stats/total_expired_keys_count Número total de eventos de expiração de chave nas primárias de todos os nós na instância.
memorystore.googleapis.com/instance/stats/average_evicted_keys Número médio de chaves removidas devido à capacidade de memória em primaries de todos os nós na instância.
memorystore.googleapis.com/instance/stats/maximum_evicted_keys Número máximo de chaves removidas de um único nó na instância devido à capacidade de memória do primário.
memorystore.googleapis.com/instance/stats/total_evicted_keys_count Número de chaves removidas devido à capacidade de memória nas primárias de todos os nós na instância.
memorystore.googleapis.com/instance/keyspace/total_keys Número de chaves armazenadas na instância.
memorystore.googleapis.com/instance/stats/average_keyspace_hits Número médio de pesquisas bem-sucedidas de chaves em todos os nós da instância.
memorystore.googleapis.com/instance/stats/maximum_keyspace_hits Número máximo de pesquisas bem-sucedidas de chaves para um único nó na instância.
memorystore.googleapis.com/instance/stats/total_keyspace_hits_count Número de pesquisas bem-sucedidas de chaves para a instância.
memorystore.googleapis.com/instance/stats/average_keyspace_misses Número médio de chaves com falha na pesquisa de chaves em todos os nós da instância.
memorystore.googleapis.com/instance/stats/maximum_keyspace_misses Número máximo de pesquisas de chaves com falha para um único nó na instância.
memorystore.googleapis.com/instance/stats/total_keyspace_misses_count Número total de chaves com falha na pesquisa de chaves da instância.
memorystore.googleapis.com/instance/memory/average_utilization Utilização média da memória em todos os nós na instância. O valor é de 0,0 a 1,0.
memorystore.googleapis.com/instance/memory/maximum_utilization Utilização máxima da memória para um único nó na instância de 0,0 a 1,0.
memorystore.googleapis.com/instance/memory/total_used_memory Uso de memória total da instância.
memorystore.googleapis.com/instance/memory/size Tamanho da memória da instância.
memorystore.googleapis.com/instance/replication/average_ack_lag Atraso médio da replicação (em segundos) de réplicas em todos os nós da instância.

O atraso da replicação (em segundos) indica o quanto as réplicas estão atrasadas em relação às primárias.
memorystore.googleapis.com/instance/replication/maximum_ack_lag Atraso máximo de confirmação de replicação (em segundos) para uma única réplica na instância.

O atraso de confirmação de replicação (em segundos) indica o quanto as confirmações de replicação estão atrasadas em relação às primárias.
memorystore.googleapis.com/instance/replication/average_offset_diff A replicação média confirma a diferença de deslocamento (em bytes) em todos os nós na instância.

A diferença de deslocamento de confirmação da replicação significa o número de bytes que não foram replicados entre as réplicas e as primárias.
memorystore.googleapis.com/instance/replication/maximum_offset_diff Diferença máxima de deslocamento de replicação (em bytes) para um único nó na instância.

Diferença de deslocamento de replicação significa o número de bytes que não foram replicados entre uma réplica e as primárias.
memorystore.googleapis.com/instance/stats/total_net_input_bytes_count Contagem de bytes da rede recebidos recebidos pelos endpoints da instância.
memorystore.googleapis.com/instance/stats/total_net_output_bytes_count Contagem de bytes de rede de saída enviados dos endpoints da instância.

Métricas de persistência

Esta seção lista as métricas de persistência e fornece exemplos de casos de uso para métricas de persistência.

Métricas de persistência de RDB

Nome da métrica Descrição
memorystore.googleapis.com/instance/persistence/load_count Contagem cumulativa de carregamentos do arquivo dump em toda a instância (AOF ou RDB).
memorystore.googleapis.com/instance/persistence/rdb_saves_count Essa métrica mostra o número acumulado de vezes que a instância fez um snapshot do RDB (também conhecido como salvar). Essa métrica tem um campo status_code. Para verificar se um snapshot falhou, filtre o campo status_code pelo seguinte erro: 3 - INTERNAL_ERROR
memorystore.googleapis.com/instance/persistence/rdb_last_success_ages Essa métrica mostra a idade de um resumo de distribuição para todos os nós da instância. O ideal é que a distribuição tenha valores com um tempo de atraso menor (ou o mesmo tempo) do que a frequência do snapshot.
memorystore.googleapis.com/instance/persistence/rejected_writes_count Contagem cumulativa de comandos de gravação negados na instância devido à falha na persistência.

Métricas de persistência de AOF

Nome da métrica Descrição
memorystore.googleapis.com/instance/persistence/aof_fsync_lags Essa métrica mostra a distribuição do atraso (da gravação de dados à sincronização de armazenamento durável) para todos os nós na instância. Ele é emitido apenas para instâncias com appendfsync=everysec. O ideal é que a distribuição tenha valores com menos tempo de atraso (ou o mesmo tempo) do que a frequência de sincronização da AOF.
memorystore.googleapis.com/instance/persistence/aof_rewrite_count Essa métrica mostra o número cumulativo de vezes que um nó acionou uma regravação de AOF na sua instância. Essa métrica tem um campo status_code. Para verificar se as reescritas de AOF estão falhando, filtre o campo status_code para o seguinte erro: 3 - INTERNAL_ERROR

Exemplos de casos de uso para métricas de persistência

Verificar se as operações de gravação AOF causam latência e pressão de memória

Suponha que você detecte um aumento na latência ou no uso de memória na sua instância. Nesse caso, verifique se o uso extra está relacionado à persistência da AOF.

Como você sabe que as operações de reescrita de AOF podem acionar picos de carga temporários, inspecione a métrica aof_rewrites_count, que mostra a contagem cumulativa de reescritas de AOF durante a vida útil da instância. Suponha que essa métrica mostre que os incrementos na contagem de reescritos correspondem a aumentos de latência. Nesse caso, você pode resolver o problema reduzindo a taxa de gravação ou aumentando a contagem de fragmentos para reduzir a frequência de reescritas.

Como verificar se as operações de salvamento de RDB causam latência e pressão na memória

Suponha que você tenha detectado um aumento de latência ou uso de memória na sua instância. Nesse caso, verifique se o uso extra está relacionado à persistência do RDB.

Como você sabe que as operações de salvamento do RDB podem acionar picos de carga temporários, é possível inspecionar a métrica rdb_saves_count, que fornece a contagem cumulativa de salvamentos do RDB durante o ciclo de vida da instância. Suponha que essa métrica mostre que os incrementos na contagem de economias de RDB correspondem a aumentos de latência. Nessa situação, é possível reduzir o intervalo de snapshot do RDB para diminuir a frequência de reescritas. Também é possível escalonar horizontalmente a instância horizontalmente para reduzir os níveis de carga do valor de referência.

Como interpretar as métricas do Memorystore para Valkey

Conforme visto na lista acima, muitas das métricas compartilham três categorias: média, máximo e total.

Para o Memorystore para Valkey, fornecemos variações média e máxima de a mesma métrica, portanto, é possível usá-las para identificar o uso excessivo do ponto de acesso para esse família de métricas.

O valor total da métrica é independente e fornece insights separados não relacionados ao propósito de uso excessivo do ponto de acesso de média e máximo.

Como entender as métricas médias e máximas

Suponha que você compare os valores average_keyspace_hits e maximum_keyspace_hits da sua instância. À medida que a diferença entre as duas métricas aumenta, uma diferença maior indica mais pontos quentes de hits na sua instância. O ideal seria ter um valor próximo entre average_keyspace_hits e maximum_keyspace_hits, porque isso significa que os hits são distribuídos de maneira mais uniforme na sua instância.

Esse princípio se aplica a todas as métricas que têm os valores médio e máximo variações da mesma métrica.

Exemplo de hot spot

Se você comparar average_keyspace_hits e maximum_keyspace_hits para todos os os fragmentos na sua instância, a comparação desses valores indica onde o ponto de acesso de segurança. Por exemplo, suponha que os fragmentos em uma instância de 6 fragmentos tenham o seguinte número de acertos:

  • Fragmento 1 a 2 hits
  • Fragmento 2 – 2 hits
  • Fragmento 3: 2 hits
  • Fragmento 4 – 2 hits
  • Fragmento 5: 2 hits
  • Fragmento 6 – 8 hits

Neste exemplo, o average_keyspace_hits retorna um valor de 3, e o maximum_keyspace_hits retorna 8, indicando que o fragmento 6 está em alta.