¿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):
Paso II - Configurar el archivo "nut.conf":
Paso III - Configurar el archivo "ups.conf":
Obs. 1: En esta parte, fue utilizado el driver blazer_ser, pues el mismo implementa el protocolo Megatec:
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":
Passo V - Reiniciar el daemon y probar si está ejecutandose:
Verifique el resultado:
Passo VI - Comrpobar si el driver esta listando las informaciones de su No-Break:
La salida deve ser semejante a esta:
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:
Paso II - Instalar:
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.
Paso IV - Ejecutar via terminal, pues va a abrir el browser y pedir contraseña (solo la primera vez):
Passo V - Crear un script "genérico" para envio de alertas:
Con el contenido:
Paso VI - Damos permiso de ejecución:
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.
Este archivo es muy bien comentado. Las configuraciones que necesitamos modificar son:
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:
Paso II - Crear archivo "apagar_servidores.sh":
Con el contenido:
Paso III - Modificar permisos del script:
Paso IV - Agregar permisos:
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:
Asignar contraseña al usuario anterior
Creamos el script para apagar, en la maquina que es el objetivo:
Contenido del script:
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
Buscamos la linea de usuario a modificar para:
Para que un determinado usuario no sea obligado a escribir la contraseña al ejecutar el comando sudo, configurar como utilitario visudo:
Buscar la sección de configuración de alias, y incluir:
Buscamos la sección de privilegios de usuario y agregamos:
Verificamos si el usuario posee permiso para realizar SSH:
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:
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