Nuestra lista de herramientas gratuitas de monitorización de servidores

7 de abril de 1969: -en nuestro caso personal aun faltaba un año para respirar el oxígeno de nuestro hermoso planeta azul- esta fecha marca el inicio de las Peticiones de Comentarios (“Request for Comments” o RFC) del Grupo de Trabajo de Ingeniería de Internet (“Internet Engineering Task Force” o IETF) quienes en su RFC 1 definieron el Procesador de mensajes de interfaz (“Interface Message Processor” o IMP) y sentaron los cimientos del mundo de la informática tal como lo conocemos ¿dónde están las Herramientas gratuitas de monitorización de servidores en todo esto?

Herramientas gratuitas de monitorización de servidores

En la finalización de la década de 1960 el IMP era la implementación que permitía que los ordenadores fueran utilizados para recibir, enviar y reenviar mensajes entre las computadoras. Esto es lo que ahora conocemos como enrutadores, esos dispositivos que incluso llegaron a nuestros hogares y que hasta nos permiten deambular conectados por toda ella de manera inalámbrica. Como veis al principio fueron unos servidores en toda regla, solo que la miniaturización de la electrónica nos permitió contar con aparatos más pequeños, que consumen menos energía, son más rápidos y también son más fáciles de configurar.

 

Dichos primitivos servidores apenas solo delegaron dicho trabajo para especializarse en otras áreas (respirad tranquilos y tranquilas, llegamos ya al siglo XXI) y para no extendernos mucho os indicamos sus principales usos, ahora existen servidores de:

 

  • Juegos.
  • Aplicaciones.
  • Bases de datos.
  • Archivos.
  • Transferencia de mensajes (correo electrónico).
  • Impresión.
  • Páginas web (servidores web).

 

Aunque Pandora FMS, nuestra herramienta preferida de monitorización, no tiene clasificados de esta manera expresa a los servidores, nada nos impide ni limita en tomar su versión comunitaria publicada en GitHub y adaptarla a nuestras necesidades ¿cómo es posible esto? Pues si sois lector consuetudinario de este blog ya lo sabréis y si no os lo contamos: las licencias de uso permite que usemos software hecho por terceros de acuerdo a una serie de condiciones.

 

En el caso del software privativo esencialmente es pagar por su uso y no compartirlo con nadie más, para nuestro exclusivo uso. Hay casos en que son gratuitos hasta cierta cantidad de dispositivos o por cierto tiempo pero inevitablemente a la final deberemos pagar en dinero por su uso. Caso totalmente contrario es el software libre que en la práctica es gratuito hasta cierto punto. No os estamos defraudando, os prometimos una lista de Herramientas gratuitas de monitorización de servidores y lo vamos a cumplir pero hacemos la salvedad que totalmente gratuitas no son: deberemos dedicarle tiempo a instalarlas, aprenderlas a usar y configurarlas, luego reprogramarlas para adaptarlas a nuestras necesidades y devolver nuestras mejoras a la comunidad. Es por ello que Pandora FMS tiene la versión ”Enterprise” la cual contiene toda la experiencia acumulada desde el año 2004, lo cual nos ahorrará muchísimo tiempo y así conocer a ciencia cierta el desempeño de nuestros servidores ubicados en nuestra red de área local o en Internet.

 

Necesidades de monitorización de los servidores

 

Si ya conocemos los servidores básicos podremos imaginar que incluso algunos cumplirán varias o hasta todas esas funciones (vamos, que hay administradores de red que les gusta vivir al límite) o simplemente puede darse el caso de que tengamos un servidor de virtualización donde nuestros clientes nos paguen por mantener corriendo un ordenador virtual configurado como servidor, eso es algo muy común hoy día y que nos venden con el eufemismo de computación en la nube.

 

Ya sea que necesitemos un servidor web que conecte a nuestros usuarios a una base de datos, o un servidor que recoja nuestros documentos a imprimir y lleven cuenta de las hojas que gastamos (y crean en nuestra palabra, las posibles combinaciones son infinitas debido a que nuestro conocimiento colectivo necesita un servidor especializado para cada saber) el monitorizar un servidor lo simplificamos en:

 

  1. Son ordenadores siempre, físicamente hablando: debemos monitorizar su temperatura, estado de discos, etcétera.
  2. Están siempre conectados con otros ordenadores, por lo que la monitorización de la red, ya sea pública o privada es primordial: si tienen conexión, si tiene los servicios corriendo, qué tanto tardan en recibir un fichero de varios megabytes y paren ustedes de contar.
  3. ¿Recordáis los Procesadores de mensajes de interfaz (IMP)? Pues sí, necesitamos monitorizar los enrutadores y/o conmutadores (y hasta módems) que mantienen conectados a nuestros servidores para saber si se convierten en “cuellos de botella” para su trabajo y rendimiento.

 

