Netdata: una herramienta de supervisión del rendimiento en tiempo real para sistemas Linux


netdata es una utilidad de Linux extremadamente optimizada que proporciona monitoreo de rendimiento en tiempo real (por segundo) para sistemas Linux, aplicaciones, dispositivos SNMP, etc. y muestra gráficos interactivos completos que representan absolutamente todos los valores recopilados en el navegador web para analizarlos.

Ha sido desarrollado para ser instalado en cada sistema Linux, sin interrumpir las aplicaciones actuales en ejecución en él. Puede usar esta herramienta para monitorear y obtener una descripción general de lo que está sucediendo en tiempo real y lo que acaba de suceder en sus sistemas y aplicaciones Linux.

Esto es lo que monitorea:

  1. Uso de CPU total y por núcleo, interrupciones, softirqs y frecuencia.
  2. Uso de memoria total, RAM, intercambio y kernel.
  3. E/S de disco (por disco: ancho de banda, operaciones, atrasos, utilización, etc.).
  4. Supervisa las interfaces de red, incluidos: ancho de banda, paquetes, errores, caídas, etc.
  5. Monitorea las conexiones, eventos, errores, etc. del firewall de Netfilter/iptables Linux.
  6. Procesos (en ejecución, bloqueados, bifurcaciones, activos, etc.).
  7. Aplicaciones del sistema con el árbol de procesos (CPU, memoria, intercambio, lecturas/escrituras de disco, subprocesos, etc.).
  8. Monitoreo de estado de Apache y Nginx con mod_status.
  9. Monitoreo de la base de datos MySQL: consultas, actualizaciones, bloqueos, problemas, hilos, etc.
  10. Cola de mensajes del servidor de correo electrónico Postfix.
  11. Ancho de banda del servidor proxy Squid y monitoreo de solicitudes.
  12. Sensores de hardware (temperatura, voltaje, ventiladores, potencia, humedad, etc.).
  13. Dispositivos SNMP.

Instalación de netdata en sistemas Linux

La última versión de netdata se puede instalar fácilmente en Arch Linux, Gentoo Linux, Solus Linux y Alpine Linux usando su administrador de paquetes como se muestra.

$ sudo pacman -S netdata         [Install Netdata on Arch Linux]
$ sudo emerge --ask netdata      [Install Netdata on Gentoo Linux]
$ sudo eopkg install netdata     [Install Netdata on Solus Linux]
$ sudo apk add netdata           [Install Netdata on Alpine Linux]

En Debian/Ubuntu y RHEL/CentOS/Fedora, hay un script de instalación de una línea que instalará los últimos datos de red y también lo mantendrá actualizado automáticamente.

$ bash <(curl -Ss https://my-netdata.io/kickstart.sh            [On 32-bit]
$ bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh)  [On 64-bit]

La secuencia de comandos anterior:

  • descubre la distribución e instala los paquetes de software necesarios para construir netdata (solicitará confirmación).
  • descarga el árbol de fuentes de netdata más reciente en /usr/src/netdata.git.
  • instala netdata ejecutando ./netdata-installer.sh desde el árbol de fuentes.
  • instala netdata-updater.sh en cron.daily, por lo que su netdata se actualizará diariamente (recibirá una alerta de cron solo si la actualización falla).

Nota: El script kickstart.sh progresa todos sus parámetros a netdata-installer.sh , por lo que puede definir más parámetros para modificar la fuente de instalación, habilitar/deshabilitar complementos, etc. .

Alternativamente, también puede instalar la última versión de netdata manualmente clonando su repositorio, pero antes de comenzar a instalar netdata, asegúrese de tener estos paquetes de entorno de compilación básicos instalados en el sistema, si no, instálelos usando su respectivo administrador de paquetes de distribución como se muestra:

# apt-get install zlib1g-dev gcc make git autoconf autogen automake pkg-config
# yum install zlib-devel gcc make git autoconf autogen automake pkgconfig

A continuación, clone el repositorio de netdata de git y ejecute el script del instalador de netdata para compilarlo.

# git clone https://github.com/firehol/netdata.git --depth=1
# cd netdata
# ./netdata-installer.sh

Nota: El script netdata-installer.sh creará netdata y lo instalará en su sistema Linux.

Una vez que finalice el instalador de netdata, se creará el archivo /etc/netdata/netdata.conf en su sistema.

Ahora es el momento de iniciar netdata ejecutando el siguiente comando desde la terminal.

# /usr/sbin/netdata

También puede detener netdata terminando su proceso con el comando killall como se muestra.

# killall netdata

Nota: Netdata guarda al salir la información de su base de datos de round robbin en el archivo /var/cache/netdata , de modo que cuando comience de nuevo netdata, continuará desde donde se detuvo la última vez.

Inicio y prueba de netdata

Ahora abra su navegador y navegue a la siguiente dirección para acceder al sitio web para todos los gráficos:

# http://127.0.0.1:19999/

Vea el video que muestra cómo se realiza el monitoreo del rendimiento de Linux en tiempo real aquí: https://www.youtube.com/watch?vu003dQIZXS8A4BvI

También puede ver la configuración en ejecución de netdata en cualquier momento, yendo a:

http://127.0.0.1:19999/netdata.conf

Actualizando netdata

Puede actualizar el demonio netdata a la versión más reciente yendo al directorio netdata.git que descargó antes y ejecutando:

# cd /path/to/netdata.git
# git pull
# ./netdata-installer.sh

El script de instalación de netdata anterior creará una nueva versión y reiniciará netdata.

Referencia: https://github.com/firehol/netdata/