sexta-feira, 24 de fevereiro de 2012

Configurando Zabbix para enviar SMS SEM placa GSM



Neste tutorial utilizarei o serviço de agenda do Google para enviar SMS de alertas gerados pelo Zabbix. Para tanto, utilizaremos o GoogleCL, que é uma ferramenta para uso dos aplicativos Google via linha de comando.

Cenário:  Centos 5.7, Zabbix 1.8.8

Instalado as dependências:
Nota: Para distribuições derivadas do Debian, basta baixar o arquivo .deb, disponível em http://code.google.com/p/googlecl/downloads/list.
      O GoogleCL é incompatível com o Python nativo do Centos (2.4), por isso devemos instalar o python26. 

#yum install python26 gdata-python26

Baixando e instalando GoogleCL

# wget http://googlecl.googlecode.com/files/googlecl-0.9.13.tar.gz
# tar xvfz googlecl-0.0.13.tar.gz
# cd googlecl-0.0.13.tar.gz
# python26 setup.py install

Configurando conta Google
    Será necessário uma conta google para que o zabbix utilize e, para melhor funcionamento, outra conta que será a que receberá as notificações. Neste caso vamos usar como exemplo que a conta zabbix@xyz123.com é a conta que o zabbix irá utilizar e a conta suporte@xyz123.com é a conta que será notificada.
    Vá em www.google.com/calendar e entre com o usuário zabbix. Clique na engrenagem(opções) e vá e Configuração da Google Agenda

   Va em agendas e Criar nova agenda.


   Na tela que abriu, dê um nome para a nova agenda, e na parte de baixo preencha o campo Compartilhar com pessoas específicas o e-mail que será notificado. Em configuração de autorização, altere para "Fazer alterações e Gerenciar compartilhamento." Após isso, clique em "Criar Agenda".



  Agora saia da agenda do usuário zabbix e entre na agenda do usuário que será notificado. Clique na engrenagem(opções) e vá e Configuração da Google Agenda. Vá em Configuração do Celular e configure com o celular que será notificado.


 Em seguinda, vá em Agendas e clique em "Notificações" da agenda compartilhada com o usuário Zabbix. Habilite a opção SMS para Novos Eventos.


Configurando o GoogleCL

   Para facilitar a configuração do GoogleCL, é necessário estar logado na interface gráfica do servidor. Abra o terminal como root, e digite:

# su zabbix
# google calendar add "teste zabbix"

   Ele abrirá um janela do navegador pedindo usuário e senha Google, entrar com a conta do zabbix. Em seguida, confirmar acessos para o GoogleCL. Ao executar o comando novamente, ele não irá pedir mais as credenciais de acesso.
    Agora basta colocar o script abaixo com o nome sms.sh em /etc/zabbix/scirpts/

#!/bin/bash
   google calendar add "$2" --cal "nome_do_calendario_criado" << fim
   ContaGoogleZabbix@gmail.com
   fim

Observações: 1. A variável $2 é o assunto da ação. Caso deseje que a mensagem chegue com o corpo da mensagem, mudar para $3.
                      2. Alguns caracteres alfanuméricos podem ocasionar quebra de texto na mensagem enviada.
                      3. Seu arquivo zabbix_server.conf deve estar configurado para scripts de alerta em /etc/zabbix/scripts/. Caso esteja diferente, alterar para a pasta correspondente.
                      4. Dica dada por colegas da Comunidade Zabbix Brasil: Eventualmente, pode ser necessário ajustar as permissões em /root/.config/ para que funcione perfeitamente. Principalmente se for executar o script como root.



Configurando o Zabbix.
Vá em Administration-Medias Types-Create Media Type

Peencha os campos para criar o script


Agora vá em Administration-Users-Clique no usuário admin

Vá em Média-Add


Selecione o script e no campo send to pode preencher aleatoriamente.

Agora basta criar a ir na ação desejada e Adicionar o envio pelo SMS-Google!


Foto da mensagem recebida




Referências
Comunidade Zabbix Brasil
Lista de discussão Zabbix Brasil


Proximo Post: Monitorando Banco de