sexta-feira, 30 de janeiro de 2015

Agentuino + Zabbix - Parte 3 - Criação de alarmes via SMS e E-mail no Zabbix

Olá pessoal!!

Continuando a série com Zabbix + Agentuino, vamos ver hoje como criar triggers e ações para criar alarmes com aviso por SMS e E-mail através do Zabbix. Quando a temperatura lida com o Arduino ultrapassar um certo limite o Zabbix lerá essa temperatura e disparará a trigger e as ações programadas.

Vamos lá!

O primeiro passo é criar a trigger associada ao host. Localize o host Arduino e assegure-se de que ele está se comunicando via SNMP com seu servidor Zabbix e fornecendo a temperatura.





















Clique no botão Criar Trigger:





















Na primeira aba Trigger escolha o nome da trigger e clique no botão Adicionar para criar a expressão que será avaliada para o disparo da trigger.





















Abrirá uma janela pop-up e em seguida selecione o item do host (Temperatura) que faz a leitura da temperatura.













































No campo Função escolha a opção: Último (mais recente) valor de T é > N.
No campo N digite 28.

Com isso a expressão criada será lida dessa forma: se o último valor de T (item Temperatura) for maior que N (28) dispara a trigger. Escolha o valor da temperatura que for mais conveniente.

















Voltando a tela de criação da Trigger escolha uma Descrição da trigger de forma bem clara e concisa. Escolha o Tipo de Risco como Atenção. Clique em Salvar.





















Está criada a trigger.



Com a trigger criada devemos criar as ações que serão realizadas quando esta trigger for ativada. Para isso vá em Configurações e clique em Acões. Depois clique em Criar Ação:



Crie um Nome para a ação. No campo Duração padrão de cada passo da operação digite 240 (segundos). e clique na caixa Mensagem de Recuperação. Nos demais campos deixar como está.




Vamos criar as condições em que a trigger será disparada. Colocaremos assim: se a severidade da Trigger (risco) for classificado como Atenção e o host for o Arduino a ação (ou ações) será(ão) executada(s).
Primeiramente remova as condições que vem por padrão:

Em Nova Condição selecione Severidade da Trigger e escolha Atenção na próxima caixa e depois clique em Salvar:

Escolha uma nova Condição, selecione Host e selecione o host (Arduino Sensor no meu caso) e depois clique em Adicionar.


Agora criaremos de fato as ações a serem executadas. Clique na aba Ações e clique em Nova:



Antes de prosseguir com as ações vamos criar o grupo de usuários para que as permissões sejam criadas. Clique em Administração, Usuários e escolha Grupo de Usuários e em seguida clique em Criar Grupo de usuários: 



Dê um nome para o grupo (no caso coloquei como Arduinos) e clique em Salvar:


Agora vamos configurar um usuário Zabbix chamado Arduino sensor para que este receba os e-mails de alerta.
Clique em Administração, Usuários e escolha Usuários e em seguida Criar Usuário.


Dê um Apelido, Nome, Sobrenome e crie uma senha para o usuário. Clique em Adicionar:

Escolha o grupo Arduinos e clique em Selecionar:



Será criado o usuário Arduino sensor.

Agora vamos ativar as permissões do grupo de usuário Arduinos e assim o usuário Arduino sensor herdará as permissões.

Vá no grupo de usuários Arduinos e clique na aba Permissões. Vamos definir que o grupo Arduinos tenha permissão Somente leitura e que por consequencia o usuário Arduino sensor terá o mesmo privilégio. Em seguida clique em Salvar.




Com o usuário e grupo criados retomemos à criação das ações. A primeira ação que será criada funcionará assim: será enviado um e-mail para o e-mail cadastrado do usuário Arduino Sensor quando a trigger for disparada. Preencha os campos exatamente como aparecem na imagem abaixo e depois clique em Salvar:



Agora vamos criar a segunda ação que enviará SMS quando a trigger for disparada.

