Netdata
# Netdata

Netdata es una herramienta para visualizar y monitorear métricas en tiempo real, optimizada para acumular todo tipo de datos, como uso de CPU, actividad de disco, consultas SQL, visitas a un sitio web, etc. 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 en su sistema o aplicación, siendo una opción ideal para solucionar problemas de desempeño en tiempo real.

Consiste en un demonio que, al ejecutarse, se encarga de obtener información en tiempo real, por segundo, y presentarla en un sitio web para su visualización y análisis. La presentación es interactiva y en tiempo real.

Se trata de una herramienta ligera, en su mayor parte escrita en C, la cual presenta bajos niveles de consumo durante su ejecución: alrededor de 2% de uso para un CPU de un único hilo y unos pocos megabytes de RAM.

Puede ejecutarse en cualquier kernel GNU/Linux para monitorear cualquier sistema o aplicación, siendo posible correrla en PCs, servidores o dispositivos embebidos Linux.

## Características

* Diseñado para ser instalada en cada sistema, sin interrumpir las aplicaciones corriendo en el mismo. Opera según los requerimientos de memoria especificados por el usuario, utilizando únicamente ciclos CPU ociosos. Una vez que la aplicación esté iniciada y ejecutándose, no utilizará operaciones de entrada/salida a disco, más allá del logging. La herramienta guarda a disco al finalizar su ejecución y vuelve a cargar al iniciar.
* Por defecto contiene ciertos plugins que recolectan métricas claves del sistema, pero su comportamiento es extensible mediante el uso de su API para plugins.
* Puede ejecutarse en cualquier lugar que corra un núcleo Linux y sus gráficos pueden embeberse en páginas web.
* Cuenta con una interfaz con temas customizables y es personalizable a través de lenguaje HTML.
* No cuenta con dependencias de ningún tipo ya que opera como su propio servidor web, con sus archivos web estáticos.

## Funcionamiento

Al ejecutar el demonio en un linux mediante el comando netdata, se generan hilos que recolectan la información de cada fuente, utilizando plugins internos y/o externos. A su vez, mantiene un registro de los valores recolectados en memoria (sin entrada/salida a disco). Opera como servidor web autónomo para sus propios archivos estáticos, necesarios para la representación de sus tableros (dashboards). Proporciona una API REST para que el navegador pueda acceder a la información.

Cada instalación de la aplicación funciona de forma autónoma. Aunque sea instalada en todos los sistemas no existirá un netdata central. Únicamente el navegador puede conectar todas las instalaciones de diferentes sistemas, unificando los gráficos de distintos orígenes como si vinieran desde el mismo servidor.

