Quem suporta e monitora o REDIS na sua empresa?

4 ago 2020 | Monitoramento, Otimização, Redis

Monitoramento Redis, as métricas mais conhecidas e porque criar alertas
Mesmo que sejam em serviços simples como o de um único servidor, ou complexos como as de um cluster Redis, não faltam métricas possíveis que você pode monitorar. Seja como for, a chave para o monitoramento bem-sucedido é selecionar aqueles poucos que nos interessam e deixá-los nos incomodar com alertas e notificações.
Então, nossa regra prática, aqui na AdviseU, é sempre coletar todas as métricas que ajudam na solução de problemas e alertar apenas aquelas que exigem uma ação.
Assim como em qualquer outro banco de dados, você precisa monitorar algumas condições gerais:
  1. Os processos críticos que estão sendo executados conforme o esperado
  2. O uso dos recursos do sistema que está dentro dos limites
  3. As consultas que são executadas com sucesso
  4. O serviço que está funcionando corretamente
  5. Pontos de falha típicos
Em seguida, vamos dar uma olhada em cada categoria e entender melhor alguns detalhes.

1. Processos Redis Rodando

Em síntese, esses alertas nos informarão se algo básico não estiver em funcionando, como um daemon que não está sendo executado ou reaparece o tempo todo
Métrica Comentário Sugestão de Alerta
redis process Processo de daemon binário correto em execução. Quando process / usr / sbin / redis count != 1.
uptime Queremos garantir que o serviço não seja repassado o tempo todo. Quando o tempo de atividade é < 300s.

2. Métricas do Sistema

Como resultado, as métricas listadas abaixo são os “suspeitos comuns” por trás da maioria dos problemas e gargalos. Acima de tudo, também correspondem aos principais recursos do sistema que você deve monitorar em praticamente qualquer servidor de banco de dados na memória.
Métrica Comentário Sugestão de Alerta
Load Uma métrica de desempenho tudo-em-um. Uma carga alta levará à degradação do desempenho. Quando o load é > fator x (número de núcleos). Nosso fator sugerido é 4.
CPU usage O alto uso da CPU não é ruim, desde que você não atinja o limite. Nenhum.
Memory usage O uso da RAM depende de quantas chaves e valores mantemos na memória. Os dados do REDIS devem caber na memória e ter espaço de sobra para o sistema operacional. Nenhum.
Swap usage Swap é apenas para emergências. Não use Swap. Um pouco de RAM está sempre em uso, mas se isso aumentar, é um indicador de degradação do desempenho. Quando swap utilizado for > 128 MB.
Network bandwidth O tráfego está relacionado ao número de conexões e ao tamanho dessas solicitações. Usado para solucionar problemas, mas não para alertar. Nenhum.
Disc usage Sempre tenha espaço livre para novos dados, logs, arquivos temporários, instantâneos ou backups. Quando Disk usage é > 85% de uso.
Assim, a I/O do disco rígido é o gargalo mais comum nos servidores de banco de dados. Aliás, felizmente esse não é o caso do Redis, pois todas as operações são executadas na memória e, ocasionalmente, gravadas de forma assíncrona no armazenamento permanente.

3. Monitorando a Disponibilidade e as Consultas do Redis

Sobretudo, essas métricas informarão se o Redis está funcionando conforme o esperado.
Métrica Comentário Sugestão de Alerta
connected_clients Número de clientes conectados ao Redis. Normalmente, são os nós do seu aplicativo e não os usuários finais. Quando connected_clients < número mínimo de aplicativos / consumidores em sua pilha.
keyspace Número total de chaves no seu banco de dados. Útil quando comparado ao hit_rate, a fim de ajudar a solucionar qualquer falha. Nenhum.
hit rate (calculado) keyspace_hits / (keyspace_hits + keyspace_misses). Nenhum.
rdb_last_save_time Registro de data e hora do Unix para o último salvamento em disco, ao usar persistência. Quando rdb_last_save_time for > 3600 segundos (ou um prazo aceitável).
rdb_changes_since_last_save Número de slaves conectados a esta instância principal. When connected_slaves != Do número de escravos no seu cluster.
master_last_io_seconds_ago Segundos desde a última interação entre master e slave. Quando master_last_io_seconds_ago for > 30 segundos (ou o prazo aceitável).

4. Monitorando a Performance Redis

Métrica Comentário Sugestão de Alerta
latency Tempo médio que o Redis leva para responder a uma consulta. Quando a latência é > 200 ms (ou seu máximo aceitável).
used_memory Memória usada pelo servidor Redis. Se exceder a memória física, o sistema começará a trocar, causando degradação severa no desempenho. Você pode definir um limite com a definição de configuração de memória máxima do Redis para cenários de cache (você não deseja remover chaves no banco de dados ou nas filas!). Nenhum.
mem_fragmentation_ratio Compara o uso de memória Redis com páginas de memória virtual do Linux (mapeadas para blocos de memória física). Uma proporção alta levará à troca e à degradação do desempenho. Quando mem_fragmentation_ratio for> 1,5.
evicted_keys Número de chaves removidas (despejadas) devido ao alcance da memória máxima. Muitas chaves despejadas significam que novas solicitações precisam aguardar um espaço vazio antes de serem armazenadas na memória. Quando isso acontece, a latência aumenta. Nenhuma, mas ao usar TTL para chaves expiradas e você não espera despejos, poderá configurar quando evicted_keys for > 0.
blocked_clients Número de clientes aguardando uma chamada de bloqueio (BLPOP, BRPOP, BRPOPLPUSH). Nenhum.

