Clase 101: Instrumentación, Métrica Software, Monitorización, Alertas
En los centros de estudios superiores denominan así, desde los años 20 del pasado siglo, a la nomenclatura de inicios de los planes de estudio. Aquí anunciamos hace algún tiempo nuestras intenciones de enfocarnos en tutoriales. Pero como consideramos que todo conocimiento es importante, os hemos traído diferentes clases de artículos, ya que creemos que la sabiduría es un bien preciado (incluso somos fuente para algunas enciclopedias en línea).
Una introducción formal a Pandora FMS involucra muchos términos y conceptos que tal vez no conozcamos, los hayamos olvidado o simplemente deberíamos repasar. Tanto es así que ofrecemos certificación OPT para quienes deseen una profesionalización o especialización en el área. En este vuestro blog somos flexibles y también ofrecemos un enfoque pragmático: para el día de hoy os presentamos, desde el punto de vista de los componentes, la Clase 101 sobre monitorización, con abundancia de enlaces web para cuando estéis preparados para ampliar -o aclarar- cualquiera de los conceptos. ¡Animaros a leer!
Clase 101-2: Instrumentación
En idioma inglés este término es común, aunque con el paso del tiempo ha caído en desuso. Proviene de la Primera Revolución Industrial, donde no teníamos telemática, obviamente. Así las cosas, una o varias personas acudían hasta cada máquina a leer los instrumentos que indicaban presión, temperatura, velocidad, etcétera, y llevaban anotados los datos a los ingenieros o responsables de los procesos de producción. Una lectura incorrecta podría ocasionar la explosión de una caldera con vapor de agua, extinguiendo vidas humanas incluso. En aquel entonces, como ahora, la monitorización era un asunto muy serio.
Os quisimos presentar este concepto para ilustrar cómo el paso del tiempo conlleva los cambios en nombres y denominaciones, los que de manera clara reflejan las innovaciones de la tecnología. En esta Clase 101 describiremos la monitorización como un todo, es decir, un Sistema de Monitorización, aunque estrictamente hablando “monitorización” es sólo uno de los componentes. Para diferenciar este componente lo escribiremos como Monitorización. Es así que las métricas de software (versión moderna de la instrumentación), la Monitorización y las Alertas son conceptos que conforman una interrelación y son la base de un Sistema de Monitorización.
Clase 101-3: Métricas de software
Igual que en la era de la instrumentación tomábamos los valores, con las métricas de software haremos lo mismo, pero parte del trabajo ya lo tendremos por adelantado. ¿Por qué afirmamos esto último? Los sistemas operativos modernos ofrecen de manera predeterminada los valores básicos tales como capacidad de disco, memoria RAM, etcétera, y hallaremos datos incluso desde el mismo momento de la instalación del sistema operativo. Dichos datos tienen una marca de tiempo, de gran importancia para poder luego sincronizar eventos. A este conjunto colectivo de datos que nos suministra el propio sistema operativo lo llamaremos métricas de bajo nivel.
Por supuesto que un ordenador que no ejecute aplicación alguna será de muy poca utilidad. Llamamos aplicación a todo software que haya que instalar de manera adicional o de manera expresa durante la instalación del SO, esto último algo muy común en ambiente GNU/Linux. Dichas aplicaciones tienen su propia manera de trabajar y son infinitas las posibilidades de registros de eventos que se puedan producir (y además dónde están ubicadas en el disco duro). Por ello, Pandora FMS dispone de la modalidad de complementos o plugins que permiten dar cabida a cualquier software que surja, de allí nuestra flexibilidad. A este conjunto de métricas de aplicaciones las denominaremos de alto nivel.
Un detalle a considerar es mantener la recolección de ambas métricas por separado. Es decir, supone mayor carga que una aplicación lleve registro (y nosotros lo recolectemos por esa aplicación) de las métricas de bajo nivel; lo que nos interesa son las métricas de alto nivel que son singulares para esa aplicación. Lo demás lo podemos obtener directamente del sistema operativo.
Clase 101-3.1: Métricas absolutas y relativas
Las métricas se pueden clasificar de esta manera porque hay valores que tienen un límite (capacidad de almacenamiento, por ejemplo) y nos interesa ver el porcentaje de utilización; es decir, la cantidad de bytes almacenados es relativa a la capacidad de almacenamiento. Por el contrario, también nos interesaría conocer la cantidad de espacio libre para almacenamiento, por ejemplo para saber si podemos instalar alguna nueva aplicación, y ese valor es absoluto, sin importar la capacidad de almacenamiento del dispositivo. Igual razonamiento podemos aplicar a una tarjeta de red y su caudal de datos u otros componentes del equipo.
Avanzaremos más allá al decir que estos límites que fijan a las métricas relativas tampoco están grabados en piedra, si bien es cierto que, por ejemplo, a un servidor físico, para ampliar su memoria RAM, debemos agregar un componente físico. Hoy en día las máquinas virtuales han sido más efectivas y prácticas de administrar y si nos quedamos cortos de memoria podemos contratar -o asignar- más memoria (por supuesto con el límite que impone la cantidad de memoria de la máquina real que contiene a la máquina virtual).
Clase 101-4: Monitorización
Hasta ahora lo que hemos hecho es recolectar y almacenar datos cual ardilla procurándose comida para el invierno. Recoger datos y más datos necesita su metodología: indexar bien, para ubicarlos rápidamente por tiempo y origen. El punto clave de la Monitorización es relacionar y adicionar dichos datos en distintos puntos de tiempo y origen pero con similares características. Es decir, comparamos peras con peras y manzanas con manzanas. ¿Cuál era la carga de trabajo del servidor ayer y cuál era hace una semana? De un conjunto de servidores, ¿cuál tuvo mayor carga el sábado pasado? Aquí, de nuevo, las combinaciones son infinitas. No sabemos qué nos puede solicitar el cliente. Sin embargo, la monitorización dinámica nos dará un excelente punto de partida.
Bien podemos afirmar que al realizar dichas comparaciones, previa concienzuda y organizada recolección y almacenamiento de datos, podremos obtener información que reviste importancia para la empresa a fin de prever a futuro planes de ampliación y, ¿por qué no?, de reducción también, si no es rentable. Es entonces ésa la diferencia entre datos e información, y veremos otro punto importante: cómo se muestra esa información.
En Pandora FMS tenemos cuidado hasta del más mínimo detalle que proponen los usuarios, con el fin de mostrar la información de la mejor forma posible para su comprensión. Si revisáis el historial de versiones de Pandora FMS hallaréis que siempre se hizo alguna mejora en la metaconsola o en los gráficos, ya que hay muchas formas y maneras de mostrar esa información tan preciada.
Por muy bien presentada que sea la información (tercera dimensión, realidad aumentada, etc.) nosotros, los humanos, siempre tendremos otros inconvenientes: primero, no podemos estar 24 horas pendientes de lo que sucede con los sistemas, y segundo, las tareas repetitivas nos agradan pero hasta cierto punto (tenemos una rutina diaria entre semana, pero no los domingos, por ejemplo). Y eso nos lleva al siguiente punto: las alertas.
Clase 101-5: Alertas
Las alertas son un mecanismo planificado: de acuerdo a los valores observados durante cierto tiempo (una semana al menos) podremos establecer que, cuando algunos valores sean alcanzados por más de un tiempo predeterminado, se envíe un mensaje al responsable del área. Las alertas pueden ser directas, por ejemplo por correo electrónico, o delegadas en un tercero, por ejemplo Twitter, Slack, Telegram o Whatsapp.
Antes de comenzar a enviar cantidades de mensajes a los administradores de red deberemos tener en cuenta que debemos clasificar las alertas para responder en la medida de la magnitud de la anormalidad. Un fallo en un disco duro de servidor con RAID 0+1 integrado debe generar una alerta de tipo recordatorio: cuando el empleado que trabaja en las instalaciones físicas se presente a trabajar procederá a sustituir por uno nuevo. Vemos que es una alerta estrictamente necesaria de atender, pero su urgencia no lo es tanto. Por ello, las alertas las podemos clasificar en:
- Avisos (menor importancia).
- Advertencias.
- Críticos (mayor importancia).
Algunos sistemas de monitorización tienen integrado un seguimiento, control y resolución de incidencias, y Pandora FMS provee la opción de agregar comentarios para futuras referencias y recordatorios. También la gestión de múltiples alarmas que dependen de una alarma principal está considerada: si un servidor está apagado es obvio que sus alarmas de espacio en disco, memoria y otras mostrarán un signo de advertencia que no necesita ser mostrado. Otro caso especial es cuando un sistema sufre tres o más alertas de tipo advertencia en un período de, digamos, 6 horas: aunque el sistema se haya recuperado satisfactoriamente y estas advertencias puedan esperar hasta el siguiente día para su corrección, su suma y coincidencia en el tiempo justifica la atención humana inmediata, para que decida en base al panorama en la consola lo que está sucediendo.
5.1: Alertas responsivas
En el caso de las alertas de tipo advertencia es posible que realicen una tarea específica automatizada a fin de salir de la situación anormal. Expliquemos con un ejemplo de la vida real: conocemos un servidor web y sabemos que su capacidad máxima es la de atender a mil clientes con sesión iniciada. Al alcanzar este límite y mantener ese valor por un período de tiempo -digamos 15 minutos- se disparará una alarma de tipo advertencia: el servidor funciona pero su desempeño sabemos que está degradado. Podríamos programar para que el sistema de monitoreo ordene la ejecución de otra máquina (virtual o real) para que comience a atender a los clientes nuevos.
Aunque este ejemplo parezca una cuestión baladí, en el bolsillo nos daremos cuenta: si tenemos contratada una máquina virtual y se da abasto para atender a nuestros clientes, ahorramos dinero en mantener la mínima cantidad contratada, el menor gasto. Pero si aumenta nuestro número de clientes, un buen sistema de monitorización se puede encargar de “contratar” más máquinas virtuales, atender más clientes y aumentar nuestros ingresos (claro, ambas máquinas virtuales están configuradas para repartirse la carga de trabajo). Nuestros gastos también aumentarán, pero el margen de ganancia compensará. Algo importante es que esta alerta siempre nos llegará, pero degradada, en forma de aviso para notificarnos, implícitamente, que este mes pagaremos más por uso de los ordenadores virtuales.
Clase 101-6: ¿Qué cantidad de Métricas debemos recoger?
Debemos mantener las buenas prácticas de monitoreo, evitando al máximo las falsas alertas, y esto conlleva a enfocarse en las métricas que realmente importan. En un mundo ideal podríamos recolectar todo para luego filtrarlo, pero es mucho mejor seleccionar los datos. Esto es así porque el hecho de monitorizar ya supone una carga para el sistema, por lo que debemos mantener al mínimo la interferencia. Si deseamos vigilar nuestro servidor web NGINX, no pasa de una docena de parámetros y si le colocamos un caché a dicho servidor para mejorar su desempeño, la monitorización del mismo caché tampoco será mayor problema. En el caso de la monitorización de una base de datos orientada a documentos como MongoDB, que maneja enormes cantidades de datos, la cantidad de parámetros será de dos a tres docenas.
La complejidad de la aplicación está directamente relacionada con la cantidad de métricas que genera y la gran complejidad reduce la eficiencia, pero Pandora FMS rompe con lo establecido en la monitorización generando así un equilibrio necesario.
Clase 101- Finalización de la Monitorización 101
Hemos cubierto el ABC de la monitorización y como buenos profesores os dejamos la tarea de que investiguéis las siguientes, desde la letra D hasta la letra Z; para ello tenéis muchos enlaces para avanzar. Además podéis usar la función de búsqueda en el menú desplegable para indagar en muchos otros buenos artículos que la comunidad de Pandora FMS mantiene en línea, siempre a vuestra disposición.
Comentad abajo y os responderemos aclarando vuestras dudas ¡O si queréis sólo dejad vuestro saludo, a manera de libro de visitas!
Programador desde 1993 en KS7000.net.ve (desde 2014 soluciones en software libre para farmacias comerciales en Venezuela). Escribe regularmente para Pandora FMS y ofrece consejos en el foro. También colaborador entusiasta en Wikipedia y Wikidata. Machacador de hierros en gimnasios y cuando puede se ejercita en ciclismo también. Fanático de la ciencia ficción. Programmer since 1993 in KS7000.net.ve (since 2014 free software solutions for commercial pharmacies in Venezuela). He writes regularly for Pandora FMS and offers advice in the forum. Also an enthusiastic contributor to Wikipedia and Wikidata. Crusher of irons in gyms and when he can he exercises in cycling as well. Science fiction fan.