Monitorando No-Break no Ubuntu 12.04

Este artigo indica os passos para monitorar um No-Break com saída serial. As funcionalidades são: envio de SMS e e-mail com os eventos relevantes (falha na comunicação serial, falta de energia, retorno de energia, bateria baixa) e desligamento das máquinas via SSH, quando necessário.

[ Hits: 24.935 ]

Por: wagner nascimento em 23/11/2012


Configurar serial do No-Break - Criar script genérico



Configurar o computador para ler serial do No-Break

Passo I - Instalação do NUT (via apt-get):

sudo apt-get install nut

Passo II - Configurar o arquivo "nut.conf":

# nano /etc-nut/nut.conf

MODE=standalone

Passo III - Configurar o arquivo "ups.conf":

# nano /etc/nut/ups.conf

[netroom]
driver = blazer_ser
port = /dev/ttyS0
desc = "Dell-2"

Obs. 1: Nesta solução, foi utilizado o driver blazer_ser, pois ele implementa o protocolo Megatec:
Obs. 2: Eventualmente, se o seu No-Break é de outro modelo e utiliza outro protocolo, então dê uma olhada nesse site:
Passo IV - Configurar o arquivo "upsmon.conf":

# nano /etc/nut/upsmon.conf

MONITOR netroom@localhost 1 upsmon pass master

Passo V - Reiniciar o daemon e conferir se está executando:

# /etc/init.d/nut stop
# /etc/init.d/nut start


Verifique o resultado:

# /etc/init.d/nut status
* upsd is running
* upsmon is running


Passo VI - Conferir se o driver está listando as informações do seu No-Break:

# upsc netroom

A saída deve ser semelhante a esta:
battery.voltage: 2.27
beeper.status: disabled
device.type: ups
driver.name: blazer_ser\
driver.parameter.pollinterval: 2
driver.parameter.port: /dev/ttyS0
driver.version: 2.6.3
driver.version.internal: 1.51
input.frequency: 60.0
input.voltage: 253.0
input.voltage.fault: 140.0
output.voltage: 127.0
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 6
ups.status: OL
ups.temperature: 32.0
ups.type: online


Criar um script genérico para envio de SMS (sem placa GSM)

Uma vez que sua máquina já está monitorando o No-Break, vamos configurá-la para enviar os alertas. Para isso, vamos utilizar o recurso de agenda do Google.

A ideia é simples: Eu crio um usuário Gmail para o No-Break, e adiciono um evento em sua agenda quando algo relevante acontece. A agenda do No-Break é compartilhada com meu usuário Gmail, que está configurado para enviar um SMS e e-mail quando isso ocorre.

Passo I - Baixar aplicativo Google command-line:

wget http://googlecl.googlecode.com/files/googlecl_0.9.13-1_all.deb

Passo II - Instalar:

sudo dpkg -i googlecl_0.9.13-1_all.deb

Obs.: Se pedir o Python, faça um apt-get update e depois instale-o.

Passo III - Crie um usuário no Gmail e compartilhe a agenda deste usuário com os destinatários do alerta. Depois disso, cada destinatário do alerta deve acessar sua própria conta e indicar que deseja receber avisos de novos eventos via SMS e/ou e-mail.

Usuário criado: monitor.XYZ@gmail.com

Passo IV - Executar via terminal, pois vai abrir o browser e pedir senha (apenas na primeira vez):

google calendar add "MINHA_EMPRESA_NOBREAK-TESTE"

Passo V - Criar um script "genérico" para envio de alertas:

nano /home/ti/scripts/envia_alerta.sh

Com o conteúdo:

#!/bin/bash
google calendar add $1

Passo VI - Dê permissão para executar:

chmod +x /home/ti/scripts/envia_alerta.sh

    Próxima página

Páginas do artigo
   1. Configurar serial do No-Break - Criar script genérico
   2. Configurações: ações baseadas nos eventos e desligamento das outras máquinas
   3. Configurar computador para desligar mediante comando de outra máquina
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Configurando o Fortune

Impressão usando LPRng e KPrinter

OpenVPN - Servidor Ubuntu 10.04 LTS e Clientes Windows

Usando timers systemd para alterar o wallpaper da área de trabalho aleatoriamente

Utilizando o PcManFm

  
Comentários
[1] Comentário enviado por markintux em 23/11/2012 - 10:08h

Artigo muito interessante!

Abraços.

[2] Comentário enviado por removido em 23/11/2012 - 11:28h

Ótimo trabalho! Excelente contribuição.

Parabéns!!!



[3] Comentário enviado por xjc em 23/11/2012 - 14:58h

ae cara muito bom tutorial, eu gosto de usar o apcups ele lê o protocolo da apc e tem também os agentes remotos, bem mais simples que isso tudo que você escreveu.

[4] Comentário enviado por igor_rocha em 23/11/2012 - 23:07h

Show de Bola!

[5] Comentário enviado por adrianoh2 em 25/11/2012 - 15:09h

Será que funciona em um Nobreak SMS? To com ele aqui, e tanto o software como o suporte são uma porcaria. Não recomendo!

[6] Comentário enviado por fernandoborges em 26/11/2012 - 14:51h

Parabéns pelo artigo. Sobre os SMS, concordo!

[7] Comentário enviado por WagNasc em 28/11/2012 - 09:22h


[5] Comentário enviado por adrianoh2 em 25/11/2012 - 15:09h:

Será que funciona em um Nobreak SMS? To com ele aqui, e tanto o software como o suporte são uma porcaria. Não recomendo!


Olá adrianoh2,
aqui eu não tenho um Nobreak SMS para testar, mas parece promissor.
Motivo:
Acessei a página indicada no link "Network UPS Tools - Hardware compatibility list" do artigo e ali consta que o nobreak SMS (Brazil) utiliza o driver "blazer_ser". Acho que vale a pena você fazer um teste...

[8] Comentário enviado por marceloeng em 29/04/2014 - 02:57h

Muito legal o artigo, gostaria de aproveitar e pedir sugestões de no-break para um ambiente de um cliente.

Meu cliente é uma gráfica digital e por trabalhar com muito papel, todos os dias por volta das 19:0 a chave geral da energia elétrica é desligada, sendo religada novamente às 7:30. O problema é que esses horários, às vezes podem variar.


Gostaria de sugestão de no-break, ou mesmo se é possível programá-lo para se adequar a este cenário, para que, principalmente o servidor, não sofra danos decorrentes de mau desligamento.


Obrigado,
Marcelo Costa


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts