Logotipo del programa Netdata

Cómo monitorizar un sistema Debian con Netdata

 
 

Índice General

  1. Introducción
  2. Instalación
  3. ¿Cómo acceder a Netdata?

 

  1. Introducción (Volver al índice General)
    Netdata nos permite monitorizar sistemas Linux aportando en tiempo real los datos de un servidor en forma de gráficas interactivas y métricas. Es un demonio que monitoriza en tiempo real tanto al propio sistema operativo como aplicaciones, dispositivos SNMP, etc.

    Posee una interfaz web amigable con un dashboard personalizable.

    Captura de Dashboard de Netdata
    Haz clic en la imagen para aumentarla
    Netdata controla entre otras cosas:

    • Uso de CPU por núcleo, interrupciones, softirqs y frecuencia.
    • Memoria total, memoria RAM, de intercambio (SWAP) y la que usa el kernel.
    • Disk I/O (por disco: bandwidth, operations, backlog, utilization, etc).
    • Interfaces de red: ancho de banda, paquetes, errores, caídas, etc.
    • Puede monitorizar el firewall si está instalado (Netfilter/iptables), conexiones firewall, eventos, errores, etc.
    • Procesos (running, blocked, forks, active, etc).
    • Aplicaciones del sistema con árbol de proceso incluido (CPU, memoria, swap, disk reads/writes, threads, etc).
    • Los servidores web Apache, Nginx: monitorización de estado con mod_status.
    • Los SGBD MySQL, MariaDB: consultas, actualizaciones, cierres, problemas, hilos, etc.
    • Mensajes de correo electrónico del servidor Postfix.
    • Sensores de hardware (temperatura, voltaje, ventiladores, potencia, humedad, etc).
    • Dispositivos SNMP.
  2.  

  3. Instalación (Volver al índice General)
    La instalación de Netdata es rápida y sencilla.

    • En sistemas Debian 10 ‘buster’ (Volver al índice General)
      Si tu sistema es Debian 10 ‘buster’, Netdata ya es paquete oficial de la distribución, por lo tanto, solo tendrás que ejecutar el siguiente comando para instalarlo completamente:

      $ sudo apt-get intall netdata netdata-*
    •  

    • En sistemas anteriores Debian 10 ‘buster’ (Volver al índice General)
      Si tu sistema es anterior a Debian 10 ‘buster’ y Netdata no aparece en tus repositorios, tendrás que seguir los siguientes pasos:

      1. Paquetes básicos necesarios (Volver al índice General)
        Una vez que se compila Netdata, para ejecutarlo se requieren una serie de paquetes ya instalados, para instalarlos, ejecutaremos el siguiente comando:

        $ sudo apt-get install zlib1g-dev uuid-dev libuv1-dev liblz4-dev libjudy-dev libssl-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl python
      2. Paquetes opcionales para plugins y otros aspectos de Netdata (Volver al índice General)
        Los plugins de Netdata y varios aspectos de Netdata se pueden habilitar o beneficiar cuando se instalan los siguientes paquetes. Estos paquetes son opcionales, Netdata seguirá funcionando sin ellos:
        Nombre del paqueteDescripción
        bashse utiliza para plugins de la shell y notificaciones de alarma.
        curlse utiliza para plugins de la shell y notificaciones de alarma.
        iproute2se utiliza para monitorear el tráfico de Linux QoS
        pythonse utiliza para la mayoría de los plugins externos
        python-yamlse utiliza para supervisar beanstalkd
        python-beanstalkcse utiliza para supervisar beanstalkd
        python-dnspythonutilizado para monitorear el tiempo de consulta DNS
        python-ipaddressutilizado para monitorear DHCPd. Este paquete es necesario solo si el sistema tiene Python v2. Python v3 tiene esta funcionalidad integrada.
        python-mysqldb
        o
        python-pymysql
        utilizado para monitorear bases de datos mysql o mariadb
        python-mysqldb es mucho más rápido y por lo tanto preferido.
        python-psycopg2utilizado para monitorear bases de datos postgresql.
        python-pymongoutilizado para monitorear bases de datos mongodb.
        nodejsutilizado para plugins de node.js para monitorear dispositivos con nombre y SNMP.
        lm-sensorsse utiliza para monitorizar sensores de hardware.
        libmnl0se utiliza para recopilar métricas de netfilter.
        netcatutilizado para plugins de la shell, para recopilar métricas de sistemas remotos.

         
         

        • Para saber si un paquete está instalado en nuestro sistema, podemos utilizar el siguiente comando:
          $ sudo dpkg -l |grep NombrePaquete

          Si obtenemos información, es que el paquete está instalado, si no obtenemos información, es que el paquete no está instalado.

          Lea el artículo Trabajando con APT: Obtener Información de los paquetes en Debian, para saber más sobre los paquetes en Debian.

        • Si el paquete no está instalado, la sintaxis básica para instalar un paquete es la siguiente:
          $ sudo apt-get install NombrePaquete

          Podemos instalar varios paquetes en la misma orden, separando cada nombre de paquete por espacios. Véase el siguiente ejemplo:

          $ sudo apt-get install python-yaml python-beanstalkc python-dnspython python-ipaddress python-mysqldb lm-sensors netcat

          Lea el artículo Trabajando con APT: Gestión de paquetes (Instalar, Eliminar, Actualizar). Sistemas híbridos, para saber más sobre los paquetes en Debian.

      3.  

      4. Paquetes opcionales para el motor de la base de datos Netdata (Volver al índice General)
        El motor de la base de datos de Netdata se puede habilitar cuando se instalan los siguientes paquetes. Estos paquetes son opcionales, Netdata seguirá funcionando sin ellos:
        Nombre del paqueteDescripción
        liblz4-1Algoritmo de compresión extremadamente rápido, versión r129 o superior.
        libjudydebian1array dinámico de uso general.
        opensslKit de herramientas de criptografía y SSL/TLS.
        Podemos instalar dichos paquetes con la siguiente orden:

        $ sudo apt-get intall liblz4-1 libjudydebian1 openssl
      5.  

      6. Instalación de Netdata (Volver al índice General)
        Para instalar y ejecutar Netdata haremos lo siguiente:

        1. En primer lugar lo descargamos con el siguiente comando:
          $ git clone https://github.com/netdata/netdata.git --depth=100
        2. Con la descarga se creará el directorio netdata y nos posicionamos dentro de él con el siguiente comando:
          $ cd netdata
        3. Ejecutamos el script netdata-installer.sh con privilegios de root para compilar, instalar y arrancar Netdata:
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          26
          27
          28
          29
          30
          31
          32
          33
          34
          35
          36
          37
          38
          39
          40
          41
          42
          43
          44
          45
          46
          47
          48
          49
          50
          51
          52
          53
          54
          55
          56
          57
          58
          59
          60
          61
          62
          63
          64
          65
          66
          67
          68
          69
          70
          
          $ sudo ./netdata-installer.sh
           ^
            |.-.   .-.   .-.   .-.   .  netdata                                        
            |   '-'   '-'   '-'   '-'   real-time performance monitoring, done right!  
            +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->
           
           
            You are about to build and install netdata to your system.
           
            It will be installed at these locations:
           
             - the daemon     at /usr/sbin/netdata
             - config files   in /etc/netdata
             - web files      in /usr/share/netdata
             - plugins        in /usr/libexec/netdata
             - cache files    in /var/cache/netdata
             - db files       in /var/lib/netdata
             - log files      in /var/log/netdata
             - pid file       at /var/run/netdata.pid
             - logrotate file at /etc/logrotate.d/netdata
           
            This installer allows you to change the installation path.
            Press Control-C and run the same command with --help for help.
           
           
            NOTE:
            Anonymous usage stats will be collected and sent to Google Analytics.
            To opt-out, pass --disable-telemetry option to the installer.
           
          Press ENTER to build and install netdata to your system >
          ...
          ...
          netdata by default listens on all IPs on port 19999,
          so you can access it with:
           
            http://this.machine.ip:19999/
           
          To stop netdata run:
           
            systemctl stop netdata
           
          To start netdata run:
           
            systemctl start netdata
           
          Uninstall script copied to: /usr/libexec/netdata/netdata-uninstaller.sh
           
           --- Installing (but not enabling) the netdata updater tool --- 
          Update script is located at /usr/libexec/netdata/netdata-updater.sh
           
           --- Check if we must enable/disable the netdata updater tool --- 
          You chose *NOT* to enable auto-update, removing any links to the updater from cron (it may have happened if you are reinstalling)
           
          Did not find any cron entries to remove
           
           --- Wrap up environment set up --- 
          Preparing .environment file
          [/home/karfer/netdata]# chmod 0644 /etc/netdata/.environment 
           OK   
           
          Setting netdata.tarball.checksum to 'new_installation'
           
           --- We are done! --- 
           
            ^
            |.-.   .-.   .-.   .-.   .-.   .  netdata                          .-.   .-
            |   '-'   '-'   '-'   '-'   '-'   is installed and running now!  -'   '-'  
            +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->
           
            enjoy real-time performance and health monitoring...
      7. Comprobar que se está ejecutando Netdata (Volver al índice General)
        Tras la instalación el demonio se levanta automáticamente, podemos comprobarlo con el siguiente comando:

        $ ps -fu netdata
        UID         PID   PPID  C STIME TTY          TIME CMD
        netdata    5993      1  0 14:01 ?        00:00:23 /usr/sbin/netdata -D
        netdata    6021   5993  0 14:01 ?        00:00:39 /usr/lib/netdata/plugins.d/apps.plugin
        netdata    9172   5993  0 15:01 ?        00:00:00 bash /usr/lib/netdata/plugins.d/tc-qos
  4.  

  5. ¿Cómo acceder a Netdata? (Volver al índice General)
    Para acceder a la interfaz web de Netdata introduciremos una de las URLs siguientes en nuestro navegador preferido (probado con firefox y konqueror):

    Si conocemos la IP del servidor donde Netdata está instalado, utilizaremos la siguiente URL:

    http://ip_del_servidor:19999/

    Si accedemos desde la propia máquina donde está instalado Netdata, podemos utilizar, o bien la IP del servidor, o también, la siguiente URL:

    http://localhost:1999/

     
    Entre otras cosas, Netdata monitoriza todo lo que se puede extraer del sistema de archivos virtual /proc, sin necesidad de configurar nada. Además, establece relación entre todas las métricas. También monitorizará los servicios que detecte (MySQL/MariaDB, Postfix, Apache, etc).

 

Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
  Configuración de privacidad y de cookies.
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.