Monitoramento de no-break

A fonte de alimentação ininterrupta, também conhecida como no-break ou pelo acrônimo UPS (sigla em inglês de uninterruptible power supply), é um sistema de alimentação secundário de energia elétrica que entra em ação quando há interrupção no fornecimento de energia primária, alimentando os dispositivos a ele ligados. Diferentemente dos estabilizadores, responsáveis somente por corrigir a tensão da rede elétrica e proteger contra sobretensão, subtensão e transientes, o no-break conta com um sistema de baterias para alimentar os equipamentos durante um certo período (por isso são mais caros e mais pesados).

Diagramas de no-breaks. Fonte: Dmesg

Atenção: a função básica do no-break é manter o PC funcionando em caso de falta de energia durante o tempo suficiente para ser desligado adequadamente (nunca direto no botão). Ou seja, não é para ficar ligado nele durante um tempão – 30 segundos seria aceitável – sob risco de danificar a eletrônica do equipamento. A exceção é o caso dos no-breaks online (ver mais abaixo). Quando o no-break usa as baterias, o inversor precisa transformar a corrente contínua das baterias (uma linha reta constante) em corrente alternada (uma onda analógica que oscila 60 vezes por segundo, ou seja, 60 Hz). Os no-breaks mais baratos ou antigos utilizam inversores que geram ondas quadradas, onde a tensão varia de forma abrupta (ondas quadradas) e podem danificar aparelhos sensíveis ou até mesmo a própria fonte de alimentação do PC. Os modelos baratos mais recentes utilizam ondas senoidais por aproximação, onde as variações são feitas em intervalos maiores. Somente os modelos mais caros que geram ondas senoidais “puras” (bem semelhantes às fornecidas pela rede elétrica).

Os no-breaks são medidos por números que representam sua potência, em VA (volt-ampere). Isto indica quanta energia a bateria pode produzir quando não houver luz, o que está diretamente associado ao tempo que ele é capaz de manter o equipamento ligado. Mas isso também depende do número de aparelhos ligados a ele e qual o consumo de cada um. Assim como as baterias de um carro, é importante trocá-las. O tempo varia de modelo para modelo, mas a média fica entre 2 e 3 anos.

Existem, basicamente, três modelos de no-breaks:

  • Stanby ou Offline – onfia somente na sua bateria para conter as flutuações de energia e pode ou não possuir medidas de proteção contra surtos, não evitando que as flutuações de voltagem diárias diminuam a vida útil do eletrônico.
  • Linha-Interativa – similar ao primeiro modelo, mas possui um regulador automático de voltagem ou AVR, que regula as flutuações de voltagem que ocorrem na rede (para cima ou para baixo).
  • Online (com dupla-conversão) – a energia que entra em corrente alternada é primeiro convertida para corrente direta, abastecendo a bateria e ligando uma peça chamada inversor. O inversor, por sua vez, converte novamente a energia para uma com corrente alternada limpa e de voltagem constate.

O mais barato e geralmente vendido no mercado para o consumidor final é o offline, sendo o online bem mais caro. Os equipamentos ligados em um no-break online são abastecidos continuamente pelas baterias, então se a energia cai, os equipamentos não desligam, apenas as baterias deixam de ser recarregadas. Caso o consumo seja próximo do limite, o tempo que as baterias sustentam tudo funcionando pode durar poucos segundos – quanto maior a potência consumida, menor o tempo de autonomia.

Softwares para acompanhar funcionamento

Muitas vezes é necessário acompanhar o funcionamento do no-break, seja a tensão das baterias ou mesmo se elas foram ativadas/desativadas e quando isso ocorreu (quedas de força). Existem softwares próprios para isso, tanto para Windows como Linux. Com o foco em Linux, seguem três programas que funcionam com alguns no-breaks APC, da fabricante Schneider Eletric. Digo alguns porque alguns modelos no Brasil são fabricados por outra empresa e levam o selo APC, mas o protocolo dos dados é diferente e não funciona com os softwares a seguir – para saber quais funcionam, consulte os modelo no site APC. Vá ao site, escolha seu modelo de no-break e clique em downloads de softwares (se não tiver essa aba, é porque não tem software para seu monitoramento).

