InicioLinuxmonitoreando no-break Ubuntu 12.04

monitoreando no-break Ubuntu 12.04

Linux11/30/2012
¿QUE ES UN NOBREAK?



Un no-break consta básicamente de un conjunto de baterías recargables y circuitos electrónicos de inversión (que convierten corriente directa en alterna) y de control que detectan el momento en que se presenta una falla en el suministro de energía; al detectar la falla proporciona una tensión útil proveniente de la carga eléctrica almacenada en las baterías.

Este respaldo se mantiene hasta que la energía de las baterías se agota o hasta que el suministro de energía normal se restablece; al ocurrir esto ultimo el sistema recarga las baterías.
Los No Breaks protegen el sistema operativo de su computadora y permiten seguir trabajando en caso de un apagón. También previenen la pérdida de información cuando se va la luz, proveyendo energía regulada que protege su computadora contra picos y variaciones de voltaje.

TIPOS DE NO-BREAKS

MODELOS CON PUERTO USB Y REGULADOR INTEGRADO

Los modelos con conexión USB están diseñados para mejorar el desempeño del producto y permitir el cierre automático de su computadora.

MODELOS CON PUERTO DB9 Y REGULADOR INTEGRADO

Diseñados para incrementar su productividad asegurando que tanto su computadora como todos sus periféricos están protegidos. Además de la conexión para internet / fax / MODEM (RJ11 / RJ45) cuentan con un puerto serial DB9

MODELOS CON REGULADOR INTEGRADO

Estos modelos ofrecen regulación automática de voltaje y protección contra picos para asegurar la entrada correcta de energía a su equipo. Incluyen protector para línea telefónica.

MODELOS CON PROTECCIÓN PARA INTERNET


El protector telefónico protege la computadora de peligrosos picos de voltaje en la línea de teléfono.

Este articulo indica los pasos para monitorear un No-Break con salida serial. Las funcionalidades son: envio de SMS y e-mail con los eventos relevantes (falla de comunicación serial, falta de energía, retorno de energía, bateria baja) y desconexión de las maquinas via SSH, cuando sea necesario


Configurar serial del no-break - Crear script genérico
Configurar el computador para leer serial del No-Break
Paso I - Instalación del NUT (via apt-get):

$ sudo apt-get install nut

Paso II - Configurar el archivo "nut.conf":

# nano /etc-nut/nut.conf

MODE=standalone

Paso III - Configurar el archivo "ups.conf":

# nano /etc/nut/ups.conf


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


Obs. 1: En esta parte, fue utilizado el driver blazer_ser, pues el mismo implementa el protocolo Megatec:

    http://manpages.ubuntu.com/manpages/lucid/man8/blazer.8.html 


Obs. 2: Eventualmente, si su No-Break es de otro modelo y utiliza otro protocolo, entonces de un vistazo a este sitio:

Network UPS Tools - Hardware compatibility list


Paso IV - Configurar el archivo "upsmon.conf":

# nano /etc/nut/upsmon.conf


MONITOR netroom@localhost 1 upsmon pass master

Passo V - Reiniciar el daemon y probar si está ejecutandose:

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

Verifique el resultado:

# /etc/init.d/nut status

    * upsd is running
    * upsmon is running 



Passo VI - Comrpobar si el driver esta listando las informaciones de su No-Break:

# upsc netroom

La salida deve ser semejante 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 



Crear un script genérico para envio de SMS (sin placa GSM)
Una vez que su maquina ya esta monitoreando el No-Break, vamos a configurarla para enviar las alertas. Para eso, vamos a utilizar el recurso de agenda de Google.

La idea es simple. Creamos un usuario en Gmail para el No-Break, y agregamos un evento en la agenda cuando algo importante acontece. La agenda del No-Break es compartida con mi usuario de gmail, que está configurado para enviar un SMS y e-mail cuando eso ocurre.

Paso I - Bajar aplicación Google command-line:


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

Paso II - Instalar:

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

Obs.: Si pide el Python, haga un apt-get update y despues instalelo.

Paso III - Cree un usuario en Gmail y comparta la agenda de este usuario con los destinatarios de alerta. Despues de eso, cada destinatario de alerta deve acceder su propia cuenta y indicar que desea recibir avisos de nuevos eventos del día via SMS en/su e-mail.

Usuário creado: [email protected]

Paso IV - Ejecutar via terminal, pues va a abrir el browser y pedir contraseña (solo la primera vez):

$ google calendar add "MI_EMPRESA_NOBREAK-TEST"


Passo V -
Crear un script "genérico" para envio de alertas:

$ nano /home/ti/scripts/envia_alerta.sh

Con el contenido:

#!/bin/bash
google calendar add $1


Paso VI - Damos permiso de ejecución:

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


Configuraciones:
acciones basadas en los eventos de apagado de las otras maquinas
Configurar las acciones basadas en el evento de no-break
Vamos a editar el archivo /etc/nut/upsmon.conf.

# nano /etc/nut/upsmon.conf

Este archivo es muy bien comentado. Las configuraciones que necesitamos modificar son:

RUN_AS_USER ti #coloque el nombre del usuario que estaba utilizando al agregar el evento en la agenda gmail para la primera vez
MONITOR netroom@localhost 1 upsmon pass master SHUTDOWNCMD "/home/ti/scripts/apaga_servidores.sh" #el script que voy a utilizar para apagar las maquinas via SSH
NOTIFYCMD /home/ti/scripts/envia_alerta.sh #o script genérico para envio de SMS
NOTIFYMSG  ONLINE              "MINHAEMPRESA -Nobreak_operando_energia_DME"
NOTIFYMSG  ONBATT              "MINHAEMPRESA -Nobreak_operando_por_bateria"
NOTIFYMSG  LOWBATT            "MINHAEMPRESA- Nobreak_baterias_poca_carga"
NOTIFYMSG  FSD                     "MINHAEMPRESA-Nobreak_Forced_shutdown_in_progress"
NOTIFYMSG  SHUTDOWN          "MINHAEMPRESA- Nobreak_Auto_logout_and_shutdown_proceeding"
NOTIFYMSG  REPLBATT          "MINHAEMPRESA-Nobreak_Cambiar_baterias"
NOTIFYMSG  NOCOMM              "MINHAEMPRES A-Nobreak_sin_Comunicacion_5_MINUTOS"
NOTIFYMSG  COMMOK              "MINHAEMPRES A-Nobreak_Comunicación_OK"
NOTIFYMSG  COMMBAD            "MINHAEMPRESA- Nobreak_sin_Comunicación"
NOTIFYFLAG  ONLINE            SYSLOG+WALL+EXEC
NOTIFYFLAG  ONBATT            SYSLOG+WALL+EXEC
NOTIFYFLAG  LOWBATT          SYSLOG+WALL+EXEC
NOTIFYFLAG  FSD                  ; SYSLOG+WALL+EXEC
NOTIFYFLAG  COMMOK            SYSLOG
NOTIFYFLAG  COMMBAD          SYSLOG
NOTIFYFLAG  SHUTDOWN        SYSLOG+WALL+EXEC
NOTIFYFLAG  REPLBATT        SYSLOG
NOTIFYFLAG  NOCOMM            SYSLOG+WALL+EXEC

Configurar computador para comandar apagardo de otras maquinas.
Para dar un poco mas de seguridad, el acceso a la maquina objetivo es realizado via SSH, protegida por contraseña. La cuenta utilizada esta configurada para que su primer comando a lograr sea apagar el computador..

Paso I - Instalar sshpass com contraseña en el micro sensor:

$ sudo apt-get install sshpass

Paso II - Crear archivo "apagar_servidores.sh":

$ sudo nano /home/ti/scripts/apagar_servidores.sh

Con el contenido:

#!/bin/bash
sshpass -p contraseña ssh [email protected]

Paso III - Modificar permisos del script:

# chmod 711 /home/ti/scripts/apagar_servidores.sh

Paso IV - Agregar permisos:

$ ls -la /etc/nut/


-rw-r--r--   1 root nut   1472 Out  8 13:18 nut.conf
-rw-r-----   1 root nut   3732 Out  8 13:19 ups.conf
-rw-r-----   1 root nut   2744 Mai 30 16:50 upsd.conf
-rw-r-----   1 root nut   2171 Out  8 14:04 upsd.users
-rw-r--r--   1 root nut   12919 Out  8 15:46 upsmon.conf
-rw-r-----   1 root nut   3887 Mai 30 16:50 upssched.conf


$ ls -la /home/ti/scripts/


-rwx--x--x  1 ti nut   168 Nov 13 15:57 apagar_servidores.sh
-rwx--x--x  1 ti nut   35 Out  8 13:43 envia_alerta.sh

Configurar la computadora para apargarse mediante el comando desde otra maquina.
Estos pasos deben ser realizados en las maquinas que deseamos apagar.

Cerar un Usuario:

$ sudo adduser --system apaga

Asignar contraseña al usuario anterior

$ sudo passwd apagar

Creamos el script para apagar, en la maquina que es el objetivo:

$ sudo nano /home/apagar/apagar.sh

Contenido del script:

#!/bin/bash
/usr/bin/sudo /sbin/shutdown -h now

Obs: Para probar, substituya por "shutdown -h +10", asi tenemos como cancelar sin apagar la máquina.

Para configurar el script para ejecutar automáticamente al hacer login, debemos modificar el archivo

/etc/passwd la linea correspondiente al usuario creado:



# nano /etc/passwd


Buscamos la linea de usuario a modificar para:

apagar:x:119:65534::/home/apagar:/home/apagar/apagar.sh


Para que un determinado usuario no sea obligado a escribir la contraseña al ejecutar el comando sudo, configurar como utilitario visudo:

$ sudo visudo


Buscar la sección de configuración de alias, y incluir:

# Cmnd alias specification
Cmnd_Alias SHUTDOWN=/sbin/shutdown


Buscamos la sección de privilegios de usuario y agregamos:

# User privilege specification
root        ALL=(ALL:ALL)  ALL
apagar ALL=NOPASSWD:SHUTDOWN

Verificamos si el usuario posee permiso para realizar SSH:

# nano /etc/ssh/sshd_config


AllowUsers apagar#incluir en caso de que no exista

Otras informaciones
1. Verifique su firewall. El mismo puede impedir que el monitod de no-break funcione correctamente.

2. Si usted utiliza un proxy, verifique si los dominios ".googlecode.com" y ".googleapis.com" esten liberados.

3. Para probar si el apagador o como quieran llamarlo esta funcionando, solamente accedemos via SSH. Acuerdese que el servidor SSH necesita estar funcionando en la maquina que deseamos apagar.

4. Para depurar el funcionamiento del monitor de no-break, esiste el comando:

# upsmon -D 
Datos archivados del Taringa! original
37puntos
787visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

c
cagl86🇦🇷
Usuario
Puntos0
Posts54
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.