Nagios – Monitorizando un SAI de MGE
Si disponemos de un UPS o una SAI en nuestra organización por qué no monitorizarla? Por qué no conocer el estado de sus baterias? Si disponemos de cualquier problema que seguro es crítico, creo razonable centralizarlo y controlarlo desde nuestra máquina Nagios o Centreon con el fin de tener controlado cualquier problema que podamos tener y recibir sus notificaciones. Así que si te interesa saber el estado de tu SAI echa un vistazo a este documento!
En este post monitorizaremos un SAI algo viejillo de MGE (que tras ser de APC ahora debe pertenecer a Schneider Electric), usaremos un par de scripts, con uno sacaremos bastante información y con el segundo el status general del SAI. El primer script ‘check_snmp_mgeeaton_ups.pl’ que podremos descargar de: https://exchange.nagios.org/directory/Plugins/Hardware/UPS/Merlin-Guerin/check_snmp_mgeeaton_ups/details. El segundo script ‘check_snmp_mge_ups’ lo bajamos de: https://exchange.nagios.org/directory/Plugins/Network-Protocols/SNMP/MGE-check_mge_ups/details. Deberemos dejarlos en la carpeta de plugins de nuestro Nagios o Centreon y hacerlos ejecutables con ‘chmod +x’.
Antes de seguir, recordar habilitar SNMP en el SAI, introduciendo una Comunidad SNMP y permitiendo conexiones desde la máquina Nagios / Centreon!
Con ‘check_snmp_mgeeaton_ups.pl’ podremos obtener muchísima información de un SAI, tanto a nivel de bateria, fallos de carga, de voltaje, medir la carga saliente o su voltaje, temperaturas, etc… lo que vemos en la ayuda, vamos! Si queremos probarlo, ejecutamos
[sourcecode]./check_snmp_mgeeaton_ups.pl -H DIRECCION_IP_SAI -C COMUNIDAD_SNMP -O OPCION[/sourcecode]
Bien, lo primero de todo será dar de alta el Host del SAI en Centreon, que será al que le asociaremos los Servicios que le van a monitorizar. Desde “Configuration” > “Hosts” > “Add…” añadimos el SAI:
- Name: Nombre del SAI a monitorizar.
- Alias: Nombre con el que veremos al SAI en nuestro Centreon.
- IP Address / DNS: Indicamos la dirección IP del SAI.
- SNMP Community & Version: Indicamos la comunidad SNMP y su versión.
- Template: Si tenemos instalados los plugin pack de Centreon podremos utilizar una plantilla base interesante llamada ‘HW-UPS-Standard-Rfc12628-SNMP-custom, si quieres instalarlos, echa un vistazo a este documento. Y si no, normalmente será ‘generic-host’.
Guardamos con “Save”,
Creamos el Comando para este script y que necesitaremos para cada Servicio que monitorizaremos, como ya sabemos desde “Configuration” > “Commands” > “Add” y algo como:
- Command Name: Especificamos el nombre del comando, como os digo habitualmente, suelo usar el nombre del script para localizarlo en caso necesario lo más rapido posible, en este caso ‘check_snmp_mgeeaton_ups.pl’.
- Command Type: Marcamos ‘Check’.
- Command Line: Introducimos lo que ejecutará este comando, en el ejemplo que nos atañe: ‘/usr/lib/nagios/plugins/check_snmp_mgeeaton_ups.pl -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$ -O $ARG1$’
- Argument Description: Pulsamos en ‘Describe arguments’ y definimos el único argumento que tenemos, que será la Opción que querremos checkear a la hora de crear los Servicios
Grabamos con “Save”,
Y nada, ahora creamos cada Servicio que monitorizará cada ítem, en este ejemplo para monitorizar la carga de las baterias deberemos configurar un servicio nuevo, y así con cada elemento a chequear! Creamos los Servicios desde “Configuration” > “Services” > “Add…” y cumplimentamos:
- Description: Será el nombre del servicio con el que veremos en la monitorización, Carga de baterias, Voltaje de salida…
- Linked with Hosts: Lo asociamos con el Host recién creado del SAI.
- Template: Indicamos la plantilla padre desde la que heredará cierta configuración, si es que la hicimos en dicha plantilla, como siempre que lo habitual es modificar las notificaciones, periodos, contactos, etc… Normalmente será la ‘generic-active-service-custom’.
- Check Command: Seleccionamos el comando que acabamos de crear en el paso anterior, ‘check_snmp_mgeeaton_ups.pl’.
- Args: Al seleccionar dicho comando nos saldrá el argumentos a cumplimentar, recordamos de la ayuda que vimos en la shell la opción que deberemo indicar, battery_level, output_voltage…
Grabamos con “Save”,
Vamos con el segundo script! Con este como dije antes, obtendremos el estado general del SAI, un resumen de su salud obteniendo los valores de todos sus sensores. Desde la shell de Nagios ejecutaríamos para probar si queremos:
[sourcecode]./check_snmp_mge_ups -H DIRECCION_IP_UPS -C COMUNIDAD_SNMP[/sourcecode]
Creamos el Comando para este segundo script, como antes, desde “Configuration” > “Commands” > “Add” y algo como:
- Command Name: ‘check_snmp_mge_ups’.
- Command Type: Marcamos ‘Check’.
- Command Line: Introducimos lo que ejecutará este comando, en el ejemplo que nos atañe: ‘/usr/lib/nagios/plugins/check_snmp_mge_ups -H $HOSTADDRESS$ -C $_HOSTSNMPCOMMUNITY$’
Grabamos con “Save”,
Creamos el Servicio que checkeará su salud desde “Configuration” > “Services” > “Add…” y cumplimentamos:
- Description: Status por ejemplo le da un nombre ideal para saber qué nos aporta este Servicio
- Linked with Hosts: Lo asociamos con el Host del SAI.
- Template: La plantilla padre desde la que heredará cierta configuración, normalmente ‘generic-active-service-custom’.
- Check Command: Seleccionamos el Comando recién creado en el paso anterior, ‘check_snmp_mge_ups’.
Grabamos con “Save”,
Y listo!! Si vamos a la pestaña de “Monitoring” ya podremos visualizar el estado de monitorización de nuestra SAI, podremos recoger información realmente útil a parte de controlar su estado de forma perfecta. Recordar exportar los datos y recargar la configuración para que Centreon pueda leer los cambios. Si necesitas recordar, desde “Configuration” > “Pollers” > “Export configuration”, seleccionando nuestro poller, marcamos los checks y reiniciamos & “Export”.
Si queremos forzar el checkeo, ya sabemos, seleccionamos los servicios que nos interesen y en el combo seleccionamos ‘Services – Schedule immediate check (Forced)’.
Espero te sirva de ayuda!