Os programas geralmente utilizam uma porta USB (conector RJ45 de 10 vias na ponta do no-break e USB comum na ponta que será conectada ao PC) ou serial (conector DB9 ou RS232), que pode possuir diferentes padrões e ser necessário fazer o próprio cabo (clique no link para ver os tipos).

SGM

Um dos programas é o SGM, que se comunica via porta serial ou USB (clique no link para ver o manual). Totalmente desenvolvido em Linguagem JAVA, funciona em qualquer plataforma que possua o JVM instalado. Possui gráficos de monitoramento e histórico, além da possibilidade de execução de scripts e agendamento de comandos. Veja nesse link como instalar a JVM no Linux Debian e no manual como proceder para instalação do programa e suas configurações iniciais.

PowerChute

Outro programa é o PowerChute, disponível para Windows e Linux mas somente nas distribuições Suse e Red Hat. Para instalar no Debian/Ubuntu, deve-se instalar o programa “alien” no computador onde será instalado o programa para converter o arquivo “.rpm” para “.deb” e posteriormente instalado através dos seguintes comandos:

# apt-get install alien dpkg-dev debhelper build-essential
# alien pbeagent-VERSÃO.ARQUITETURA.rpm
# dpkg -i pbeagent_VERSÃO.ARQUITETURA.rpm

Veja mais sobre sua utilização no vídeo a seguir:

APCUPSD

O outro software para monitoramento de no-breaks APC é o apcupsd, que possui um manual muito bom e detalhado. Mesmo assim, segue um tutorial para sua instalação e configuração usando cabo serial – o site que usei como referência ensina como fazer usando o cabo USB, o que não difere em muita coisa.

Ao conectar o cabo serial do no-break no PC, você deverá saber qual porta “ttyS” foi utilizada através do comando “dmesg | grep tty”. Depois da instalação, caso surja uma mensagem do tipo “Error contacting apcupsd @ localhost:3551: Connection refused”, edite como super usuário o arquivo “/etc/hosts.allow” para permitir o acesso adicionando a linha “apcupsd: 127.0.0.0/255.0.0.0”.

No terminal como super usuário, instale o programa através do comando “apt-get install apcupsd” e edite o arquivo “/etc/apcupsd/apcupsd.conf” editando as seguintes linhas para informar:

  1. Nome para o no-break: UPSNAME NomeDoNoBreak
  2. Nome do cabo: UPSCABLE smart
  3. Tipo do cabo: UPSTYPE apcsmart
  4. Dispositivo (exemplo): DEVICE /dev/ttyS0

Também vi em algum fórum que os valores das seguintes variáveis precisavam ser diferente de zero (ou estar como “on”): STATTIME, LOGSTATS e DATATIME. Salve o arquivo e edite outro arquivo, agora o “/etc/default/apcupsd” para colocar “ISCONFIGURED=yes”. Salve o arquivo e reinicie o servio através do comando:

# service apcupsd restart

Para garantir, reinicie todo o sistema. Para verificar o funcionamento do programa, veja a saída do comando “apcaccess”, que deve ter uma linha indicando “STATUS: ONLINE” ou algo do tipo, com informações de modelo, data de início do monitoramento, tensão de entrada e saída, firmware, etc – veja nesse link o que quer dizer cada um dos campos do status do no-break.

Partindo para o segundo passo, configure o envio de e-mails indicando alterações importantes de status do no-break. Para isso, o APCUPSD utiliza o sendmail, mas é bem melhor utilizar outro programa, o sendemail (com a letra ‘e’ no meio). Instale-o através do comando “apt-get install sendemail” e configure os seguintes arquivos localizados no diretório “/etc/apcupsd”:

  • changeme – notifica se a bateria precisa ser substituída;
  • commfailure – notifica se o PC perdeu a comunicação com o no-break;
  • commok – notifica se a comunicação do PC com o no-break é restaurada;
  • onbattery – notifica se o no-break “entra em funcionamento”, ou seja, se as baterias são acionadas devido à queda de força;
  • offbattery – notifica se o no-break retorna ao modo de ser alimentado pela entrada principal de energia (da rua ou gerador).

