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: 19.514 ]

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 Fluxbox como WM padrão no Slackware 9.0

Atualizando o Gnome no Slackware com Dropline

zsh (Z shell) - Uma alternativa ao bash

Configurando o OpenVPN para múltiplos clientes

LTSP 5 no Ubuntu 8.04

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

Artigo muito interessante!

Abraços.

[2] Comentário enviado por izaias 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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts