Es muy común, que la monitorización de sistemas no tome el valor de criticidad que debiera en un entorno empresarial. Lo primero por la importancia que solemos otorgarle, y me explico, normalmente nos centramos en poner en marcha el servicio X y dejarlo afinado, pero respecto a la monitorización pues ya se verá, cuando lo ideal es que vaya de la mano, y una vez desplegado el servicio en producción, ya podamos disponer de un cuadro de mando y acceso a LOGs en condiciones para el mismo. Por otro lado, está el problema de recursos IT, especialmente en lo relativo a disponibilidad de tiempo, que provocan que las prioridades desplacen a este tipo de sistemas de monitorización, y no se termine sacando el provecho que debiera de los mismos.

¿Para qué nos puede ayudar un sistema de monitorización?

Pues principalmente para 3 cuestiones:

  • La primera detectar caída de equipos y servicios: y esto es especialmente útil si tienes una aplicación indispensable para tu actividad empresarial, un servidor crítico o un servicio cualquiera que debe estar activo 24 h/día. En caso de que se caigan o tengan problemas funcionales, el sistema de monitorización te avisará inmediatamente para que tomes las acciones correctivas. De modo que si esto ocurre durante la jornada laboral, serás el primero en enterarte, pero es que además si ocurre fuera, tendrás tiempo a restablecer el mismo antes que comience la jornada siguiente de trabajo.
  • La segunda es una cuestión de prevención de fallos: Los sistemas de monitorización pueden avisar de alertas funcionales sobre determinados equipos o servicios, que a lo largo del tiempo suelen derivar en el consiguiente fallo o caída total. Es decir, si por ejemplo recibimos alertas periódicas de temperatura alta en el CPD, es probable que el equipo de aire frío tenga problemas que puedan derivar en consecuencias mayores si termina estropeándose.
  • La última está relacionada a la capacidad y escalabilidad de los sistemas: En general los sistemas de monitorización son capaces de ofrecer gráficas y tendencias a lo largo del tiempo, de modo que si por ejemplo vemos que un servidor ofrece un uso de RAM alto de manera continuada, lo normal es planificar la actualización hardware correspondiente.

Existen muchos sistemas de monitorización, de pago, libres… pero en esta entrada nos centraremos en Centreon.

Centreon https://www.centreon.com/en/open-source/, posee una versión libre, más que suficiente para la mayoría de empresas, y lo más importante, está basado en Nagios https://www.nagios.org/, el sistema de monitorización por excelencia. Y qué ventajas tiene sobre Nagios, pues sin entrar en demasiados detalles, básicamente el problema de Nagios es que en su versión libre, el interfaz y opciones de configuración dejan mucho que desear, teniendo que pasar por caja para tener algo más amigable. Centreon precisamente ofrece esto, una interfaz muy currada para la gestión y configuración. Además, al utilizar por debajo Nagios, se beneficia de los avances de este sistema, que posee una comunidad de desarrollo muy fuerte y activa, por ejemplo, en https://exchange.nagios.org/ hay miles de plugins, extensiones y utilidades específicas para Nagios, que nos permiten monitorizar prácticamente cualquier cosa que se nos ocurra, por muy particular que sea. De modo, que si Centreon nativamente no posee un servicio de monitorización de un SAI marca X, seguramente podamos encontrarlo e importarlo de exchange.nagios sin problema.

¿Cómo se monitorizan los sistemas a través de Centreon?

Pues a modo resumen, podemos decir que una vez instalado Centreon en nuestro servidor, cuestión que es bastante sencilla porque incluso posee appliances dedicados que simplemente tenemos que desplegar en nuestro Datacenter, dispondremos de una consola web para empezar a dar alta equipos y servicios asociados a los mismos para monitorizar:

En lo relativo a alertas, nativamente Centreon (y la mayor parte de sistemas de monitorización) permiten configurar el envío de correos electrónicos automáticos. No obstante, lo suyo es enriquecer el sistema con avisos más inmediatos. Nos podemos currar por ejemplo, a través del alta de notificaciones personalizadas, el envío por sms, por chat (rocketchat), o telegram… lo cual permite detectar más rápidamente el problema.

Respecto a cómo Centreon monitoriza, pues básicamente por tratar de tener una pequeña base de cómo funciona, podemos decir que tiene 3 tipos de chequeos:

  • Chequeo activo: El propio Centreon comprueba por sí mismo que funciona un equipo o sistema. Puede ser algo tan sencillo como un ping para comprobar si un equipo está activo, o la disponibilidad de un puerto concreto (ej. 80/443 http/https).
  • Cliente Nagios NSClient++ https://nsclient.org/: Es posible instalar NSClient en el equipo a monitorizar (compatible con Linux/Windows) y de ese modo acceder a muchas más posibilidades (monitorización de CPU, RAM, disco…) así como incluso enviar comandos de monitorización personalizados al equipo remoto y obtener resultados.
  • SNMP https://es.wikipedia.org/wiki/Protocolo_simple_de_administraci%C3%B3n_de_red: Se trata de un protocolo orientado a la monitorización de equipos, compatible con Windows/Linux, y además con la mayoría de equipos de red (switches, routers, SAIs, cabinas de discos…), que permite obtener información diversa del estado y salud del equipo. 

¿Cómo empezamos?

En la web oficial de Centreon hay recursos suficientes como para empezar a trastear con el sistema sin problema: https://www.centreon.com/en/open-source/, y además dispone de una demo on-line. 

No obstante, si nos decidimos a montar este sistema, recomiendo echar un vistazo a la sección de monitorización del siguiente blog http://www.bujarra.com/nagios/, que detalla de un modo muy fácil como monitorizar con Centreon sistemas muy concretos, como por ejemplo: BBDD MySQL, Nextcloud, vcenter server appliance, firewall fortigate, Veeam…etc…

Además incluye cosas interesantes, como habilitar los avisos por telegram de los que hablamos anteriormente: http://www.bujarra.com/habilitando-notificaciones-de-telegram-en-centreon/