Case Comunidade: Zabbix não iniciando - “out of memory -please increase CacheSize configuration parameter”

bernardolankheet
Zabbix Brasil
Published in
4 min readAug 17, 2020

#CaseComunidadeZabbix

Vejo muita gente perguntando sobre o que pode levar o processo do Zabbix-Server iniciar e depois parar. Normalmente é um simples Tunning do arquivo de configuração do Zabbix-Server.

Um usuário enviou a seguinte imagem:

Zabbix inicia e logo após para, podemos ver que ficou ativo 7s apenas.

Primeiro passo, partir para os logs do Zabbix, torne-se amigo dos logs (antes de procurar os amigos da comunidade rsrs), a ferramenta é estruturada para te apresentar eles os erros e como corrigir. Para quem não sabe, normalmente o arquivo de log do Zabbix fica em /var/log/zabbix/zabbix_server.log, utilize o utilitário tail para verificar os logs, junto com o parâmetro -n para informar as últimas x linhas. Vamos apresentar as ultimas 50 linhas:

tail -n 50 /var/log/zabbix/zabbix_server.log

Verá uma saída parecida com esta abaixo:

Verifica as seguinte linhas:

zbx_mem_realloc(): out of memory (requested 512 bytes)
zbx_mem_realloc(): please increase CacheSize configuration parameter

Nota que o próprio serviço do Zabbix já te avisa que é para aumentar o parâmetro de Cache Size no arquivo de configuração.

Antes de irmos para a correção, é bom entender uns detalhes:

O cache do Zabbix Server é alocado para gravação de hosts, itens e triggers, normalmente são os dados que estão na fila de processamentos e depois serão gravados em banco. Isso ocorre a partir do ponto que começamos a inflar a quantidade de hosts e itens no Zabbix.

Todos esses parâmetros que será necessário alterar ficam normalmente em:

  • Instalação via pacotes: /etc/zabbix/zabbix_server.conf
  • Instalação via source: /usr/local/etc/zabbix_server.conf (Depende da sua compilação)

Basta utilizar seu editor de texto favorito e alterar….

Antes, vamos conhecer um pouco sobre cada parâmetro relacionado do Cache Size:

  • CacheSize — Tamanho do cache de configuração, em bytes. Tamanho de memória compartilhada para armazenar dados de host, item e trigger. (Default: 8M, Aceita: 128K-8G)
  • HistoryCacheSize — Tamanho do cache histórico, em bytes. Tamanho de memória compartilhado para armazenar dados do histórico. (Default: 8M, Aceita: 128K-8G)
  • HistoryIndexCacheSize — Tamanho do cache do índice de história, em bytes. Tamanho de memória compartilhado para indexar dados do histórico armazenados no cache histórico. O tamanho do cache do índice precisa de cerca de 100 bytes para armazenar um item. (Default: 8M, Aceita: 128K-2G)
  • HistoryTextCacheSize — Tamanho do cache para históricos de itens Texto. (Default: 16M, Aceita: 128K-2G)
  • TrendCacheSize — Tamanho do cache de tendência, em bytes. Tamanho de memória compartilhado para armazenar dados de tendências. (Default: 4M, Aceita: 128K-2G)
  • ValueCacheSize — Tamanho do cache de valor histórico, em bytes. Tamanho de memória compartilhada para cache de solicitações de dados de histórico de itens. Pode ser definido o valor 0 para desativar o cache de valor (porem não é recomendado). Quando o cache de valor fica sem a memória compartilhada, uma mensagem de aviso é escrita no registro do servidor a cada 5 minutos. (Default: 8M, Aceita: 128K-64G)
  • VMwareCacheSize —Utilizado em monitoramento VMWARE, tamanho da memória compartilhada para dados do VMware. Não será alocado memoria, se não existirem coletores iniciados VMware configuradas para inicialização. (Default: 8M, Aceita: 256K-2G)

Agora que já conhece cada parâmetro, basta aumentar conforme a necessidade do seu ambiente.

Pergunta valendo 1 bitcoin!!

Qual valor que preciso definir Bernardo?

Isso varia conforme o ambiente, não há como definir um valor fixo/default para todos os ambientes. Então o recomendável, utilizar as próprias checagens internas que o Zabbix possuem.

Utilize os gráficos do Zabbix como apoio, gráfico Zabbix Cache Usage, % used.

E o gráfico Value Cache Effectiveness

Realize a alteração dos parâmetros, verifique se o serviço ficará up e juntamente com os Gráficos realize a sua customização.

Por isso que não devemos desabilitar as triggers de checagem interna do nosso Zabbix Server. #FicaaDica

Ate a próxima!!

--

--