# rm-rf.es | Administración de sistemas

Bitácora personal de un SysAdmin Gnu/Linux, Windows, BSD...

Exim: monitorizar la cola de correo en Big Brother


Hoy vamos a ver la forma de integrar en el sistema de monitorización Big Brother la supervisión del estado de la cola de correos de exim. Todo ello gracias al script bb-exim.sh creado por Carl C. Inglis.

Es un script fácil de entender, modificar y personalizar a nuestros requerimientos. Lo más básico a conocer es que podemos realizar y monitorizar lo siguiente:

# Tests are:
#               RUN - Test if the daemon is running
#               QUEUE - Check the size of the queue (see below)
#               REJECT - Check to see if the reject log is > 0 bytes long
#               PANIC - Check to see if the panic log is > 0 bytes long
#               FROZEN - Check to see if there are any frozen messages
#                 IGNOREFROZENERRS - Ignore frozen messages with a sender
#                                    of "<>".  (i.e., error responses.)
TESTRUN="y"
TESTQUEUE="y"
TESTREJECT="n"
TESTPANIC="y"
TESTFROZEN="y"
IGNOREFROZENERRS="y"

Como veis, por defecto revisa que el demonio de exim está corriendo, así como el tamaño de la cola de correo, el tamaño de los logs panic y reject (no por defecto para el reject)así como el número de correo en estado frozen o sin destinatario válido. Después, hay dos variables para seleccionar el umbral de aviso para warning y panic con el número de correos en cola:

TESTQUEUEALERT="50"
TESTQUEUEPANIC="100"

Revisad también que la ruta al binario de exim es la correcta, a los logs, etc:

EXIMBINARY="/usr/sbin/exim"
EXIMREJECT="/var/log/exim/rejectlog"
EXIMPANIC="/var/log/exim/paniclog"

La instalación es igual que cualquier extensión de Big Brother, ubicáis el script en la carpeta ext/, le asignais permisos de ejecución para el usuario y después lo añadís en el fichero bb-bbext y reiniciamos Big Brother:

# vim /ruta_a_big_brother/ext/bb-exim.sh
# chmod 0750 /ruta_a_big_brother/ext/bb-exim.sh
# chown usuariobb. /ruta_a_big_brother/ext/bb-exim.sh
# vim /ruta_a_big_brother/etc/bb-bbexttab
localhost :  : bb-exim.sh

Personalmente he realizado unas cuantas modificaciones para adecuarlo a mis necesidades. Entre ellas la necesidad de usar sudo ya que el usuario Big Brother no tiene privilegios, otra de ellas la visualización de la cola de correo. En lugar de mostrar la lista de mensajes como se vería con un exim -bp, la parseo mediante exiqsumm -c para que sea agradable a la vista y más rápido de visualizar y claro:

# exim -bp
 2h  5.9K xx-0000ko-HA
          xxx_70@xxx.com

 2h  6.0K xx-0000kt-OZ
          xxx_70@xxx.com

76m  9.3K xx-0003Ee-OO
          xxx@xxx.org

51m  7.8K xx-0005cQ-Te
          xxx.xxx@xxx.org
# exim -bp | exiqsumm -c

Count Volume Oldest Newest Domain
----- ------ ------ ------ ------

279 23MB 63h 30m xxx.org
2 12KB 2h 2h xxx.com
2 272KB 14h 12h xxx.com

---------------------------------------------------------------
289 28MB 63h 20m TOTAL

El resultado final, podría ser algo así:

Exim Big Brother

Podéis descargar el script original aquí.

Monitorización en Big Brother de Discos y Raid HP Proliant Linux


En la entrada anterior veíamos como configurar el sistema de monitorización Big Brother para que revise si los discos duros SAS/SCSI de servidores HP Proliant en sistemas Windows. Ahora vamos a ver lo mismo pero para Linux.

El script está pensado para sistemas de monitorización Hobbit / XYmon pero en Big Brother parece funcionar sin problemas. En primera instancia lo descargamos desde el sitio web:

hphwraid

Está verificado el correcto funcionamiento en servidores HP ProLiant DL, ML y BL. Los requerimientos para que funcione son:

  • Tener instalado hpacucli
  • Tener instalado sudo
  • Big Brother

Una vez descargado el script lo colocamos en la carpeta “ext/” del cliente Big Brother.

Ejecutamos visudo para permitir al usuario con el que corra bigbrother ejecutar hpacucli:

# visudo

Quitamos el requerimiento de tty:

#Default requiretty

Y permitimos al usuario la ejecución de hpacucli:

bigbrother ALL= NOPASSWD: /usr/sbin/hpacucli

Finalmente añadimos el script al fichero de extensiones bb-bbexttab:

localhost :  : hphwraid.sh

Y reiniciamos el cliente Big Brother. Pasados 5 minutos ya debería comenzar a monitorizarse el estado de discos y RAID del servidor, ejemplo:

green vie jul 9 16:27:27 CEST 2010

Hardware view on SLOT 0
physicaldrive 1I:1:1 (port 1I:box 1:bay 1, 72 GB): OK
physicaldrive 1I:1:2 (port 1I:box 1:bay 2, 72 GB): OK

View from the OS:
logicaldrive 1 (68.3 GB, RAID 1): OK

Monitorización en Big Brother de Discos y Raid HP Proliant Windows


Hoy vamos a configurar el sistema de monitorización Big Brother para que revise si los discos duros SAS/SCSI de servidores HP Proliant están en perfectas condiciones y también el RAID que tengan configurado a través de la controladora.

En este caso vamos a comenzar a configurarlo para un cliente Big Brother Windows (después habrá otro artículo para Linux). En primera instancia descargamos la extensión que añadiremos en la máquina a monitorizar:

CheckHpRaid.cmd

Nota: el script está pensando en primera instancia para “hobbit” pero funciona sin problemas en big brother

Posteriormente lo colocaremos en la carpeta “ext/” del cliente Big Brother, lugar en el que se encuentran los añadidos y extensiones que utilizamos.

Una vez realizado esto accedemos a la consola de gestión del cliente Big Brother y añadimos el script dentro de “Externals list”. Otro punto a tener en cuenta es que para que funcione la ubicación de “”Saved Logs Location” ha de ser la misma que la que hay configurada en el script:

REM Logs location for external scripts (WITH the ending \)
REM This folder must be the same has the one defined in the option
REM "Saved Logs Location" of the Big Brother Client or the tmppath
REM of the BBWin client.
SET _bblogdir=C:\Logs\bbnt\

Guardamos, reiniciamos el cliente Big Brother y tras cinco minutos ya debería haber una nueva columna en el servidor de monitorización con el nombre “raid” y la información de discos y raid, ejemplo:

Everything is working fine 

   Controller: Smart Array E200i
      Channel: 0
Serial number: P688MQ3790       

green logicaldrive 1 (68.3 GB, RAID RAID 1+0): OK  

green physicaldrive 1:1 (box 1:bay 1, 72 GB): OK
green physicaldrive 1:2 (box 1:bay 2, 72 GB): OK

Se me olvidaba comentar que tendréis que tener instalada la “HP Array Configuration Utility CLI” para que la extensión funcione.

bigbrother: Filesystem of /home/bbuser/bb/tmp is FULL


Últimamente me estoy encontrado con este error más de lo que quisiera en el sistema de monitorización Big Brother. El error es provocado por una sintaxis incorrecta u obsoleta del comando sort en el fichero bb-disk.sh, dentro de dicho fichero deberéis realizar las siguientes modificaciones:

SORT \"+${DFSORT}

por

SORT \" -k${DFSORT+1}\

Reiniciamos el cliente big brother en el próximo refresco debería quedar solucionado, sino, recordad mirad la salida en el fichero BBOUT para averiguar la causa del error.