PDF de programación - Monitorización de un SAI con GNU/Debian Linux

Imágen de pdf Monitorización de un SAI con GNU/Debian Linux

Monitorización de un SAI con GNU/Debian Linuxgráfica de visualizaciones

Publicado el 19 de Mayo del 2017
135 visualizaciones desde el 19 de Mayo del 2017
160,7 KB
9 paginas
Creado hace 11a (07/06/2005)
Monitorizacion de un SAI con GNU/Debian Linux

Paco Brufal pbrufal@servitux.com

Version 0.3, 07/06/2005

Este pequeño documento explica como monitorizar un SAI (Sistema de Alimentacion Ininterrumpida) con un
servidor Linux Debian mediante el puerto serie. La unidad SAI es una Pulsar ESV14+ con puerto serie, pero
este documento se puede aplicar, con pequeñas modi caciones, a otras unidades SAI. La ultima version de este
documento siempre estara en http://www.servitux.org . Este documento se distribuye SIN NINGUNA GARANTIA
bajo la licencia GPL ( http://www.gnu.org ). No me responsabilizo de los posibles daños que pueda causar la
ejecucion de los pasos descritos en este documento.

Contents

1 Introduccion

2 Como funciona todo esto

3 Instalacion de NUT

4 Con guracion del controlador del SAI

4.1 Especi cacion del SAI
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Listas de control de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Creacion de los usuarios de acceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Con guracion del monitor de SAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5
Iniciando el servidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5 Con guracion de los sistemas esclavos

5.1
5.2

Instalacion y con guracion en Debian Sid . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instalacion y con guracion en Debian Woody . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Con guracion del puesto de control

6.1

Instalacion y con guracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7 Recomendaciones y enlaces

1 Introduccion

1

2

3

3
3
3
4
5
6

6
6
7

8
8

8

Para la explicacion de este documento vamos a suponer el siguiente escenario. Poseemos una unidad SAI
con puerto serie. A este SAI estan conectados 5 servidores mas, que seran 1 maestro (el que controla el SAI
por el puerto serie), 4 esclavos, que monitorizan el estado del SAI mediante la red local, y ademas usaremos
la workstation del administrador para saber el estado del SAI, pero esta workstation NO estara conectada
al SAI.

2. Como funciona todo esto

2

Para monitorizar el SAI usaremos las herramientas NUT (Network UPS Tools). El servidor maestro
sera un sistema Linux Debian Sid (inestable), 3 esclavos sera Linux Debian Sid (inestable), 1 sistema esclavo
Linux Debian Woody (estable), y el sistema del administrador es una Debian Sid.
La pagina web de las herramientas NUT es http://www.exploits.org/nut/
Antes de instalar nada comprueba que el SAI esta con la batera cargada al maximo, que los servidores estan
tomando la corriente del SAI, y que el cable serie esta correctamente conectado.
Y como ultima recomendacion, si no usas la distribucion Debian, no sigas los pasos al pie de la letra, ya que
hay cosas que pueden cambiar (poco, pero pueden cambiar).

2 Como funciona todo esto

Paso a explicar brevemente como funciona el control del SAI.

1. Todo esta funcionando perfectamente

2. Se va la luz, y el SAI entra en modo batera

3. La batera llega a su carga mnima

4. El sistema maestro noti ca a los esclavos que dentro de poco se deben apagar

5. Cuando los esclavos reciben la orden:

(a) Generan un evento NOTIFY SHUTDOWN
(b) Esperan el tiempo de nido en FINALDELAY
(c) Ejecutan el comando de nido en SHUTDOWNCMD
(d) Se apagan correctamente

6. El sistema maestro espera que todos los clientes se desconecten

7. El maestro empieza la secuencia de apagado:

(a) Genera un evento NOTIFY SHUTDOWN
(b) Espera el tiempo de nido en FINALDELAY
(c) Crea el chero de nido en POWERDOWNFLAG
(d) Ejecuta el comando de nido en SHUTDOWNCMD

8. El proceso de apagado se lleva a cabo normalmente, y el sistema va parando los servicios y desmontando

unidades

9. El sistema encuentra en chero de nido en POWERDOWNFLAG, y ejecuta el apagado del SAI

10. Cuando vuelve la luz, todos los sistemas se activan y todo vuelve a su estado normal.

El hecho de crear un chero sirve para que los scripts de apagado del sistema comprueben si existe, y si
es as, envien al SAI el comando de apagado. Esto es porque no merece tener el SAI encendido si ningun
sistema esta funcionando.
En Debian, el sistema de corte de corriente ya viene implementado. El ultimo script que se ejecuta durante
el apagado es /etc/init.d/halt. Este script llama a otro script /etc/init.d/ups-monitor con el parametro
powero . Si existe el chero de nido en POWERDOWNFLAG, el SAI se apagara y quedaran todos los
ordenadores sin electricidad.

3.

Instalacion de NUT

3

3 Instalacion de NUT

Para instalar NUT en el servidor usaremos la herramienta apt-get de Debian:

# apt-get install nut

En Debian Sid (inestable), una vez ha terminado de instalarse, debes editar el chero /etc/default/nut y
poner a yes las opciones START UPSD y START UPSMON :

# start upsd
START_UPSD=yes

# start upsmon
START_UPSMON=yes

Seguidamente, añadiremos el usuario nut al grupo dialout, que es el grupo propietario de los puertos serie
(/dev/ttyS0 por ejemplo).

# adduser nut dialout

4 Con guracion del controlador del SAI

En este apartado vamos a con gurar el sistema que controla al SAI por el puerto serie.

4.1 Especi cacion del SAI

Una vez instalado, pasamos a con gurar el controlador.
/etc/nut/ups.conf . Este chero contiene los parametros necesarios para conectarnos al SAI.

En primer lugar con guramos el chero

[elsai]

driver = mge-utalk
port = /dev/ttyS0

Lo que va entre corchetes ([elsai]) es un nombre descriptivo, puede ser el que nosotros queramos (sin espacios
ni signos de puntuacion, para no liar la cosa ;). La linea driver especi ca que tipo de comunicacion se usara
para hablar con el SAI. En este caso he usado el mge-utalk, que sirve para modelos de SAI MGE. La linea
port especi ca cual es el puerto serie por el cual nos comunicaremos con el SAI.
Dentro de este chero hay mucha documentacion que te sera muy util si tienes algun problema.

4.2 Listas de control de acceso

Una de las caractersticas de NUT es que nos permite con gurar niveles de acceso a las distintas maquinas
de la red. Los controles de acceso se con guran en el chero /etc/nut/upsd.conf . Este es un ejemplo:

ACL localhost 127.0.0.1/32
ACL maquina1 172.16.2.3/32
ACL maquina2 172.16.2.6/32
ACL maquina3 172.16.2.1/32
ACL maquina4 172.16.2.18/32

4. Con guracion del controlador del SAI

4

ACL maquina5 172.16.2.14/32
ACL all 0.0.0.0/0

ACCESS grant monitor localhost
ACCESS grant monitor maquina1
ACCESS grant monitor maquina2
ACCESS grant login maquina3
ACCESS grant monitor maquina4
ACCESS grant monitor maquina5
ACCESS deny all all

En el primer bloque se de nen una serie de nombres asociados a unas IPs. En el segundo bloque se de ne que
clase de acceso tienen los distintos nombre antes mencionados. Fijate que la maquina3 tiene un parametro
login en vez de monitor, esto se debe a que maquina3 tiene instalado un sistema Debian Woody (estable),
y en la version de NUT incluida no existe el modo monitor. La directiva grant signi ca acceso permitido,
y la directiva deny signi ca acceso denegado. El orden de las ACL SI que importa, as que primero se debe
permitir el acceso a las maquinas que queramos, y luego se deniega todo lo demas.
En las ultimas versiones de NUT (2.x), la forma de conceder o denegar acceso ha cambiado. Ahora deberan
especi carse las reglas as:

ACL localhost 127.0.0.1/32
ACL maquina1 172.16.2.3/32
ACL maquina2 172.16.2.6/32
ACL maquina3 172.16.2.1/32
ACL maquina4 172.16.2.18/32
ACL maquina5 172.16.2.14/32
ACL all 0.0.0.0/0

ACCEPT localhost
ACCEPT maquina1
ACCEPT maquina2
ACCEPT maquina3
ACCEPT maquina4
ACCEPT maquina5
REJECT all

4.3 Creacion de los usuarios de acceso

Para que las maquinas (tanto el servidor como los esclavos) tengan acceso al sistema de control, sera necesario
crear una serie de usuarios con sus correspondientes contraseñas. Estos usuarios se con guran en el chero
/etc/nut/upsd.users:

[admin]

password = mipassword
allowfrom = localhost
actions = SET
instcmds = ALL

[control]

password = otropassword
allowfrom = localhost
upsmon master

4. Con guracion del controlador del SAI

5

[clientes]

password = yotropassword
allowfrom = maquina1 maquina2 maquina4 maquina5
upsmon slave

[woody]

password = debianwoody
allow from = maquina3
upsmon slave

Lo que va entre corchetes es el nombre del usuario que vamos a crear. La linea password es la contraseña
que le asignamos a ese usuario. La linea allowfrom especi ca la maquina desde la cual se puede conectar
ese usuario. La linea actions de ne que acciones puede realizar ese usuario. La linea instcmds de ne
los comandos que pueden ser usados por ese usuario. Por ultimo, la linea upsmon master de ne que ese
usuario sera el controlador del servidor, y upsmon slave sera el controlador remoto.
Como ves, hemos puesto la maquina3 separada de las demas. Esto es porque maquina3 al llevar una
version diferente de NUT, necesita una con guracion especial que veremos mas adelante.

4.4 Con guracion del monitor de SAI

Pasamos a con gurar el chero /etc/nut/upsmon.conf . Este chero contiene la con guracion del demonio
upsmon:

MONITOR elsai@localhost 1 control mipassword master
MINSUPPLIES 1
SHUTDOWNCMD "/sbin/shutdown -h +0"
NOTIFYCMD /usr/local/bin/mensaje-ups
POLLFREQ 60
POLLFREQALERT 10
HOSTSYNC 15
DEADTIME 15
POWERDOWNFLAG /etc/killpower
NOTIFYMSG ONLINE "UPS %s en estado normal"
NOTIFYMSG ONBATT "Alguien ha quitado el cable del SAI %s"
NOTIFYMSG LOWBATT "Bateria demasiado baja"
NOTIFYMSG FSD "Ha llegado el momento de apagar el SAI"
NOTIFYMSG COMMOK "Fiiiuuu, ya puedo volver a hablar con el SAI"
NOTIFYMSG COMMBAD "Otiiaa, que el SAI no me habla"
NOTIFYMSG SHUTDOWN "Apagando!"
NOTIFYMSG REPLBATT "Macho, ves cambiando la bateria"
NOTIFYFLAG ONLINE SYSLOG+EXEC
NOTIFYFLAG ON
  • Links de descarga
http://lwp-l.com/pdf3606  

Comentarios de: Monitorización de un SAI con GNU/Debian Linux (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios