Guía paso a paso de cómo monitorizar un servidor Debian con Netdata
18:41, 10.06.2024
La monitorización de su servidor es una de las prácticas esenciales que pueden ayudarle a tomar medidas con regularidad para mejorar el rendimiento de su sitio web, revelar sus puntos débiles para mejorar su seguridad y averiguar cómo aumentar el número de sus visitantes, lograr una mejor optimización SEO, etc.
Nextdata es una herramienta que puede ayudarle con tareas de este tipo en diversos aspectos, permitiéndole recopilar datos en tiempo real e independientemente del tipo de infraestructura de red que tenga, ya sea un VPS o un servidor dedicado.
Echemos un vistazo a esta herramienta y cómo tener que utilizarla para monitorizar un servidor Debian.
Exploración de las funciones de Netdata
Netdata es una herramienta de código abierto para monitorizar en tiempo real el rendimiento y la salud de sistemas y aplicaciones, con la que se puede visualizar y solucionar problemas de rendimiento de un sistema en tiempo real. Las principales características de Netdata son
Monitorización en tiempo real
Con Netdata puede obtener información en tiempo real sobre una amplia variedad de métricas, como el uso de la CPU, el consumo de memoria, la E/S de disco, el tráfico de red y muchas más. La información se actualiza cada segundo, por lo que puede comprobar en cualquier momento qué está pasando con su sistema.
No se necesita configuración
Una vez que instale Netdata, ya no necesita realizar ninguna configuración adicional. En cuanto se instale, empezará a monitorizar automáticamente diversas métricas del sistema, así como aplicaciones y servicios, sin que tengas que realizar ninguna acción adicional.
Panel de control basado en web
En Netdata puede utilizar un panel interactivo basado en web con una vista detallada y completa del rendimiento de su sistema. El cuadro de mandos cuenta con amplias opciones de personalización, por lo que podrá obtener lo que desee independientemente de su idea al respecto.
Amplia recopilación de métricas
Recoge miles de métricas de una gran variedad de recursos, incluyendo el sistema operativo, las aplicaciones, así como servicios de terceros para supervisar tus proyectos desde todos los rincones.
Alertas y notificaciones
Además de la supervisión en tiempo real, Netdata también admite funciones de alerta. De este modo, por ejemplo, puede configurar alertas para métricas específicas de modo que reciba notificaciones en cuanto se supere un determinado umbral, para que siempre esté preparado para abordar problemas críticos.
Ligera y eficaz
Aunque la herramienta Netdata es realmente enorme en términos de funcionalidad, también está diseñada para ser ligera pero eficiente. Dado que sus requisitos de recursos son los mínimos posibles, puede ejecutarla incluso en el VPS más básico.
Código abierto y orientado a la comunidad
Netdata es una solución de código abierto, por lo que está impulsado por una amplia comunidad de usuarios que son libres de hacer sus propias modificaciones en el programa.
Soporte multiplataforma
Netdata puede ejecutarse en varios sistemas operativos ampliamente utilizados, incluida la mayoría de las distribuciones de Linus, macOS, así como FreeBSD. Sus capacidades de monitorización pueden extenderse a contenedores Docker, clústeres Kubernetes y muchos otros entornos, por lo que puede considerarse realmente versátil.
Etapa 1: Instalación de la dependencia
Ahora, pasemos al proceso de instalación de Netdata.
Antes de pasar a la instalación de Netdata, asegúrese de instalar las dependencias necesarias:
sudo apt update && sudo apt upgrade -y
sudo apt install dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm libassuan0 libksba8 libnpth0 pinentry-curses
Etapa 2: Instalación de Netdata
Un método recomendado para instalar Netdata es utilizar el script kickstart.sh. Ejecute este comando y seleccione SÍ cada vez:
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --stable-channel
-stable-channel en el comando significa la instalación de la versión estable.
Tras la instalación, verá un mensaje que comienza con "Se ha instalado correctamente el Agente de Netdata".
El estado se puede comprobar con el comando:
$ systemctl status netdata
Ahora puede acceder a Netdata a través de su navegador con el comando:
http://<your-ip-address>:19999
Etapa 3: Configuración de Netdata
Una vez instalado, Netdata empezará a escuchar en cada interfaz de su servidor, lo que significa una superficie de ataque potencial máxima. Para minimizar la superficie de ataque y de esta manera aumentar la seguridad de todo el servidor, se recomienda configurar Netdata para escuchar sólo en localhost.
Hágalo abriendo el archivo como se muestra y añadiendo las líneas bajo [global].
$ sudo vim /etc/netdata/netdata.conf
[global]
run as user = netdata
# default storage size - increase for longer data retention
page cache size = 32
dbengine multihost disk space = 256
bind to = 127.0.0.1
Para que esto surta efecto, reinicie Netdata:
-stable-channel en el comando significa sobre la instalación de la versión estable.
Después de la instalación con éxito, verá una salida que comienza con "Successfully installed the Netdata Agent".
El estado se puede comprobar con el comando:
$ systemctl status netdata
Ahora puede acceder a Netdata a través de su navegador con el comando:
http://<your-ip-address>:19999
1. Instalando Nginx
Para asegurar y gestionar el acceso de forma más efectiva, debería configurar Nginx para que sirva como proxy inverso:
$ sudo apt install nginx
Después de la instalación con éxito, cree un archivo de configuración para Netdata en Nginx:
$ sudo nano /etc/nginx/sites-available/netdata
Añada la siguiente configuración, ajustando server_name a su dominio o dirección IP:
server {
listen 80;
server_name your_server_ip;
location / {
proxy_pass http://localhost:19999;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Habilite la configuración creando un enlace simbólico:
$ sudo ln -s /etc/nginx/sites-available/netdata /etc/nginx/sites-enabled/
Por último, compruebe si hay errores de sintaxis y reinicie Nginx:
$ sudo nginx -t
$ sudo systemctl restart nginx
2. Autenticación de contraseña
Por ahora Netdata está abierto y cualquier usuario puede acceder a él. Para permitir que sólo los usuarios autorizados puedan ver la información del servidor a través de Netdata, debe configurar la autenticación por contraseña. Instale las utilidades Apache2 y cree un archivo .htpassword, que almacenará el nombre de usuario y la contraseña.
$ sudo apt-get install apache2-utils
Cree el archivo y añada el nombre de usuario sustituyendo username por su nombre de usuario preferido:
$ sudo htpasswd -c /etc/nginx/.htpasswd username
Actualice la configuración de Nginx para Netdata para incluir la autenticación por contraseña:
$ sudo nano /etc/nginx/sites-available/netdata
Añada las siguientes líneas dentro del location / block:
auth_basic "Protected";
auth_basic_user_file /etc/nginx/.htpasswd;
Compruebe que todo está escrito correctamente y reinicie Nginx una vez más:
$ sudo nginx -t
$ sudo systemctl restart nginx
Para concluir
Esta ha sido una breve guía sobre cómo empezar a utilizar Netdata para monitorizar su servidor Debian. Se trata de una herramienta muy versátil que le permitirá monitorizar métricas sobre los distintos aspectos del rendimiento de su servidor. Como puede ver, no requiere una larga configuración inicial, así que si ha seguido las instrucciones proporcionadas, ya debería ser capaz de utilizar Netdata como mejor le parezca. Le deseamos buena suerte.