5. Monitorando Erros Redis

Métrica Comentário Sugestão de Alerta
rejected_connections Número de conexões rejeitadas por atingir o limite máximo de clientes (lembre-se de controlar os descritores de arquivo de SO máx. / usados). Quando rejected_connections > XX, dependendo do número de clientes que você possa ter.
keyspace_misses Número de pesquisas com falha de chaves. Somente quando não estiver usando chamadas de bloqueio (BRPOPLPUSH, BRPOP e BLPOP), quando keyspace_misses > 0.
master_link_down_since_seconds Tempo (em segundos) em que o link entre mestre e escravo estava inoperante. Quando uma nova reconexão acontece, o escravo envia comandos SYNC que afetam o desempenho do mestre. Quando master_link_down_since_seconds for > 60 segundos.

Ferramentas de Monitoramento Redis

comando info redis-cli

Antes de tudo, o redis-cli vem com o comando INFO, fornecendo as informações e estatísticas mais importantes sobre o servidor Redis.

Como a saída é bastante longa, ela foi dividida em várias seções:

  • server: informações gerais sobre o servidor Redis
  • clients: informações de conexões do cliente
  • memory: informações de uso da memória
  • persistence: informações relacionadas à persistência (RDB e AOF)
  • stats: Estatísticas gerais
  • replication: informações de replicação mestre / escravo
  • CPU: estatísticas de uso da CPU
  • commandstats: Estatísticas de comandos do Redis
  • cluster: informações do Redis Cluster (se ativado)
  • keyspace: estatísticas relacionadas ao banco de dados (expiração da chave)
A saber, um parâmetro opcional pode ser usado para selecionar uma seção específica de informações:
Quem suporta e monitora o REDIS - cli command imagem
Assim sendo, como você pode ver, todas as linhas conterão um nome de seção (começando com um caractere #) ou uma propriedade. Por certo, o significado de cada campo de propriedade é descrito em detalhes na documentação do Redis. Neste artigo, veremos os mais importantes a serem monitorados.

comando monitor redis-cli

Por analogia, este exibe todos os comandos processados pelo servidor Redis. Desse modo, é usado para detectar erros em um aplicativo ou para solucionar problemas genéricos. Por consequência, isso nos ajuda a entender o que está acontecendo com o banco de dados. No entanto, isso afeta seriamente o desempenho, portanto não é algo que você queira executar o tempo todo.

Embora as informações redis-cli sejam uma ótima ferramenta interativa / em tempo real, você ainda precisa configurar alguns alertas para ser notificado quando algo der errado. Assim, você também pode registrar várias métricas ao longo do tempo para identificar tendências.

Monitoramento REDIS by AdviseU

Sem dúvida, se tudo isso parecer muito trabalhoso e se você tiver outras prioridades mais urgentes, talvez você deva deixar o monitoramento do servidor REDIS para os especialistas como nós e continuar a cuidar de coisas mais importantes nos seus negócios.
Como resultado, nosso monitoramento especializado REDIS oferece uma interface de usuário muito intuitiva que suporta tags, gráficos elásticos e fluxos de trabalho avançados de infraestrutura. Além disso, funciona também como uma ferramentas de automação e pode ser acessada através de dispositivos móveis.
Quem suporta e monitora o REDIS - Monitoramento Redis by AdviseU
Portanto, se você não tiver tempo para configurar e manter seu próprio monitoramento local ou em nuvem e estiver procurando por uma sustentação robusta que cubra o Redis (e o restante de sua infraestrutura), solicite agora mesmo uma apresentação / demonstração da nossa solução.
Quem suporta e monitora o REDIS - Monitoramento Redis by AdviseU Painel de Alertas

Conclusão

Quem utiliza nossa solução de monitoramento REDIS?

Concluímos aqui, com um exemplo real de um dos clientes ativos da AdviseU, que se trata de um Banco, de uma das maiores montadoras de carros do mundo, que usa o Redis para veiculação de anúncios e medições analíticas. Com efeito, eles nos disseram que quase nunca precisam se preocupar com o tempo de resposta, porque “os dados do Redis são apresentados sempre em alta velocidade”.

Dessa forma, o cluster Redis é totalmente monitorado através da nossa solução de sustentação. Posto que não usam persistência e sua menor instância Redis contém 10 GB de dados em memória. Por fim, Os dados antigos são removidos após a expiração de 1 dia (através das configurações TTL).
A AdviseU é especialista em sustentação Redis e para necessidade de qualquer demonstração, apresentação ou até um auxílio em alguma dúvida recorrente você poderá entrar em contato no contato@adviseu.com.br.
Seja como for, caso queira guardar este artigo para ler mais tarde ou consultar toda vez que desejar, clique aqui para baixar o PDF completo.

0 comentários

Enviar um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Siga-nos!
AdviseU IT logo
Siga-nos!
Copyright © 2019 AdviseU. Todos os direitos reservados. | Um blog dedicado a quem ama aprender.
Share This