Diário de Viagens e Trabalhos do Pajé
23jul/101

Liberte seu Data Center. Construa um NOC livre.

Posted by Pajé

Olá pessoal.

Faz tempo que não posto nada no blog e confesso que foi por falta de tempo. Trabalho, trabalho e trabalho que não acaba mais. Enfim, hoje como estou participando do Fisl 11 em Porto Alegre -RS, estou com mais tempo para postar e vamos falar sobre a palestra que acabo de ministrar com o tema: Liberte seu Data Center. Construa um NOC livre.

No Fisl 10, ano passado, ministrei uma palestra sobre Zabbix como ferramenta para monitoração de Data Centers. Já neste ano foi uma palestra mais macro, visando detalhar os softwares utilizados pela empresa onde trabalho na composição do ambiente de service desk e seus fluxos de operação.

Uma palestra que não tem um foco técnico das ferramentas utilizadas, mas com o objetivo de detalhar e demonstrar essa experiência obtida após 2 anos de muito trabalho.

Baixe aqui a apresentação utilizada na palestra.

Abraços e muito obrigado à todos que estiveram presentes.  Saudações livres.

21mai/1029

Monitorando Backup’s do Bacula no servidor Zabbix

Posted by Pajé

Mais um documento sobre o Zabbix.

Introdução

O objetivo deste trabalho é desenvolver um documento para auxiliar os colaboradores da empresa onde trabalho, na customização do Zabbix na monitoração dos backup's realizados pelo servidor Bacula. A necessidade é obter um dashboard único de monitoração contemplando todos os eventos do ambiente.

Entendendo as configurações

Esse documento parte do pressuposto que já existe em operação no ambiente os servidores Zabbix, e Bacula, que serão ajustados para realizar a nova função.

Não existe necessidade de instalação de aplicativos ou serviços adicionais.

O fluxo da monitoração se resume na configuração do servidor Bacula para enviar as mensagens do bconsole, após o backup, não só para os logs mas também para o servidor Zabbix.

Para que isso aconteça, é utilizado um script escrito em perl, que coleta essas informações e envia ao servidor Zabbix através do "zabbix trapper", onde items e triggers se encarregam de formatar os dados e exibir para os operadores.

Esse procedimento foi implementado utilizando Debian GNU/Linux lenny, Bacula 3.0.2-3 backports e Zabbix 1.8.2.

Ajustando o servidor Bacula.

Para começar, faça donwload do script zabbix_bacula.pl, extraia, permissione e mova para o diretório /usr/local/bin.

# # tar -xzvf zabbix_bacula.tar.gz
# chmod 755 zabbix_bacula.pl
# chown root:zabbix zabbix_bacula.pl
# mv zabbix_bacula.pl  /usr/local/bin/

OBS: Edite o script e veja se o caminho para o zabbix_sender está correto.

my $zabbix_sender = "/usr/local/bin/zabbix_sender";

São duas as alterações necessárias no Bacula Director. Sendo assim, edite o arquivo conforme o exemplo abaixo e configure os campos.

# vi /etc/bacula/bacula-dir.conf

Na configuração das mensagens, adicione/modifique os valores:

mailcommand = "/usr/local/bin/zabbix_bacula.pl %r %c"
mail = zabbixserver.paje.net.br = all, !skipped

As configurações do Messages, servem para dizer como e para onde serão enviadas as mensagens do bconsole no servidor Bacula após os backup's. Neste caso, o campo mailcommand configura o path do script que customizamos, bem como os parâmetros para a execução, já o campo mail configura o host do servidor Zabbix e parâmetros. Mais informações veja no manual do bacula.

Nota: Cheque se o hostname ou DNS name configurado resolve corretamente o nome. Por padrão existem dois tipos de mensagens configuradas, o Standard e Daemon. Tenha certeza que na configuração do Job no Bacula client, o campo Messages corresponda com a configuração realizada.

OBS: É necessário que o campo Name tenha o mesmo valor tanto na configuração do host no Zabbix, quanto na configuração do cliente Bacula. Reinicie o serviço Bacula Diretor e se tudo ocorrer bem, seu servidor está ajustado.

Ajustando o servidor Zabbix

Todos os ajustes do Zabbix devem ser realizados através da interface Web. Logado, siga até a tela de configuração de itens: Configuration > Hosts No combo box localizado no canto superior direito, selecione Templates e abaixo, em Group, selecione em Templates .

Figura 01: Tela de configuração dos templates

Os items e triggers que estamos adicionando foram inseridos dentro do Template Linux, sendo assim clique em itens do Template Linux e na próxima tela no botão Create Item

.

Figura 02: Botão "Create Itens"

É necessário criar 8 items e triggers. Porém será exemplificado a criação a trigger bacula.backup.result que serve como exemplo para a criação das outras.

Figura 03: Tela para criar itens

Crie agora que temos o item configurado, crie a trigger através do botão "Create Trigger" e na expressão, aponte para o item criado, no campo Function selecione last value > N e N coloque 0 (zero).

Figura 04: Tela para criar triggers

Com base no itemtrigger criados anteriormente, crie as outras 7 utilizando os parâmetros abaixo:

Nome da trigger Items e Key de monitoração Valor de retorno
Bacula backup result bacula.backup.result 0 = OK ou OK -- with warnings e 1 = Erro
Bacula FD Byteswritten bacula.fd.byteswritten 2.95 MBytes
Bacula FD Fileswritten bacula.fd.fileswritten 7 bytes
Bacula SD Byteswritten bacula.sd.byteswritten 2.95 MBytes
Bacula SD Fileswritten bacula.sd.fileswritten 7 bytes
Bacula last volume bytes bacula.lastvolumebytes 11789564846
Bacula verify filesexamined bacula.verify.filesexamined ----
Bacula verify result bacula.verify.result ----

OBS: Na criação dos itens bacula.fd.fileswritten e bacula.fd.byteswritten , configure o campo Units com o valor Bytes . Os valores das triggers bacula.verify.filesexamined e bacula.verify.result não foram testados.

Referências/Agradecimentos

Sites

http://www.zabbix.com/forum/showthread.php?t=8145

http://www.bacula.org/en/dev-manual/main/main/Messages_Resource.html


Agradecimentos

Ao amigo da comunidade Zabbix milprog, por escrever o cookbook utilizado como base neste trabalho e auxiliar nos momentos de dúvida. Thank you again...