Clique em Nova e aparecerá a tela para configurar os detalhes da operação. Notem que o Tipo de operação está selecionado como Comando remoto e na Lista Alvo está selecionado Host Atual para indicar que a operação será no host em que a Trigger será disparada (no caso o host Arduino Sensor). Selecione o tipo como Script personalizado, e escolha a opção Executar em como Servidor Zabbix.
No campo Comandos está o caminho de execução do script sms.sh que enviará o SMS via Agenda do Google. Clique em Salvar.

Com isso as duas ações estão criadas.


No próximo post veremos como configurar o Google Agenda para enviar SMS quando o script sms.sh for acionado.

Até a próxima!












terça-feira, 25 de novembro de 2014

Agentuino + Zabbix - parte 2 - implementação do Zabbix

Olá pessoal,

No último post vimos o uso do Agentuino que implementa uma biblioteca para tornar o Arduino um agente SNMP e como ele disponibiliza informações coletadas pelo Arduino através de SNMP, fazendo que agentes de monitoramento SNMP (Zabbix, Nagios, etc) possam ser utilizados para verificar estas informações e disponibilizá-los para visualização e monitoramento. No caso do nosso projeto de monitoramento de temperatura vamos usar o Zabbix para visualizar e monitorar a temperatura.
Hoje veremos como utilizar o Zabbix para monitoramento SNMP:

Zabbix:

Deve-se instalar um Zabbix em uma máquina física ou através de máquina virtual. Lembrando que o Zabbix é open-source e é praticamente uma distro Linux especializada em monitoramento. A instalação é bem simples.

Download:

http://www.zabbix.com/download.php

Uma vez instalado o Zabbix devemos acessá-lo para configurar o monitoramento do Arduino:


Entre com o usuário Admin e senha configurada para o acesso admin. Uma vez logado vá em Configurações, Templates e clique no botão Criar Template:



    Dê um nome para o template. No caso eu coloquei como SNMP Arduino. Clique em Salvar.


Em Configurações, Templates, selecione SNMP Arduino:



Clique em Itens:


Clique em Criar Item:
 

Preencha os campos:
 
- Nome: Nome do Item. Neste caso coloquei como Temperatura
- Tipo: Agente SNMPv1 (o Agentuino está implementado em SNMP v1).
- Chave: temp (é o campo disponibilizado pelo SNMP que contém a temperatura coletada).
- SNMP OID: é a OID que está armazenando a temperatura.
- Comunidade SNMP: public

Os demais campos pode deixar como estão. Dê um Salvar.


Agora vamos criar um gráfico para visualizarmos a temperatura. Clique em Gráficos:


Clique em Criar Gráfico:


Dê um nome para o Gráfico e clique em Adicionar (como mostra a figura):


Escolha o item Temperatura que foi criado anteriormente:


Clique em Salvar:


Clique na aba Visualizar:


Vamos criar o host agora. Vá em Configuração, Hosts e clique em Criar host:


Preencha os campos:

- Nome do host
- Nome de exibição
- Interfaces SNMP: coloque o endereço IP do Arduino.

Clique em Salvar.



Selecione a aba Templates e clique em Adicionar:


Selecione o template SNMP Arduino:


Clique em Salvar:


Clique em Macros  e preencha os campos:

- Macro: {$SNMP_COMMUNITY}
- Valor: public

Clique em Salvar


Observe que o host Arduino Sensor no ícone de Disponibilidade SNMP está em verde.


Vamos agora criar uma Tela de visualização. Vá em Configuração, Telas e clique em Criar tela:


Escolha um Nome para a tela e especifique o número de linhas e colunas. No caso é 1 x 1 pois é somente o gráfico que iremos exibir na tela.


Clique em Alterar:


Escolha como Recurso o Gráfico simples e clique no botão Selecionar do campo Parâmetro:


Nas caixas escolha o Grupo onde o host Arduino Sensor está e selecione o Host Arduino Sensor.
Selecione o item Temperatura:


Deixe os campos no padrão e clique em Salvar:


Para visualizar a tela vá em Monitoramento, Telas e escolha a tela que você criou (Arduino Temperatura):


Com isso configuramos o Zabbix para mostrar a temperatura de forma gráfica. No próximo post vamos configurar Triggers (gatilhos) para avisar via e-mail ou SMS se a temperatura está acima do esperado.

Até a próxima!