Era necesaria toda esta larga introducción para estar bien ubicados y en el contexto para nuestra lista de herramientas gratuitas de monitorización de servidores. Os las presentamos por orden alfabético, una breve descripción y sus características claves o principales, por no ser una comparativa os dejamos a vuestra tarea evaluar con vuestras necesidades muy particulares cuál es mejor o conveniente para vosotros.

 

Argus

Argus (Wikipedia https://en.wikipedia.org/wiki/File:Argus_screenshot.png)
Argus (Wikipedia https://en.wikipedia.org/wiki/File:Argus_screenshot.png)

Escrito totalmente en  lenguaje Perl (existe mucho personal calificado que lo maneja) y para nada en lenguaje Argus (como indica la lógica),  con una interfaz web (sin API) y para cualquier servidor Unix/Linux, está más orientado al monitoreo de red  (monitorización remota) pero también incluye la monitorización de servicios y recursos locales a través de un agente; se configura por medio de sencillos ficheros de texto lo cual indica que para alto volumen de dispositivos no se pueden establecer políticas. No lo subestiméis por ser poco conocido, es distribuido y es capaz de extraer datos de nuestros propios guiones.

Por favor, lea también   Gedit: reemplazos con regex

 

Cacti

Cacti (Wikipedia https://en.wikipedia.org/wiki/File:Cacti_(software)_screenshot.png)
Cacti (Wikipedia https://en.wikipedia.org/wiki/File:Cacti_(software)_screenshot.png)

Continuamos nuestra lista de herramientas gratuitas de monitorización de servidores con un campeón de las gráficas con RRDtool y orientado a monitorización SNMP, lo cual marcó su origen. Lo recomendamos para monitorizar servidores de juegos donde la conectividad priva sobre todo lo demás y necesitamos monitorizar el ancho de banda. Para pocos dispositivos disponemos del lenguaje PHP reutilizando su fichero cmd.php pero si crecemos echaremos mano del lenguaje C para usar “Spine” antes conocido como Cactid. Utiliza MySQL para ciertas funciones pero para auditar datos históricos no servirá.

 

Collectd

Collectd (Wikipedia https://en.wikipedia.org/wiki/File:Logo_der_Software_collectd.svg)
Collectd (Wikipedia https://en.wikipedia.org/wiki/File:Logo_der_Software_collectd.svg)

Lo incluimos por su rudeza: un demonio escrito en lenguaje C sobre Unix pero destaca en su modularidad, tanto así que tiene un complemento para RRDtool y puede monitorizar remota y localmente con otros complementos (incluso puede enviar datos a otros demonios, osea actuar como Agente Software). En sí mismo es tan pequeño que lo utilizan  junto a OpenWRT, un “sistema operativo” para enrutadores y hasta es utilizado por algunos gigantes de la informática. Es difícil de clasificar porque maneja varias licencias de uso libre según sus extensiones, las cuales a su vez le proporcionan diferentes funcionalidades. Aunque  se instala sobre cualquier Unix/Linux los módulos no están escritos para todos los SO’s por lo cual deberemos “portarlos”.  Todo un reto.

 

Ganglia

 

 

 

Digno representante de la monitorización distribuida cuyo caballo de batalla es el demonio gmond que se instala en cada servidor para recolectar información y enviarla en formato XML y XDR a otros demonios. Constituye una federación por medio de gmetad que se encarga de representar el estado del racimo para enviarla a otros gmetad y/o gmond. Aquí el término promiscuidad se ve muy bien representado ya que parten de usar las direcciones IP como control de acceso entre sí. Podremos observar su desempeño con una interfaz web escrita en PHP y utiliza lenguaje C, Perl y Python con ayuda de RRDtool para guardar datos y mostrar gráficas. Actualmente ya no forma parte como agregado en OpenNebula.

 

Icinga

 

 

 

También escrito en lenguaje C como Collectd pero es todo un peso pesado. Hijo de Nagios, que se caracteriza por impulsar –sin querer- a que cada quien desarrolle sus propias soluciones, teniéndolo como inicio; Icinga también forma parte de otros software tales como GroudWork. Debemos dejar claro que existe Icinga 1 el cual debemos instalar si migramos de Nagios para luego instalar Icinga 2: ambas tienen elementos comunes, por supuesto mejorados pero origina un mar de confusiones para administrar. Al menos la comunidad de usuarios y administradores es muy grande y con trabajo podremos reusar/adaptar código en Nagios. Tiene complementos para otros sistemas operativos.

 

Monit

 

 

 

Se promociona como pequeña herramienta y afirma estar lista y trabajando en 15 minutos,  esto es debido a que está orientado a la monitorización de procesos, llegando incluso a reiniciarlos si es necesario. Se entromete con la seguridad prometiendo seguimiento y control de cambio de ficheros por MD5 y SHA1, seguid su consumo de CPU en el servidor a monitorizar precisamente por medio de ella misma, que además monitoriza uso de memoria y carga de trabajo. Realiza pruebas de red básicas y la visualización de los estados los podemos centralizar por línea de comando o uno por uno por interfaz web (M/Monit es una herramienta aparte que centraliza las interfaces web).

 

Munin

 

 

 

Con más de 500 complementos (300 de ellos constituyen el sistema en sí), esta obra de Jimmy Olsen ha estabilizado su desarrollo. Escrito en Perl 5.10 y RRDtool para los gráficos con interfaz web, tiene un esquema maestro/esclavo muy dominante: solo pregunta a los nodos cada cierto tiempo por nuevos datos. Dichos nodos pueden usar agentes software en Perl (incluso versiones antiguas), en Python, para OpenWRT (Perl básico), en guiones Shell ¡y en la forma mínima, “la del hombre pobre”: inetd/xinetd! Esto nos conviene para nuestros servidores con pocos recursos de hardware y podremos reutilizar nuestros guiones shell.

 

Nagios

 

 

 

¿Qué más podemos decir de Nagios? ¡Clic para todos nuestros artículos!

 

Observium

 

 

 

Enfocado a la monitorización de redes y autodescubrimiento de tipos de dispositivos, plataformas y sistemas operativos, no nos complica la vida con poco mantenimiento y recibe actualizaciones dos veces al año. Es una herramienta para gente calmada y sin apuros. Nos provee de MIB’s tanto normales como privativos en el caso de SNMP, y mantiene estrecha relación con fabricantes para actualizarlos. Sorprende la integración con Collectd, Munin, Smokeping y RANCID (estos dos últimos no analizados aquí) para monitorizar Apache, BIND, DRBD, Memcached, MySQL, NFS, entre otros. Tiene otras ediciones de pago: “Professional” y “Enterprise”.

 

Zenoss

 

 

 

Hecho en Python y Java, soporta complementos en formato Nagios y podemos desarrollar los nuestros en Python (ZenPacks, ya existen más de 400) con licencia de software libre. Tiene alertas, autodescubrimientos y cambios de red (SNMP, SSH, WMI) con Twisted y atención al protocolo Net-SNMP; monitorización de servicios de red (HTTP, POP3, NNTP, SNMP, FTP). El servidor web utiliza Zope (Python), RRDtool para las gráficas, usa MySQL

 

 

En el mundo del software libre hay muchísimas otras herramientas: Performance Co-Pilot, Anturis, SeaLion, SysUsage, Monitor.us o us (Teamviewer), Spiceworks… ¡y  las que vosotros desarrolléis!

Pandora FMS

Recordad que con solo contactarnos os pondremos a vuestro servicio la potente versión Enterprise con una flexibilidad asombrosa, ¡no dejéis pasar esta oportunidad!

 

Herramientas gratuitas de monitorización de servidores

TítuloEnlace
https://en.wikipedia.org/wiki/Network_monitoring#Servers_around_the_globe
https://tools.ietf.org/html/rfc1
https://en.wikipedia.org/wiki/Server_(computing)
https://en.wikipedia.org/wiki/Game_server
https://en.wikipedia.org/wiki/Application_server
https://en.wikipedia.org/wiki/Database_server
https://en.wikipedia.org/wiki/File_server
https://en.wikipedia.org/wiki/Message_transfer_agent
https://en.wikipedia.org/wiki/Print_server
https://en.wikipedia.org/wiki/Web_server
https://en.wikipedia.org/wiki/System_monitor
Procesador de mensajes de interfaz (Interface Message Processor IMP)https://en.wikipedia.org/wiki/Interface_Message_Processor
http://devcodegeek.com/free-server-monitoring-tools.html
https://www.webfx.com/blog/web-design/free-server-monitoring-tools/
https://hostingstep.com/free-server-monitoring-tools/
https://devcodegeek.com/best-free-server-network-monitoring-tools.html
http://www.geekersmagazine.com/free-server-monitoring-tools/
https://www.techrepublic.com/blog/five-apps/five-free-network-monitoring-tools/
https://en.wikipedia.org/wiki/Argus_(monitoring_software)
https://en.wikipedia.org/wiki/Collectd
https://en.wikipedia.org/wiki/Ganglia
https://en.wikipedia.org/wiki/Icinga
https://en.wikipedia.org/wiki/Monit
https://en.wikipedia.org/wiki/Munin_(software)
https://en.wikipedia.org/wiki/Nagios
https://www.observium.org/
https://en.wikipedia.org/wiki/Zenoss_Core
https://en.wikipedia.org/wiki/Zabbix
TítuloEnlace
Herramientas gratuitas de monitorización de servidores:10 a considerar