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

Blog de un SysAdmin Unix, Gnu/Linux, Windows y lo que haga falta.

Monitorizar Oracle iPlanet Web Server con get-perfdump

Oracle SolarisLa utilidad de monitorización en servidores Web de Sun/Oracle ha mejorado mucho a partir de la versión 7.0. Si bien antes únicamente podíamos acceder a estos datos vía web, ahora podemos hacerlo a través de la shell/CLI wadm, permitiendo acceder a estadísticas a tiempo real de monitorización sin necesidad de hacerlo vía HTTP, con los problemas que conllevaba con el sistema cargado.

La nueva versión, disponible en Sun Java System Web Server, Oracle iPlanet Web Server 7.0 o como lo queráis llamar, añade la posibilidad de ver las Ips y peticiones que se están haciendo a cada instancia y así poder detectar con mayor facilidad el origen de un cuello de botella o sobrecarga del sistema.

Para acceder a wadm nos situamos en la ruta base del servidor web y ejecutamos el siguiente comando indicando usuario y clave de administración:

root@solaris:/opt/oracle/webserver7# ./bin/wadm --user=admin
Indique admin-user-password>
Conexión a localhost:8989
Oracle iPlanet Web Server 7.0.12 B07/01/2011 03:56
wadm>

Una vez dentro, elegimos la instancia y nodo del que queremos ver las estadísticas y tendremos el volcado de información:

wadm> get-perfdump --config solaris --node localhost

La información que recibimos es la siguiente. Tened en cuenta que es un webserver de prueba por lo que no hay apenas información:

wadm> get-perfdump --config solaris --node localhost

Oracle iPlanet Web Server 7.0.12 B07/01/2011 03:56 (SunOS DOMESTIC)

Server started Sat Feb 11 15:24:28 2012
Process 1133 started Sat Feb 11 15:24:29 2012

ConnectionQueue:
-----------------------------------------
Current/Peak/Limit Queue Length            0/4/16384
Total Connections Queued                   20
Average Queue Length (1, 5, 15 minutes)    0,00, 0,00, 0,00
Average Queueing Delay                     10,88 milliseconds

ListenSocket http-listener-1:
------------------------
Address                   https://0.0.0.0:443
Acceptor Threads          1
Default Virtual Server    solaris

ListenSocket http-listener-2:
------------------------
Address                   http://0.0.0.0:80
Acceptor Threads          1
Default Virtual Server    solaris

KeepAliveInfo:
--------------------
KeepAliveCount        6/32768
KeepAliveHits         8
KeepAliveFlushes      0
KeepAliveRefusals     0
KeepAliveTimeouts     6
KeepAliveTimeout      30 seconds

SessionCreationInfo:
------------------------
Active Sessions           0
Keep-Alive Sessions       6
Total Sessions Created    8/129

CacheInfo:
-----------------------
File Cache Enabled       yes
File Cache Entries       14/1024
File Cache Hit Ratio     76/108 ( 70,37%)
Maximum Age              30
Accelerator Entries      0/1024
Acceleratable Requests   18/45 ( 40,00%)
Acceleratable Responses  0/18 (  0,00%)
Accelerator Hit Ratio    0/0 (  0,00%)

Native pools:
----------------------------
NativePool:
Idle/Peak/Limit               1/1/128
Work Queue Length/Peak/Limit  0/0/0

DNSCacheInfo:
------------------
enabled             yes
CacheEntries        0/1024
HitRatio            0/0 (  0,00%)

Async DNS disabled

Performance Counters:
------------------------------------------------
                           Average         Total      Percent

Total number of requests:                     20
Request processing time:    0,0395        0,7899

default-bucket (Default bucket)
Number of Requests:                           20    (100,00%)
Number of Invocations:                       289    (100,00%)
Latency:                    0,0050        0,0999    ( 12,65%)
Function Processing Time:   0,0345        0,6899    ( 87,35%)
Total Response Time:        0,0395        0,7899    (100,00%)

Sessions:
-------------------------------------------------------
Process  Status  Client  Age  VS  Method  URI  Function

Resultan muy interesantes para detectar problemas y optimizar el rendimiento la sección “ConnectionQueue:” y “Sessions:“, en esta última es donde veremos las Ips de acceso, peticiones, URI, etc. Toda la información es bastante descriptiva y comprensible a primera vista. A partir de esta información se pueden generar scripts de recolección de datos, añadir a monitorización tipo Nagios o BigBrother, etc. Los que utilicéis servidores anteriores a la versión 7.0 habréis detectado un gran cambio de la cantidad de información del antiguo perfdump al nuevo.

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í.

Gestión y monitorización de servicios con Monit

Creo que todos los administradores de sistemas coincidimos en que un buen sysadmin es aquel que es capaz de conseguir que los sistemas se autogestionen en la mayor parte de lo posible. Esto implica, además de disponer de un buen sistema de monitorización tipo Big Brother, Nagios o Cacti, disponer de herramientas para que cuando un servicio o aplicación falle y se pare, automáticamente intenten reiniciarla sin necesidad del administrador.

Monit es una herramienta muy sencilla de instalar y configurar que se encargará de hacer esta tarea por nosotros. Monit permite monitorizar y gestionar procesos, ficheros, directorios y sistemas de ficheros.

Su instalación es realmente sencilla, podéis utilizar gestores de descargas como YUM o APT o compilarlo desde el código fuente (no tiene ningún misterio). Descarga aquí.

En CentOS o RHEL por ejemplo:

# yum install monit

Una vez instalado, simplemente tenéis que personalizar la configuración, encontraréis el fichero en la ruta /etc/monit.conf. Cada sección o directiva está perfectamente explicada, no obstante las más importantes:

set daemon  60             # check services at 2-minute intervals
     with start delay 240  # optional: delay the first check by 4-minutes (by
#                          # default Monit check immediately after Monit start)

set daemon indica que levantemos monit como demonio, a continuación le especificamos el intervalo de tiempo para el chequeo de servicios, también indicamos un retardo de 4 minutos para que no los chequee nada más arrancar.

 set mailserver localhost               # primary mailserver
set alert xxx@xxx.com/pre>

Con set mailserver indicaremos el servidor de correo a utilizar para el envío de alertas. Set alert especificará la cuenta de correo a la que enviar los avisos.

Ya pasamos a la configuración de servicios y lo que vamos a monitorizar. En primera instancia podemos indicar que nos envíe correos cuando el sistema alcance una determinada carga o uso de CPU, memoria, etc. Descomentar y personalizar según requerimientos:

#  check system myhost.mydomain.tld
#    if loadavg (1min) > 4 then alert
#    if loadavg (5min) > 2 then alert
#    if memory usage > 75% then alert
#    if swap usage > 25% then alert
#    if cpu usage (user) > 70% then alert
#    if cpu usage (system) > 30% then alert
#    if cpu usage (wait) > 20% then alert

También podemos monitorizar cambios en ficheros, permisos, checksum, usuarios y grupos, etc

## Check if a file exists, checksum, permissions, uid and gid. In addition
## to alert recipients in the global section, customized alert can be sent to
## additional recipients by specifying a local alert handler. The service may
## be grouped using the GROUP option. More than one group can be specified by
## repeating the 'group name' statement.
#
#  check file apache_bin with path /usr/local/apache/bin/httpd
#    if failed checksum and
#       expect the sum 8f7f419955cefa0b33a2ba316cba3659 then unmonitor
#    if failed permission 755 then unmonitor
#    if failed uid root then unmonitor
#    if failed gid root then unmonitor
#    alert security@foo.bar on {
#           checksum, permission, uid, gid, unmonitor
#        } with the mail-format { subject: Alarm! }
#    group server

En la parte de servicios podemos configurar servicios como Apache, Exim, FTP, MySQL, etc para que cuando haya un problema y se paren Monit los levante automáticamente, a continuación os dejo el ejemplo para Apache (rutas y demás pueden diferir según la instalación):

  check process apache with pidfile /usr/local/apache/logs/httpd.pid
    start program = "/etc/init.d/httpd start" with timeout 60 seconds
    stop program  = "/etc/init.d/httpd stop"
    if cpu > 60% for 2 cycles then alert
    if cpu > 80% for 5 cycles then restart
    if totalmem > 200.0 MB for 5 cycles then restart
    if children > 250 then restart
    if loadavg(5min) greater than 10 for 8 cycles then stop
    if failed host rm-rf.es port 80 protocol http
       and request "/index.phpsy"
       then restart
    if failed port 443 type tcpssl protocol http
       with timeout 15 seconds
       then restart
    if 3 restarts within 5 cycles then timeout
    #depends on apachectl
    group server

