Una de las cosas que más me gusta del software libre es la gran comunidad que hay detrás, siempre con ganas de ayudar y colaborar. Muestra de ello es el artículo de hoy. Hablaremos de Netdata, un producto que conocí a raíz de los comentarios de varios usuarios en el artículo que publiqué la semana pasada.
Sobre Netdata
Se trata de una herramienta para visualizar y monitorear métricas en tiempo real, optimizada para acumular todo tipo de datos. Además, la herramienta está diseñada para visualizar el “ahora” en el mayor detalle posible, permitiendo al usuario obtener una visión de lo que está sucediendo y lo que acaba de suceder, ya sea en un sistema operativo o en una aplicación.
Para conseguir todo esto utiliza un demonio (daemon), que se encarga de obtener la información en tiempo real y la presenta en un sitio web para su visualización y análisis. La herramienta ha sido escrita en lenguaje C. Esto le permite consumir pocos recursos del sistema en su ejecución. Es compatible con cualquier kernel de Linux. Es software libre y utiliza una licencia GPL en su versión v3+.
Características
Veamos sus características al detalle:
Monitorear todo. Nos permite monitorizar prácticamente todas las partes del sistema (CPU, RAM, discos, red, cortafuegos, NFS, etcétera). Muestra métricas de rendimiento detalladas para decenas de aplicaciones (servidores web, bases de datos, servidores de correos, servidores DNS, de ficheros, etc). Permite visualizar las métricas recopiladas de los dispositivos SNMP y las métricas APM a través de un servidor statsd incrustado.
Fácil de usar. Admite la autodetección de prácticamente todo. Recopila más de 5000 métricas automáticamente, con configuración cero, cero dependencias, no requiere mantenimiento y viene con más de 100 alarmas preconfiguradas.
En tiempo real. Recopila miles de métricas por servidor por segundo, con sólo un 1 % de utilización de CPU de un solo núcleo y prácticamente nada de memoria. Sus paneles webs son impresionantes. Incluso es capaz de funcionar en máquinas antiguas o con pocos recursos.
Alarmas. Se pueden configurar en cualquier métrica monitoreada. Las notificaciones se basan en roles y admiten umbrales dinámicos, histéresis y pueden enviarse a través de varios métodos (correo electrónico, slack.com, telegram.org y otras plataformas).
Personalizable. Los paneles personalizados pueden construirse usando HTML simple (no es necesario Javascript).
Extensible. Cualquier cosa de la que se pueda obtener un número puede ofrecer datos que Netdata es capaz de leer, usando su API de complemento.
Escalable. Es fácil de ampliar, el navegador web es la red de datos central que conecta con todos nuestros servidores. Igualmente, los datos netos también pueden replicar su base de datos a otros. De hecho funciona perfectamente con herramientas gráficas, como Graphite, Opentsdb, Influxdb o Prometheus. Eso sí, a un ritmo menor, para evitar colapsar estas plataformas debido a la gran cantidad de datos generados.
Antes de pasar a la guía de instalación, os recomiendo visitar su página web, donde podemos encontrar diferentes nodos de muestra.
Instalación de netdata en sistemas GNU/Linux
Vamos allá. En los siguientes sistemas operativos la herramienta ya viene incorporada en los repositorios principales:
Arch Linux
sudo pacman –S netdata
Gentoo Linux
sudo emerge –ask netdata
Solus Linux
sudo eopkg install netdata
Alpine Linux
sudo apk add netdata
En el resto de los sistemas podemos utilizar el siguiente script ejecutable.
En los sistemas que utilizan 32 bits, que alguno quedará, hay que aplicar la siguiente línea:
Y en sistemas de 64 bits (la mayoría), esta otra:
En su página de instalación nos advierten que no debemos aplicar sudo a estos comandos, él solo hace lo que convenga.
Si nos interesa instalar la herramienta desde el código fuente, podemos utilizar el siguiente enlace.
Por último, que no menos importante, para realizar la instalación en FreeBSD podéis seguir este otro vínculo.
Podemos ver otros métodos de instalación desde la página ubicada en GitHub. ¡La verdad es que lo tienen bien cubierto!
Primera impresiones
Una vez instalado, he accedido vía web utilizando la dirección del servidor más el puerto 19999 (Recordad, si tenéis habilitado el cortafuegos en vuestro sistema operativo, tenéis que habilitar ese puerto). Tengo que decir que la primera impresión es muy abrumadora. El estilo del panel se encuentra dentro de las últimas tendencias, en lo que respecta al diseño, eso es positivo, pero hay demasiada información, difícil de digerir. Acostumbrado a otros paneles, como Cacti o incluso Grafana, encuentro a faltar más orden, da la sensación de que las gráficas se encuentren apiladas caóticamente.
Dicho esto, lo único que me queda son elogios. Que un sistema, recién instalado, no te imponga configurar nada y que sea realmente «out of the box«, es algo de agradecer.
Todas las gráficas se encuentran en formato lista, con un menú en la parte derecha que nos permite ir directamente a un apartado en concreto. En la parte superior encontramos el menú de herramientas, el de actualizaciones del propio producto, y los de impresión y exportación a otros formatos, entre otras opciones.
Desde el botón de herramientas que he indicado antes podemos cambiar varios aspectos del producto como, por ejemplo, cambiar el color de fondo de las gráficas del negro al blanco (echo en falta más opciones de diseño) además de otras opciones, como cambiar las unidades de medida o habilitar que, al consultar las gráficas desde una unidad táctil, se pueda interactuar con ellas.
En fin, seguro que me he dejado muchas cosas. La idea de esta entrada es echar un primer vistazo al producto y darlo a conocer. Siempre son de agradecer vuestros comentarios, sin ellos esto proyecto no tiene sentido 😉
Nota: Las capturas del producto han sido realizadas por mi. Las podéis reutilizar siempre, citando la fuente, por favor.
A modo de introducción de la herramienta está bien:
– como punto positivo, nos presentas una nueva herramienta para quienes todavía no la conocíamos.
– como punto a mejorar,incluso como primeras impresiones me parece demasiado básico el repaso dado a esta herramienta. Algún detalle más comparándola con Nagios y demás, no habría estado.
Hola.
Perdón por el offtopic, pero solo pasaba por aquí para felicitar al Colaboratorio por su primer aniversario ?
¡Al final has probado netdata! Yo llevo utilizándolo un año y es una pasada. Tal vez el tema de alarmas por defecto es demasiado sensible, recibo muchas notificaciones por e-mail de mis servidores, pero todo esto se puede configurar 🙂 Es una aplicación genial 🙂