Value Cache no Zabbix: como validar o sizing usando diaginfo=valuecache
Como ler diaginfo=valuecache e comparar memória configurada, usada, livre e quantidade de valores antes de aumentar ValueCacheSize por tentativa e erro.
Quando aparece alerta ou dúvida sobre Value Cache no Zabbix, uma reação comum é aumentar ValueCacheSize.
Só que o tamanho configurado, sozinho, não diz se o cache está apertado.
Em uma coleta real, o servidor tinha:
| |
E o diagnóstico em runtime mostrava aproximadamente:
| |
Ou seja: naquela fotografia, a maior parte da área alocada estava livre.
A conclusão não era “1 GB é o tamanho ideal”.
Era outra:
antes de aumentar cache, medir o cache que existe.
O comando que interessa #
No Zabbix Server, o runtime control aceita diagnósticos específicos.
Para Value Cache:
| |
A saída pode trazer informações como:
| |
É muito mais útil do que olhar apenas a linha do arquivo de configuração.
Primeiro: confirme o valor configurado #
| |
Na coleta usada neste artigo, o valor era:
| |
O mesmo inventário também registrava outros caches e quantidades de workers, mas eles têm papéis diferentes.
Não trate CacheSize, HistoryCacheSize, TrendCacheSize e ValueCacheSize como se fossem a mesma reserva.
Depois compare used e free #
Naquela amostra, o diagnóstico mostrava cerca de 6 MB usados e mais de 1 GB livre dentro da área reportada pelo Value Cache.
Isso é uma fotografia muito folgada.
Não justificaria aumentar o parâmetro naquele momento com base apenas em “cache pode estar alto”.
Por outro lado, uma única fotografia também não garante que o cache nunca se aproxima do limite.
Eu repetiria a coleta em horários diferentes:
| |
Especialmente:
- durante pico de coleta;
- durante problemas conhecidos;
- depois de crescimento relevante de itens;
- depois de alteração de templates;
- em horários de housekeeper ou processamento intenso.
Top.values ajuda a entender quem usa o cache #
A saída recuperada também listava diversos itemid com quantidade de valores armazenados/requisitados.
Isso ajuda a sair da pergunta genérica:
o cache está grande?
para perguntas melhores:
| |
O diagnóstico não entrega sozinho toda a causa, mas aponta para onde investigar.
Um cuidado com diaginfo: nem toda seção existe em toda versão #
Na mesma coleta foram tentados comandos como:
| |
E a versão em questão respondeu:
| |
Enquanto:
| |
retornaram informação útil.
Isso é um bom lembrete: não copie uma lista de comandos de outra versão presumindo suporte idêntico.
Teste a seção na versão real.
Cache cheio e cache grande são problemas diferentes #
Imagine dois cenários.
Cenário A #
| |
Aqui existe evidência de pressão e vale investigar tendência, workload e sizing.
Cenário B #
| |
Aqui aumentar para 2 GB seria difícil de justificar com essa amostra.
O segundo cenário também pode motivar a pergunta oposta:
esse cache está superdimensionado?
Mas reduzir memória em produção também exige observação ao longo do tempo, não uma leitura isolada.
Correlacione com sintomas reais #
Antes de mexer em ValueCacheSize, eu procuraria:
| |
Se o host está pressionado de memória, reservas superdimensionadas também importam.
Se há sobra de RAM e o cache está saudável, talvez não exista ação necessária.
Não confunda memória reservada com memória efetivamente útil #
Parâmetros grandes podem parecer “seguros”, mas toda reserva compete com o restante do processo e do sistema.
Por isso eu tento responder duas perguntas antes de ajustar:
| |
A resposta precisa considerar o conjunto do Zabbix, banco de dados e sistema operacional.
Um roteiro simples #
1. Registrar configuração #
| |
2. Coletar runtime #
| |
3. Repetir em horários relevantes #
| |
4. Correlacionar com host #
| |
5. Só então decidir sizing #
Documentar:
| |
Por que tirei 256M do título original #
A pauta editorial nasceu com a pergunta:
ValueCacheSize=256Mé suficiente?
Mas a coleta técnica que consegui religar tinha 1024M, não 256M.
Eu poderia usar 256M como exemplo teórico, mas isso faria o título parecer um caso que a fonte não comprova.
Então a pergunta foi generalizada para o que a evidência realmente sustenta:
como validar o sizing do Value Cache usando o diagnóstico do próprio Zabbix.
O que a fonte prova #
A coleta recuperada comprova:
- configuração
ValueCacheSize=1024M; diaginfo=valuecachefuncionando;- 23 mil+ itens representados no diagnóstico;
- 100 mil+ valores no cache;
- aproximadamente 6 MB usados na fotografia coletada;
- ampla memória livre naquela amostra;
Top.valueslistando itens consumidores;- algumas outras seções de
diaginfonão suportadas naquela versão/comando.
Nenhum hostname, IP ou identificador operacional é necessário para a explicação e foi removido.
O principal aprendizado #
ValueCacheSize é configuração.
diaginfo=valuecache é evidência de runtime.
Quando os dois discordam da sensação de “cache apertado”, eu confio primeiro na medição e observo tendência antes de aumentar memória por hábito.
Me chama.
Manda o contexto, os sintomas e o que já foi testado. Bora organizar as evidências antes de sair mexendo.