Como véis monitoriza el PID de apache y si no lo encuentra lo reinicia. También monitoriza el uso de CPU y memoria y si es muy elevado en X ciclos de comprobación lo reinicia o avisa al administrador, lo mismo para el SSL, etc.

En la ayuda de Monit encontraréis información sobre como añadir más servicios, aunque simplemente es coger el de apache como base y modificar parámetros. Otro ejemplo para MySQL:

check process mysql with pidfile /var/lib/mysql/mysql.pid
   group database
   start program = "/etc/init.d/mysql start"
   stop program = "/etc/init.d/mysql stop"
   if failed host 127.0.0.1 port 3306 then restart
   if 5 restarts within 5 cycles then timeout

Una vez que tengamos todo configurado, solo queda iniciar el servicio y comprobar su funcionamiento, por ejemplo tirando uno de los servicios monitorizados.

# /etc/init.d/monit start
Starting monit: Starting monit daemon
Monit start delay set -- pause for 240s
                                                           [  OK  ]

Tener Monit instalado es un buen ejemplo de monitorización proactiva en vuestros servidores. Os sirva para evitar tener que levantaros alguna que otra madrugada a levantar un servicio.

Virtuozzo: Averiguar a que contenedor pertenece un proceso

Dentro de un nodo físico Virtuozzo, si ejecutamos un top podemos ver los procesos que más CPU y memoria están consumiendo, pero no podemos averiguar a simple vista a que máquina virtual pertenece. Para averiguarlo tenemos dos opciones.

La primera es sustituir el uso de top por vztop. Se trata de una versión de top modificada por Virtuozzo a través de la cual aparece una nueva columna que muestra el ID de la máquina virtual.

$ vztop

vztop - 16:59:44 up 72 days,  5:11,  1 user,  load average: 2.04, 2.60, 2.76
Tasks: 528 total,   1 running, 522 sleeping,   0 stopped,   5 zombie
Cpu(s): 19.6% us,  7.4% sy,  0.2% ni, 62.2% id,  9.9% wa,  0.0% hi,  0.6% si
Mem:   4038416k total,  3948496k used,    89920k free,   173288k buffers
Swap:  4192956k total,      160k used,  4192796k free,  1701956k cached

 CTID   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  104 20875 nobody    15   0 41748  32m 1508 S   11  0.8   0:00.17 httpd
  104 11085 nobody    15   0 41904  33m 1564 S   10  0.8   0:01.53 httpd
  104 20899 nobody    15   0 41748  32m 1508 S   10  0.8   0:00.09 httpd
  104 18757 nobody    15   0 42016  33m 1556 S    8  0.8   0:00.64 httpd
  104 21077 527       18   0     0    0    0 Z    8  0.0   0:00.04 php
  104 21079 527       18   0     0    0    0 Z    8  0.0   0:00.04 php
  104 18752 nobody    15   0 41632  32m 1536 S    6  0.8   0:00.50 httpd
  104 19390 nobody    15   0 41748  32m 1532 S    6  0.8   0:00.44 httpd
  104 20884 nobody    15   0 41932  33m 1600 S    6  0.8   0:00.11 httpd

La otra opción es utilizar otro comando propio de Virtuozzo, vzpid. Su uso es sencillo, hay que pasar como parámetro el PID y nos dirá el contenedor/máquina virtual al que pertenece:

# vzpid 20845
Pid	VEID	Name
20845	109	httpd

109 es el ID de la máquina virtual, ejecutando un vzlist veremos el hostname y más información sobre la misma:

# vzlist 109
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
       109        90 running   192.168.0.155       vps1.test.com

hpasm “sed: can’t read /etc/init.d/ipmi: No such file or directory”

Instalando hoy en unos nuevos equipos hpasm (Hpasmcli: monitorizar el estado de hardware HP Proliant desde linux) me encontré con el siguiente error al arrancar los servicios:

# /etc/init.d/hpasm restart
Shutting down NIC Agents (cmanic): All agents

Shutting down Storage Agents (cmastor): cmaeventd cmaidad cmafcad cmaided cmascsid cmasasd
   Shutting down Storage Event Logger (cmaeventd):         [  OK  ]
   Shutting down IDA agent (cmaidad):                      [  OK  ]
   Shutting down FCA agent (cmafcad):                      [  OK  ]
   Shutting down IDE agent (cmaided):                      [  OK  ]
   Shutting down SCSI agent (cmascsid):                    [  OK  ]
   Shutting down SAS agent (cmasasd):                      [  OK  ]

Shutting down Server Agents (cmasvr): cmastdeqd cmahealthd cmaperfd cpqriisd cmasm2d cmarackd
   Shutting down Standard Equipment agent (cmastdeqd):     [  OK  ]
   Shutting down Health agent (cmahealthd):                [  OK  ]
   Shutting down Performance agent (cmaperfd):             [  OK  ]
   Already stopped cpqriisd.                               [  OK  ]
   Shutting down RIB agent (cmasm2d):                      [  OK  ]
   Shutting down Rack agent (cmarackd):                    [  OK  ]

Shutting down Foundation Agents (cmafdtn): cmathreshd cmahostd cmapeerd
   Shutting down Threshold agent (cmathreshd):             [  OK  ]
   Shutting down Host agent (cmahostd):                    [  OK  ]
   Shutting down SNMP Peer (cmapeerd):                     [  OK  ]

sed: can't read /etc/init.d/ipmi: No such file or directory
   Using standard Linux IPMI device driver and hpasm-lite
   Shutting down Proliant Standard IPMI based System Health Monitor (hpasmlited):
                                                           [  OK  ]
sed: can't read /etc/init.d/ipmi: No such file or directory
   Using standard Linux IPMI device driver and hpasm-lite
   Starting Proliant Standard IPMI based System Health Moni[  OK  ]smlited):
Starting Foundation Agents (cmafdtn): cmathreshd cmahostd cmapeerd
   Starting Threshold agent (cmathreshd):                  [  OK  ]
   Starting Host agent (cmahostd):                         [  OK  ]
   Starting SNMP Peer (cmapeerd):                          [  OK  ]

Starting Server Agents (cmasvr): cmastdeqd cmahealthd cmaperfd cpqriisd cmasm2d cmarackd
   Starting Standard Equipment agent (cmastdeqd):          [  OK  ]
   Starting Health agent (cmahealthd):                     [  OK  ]
   Starting Performance agent (cmaperfd):                  [  OK  ]
   cpqriisd requires hp_ilo.
                                                           [  OK  ]
   Starting RIB agent (cmasm2d):                           [  OK  ]
   cpqriisd requires hp_ilo.
                                                           [  OK  ]
   Starting Rack agent (cmarackd):                         [  OK  ]

Starting Storage Agents (cmastor): cmaeventd cmaidad cmafcad cmaided cmascsid cmasasd
   Starting Storage Event Logger (cmaeventd):              [  OK  ]
   Starting IDA agent (cmaidad):                           [  OK  ]
   Starting FCA agent (cmafcad):                           [  OK  ]
   Starting IDE agent (cmaided):                           [  OK  ]
   Starting SCSI agent (cmascsid):                         [  OK  ]
   Starting SAS agent (cmasasd):                           [  OK  ]

Starting NIC Agents (cmanic): All agents
   Starting NIC Agent Daemon (cmanicd):   Unable to determine if cmanic successfully started

hpasm:  Server Management is enabled

El problema era no tener instalado OpenIPMI, procedemos a instalarlo desde yum (en este caso era una CentOS 64bits) y problema solucionado

# yum install OpenIPMI.x86_64

Ya podemos reiniciar los servicios hpasm y debería desaparecer el error.

Hpasmcli: monitorizar el estado de hardware HP Proliant desde linux

Hpasmcli (HP management CLI for Linux) es una utilidad que forma parte del “HP Proliant Support Pack” y que permite monitorizar y visualizar el estado del hardware de un servidor HP de forma sencilla. En este caso vamos a ver las opciones que nos ofrece dentro de un servidor con sistema operativo GNU/Linux.

