Pular para conteúdo

Runbook — Redis (Down, Memory Near Limit, Connections Near Limit, Command Latency High)

Severidade: P0/P1 · Impacto: cache/sessões indisponíveis; aplicações degradadas.

Verificação

  1. docker ps | grep redis; docker logs --tail 100 redis.
  2. Memória: docker exec -it redis redis-cli --askpass info memory | grep -E 'used_memory_human|maxmemory_human|maxmemory_policy'.
  3. Conexões e latência: docker exec -it redis redis-cli --askpass info clients commandstats.

Causas prováveis

  • Down: container parado; OOM do host; disco cheio impedindo persistência.
  • Memória: chaves sem TTL acumulando; maxmemory subdimensionado.
  • Conexões: pool sem reaproveitamento; clientes presos; maxclients baixo.
  • Latência: comandos caros; CPU ou rede saturadas; volume de chaves elevado.

Ação

  1. Down: subir via compose em /opt/services/redis.
  2. Memória: verificar maxmemory_policy; se noeviction, escritas falharão — identificar chaves grandes (docker exec -it redis redis-cli --askpass --bigkeys) e aplicar TTL/limpeza com o time da aplicação; ajustar maxmemory no compose se subdimensionado.
  3. Conexões/latência: identificar clientes e comandos predominantes; corrigir pool/consulta antes de aumentar limites.

Escalonamento

Aplicações tratam falha de cache como fatal? Se sim e Redis não voltar em 10 min, incidente de aplicação em paralelo.