Instalar Netdata Monitoring en Linux
A la hora de administrar un servidor, independientemente de la complejidad de la infraestructura que tengamos, es imprescindible monitorizar muchos aspectos, tanto del hardware como de la red, a los efectos de evitar problemas antes de que sucedan. Así aseguramos un correcto funcionamiento de nuestros servidores.
Vamos a ver una aplicación gráfica que nos permitirá realizar todas estas tareas desde un navegador web, simplificando el proceso. Se trata de Netdata Monitoring.
Configurar y emplear herramientas de monitorización en la CLI, puede resultar demasiado complicado para usuarios con menos conocimientos.
Sumario
- ¿Por qué utilizar Netdata Monitoring?
- Qué puedes hacer con Netdata Monitoring
- Instalar Netdata Monitoring en Linux
- Instalación de paquetes con los requisitos previos para la herramienta
- Como instalar las dependencias a mano
- Instalación de NetData Monitoring
- Configuración de Netdata Monitoring
- Uso de la herramienta
- Administración del servicio
- Desinstalación
¿Por qué utilizar Netdata Monitoring?
Netdata Monitoring nos ayuda a implementar una infraestructura de manera más controlada, evitando la frustración que puede causar el uso de herramientas de monitoréo demasiado complejas, costosas y que no ayudan a solucionar problemas complejos de rendimiento y salud de los sistemas y la red.
Se trata de una herramienta gratuita y de código abierto (FOSS), que recopila miles de métricas de hardware y software, organizando los datos en una interfaz fácil de usar y sencilla de comprender. Nos muestra todas las métricas en un panel interactivo e intuitivo en forma de gráficos.
Netdata nos permite monitorear, visualizar y solucionar problemas en sistemas físicos y virtuales (nodos), contenedores, servicios y aplicaciones. Dispones de toda la documentación en su pagina oficial.
Además, junto a Netdata Cloud, podremos monitorear toda la infraestructura en tiempo real y solucionar problemas que amenazan la salud de los nodos.
Netdata se ejecuta permanentemente en todos los servidores físicos o virtuales, contenedores, implementaciones en la nube y dispositivos perimetrales/IoT. Y lo podemos implementar en muchas distribuciones Linux como Ubuntu, Debian, CentOS, SUSE, RHEL, Gentoo, Alpine, etc, y plataformas de contenedores y microservicios (clústeres de Kubernetes, Docker). También está disponible para muchos otros sistemas operativos como FreeBSD y MacOS, sin necesidad de sudo.
Qué puedes hacer con Netdata Monitoring
Está diseñado para ser fácil de usar y flexible en cada caso, permitiendo la visualización de los datos para la solución de problemas.
Recopilación
Netdata recopila todas las métricas disponibles de nuetro sistema y aplicaciones con más de 300 recopiladores, descubrimiento de servicios de Kubernetes y monitoreo de contenedores en profundidad, todo mientras usa solo el 1% de la CPU y unos pocos MB de RAM. Incluso recopila métricas de máquinas Windows.
Visualización
Nos presenta gráficos significativos para ayudar a comprender las relaciones entre el hardware, sistema operativo, aplicaciones y servicios en ejecución, y el resto de la infraestructura. Nos permite agregar nodos a Netdata Cloud para obtener una vista completa de toda la infraestructura desde un único panel.
Supervisión
El organismo de control de la salud de Netdata utiliza cientos de alarmas preconfiguradas para notificarnos, a través de Slack, correo electrónico, PagerDuty y alguna más, cuando se ha producido una anomalía.
Solución de problemas
La granularidad de 1s nos ayuda a detectar y analizar anomalías que otras plataformas de monitoréo podrían haber pasado por alto. Las visualizaciones interactivas reducen la dependencia de la consola, y las métricas históricas nos ayudan a rastrear los problemas hasta la raíz de su causa.
Almacenamiento
El eficiente motor de base de datos de Netdata almacena eficientemente métricas por segundo durante días, semanas o incluso meses. Cada nodo distribuido almacena métricas localmente, lo que simplifica la implementación, reduce los costos y enriquece los paneles interactivos de Netdata.
Exportación
Podemos integrar métricas por segundo con otras bases de datos como Graphite, Prometheus, InfluxDB, TimescaleDB y más con el núcleo interoperable y extensible de Netdata.
Transmisión
También podemos agregar métricas de nodos distribuidos en un solo lugar para un análisis en profundidad.
Instalar Netdata Monitoring en Linux
En el artículo de hoy, vemos como instalar Netdata en tu servidor o VPS, en cualquier distribución Linux moderna. Es fácil de instalar y de usar. Vamos a verlo en un servidor Debian 11.
Tenemos opciones de instalación documentadas en su página oficial en Docker, Kubernetes, MacOS y en Linux desde Git o con el código fuente.
Instalación de paquetes con los requisitos previos para la herramienta.
Si tienes el servidor accesible físicamente lo puedes hacer directamente. Nosotros lo vamos a hacer en remoto. Accedemos al servidor con ssh y, como siempre, en primer lugar actualizamos nuestro sistema.
sudo apt-get update && sudo apt-get upgrade
Si queremos una instalación básica, para monitoreo del sistema y muchas aplicaciones, sin mysql o mariadb, named, sensores de hardware y SNMP, necesitaremos los paquetes que instalamos con el siguiente comando
curl -Ss 'https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh' >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata
Pero si quieres una instalación completa con todas las funcionalidades de NetData Monitoring ejecuta
curl -Ss 'https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh' >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata-all
Como instalar las dependencias a mano
Para tener más control instalamos las dependencias manualmente. Según la distribución de Linux que utilicemos, para instalar los requisitos previos necesarios mediante el administrador de paquetes predeterminado de nuestra distribución, utiliza los siguientes comandos
Debian y derivados, Ubuntu, etc..
apt-get install zlib1g-dev uuid-dev libuv1-dev liblz4-dev libssl-dev libelf-dev libmnl-dev libprotobuf-dev protobuf-compiler gcc g++ make git autoconf autoconf-archive autogen automake pkg-config curl python cmake
Fedora
dnf install zlib-devel libuuid-devel libuv-devel lz4-devel openssl-devel elfutils-libelf-devel libmnl-devel protobuf-devel protobuf-compiler gcc gcc-c++ make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake
Red Hat Enterprise Linux y derivados, CentOS, AlmaLinux, RockyLinux, etc…
yum install autoconf automake curl gcc gcc-c++ git libmnl-devel libuuid-devel openssl-devel libuv-devel lz4-devel elfutils-libelf-devel protobuf protobuf-devel protobuf-compiler make nc pkgconfig python zlib-devel cmake
openSUSE y SUSE
zypper install zlib-devel libuuid-devel libuv-devel liblz4-devel libopenssl-devel libelf-devel libmnl-devel protobuf-devel gcc gcc-c++ make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake
Tienes información de todos los paquetes a instalar en su página oficial .
Instalación de NetData Monitoring
Antes de comenzar, asegúrate de tener tu sistema actualizado. Después tenemos que descargar un script, proporcionado por el desarrollador oficial, que automatiza todo el proceso.
sudo bash <(curl -Ss https://my-netdata.io/kickstart.sh)
Una vez se descarga el script, la instalación comienza al instante.
No obstante, la forma recomendada de instalar Netdata en un nodo de Linux (físico, virtual, contenedor, IoT) es mediante un script «kickstart», de una sola línea, que instala las dependencias automáticamente y compila Netdata a partir de su código fuente.
Esta forma de instalación nos habilita las actualizaciones automáticas, los lanzamientos del software nocturnos o estables y la aportación de estadísticas anónimas a los derrolladores.
Copia el script y pégualo en la terminal de tu equipo y presiona «Enter». Comenzará el proceso de instalación.
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
Nos solicita, varias veces, pulsar la tecla «enter» para continuar y otras que pulses «Y».
Terminado el proceso de instalación, nos muestra los datos de acceso, así como algunos comandos muy útiles.
Configuración de Netdata Monitoring
Netdata no requiere configuración previa. De todas formas el fichero de configuración principal de Netdata se encuentra en /etc/netdata/netdata.conf. Puedes verlo con cualquier editor de texto y comprobar la mayoría de las opciones de configuración.
También puedes descargar o ver el fichero de configuración predeterminado de Netdata en cualquier momento con el navegador con la URL «http://localhost:19999/netdata.conf».
La forma recomendada oficialmente para editar el fichero de configuración de Netdata, es usar el script «edit-config».
cd /etc/netdata sudo ./edit-config netdata.conf
Uso de la herramienta
Una vez concluya el proceso de instalación, accedemos al monitor, desde nuestro navegador web favorito, usando la siguiente URL «http://host:19999», reemplazando «host» con «localhost», el «nombre de host» o la «dirección IP» de un equipo remoto. No olvides usar el puerto 19999. Y si tienes el servidor, como es normal, detras de un cortafuegos, tendrás que abrir el puerto 19999 en él.
http://ip-de-servidor:19999/
Así accedemos a la herramienta. El panel principal nos muestra una descripción general de las principales métricas del sistema, como el uso de la swap, el uso de la CPU, estadísticas de entrada/salida de la red, el I/O (lectura/escritura de disco) y el uso de la memoria RAM en tiempo real.
En el panel derecho, disponemos de otras opciones que nos permiten visualizar estadísticas en tiempo real de diferentes métricas del sistema. Por ejemplo el uso de CPU, interrupciones, etc.
Panel para monitorizar la memoria
Información de lectura y escritura en discos
Interfaces de red
Anomalías producidas
Además encontrarás información sobre Firewall, Sistemas de ficheros, uso de memoria ram y swap, aplicaciones, procesos, usuarios, grupos, usuarios logeados, sesiones, etc…En fin, una herramienta excelente con la que tendrás completamente controlado tu servidor.
También podrás añadir alertas para las incidencias y que te avise de lo que pase.
En la parte izquierda del panel principal, tienes un icono con «?», para obtener más información sobre el uso de la herramienta.
Administración del servicio
Para habilitar e iniciar el servicio Netdata en sistemas que usan Systemd, ejecuta
sudo systemctl enable netdata sudo systemctl start netdata
Para parar el sevicio
sudo systemctl stop netdata
Y para comprobar el estado del servicio
sudo systemctl status netdata
Si tu sistema usa init, usa los siguientes comandos para los mismos propósitos
sudo service netdata start sudo chkconfig netdata on sudo service netdata stop sudo service netdata status
Actualización
Con la instalación que hemos realizado se ha creado una tarea con cron que actualizará la herramienta diariamente «/etc/cron.daily/netdata-updater» de forma automática. No obstante lo puedes hacer manualmente ejecutando el script correspondiente que encontrarás en la siguiente ruta
/usr/libexec/netdata/netdata-updater.sh
Desinstalación
Si quieres desinstalar la herramienta, ejecuta el siguiente comando. Debes pulsar la tecla «y» cada vez que te lo solicite.
/usr/libexec/netdata/netdata-uninstaller.sh --yes
¿Tienes algún comentario que hacer sobre este artículo?, al pie del post tienes un formulario para hacerlo.
Si quieres contactar conmigo por cualquier otro asunto relacionado con el sitio, en la página de contacto, tienes un formulario más adecuado.
Y para suscribirte y recibir las novedades publicadas, tienes un enlace en pie de la página o desde aquí mismo.