Para instalarlo en sistemas RHEL/Fedora/CentOS bajamos el rpm correspondiente (o el support pack completo) y lo instalamos:

# rpm -i hpasm-7.8.0-88.rhel5.i386.rpm

Una vez instalado podemos ver las distintas posibilidades que nos ofrece, hoy nos centramos solo en SHOW, hay más cosas disponibles pero ahora no las vamos a ver.

# hpasmcli
HP management CLI for Linux (v1.0)
Copyright 2004 Hewlett-Packard Development Group, L.P.

--------------------------------------------------------------------------
NOTE: Some hpasmcli commands may not be supported on all Proliant servers.
      Type 'help' to get a list of all top level commands.
--------------------------------------------------------------------------
hpasmcli> show
	 SHOW ASR
	 SHOW BOOT
	 SHOW DIMM
	 SHOW F1
	 SHOW FANS
	 SHOW HT
	 SHOW IML
	 SHOW IPL
	 SHOW NAME
	 SHOW PORTMAP
	 SHOW POWERSUPPLY
	 SHOW PXE
	 SHOW SERIAL [ BIOS | EMBEDDED | VIRTUAL ]
	 SHOW SERVER
	 SHOW TEMP
	 SHOW UID
	 SHOW WOL

Ver el estado de las fuentes de alimentación en HP Proliant

# hpasmcli -s 'show POWERSUPPLY;'

Power supply #1
	Present  : Yes
	Redundant: Yes
	Condition: Ok
	Hotplug  : Supported

Power supply #2
	Present  : Yes
	Redundant: Yes
	Condition: Ok
	Hotplug  : Supported

Ver el estado de los ventiladores en HP Proliant

# hpasmcli -s 'show FANS;'

Fan  Location        Present Speed  of max  Redundant  Partner  Hot-pluggable
---  --------        ------- -----  ------  ---------  -------  -------------
#1   POWERSUPPLY_BAY Yes     NORMAL 34%     Yes        1        No
#2   CPU#2           Yes     NORMAL 29%     Yes        1        No
#3   CPU#1           Yes     NORMAL 34%     Yes        1        No

Ver temperaturas en HP Proliant

# hpasmcli -s 'show TEMP;'

Sensor   Location              Temp       Threshold
------   --------              ----       ---------
#0        SYSTEM_BD             -          -
#1        I/O_ZONE             38C/100F   65C/149F
#2        AMBIENT              16C/60F    40C/104F
#3        CPU#1                31C/87F    95C/203F
#4        CPU#1                31C/87F    95C/203F
#5        POWER_SUPPLY_BAY     24C/75F    60C/140F
#6        CPU#2                 -         95C/203F
#7        CPU#2                 -         95C/203F

Ver información de las memorias RAM

# hpasmcli -s 'show DIMM;'

DIMM Configuration
------------------
Cartridge #:   0
Module #:      1
Present:       Yes
Form Factor:   fh
Memory Type:   14h
Size:          512 MB
Speed:         667 MHz
Status:        Ok

Cartridge #:   0
Module #:      3
Present:       Yes
Form Factor:   fh
Memory Type:   14h
Size:          512 MB
Speed:         667 MHz
Status:        Ok

Ver información general del servidor

# hpasmcli -s 'show SERVER;'

System        : ProLiant DL360 G6
Serial No.    : XXXXXXXXX
ROM version   : P58 XX/XX/XXXX
iLo present   : Yes
Embedded NICs : 2
	NIC1 MAC: 00:00:00:00:00:00
	NIC2 MAC: 00:00:00:00:00:00

Processor: 0
	Name         : Intel Xeon
	Stepping     : 6
	Speed        : 1600 MHz
	Bus          : 1066 MHz
	Core         : 2
	Thread       : 2
	Socket       : 1
	Level2 Cache : 4096 KBytes
	Status       : Ok

Processor total  : 1

Memory installed : 2048 MBytes
ECC supported    : Yes

Estas serían a mi modo de ver las opciones más interesantes, podéis investigar el resto que he puesto al principio de la entrada.

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.