Aprendendo Zabbix – Templates – Parte 1Adail Spinola | Adail Spinola
Aprendendo Zabbix – Templates – Parte 1
Um dos recursos que dá mais agilidade ao Zabbix é o recurso de template. Várias ferramentas suportam esta funcionalidade, entretanto, o Zabbix é uma das poucas que suporta o recurso em conjunto com herança de propriedades.
Mas o que é este tal deste template ? Pra que serve ?
A infopédia define template como sendo: "Ambiente estabelecido como modelo, permitindo criar conteúdos de uma forma rápida". Para a monitoração usando o Zabbix é a definição de um modelo de regras de coleta, níveis de alertas e representações gráficas que podem ser aplicadas facilmente à elementos monitorados.
Basicamente o template serve para facilitar a vida de quem consegue trabalhar de forma organizada. Ao invés de você configurar várias vezes os itens para monitorar um servidor apache você configura uma vez e, como se fosse um brinquedo de blocos, vai relacionando o host com os kits de características que se deseja.
Para conseguir se visualizar as configurações dos templates (e todo o menu de configurações) é necessário utilizar um usuário com perfil, no mínimo, de administrador. Para manter e criar templates faz-se necessário ainda possuir direitos de gravação sobre o grupo ao qual o template está associado.
Para acessar o módulo de templates é necessário acessar: Configure -> Templates.
Ao clicar no menu Templates é exibida lista contendo os templates que estão cadastrados no ambiente e que você possua acesso para visualizar. A lista possui colunas com resumo das características de cada template.
As informações estão distribuídas da seguinte forma:
Nome do template e o link para editar as propriedades do template, links com outros templates, macros do template, etc;
Quantitativo de aplicações e o link para manter seu cadastro no template (as aplicações são uma forma de agrupar itens no Zabbix);
Quantitativo de Itens e o link para manter seu cadastro no template;
Quantitativo de Triggers e o link para manter seu cadastro no template;
Quantitativo de Gráficos e o link para manter seu cadastro no template;
Quantitativo de telas e o link para manter seu cadastro no template;
Quantitativo de autobusca (Low Level Discovery – LLD) e o link para manter seu cadastro no template;
Link para acesso rápido a outros templates que são herdados para compor o template atual;
Lista de hosts associados ao template;
O suporte a telas e LLD foi uma adição da versão 2.0 do Zabbix, até então não era possível se definir telas padronizadas para os hosts. As telas definidas em nível de template só estão acessíveis a partir dos mapas, ao se clicar na opção de Telas do menu Dashboard as mesmas não aparecem.
Para criar um template é preciso clicar no botão Criar Template situado no canto superior direito da tela.
É exibido um formulário que possibilita a definição básica do template. Na aba Template é necessário o preenchimento de, no mínimo dois campos:
Nome do Template – Identificador único daquele template dentro daquele ambiente. O Zabbix também não aceita que exista um template e um host com o mesmo nome.
Grupos – Grupo ou grupos ao qual o template pertence. Você pode selecionar os grupos já existentes de uma lista ou criar um novo. Para criar novo grupo de templates é necessário o perfil de super administrador do ambiente.
A aba Associado aos Templates tem a finalidade de possibilitar associações entre templates. Este recurso adiciona ao Zabbix o conceito de herança, de forma muito similar ao que acontece no desenvolvimento de sistemas.
Ao associar um template a outro você herda automaticamente qualquer definição que exista no template "pai" e não é permitida a exclusão de definições, apenas a desativação e alguns ajustes de configurações. Esta inibição de determinados itens ou triggers é análoga a mudança de visibilidade de métodos que as linguagens orientadas a objetos implementam.
A aba Macros adiciona outro recurso muito poderoso ao Zabbix que é pouco explorado na maioria dos ambientes devido à pouco conhecimento dos administradores de monitoração. As macros podem existir em três níveis:
Nível de ambiente – Acessíveis em: Administração – Geral – Macros;
Nível de template – Acessível através da aba Macros do template;
Nível de host – Acessível através da aba Macros do host;
É possível a utilização das macros nos ítens e nas triggers. A utilização consciente e planejada deste recurso pode reduzir significativamente a quantidade de templates e o custo de manutenção destes.
Finalizada a definição das características de seu template clique no botão situado no canto inferior esquerdo da tela. Após salvar o registro o Zabbix irá retornar para a tela com a lista de templates.
Dita a parte teórica… vamos ao que interessa que é a prática!
Para exercitar o conceito dos templates vamos criar um template simples que pode ser aplicado facilmente ao seu próprio servidor Zabbix: um template para monitorar um servidor apache.
Vamos criar um template com as características abaixo:
Tabela 1 – Definição do Template – 103_Apache
Nome 103_Apache
Nome de Exibição (opcional) Monitoração de Disponibilidade do Apache
Grupos 100 – Linux
Acesse a tela de templates (Configuração -> Templates) e clique no botão Criar Template. Será aberto um formulário e você o preencherá conforme as definições da tabela 1, após o preenchimento ele deverá estar similar à imagem abaixo e você poderá clicar no botão Salvar.
Neste momento temos um template que serve para… exatamente nada ! Para o template ser útil temos que definir primeiramente o que esperamos poder coletar com ele.
Tabela 2 – Definição dos primeiro item do template 1
Nome Processo do Apache
Tipo agente Zabbix
Chave proc.num[apache2]
Intervalo atualização (em seg) 300
Manter histórico (em dias) 7
Manter estatísticas (em dias) 365
Nova Aplicação Apache
Após salvar o template o Zabbix retornou para a lista de templates, clique no link Itens(0) da linha que exibe o template 103_Zabbix, isso lhe levará para a tela de itens internos do template em questão.
No alto da tela (acostume-se a este padrão… todas as telas do Zabbix tem o botão de criar "blablabla" no canto superior direito da barra de título) existe o botão Criar Item, clique nele e preencha o formulário com os dados descritos na tabela 2. Sua tela deverá estar similar à tela abaixo.
Clique em Salvar e teremos o nosso primeiro item cadastrado no template.
Mas… dependendo da distribuição que você estiver utilizando… este item não vai cumprir a função que você deseja pois o nome do processo responsável pelo apache pode variar de distribuição para distribuição. Como fazer então ? Fazer N templates ? Um para cada distribuição ?
Absolutamente NÃO. Lembrem-se que na hora da criação do template tinhamos uma aba chamada Macros… agora vamos utiliza-la pois vamos construir um template adaptável para as diversas distribuições.
Cliquem no link para editar o template conforme a imagem abaixo destaca.
Será apresentada a tela de definições gerais do template. Cliquem na aba Macros para que possamos preenche-la conforme as definições abaixo.
Tabela 4 – Definição de macro
Macro {$APACHE_PROCESSO}
Valor httpd2-prefork
Sua tela deverá estar similar à imagem abaixo, confira e clique no botão Salvar.
Agora precisamos ajustar o item para que ele utilize esta macro que acabamos de definir. Clique no link Itens(1) da mesma linha do template 103_Apache. Observem que na lista aparece o nome de exibição do template (Monitoração de disponibilidade do Apache) e não o nome real, estou citando propositalmente o nome real do template para que se acostumem com isso. É uma opção de projeto utilizar-se ou não do nome de exibição, ele não é obrigatório e tampouco existia em versões anteriores da ferramenta mas foi adicionado na versão 2.0.
Clique agora no nome do item "Processo do apache" para editarmos suas propriedades. Mude a Chave dele para que fique conforme exemplo abaixo e salve a configuração.
Agora temos um template que aceitará facilmente a customização, em nível de host, do nome do processo responsável pelo servidor de aplicações Apache. Crie agora outro item para coletar quanto o apache está ocupando de memória RAM.
Tabela 5 – Item para coleta da quantidade de memória
Nome Quantidade de memória utilizada pelo Apache
Chave proc.mem[{$APACHE_PROCESSO}]
Aplicação Apache
Observe que agora já criamos o item utilizando a macro e não precisamos criar novamente a aplicação, apenas seleciona-la.
Temos agora um template com dois itens sendo coletados a cada cinco minutos (300 segundos), mas apenas coletar dados não soma muito na gerência de serviços é preciso ter como definir limites que sinalizem problemas em nossa infra-estrutura. No Zabbix estes limites são conhecidos como Triggers.
Para este post não ficar grande demais da conta irei tratar das triggers num post adicional. Espero que este texto tenha lhe auxiliado a conhecer um pouco mais da ferramenta.
Aprendendo Zabbix – Templates – Parte 2
Posted in Templates, Tutoriais, ZabbixTagged Monitoração, Zabbix
← Zabbix – Tuning do MySQL – O dia seguinte
Aprendendo Zabbix – Tabelas de mapeamento de valores →
15 thoughts on "Aprendendo Zabbix – Templates – Parte 1"
12 de junho de 2013 às 8:18
Fiz a instalação e estava seguindo suas orientações, porém quando eu clico em criar um item na página, volta para a lista de itens.
Você tem idéia do que pode estar ocorrendo?
30 de julho de 2013 às 8:58
Não aparece a tela de cadastro dos itens não ? Confira a sua autenticação pois não deveria estar acontecendo isso.
Patrick Alves disse:
4 de julho de 2013 às 10:47
Parabens pelos posts !! estão sendo bastante úteis !
29 de julho de 2013 às 10:52
Parabéns pela matéria, muito objetiva e clara.
Estou na precisão de uma solução de monitoramento de uma porta especifica em um servidor Linux, onde no mesmo já existe o Agente Zabbix, e se essa porta fica OFF preciso rodar uma trigger para reiniciar o serviço para que a porta fique ON.
Como deve proceder neste caso? Como devo configurar essa nova template?
30 de julho de 2013 às 9:08
Você deverá usar uma ação para executar um comando remoto.
O comando remoto poderá ser um script .sh que irá reiniciar o serviço, por exemplo, "service apache2 restart"
Entre no fórum que lá conseguimos te auxiliar com isso.
16 de agosto de 2013 às 17:53
Esses comandos para apache se aplica para configurações em servidores Windows server.
E Parabéns pelo Tutorial auto explicativo
1 de outubro de 2013 às 21:08
Não, não se aplicam. Este tutorial foi feito pensando em apache for linux.
Existem comandos similares para buscar os serviços no windows.
29 de outubro de 2013 às 12:57
Estou iniciando com zabbix e o Blog está me ajudando muito..
Éd Pinheiro disse:
5 de dezembro de 2013 às 14:11
Ola Bom dia , primeiramente parabéns e obrigado pela iniciativa.
Tive uma duvida na inserção da Macro APACHE_PROCESSO no template.
O valor que esta para esta macro _PROCESSO é {$httpd2-prefork} o htttpd2 é o nome do processo ? se sim este deve ser ajusta para cada distribuição uma vez que o processo do apache no Centos 5.4 é "httpd" e não httpd2 ?
Exatamente por isso que está como macro Ed.
22 de janeiro de 2014 às 11:48
Parabéns, tutorial simples e bastante eficiente.
12 de fevereiro de 2014 às 12:06
Obrigado pelo post, muito bem explicado!
Leonardo Macedo "cROMADO" disse:
8 de julho de 2014 às 7:35
Excelente how-to.
Fábio Pioli disse:
20 de abril de 2015 às 16:30
Boa tarde, meu amigo… Não se tem muito material sobre macros em nivel de host na net, e eu gostaria muito de me aprofundar, tenho alguns clientes pedindo para usar o zabbix e eu estou querendo montar uma central. poderia repassar algumas informações… Livros, sites ou algum procedimento que poderia repassar para poder-me aprofundar nessa área? aguardo o contato e parabéns pelo blog.