Cómo monitorear el rendimiento de Ubuntu usando Netdata

Cómo monitorear el rendimiento de Ubuntu usando Netdata

Netdata. es una herramienta gratuita y de código abierto de supervisión y resolución de problemas en tiempo real para servidores, contenedores, aplicaciones e infraestructura de TI local en la nube. Proporciona métricas de sistema altamente granulares y en tiempo real, como el rendimiento de la CPU, la utilización de RAM y disco, y estadísticas de ancho de banda, por mencionar algunas.

Además, Netdata también proporciona visualizaciones de métricas interactivas a las que se puede acceder en un navegador web junto con alarmas inteligentes que ayudan en la resolución de fallas del sistema.

La tecnología de vanguardia y la popularidad de Netdata le han valido un lugar en la nube de Forbes 100 estrellas en ascenso en 2020, lo cual no es poca cosa. De hecho, en el momento de redactar esta guía, ha recibido casi 50.000. estrellas de Github.

Hay dos formas que puede utilizar para instalar Netdata . Puede ejecutar de inmediato un script automatizado en un shell BASH. Esto actualiza sus sistemas e inicia la instalación de Netdata. Alternativamente, puede clonar el repositorio Git de Netdata y luego ejecutar el script automatizado. El primer método es simple y directo y es en lo que nos centraremos en esta guía.

En este artículo, veremos cómo puede instalar Netdata. en Ubuntu. para supervisar en tiempo real, el rendimiento y el estado de los servidores y las aplicaciones.

Plataformas compatibles freestar.config.enabled_slots.push

Netdata admite las siguientes distribuciones de Ubuntu LTS:

  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04

Cómo instalar Netdata en Ubuntu Linux

Para comenzar la instalación, ejecute el siguiente comando en su terminal bash para descargar y ejecutar el script.

