DEV Community

Mike Fortes
Mike Fortes

Posted on • Originally published at mromeiro-f.Medium on

Pimp my Zabbix

Então você gostou do meu ultimo post e decidiu criar vários itens de 1 segundo e agora seu banco de dados ta daquele jeito…

Bem, espero realmente que você não tenha criado milhares de itens a 1 segundo por aí rs.

Mas caso tenha criado, seu ambiente está preparado pra uma carga tão grande de trabalho? Não digo somente em questões de hardware, mas você já deu uma olhada na documentação ou testou alguma configuração interessante pra ter uma alta performance em seu ambiente, independente do tamanho que ele possui?

Vou listar aqui alguns itens que creio ser fundamentais pra ter um ambiente extremamente performático com aquele cheirinho de carro novo.

Bem vindos ao PIMP MY Zabbix ! 😎

Hardware

Blá Blá Blá Se você, assim como eu, trabalha para alguma empresa, utilizamos o melhor que nos é disponibilizado/ofertado… Disco/CPU/Memorias…

Único ponto interessante aqui é: Crie um ambiente onde tudo esteja “apartado”, ou seja, tenha hardware para 3 maquinas (Front, Banco, Server)

Sistema Operacional

Aqui vai do seu gosto e do seu bolso. Gosto muito de usar o CentOS, e caso tenha verba, um RedHat por exemplo…

Mas o ponto crucial aqui é: Usar um sistema operacional ESTÁVEL. Nada de ficar fuçando no kernel, removendo ou instalando funcionalidades não nativas. Lembre-se que é um servidor e não seu desktop gamer rs

Obs: Estou falando de remover/instalar terceiros… otimizar parâmetros do kernel é comum em todo ambiente de alta performance.

Zabbix Server

Aqui vão alguns caras que são interessantes ficar de olho no valor que eles possuem e se é possível alterar algo para um possível ganho de performance.

  • StartPollers: Quanto menor esse valor, melhor. Infelizmente o valor é baseado na quantia de itens você monitora, sua fila de checagem, etc… Mas lembre-se que cada poller, será um novo processo trabalhando em paralelo com os demais, utilizando recursos da sua máquina.
  • Debug Level: Use o 3, já te traz muita informação. O 4 fará seu arquivo de log crescer MUITO e não traz tanta ajuda quanto pensa.
  • Zabbix Proxy: Como o amigo Peterson Basso mencionou no último post, coloque o proxy pra trabalhar pra você, pré-processamentos por exemplo, são feitos diretamente pelo proxy, enviando o valor “puro” para que o Zabbix server não precise gastar processamento com isso.

Banco de dados

  • Antes mesmo de importar o schema do Zabbix, SEMPRE use a documentação de tunning do banco de dados que você for usar, seja MySQL, PostgreSQL… Faz muita diferença, e se não fizer, vai lembrar disso no futuro.
  • Se usar MySQL ou outro banco que tenha essa tecnologia, use sempre InnoDB ao invés do MyISAM.
  • Como falei nesse post, periodicamente otimize seu banco. Coloca aí na sua agenda todo dia 1 e agenda um horário de manutenção com sua equipe.

  • Essa dica é a mais “complicada” porém uma das mais efetivas (junto com a anterior). Todos sabemos que algumas tabelas são mais pesadas que outras, como a history_str, history_log, itens… Então a dica é: mantenha esses caras “pesados” em diferentes discos.

Dicas gerais

  • Priorize! Otimize intervalos de coleta de itens importantes e aumente o intervalo de outros. Quanto mais curto o intervalo mais bonito fica o gráfico, isso é fato! Porém, sua performance vai pro lixo. Sendo assim, não utilize NADA padrão da ferramenta, sempre a customize em seu favor.
  • Seja direto quanto aos itens monitorados, não faz sentido monitorar hostname 3 vezes, porque o item está em 3 templates diferentes…
  • Não crie gatilhos que envolvam grandes intervalos de tempo, e se você acha que isso não acontece… acredite, tem louco pra tudo.

Top comments (0)