Veja um exemplo de como deve ficar o arquivo “onbattery”:

#!/bin/bash
#
# This shell script if placed in /etc/apcupsd
# will be called by /etc/apcupsd/apccontrol when the UPS
# goes on batteries.
#
SYSADMIN=destinatario1@site.com.br,destinatario2@site.com.br
APCUPSD_MAIL="/usr/bin/sendemail"
HOSTNAME=`hostname`
SUBJECT="[Aviso nobreak] PCs estão somente na bateria"
MESSAGE=`
echo " "
echo " ====================================="
echo " Caiu a energia no $HOSTNAME !!"
echo " ====================================="
echo " "
echo " O no-break UPS esta somente na bateria."
echo " "
echo " Provavelmente a energia caiu."
echo " "
echo "Atual status UPS:"
echo " "
/sbin/apcaccess status`

$APCUPSD_MAIL -u "$SUBJECT" -m "$MESSAGE" -f REMETENTE@gmail.com -t $SYSADMIN -s smtp.gmail.com:25 -xu REMETENTE -xp SENHA
exit 0

Para testar o envio do e-mail, execute o comando “sh /etc/apcupsd/onbattery” no terminal como super usuário.

Basicamente, o programa sendemail utiliza os parâmetros “-f” (foward) para indicar o remetente, “-t” (to) para os destinatários (separados por vírgula), “-u” para título do e-mail, “-m” para a mensagem em si, “-s” para endereço do servidor SMTP, “-xu” para nome de usuário e “-xp” para senha do e-mail. Veja mais no final do post Como enviar e-mails para vários destinatários.

NHS

A NHS (empresa brasileira) também desenvolveu um software de monitoramento dos no-breaks produzidos por ela – atualmente na versão 3.0 4.0 – para Windows e Linux. O programa mantém registrado as principais variáveis lidas pelo no-break, como tensão de entrada, tensão de saída, tensão de bateria, potência consumida (carga), temperatura e corrente do carregador. Além do desligamento dos computadores, o Software NHS 3.0 também possibilita a execução de comandos antes do desligamento, utilizando o recurso de scripts do programa, acesso via web e notificação de eventos através de e-mails e sms.

A versão Linux roda como daemon em background, contendo script de inicialização compatível com init.d, permitindo a inicialização do serviço automaticamente. Ao conectar o cabo USB do no-break ao computador, o mesmo será automaticamente reconhecido como uma porta serial com nome /dev/ttyACMn (geralmente n = 0) – acompanhe através do comando dmesg quando conectá-lo ao PC e lsusb, que lista todas as interfaces USB. O kernel deve suportar a classe USB CDC-ACM (drivers/usb/class/cdc-acm.c).

Baixe o software no site da NHS – x86 (32bit) e x64 (64 bit). Como super usuário, crie a pasta “/usr/local/nhs” e descompacte o arquivo nhsups.tgz nela. Os scripts que inicia os serviços são “nhsups_server.sh” (inicia o serviço server e client) e “nhsups_client.sh” (inicia somente o serviço client). Para iniciar os serviços, digite “/usr/local/nhs/nhsups_server.sh start” (e “stop” para parar).

O programa servidor disponibiliza como interfaces com o usuário um serviço TELNET na porta 2000 e um serviço HTTP (WEB) na porta 2001. Depois de tudo instalado, utilizar um navegador web e escrever na barra de endereços “http://ip_do_pc:2001”. Para mais informações sobre os menus da interface web, consulte o manual do NHS 3.0.

Atualização: já existe uma versão 4.0 no site (link mais acima), mas que ainda não testei.

ACPI

O Linux suporta ACPI (Advanced Configuration and Power Interface) para o gerenciamento de energia. O pacote “acpid” fornece um daemon que procura por eventos relacionados a gerenciamento de energia (alternando entre AC e energia de bateria em um laptop, etc.) e que pode executar vários comandos em resposta. O ACPI coloca o gerenciamento de energia nas mãos do sistema operacional, permitindo o gerenciamento de energia mais inteligente do que é possível com o APM (Advanced Power Management), controlado na BIOS.

Fontes

2 comments

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.