Überwachen eines HP MSA-Arrays
Seguimos con más cosicas que podemos monitorizar con Nagios o Centreon! Si tenemos en nuestra organización una cabina de almacenamiento de HP tipo MSA, sea de fibra o iSCSI, este es vuestro documento! De una manera sencilla podremos absorber mediante SNMP la información que nos interese controlar, sea el estado de los discos duros, las controladoras, volumenes, RAZZIA, Temperaturen, estado del chasis, alertas, etc, etc…
Nicht schlecht, usaremos un par de scripts en este documento, aunque cada uno es libre de usar los que quiera! Empezamos con uno genérico que nos checkeará con un sólo comando toda la salud del hardware, checkea todos los sensores de la cabina. Und dann, usamos otro script que es una maravilla y pasándole distintos parámetros podremos ver los ítems de forma individual.
Check generico – Hardware Status,
Necesitaremos descargarnos este script, check_msa_hardware.pl, de la web magnífica Exchange Nagios (wie gewöhnlich), seit: https://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/Check-HP-MSA-(Modular-Smart-Array)-sensors/details. Este script nos valdrá para monitorizar cualquier HP MSA2312i o HP MSA2012i o HP MSA2012fc o HP MSA2324i o HP P2000 G3 MSA!!!!
Zuallererst, antes de seguir, será entrar en las controladoras de las MSA y habilitar SNMP, indicando una comunidad de confianza. Und dann, tras bajar el script y dejarlo en la carpeta de scripts de Centreon ‘/usr/lib/centreon/plugins’, en mi caso los guardo en ‘/usr/lib/nagios/plugins’, lo haremos ejecutable también como es habitual (‘chmod +x check_msa_hardware.pl’)! Y ya podremos probarlo desde shell, mediante el siguiente comando:
[Quellcode]./check_msa_hardware.pl -H DIRECCION_IP_CONTROLADORA -C COMUNIDAD_SNMP -l[/Quellcode]
Con ese comando como veremos listará todas las posibilidades que nos va a dar la MSA en cuestión, todo el control sobre los sensores de temperatura de las CPU, chasis, controladoras, estado de las fuentes de alimentación… Vamos de todo. Este script lo podremos usar para crear un servicio de monitorización desde Centreon que le podremos llamar ‘Hardware Status’ o algo similar, ya que este mismo script como vemos nos checkeará todos los ítems en cada cabina.
Por tanto es lo que haremos a continuación, crearemos el equipo de la cabina en Centreon para poder monitorizarla, para agregarla luego ya los servicios de monitorización que nos interesen. Empezaremos con el script genérico que acabamos de ver y luego vemos otro script que permite granularmente monitorizar cada ítem que nos interesa ver en la monitorización. Also wie immer, creamos el host a monitorizar, crearemos el comando asociado al script y luego los servicios sobre este comando. Para monitoriza lo que nos interese, paso a paso!
Wie gewöhnlich, si no tenemos la cabina definida en nuestro Centreon tendremos que darla de alta como sabemos, “Konfiguration” > “Wirte” > “Hinzufügen…” y rellenamos los siguientes datos & pulsamos en ‘Save’:
- Name: Indicaremos el nombre de la cabina y su controladora, si es que tiene más de una como es habitual.
- Alias: Indicamos el alias con el que veremos a este equipo en la monitorización, normalmente igual que el nombre.
- IP-Adresse / DNS: Dirección IP de la controladora a monitorizar. Si tenemos más de una, repetiremos la creación de este host, por tantas controladoras que tengamos, Zum Beispiel: CABINA_A, CABINA_B… y luego los servicios que crearemos en este documento, los enlazaremos a todas las controladoras que tengamos, Oder gut, cada uno que haga como quiera 😉
- SNMP-Gemeinschaft / Version: Indicamos la comunidad SNMP que hemos establecido mediante GUI o CLI en nuestra cabina. Normalmente versión 2.
- Überwacht von: Wie gewöhnlich, por ahora si sólo tenemos un appliance central desde donde monitorizar, no nos queda más que seleccionarlo. Como veremos más adelante, en instalaciones grandes donde queramos repartir la carga, podremos seleccionar otro origen para ejecutar estos checks y no siempre la misma máquina de Centron (o Nagios en cada caso). O también por si tenemos una delegación remota y queremos reducir tráficos tontos.
- Schablonen & Create Services linked to the Template too: Seleccionamos ‘generic-active-host’ que es una plantilla genérica ya precreada, donde heredará las configs de dicha plantilla, al menos el servicio Ping, etc… E indiquemos por tanto que nos cree también los servicios que pueda tener dicha plantilla.
Siguiendo para bingo, una vez creado el host, también necesitamos crear el comando que ejecutará el script que hemos visto antes. Das ist, Wir werden “Konfiguration” > “Dienste” y clonamos uno existente bueno donde tengamos ya configuradas ‘cosas’ como los tiempos o lo que queramos, creamos uno nuevo, al gusto del consumidor. Indicamos los siguientes datos al menos:
- Command Namund: Wir geben Ihnen einen Namen, normalmente el mismo que el script para recordarlo mejor 😉
- Typ des Befehls: Marcamos ‘Check’
- Befehlszeile: Ponemos lo que ejecutará este comando, por tanto nos valdrá para sacar la salud de todos los sensores de la cabina con ‘/usr/lib/nagios/plugins/check_msa_hardware.pl -h $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$’.
Podremos cambiar otras opciones, ya sea el tipo de gráficas que usará, etc… Pulsamos en ‘Save’.
Lo último ya, una vez que tenemos los pasos hechos; podremos crear un servicio que enlazaremos al comando anterior y lo asociamos a las controladoras de la cabina. Seit “Konfiguration” > “Dienste” > “Hinzufügen…” um es zu erstellen, o más cómodo, wie gewöhnlich, será clonar un servicio existente y modificar al menos lo siguiente:
- Beschreibung: Le indicamos el nombre con el que veremos el servicio monitorizado.
- Verknüpft mit Hosts: Enlazamos este servicio a los hosts creados que sean las controladoras de la MSA.
- Schablone: Wählen Sie 'generic-active-service-custom' aus..
- Befehl prüfen: Seleccionamos el comando recién definido ‘check_msa_hardware.pl’.
Checkeando de forma individual cada elemento de la cabina,
Brunnen, Wie ich schon sagte, si queremos ver el estado de los discos, chasis, Häfen, redundancia de las controladoras, FRUs, sensores o los vdisk directamente, usaremos también esto. Gracias al script ‘check_msa2012i_g1’ que podremos bajar de https://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS/Check-MSA-2012i-G1/details. Lo diferente de este script es que no usará SNMP, si no consultas de Telnet. Deberemos instalar antes los requisitos necesarios para hacerlo funcionar, desde la shell de nuestro appliance de monitorización, Laufen:
[Quellcode]perl -MCPAN -e’shell’
Cpan> install Net::Telnet
Cpan> install XML::Simple[/Quellcode]
Una vez completados los requisitos, wie gewöhnlich, descargamos el script y lo subimos al appliance de monitorización, lo dejamos en la carpeta de scripts, lo haremos ejecutable y lo probamos. Mediante los siguientes ejemplos, podremos sacar distinta información:
[Quellcode]# Redundancia de las controladoras:
/usr/lib/nagios/plugins/check_msa2012i_g1 -h DIRECCION_IP -t redundancy
# Checkea los discos:
/usr/lib/nagios/plugins/check_msa2012i_g1 -h DIRECCION_IP -t disks
# Estado del chasis:
/usr/lib/nagios/plugins/check_msa2012i_g1 -h DIRECCION_IP -t enclosure
# Redundancia de las controladoras:
/usr/lib/nagios/plugins/check_msa2012i_g1 -h DIRECCION_IP -t frus
# Estado de los sensores:
/usr/lib/nagios/plugins/check_msa2012i_g1 -h DIRECCION_IP -t sensors
# Estado de los vdisk
/usr/lib/nagios/plugins/check_msa2012i_g1 -h DIRECCION_IP -t vdisks[/Quellcode]
Este script, como otros muchos, si os dan problemas, o no dan toda la información que esperáis bien sea por los OIDs obsoletos o que tengamos que añadir manualmente más discos a monitorizar… Nun, das war's auch schon, que no va a tocar más remedio que modificarlos, o eso, o buscar otros scripts alternativos. Muchas veces nos tocará hacer los nuestros propios! Este script recuerdo que sólo miraba los 4 primeros discos y un sólo vDisk, es sencillo buscar qué hay que modificar en el script para conseguirlo 😉 Para más ayuda del script le pasáis /h.
Una vez testeado, fertig! Nos vamos a Centreon y damos de alta el Comando primeramente, “Konfiguration” > “Dienste” y clonamos el comando que creamos antes (Zum Beispiel). Modificamos los siguientes datos al menos:
- Name des Befehls: Su nombre, Wie ich schon sagte, pongo el mismo que el script para recordarlo mejor 😉
- Typ des Befehls: Marcamos ‘Check’
- Befehlszeile: Lo que ejecutará este comando, usaremos un argumento de variable que le pasaremos desde el Servicio, Bleibend: ‘/usr/lib/nagios/plugins/check_msa2012i_g1 -h $HOSTADDRESS$ -t $ARG1$’
Grabamos con ‘Save’,
Und nichts, vamos creando todos los servicios, crearemos tantos como nos interesen, cambiando el argumento con la opción que nos interese, Seit “Konfiguration” > “Dienste” > clonamos el anterior que creamos o uno cualquiera y cambiamos:
- Beschreibung: Nombre con el que veremos el servicio monitorizado.
- Verknüpft mit Hosts: Enlazamos este servicio a los hosts creados que sean las controladoras de la MSA.
- Schablone: Wählen Sie 'generic-active-service-custom' aus..
- Befehl prüfen: Seleccionamos el comando recién definido ‘check_msa2012i_g1’.
- Argumente: Indicamos el argumento que necesita el script para sacar la información del ítem que nos interese, vimos que serían: channel, redundancy, disks, enclosure, frus, sensors y vdisks.
Grabamos con ‘Save’.
Jetzt, wie gewöhnlich, Denken Sie daran, die Daten zu exportieren und die Einstellungen neu zu laden, damit Centreon die neuen Änderungen, die wir gerade vorgenommen haben, lesen kann. Ich erinnere euch daran, gehen wir zu "Konfiguration" > "Meinungsforscher" > "Konfiguration exportieren", Auswahl unseres Pollers, Wir markieren die Prüfungen und starten neu & "Exportieren".
Sobald alles generiert ist, ya podremos ir a la parte de monitorización y comprobarlo! Wir werden uns all die neuen Dienste ansehen, die wir entwickelt haben und die verschiedene Dinge überwachen. Wenn wir die Prüfung erzwingen wollen, Wir wissen es bereits:, Wählen Sie die Dienstleistungen aus, die uns interessieren, und wählen Sie in der Kombination "Dienstleistungen – Sofortprüfung planen" (Erzwungen)’. Con eso, ya nuestro pequeño y amado appliance de monitorización controlará nuestras delicadas cabinas, qué fácil resulta dormir tranquilo! Venga que seguimos otro día con más!!! Genießen!
Y por cierto, si necesitamos otros checkeos, es tan fácil como buscar en la página de Nagios austauschen lo que queremos!