$ bash <(curl-Ss https://my-netdata.io/kickstart.sh)

Durante la ejecución del script, ocurre lo siguiente:

  • El script descubre automáticamente su distribución de Linux, actualiza la lista de paquetes e instala todos los paquetes de software necesarios.
  • El árbol de origen de netdata más reciente se descarga en la ruta /usr/src/netdata.git.
  • La secuencia de comandos instala netdata. mediante la ejecución de ./netdata-installer.sh. del árbol de fuentes.
  • Se realiza una actualización en cron.daily. para garantizar que netdata. se actualiza a diario.

 Instalar Netdata en Ubuntu  Instalar Netdata en Ubuntu Instalar Netdata en Ubuntu

A medida que se ejecuta el script, se le darán consejos sobre cómo acceder a Netdata. en un navegador y cómo administrarlo como un servicio systemd.

 Netdata Access en Ubuntu  Acceso a Netdata en Ubuntu Netdata Access en Ubuntu

La instalación tarda un poco, así que déle unos 10 minutos y vuelva. Finalmente, obtendrá el resultado a continuación cuando el script concluya la instalación.

 Resumen de instalación de Netdata  Resumen de instalación de Netdata Resumen de instalación de Netdata ary

Una vez instalado, inicie, habilite y verifique el estado de Netdata. como se muestra.

$ sudo systemctl start netdata $ sudo systemctl enable netdata $ sudo systemctl status netdata  Verificar estado de Netdata  Verificar estado de Netdata Verificar estado de Netdata

De forma predeterminada, Netdata. escucha en el puerto 19999. y esto se puede confirmar usando el comando netstat como se muestra.

$ sudo netstat-pnltu | grep netdata  Check Netdata Port  Comprobar puerto Netdata Verifique el puerto de Netdata

Si tiene UFW. en ejecución, haga un esfuerzo para abrir el puerto 19999. ya que será necesario al acceder a Netdata. en el navegador.

$ sudo ufw allow 19999/tcp $ sudo ufw reload

Finalmente, para acceder a Netdata. cambie a su navegador y navegue por la siguiente URL

http://server-ip: 19999/

Esto es lo que lo saluda una vez que navega por la URL. De hecho, se dará cuenta de que no se le pedirá que inicie sesión. Todas las métricas del sistema se mostrarán como se muestra.

 Netdata Ubuntu Server Monitoring Netdata Ubuntu Server Monitoring Netdata Ubuntu Server Monitoring

Puede hojear varios gráficos haciendo clic en sus métricas preferidas en la barra lateral derecha del tablero. Por ejemplo, para ver las estadísticas de la interfaz de red, haga clic en la opción ‘ Interfaces de red. .

 Netdata Verifique las estadísticas de red de Ubuntu  Netdata Check Ubuntu Network Statistics Netdata Compruebe las estadísticas de red de Ubuntu

Protección de Netdata con autenticación básica en Ubuntu

Hasta este momento, cualquiera puede acceder al panel de Netdata. y echar un vistazo a las distintas métricas del sistema. Esto equivale a una brecha de seguridad y definitivamente queremos evitarlo.

Con esto en mente, configuraremos la autenticación básica HTTP. Necesitamos instalar el paquete apache2-utils. que proporciona el programa htpasswd. que se utilizará para configurar el nombre de usuario y la contraseña del usuario. Además, instalaremos el servidor web Nginx que actuará como proxy inverso.

Para instalar el servidor web Nginx. y el paquete apache2-utils. ejecute el comando.

$ sudo apt install nginx apache2-utils

Con Nginx. y apache2-utils. instalados, crearemos un archivo de configuración dentro del directorio /etc/nginx/conf.d. Sin embargo, no dude en utilizar el directorio sitios disponibles. si utiliza Nginx. para otros fines además de Netdata.

$ sudo vim/etc/nginx/conf.d/default.conf

Dentro del archivo de configuración, primero indicaremos a Nginx. que haga proxy de las solicitudes entrantes para el panel de Netdata. A partir de entonces, agregaremos una solicitud de autenticación básica que solo otorga a los usuarios autorizados acceso al panel de Netdata. mediante la autenticación de nombre de usuario/contraseña.

Aquí está toda la configuración. Tenga cuidado de reemplazar las directivas server_ip. y example.com. con la dirección IP y el nombre del servidor de su propio servidor.

upstream netdata-backend server 127.0.0.1:19999 ; keepalive 64; servidor escuchar servidor_ip. 80; nombre_servidor ejemplo.com. auth_basic “Se requiere autenticación”; auth_basic_user_file netdata-access; ubicación/proxy_set_header X-Fordered-Host $ host; proxy_set_header X-Fordered-Server $ host; proxy_set_header X-Fordered-For $ proxy_add_x_fordered_for; proxy_pass http://netdata-backend; proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header Conexión “mantener vivo”; proxy_store desactivado;

Comprendamos la configuración, sección por sección.

Sección 1: netdata-backend servidor 127.0.0.1:19999; keepalive 64;

Hemos especificado un módulo ascendente. llamado netdata-backend. que hace referencia al servidor web integrado de Netdata utilizando la dirección loopback. 127.0.0.1. y el puerto 19999. que es el puerto predeterminado en el que escucha Netdata. La directiva keepalive. define el número máximo de conexiones inactivas que pueden permanecer abiertas.

Sección 2: servidor {listen server_ip: 80; nombre_servidor example.com; auth_basic “Se requiere autenticación”; auth_basic_user_file netdata-access;

Esta es la sección principal de bloqueo del servidor Nginx. La primera línea especifica la dirección IP externa que Nginx debe escuchar cuando los clientes envían sus solicitudes. La directiva server_name. especifica el nombre de dominio del servidor e indica a Nginx que ejecute el bloque del servidor cuando los clientes invocan el nombre de dominio en lugar de la dirección IP externa.

Las dos últimas líneas Indique la autenticación HTTP simple que requiere que el usuario inicie sesión con un nombre de usuario y una contraseña. El módulo auth_basic. activa la ventana emergente de nombre de usuario/contraseña en el navegador con “ Autenticación requerida. en el título, que luego puede personalizarse para adaptarse a sus preferencias.

El módulo auth_basic_user_file. apunta al nombre del archivo que contendrá el nombre de usuario y la contraseña del usuario autorizado para acceder al panel de Netdata, en este caso netdata-access. Crearemos este archivo más adelante.

Sección 3:

La última sección es el bloque ubicación. que está contenido dentro del bloque del servidor. Esto maneja el proxy y el reenvío de solicitudes entrantes al servidor web Nginx.

location/proxy_set_header X-Fordered-Host $ host; proxy_set_header X-Fordered-Server $ host; proxy_set_header X-Fordered-For $ proxy_add_x_fordered_for; proxy_pass http://netdata-backend; proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header Conexión “mantener vivo”; proxy_store desactivado;

Para la autenticación, crearemos un nombre de usuario y contraseña para un usuario llamado tecmint. usando la utilidad htpasswd. y almacenaremos las credenciales dentro de netdata-access. archivo.

$ sudo htpasswd-c/etc/nginx/netdata-access tecmint

Proporcione la contraseña y confírmela.

 Habilitar la autenticación básica para Netdata  Habilitar autenticación básica para Netdata Habilitar la autenticación básica para Netdata

A continuación, reinicie el servidor web Nginx para que los cambios entren en vigor.

$ sudo systemctl reiniciar nginx

Para probar si la configuración fue correcta, proceda y busque la dirección IP de su servidor

http://server-ip

Aparecerá una ventana emergente de autenticación como se muestra a continuación. Proporcione su nombre de usuario y contraseña y presione ENTRAR.

 Inicio de sesión de usuario de Netdata Inicio de sesión de usuario de Netdata Inicio de sesión de usuario de Netdata

Thereafte r, obtendrá acceso al panel de Netdata.