Búsqueda de sitios web

Cómo monitorear el rendimiento del servidor CentOS 8/7 usando Netdata


Hay toneladas de herramientas de monitoreo que se utilizan para vigilar el rendimiento de los sistemas y enviar notificaciones en caso de que algo salga mal. Sin embargo, los pasos de instalación y configuración involucrados suelen ser tediosos.

Netdata es una herramienta de resolución de problemas y monitoreo en tiempo real de código abierto que solo requiere unos pocos pasos para instalarse. El repositorio Git viene con un script automatizado que maneja la mayor parte del proceso de instalación y configuración y elimina la engorrosa configuración asociada con otras herramientas de monitoreo.

Netdata se ha vuelto muy popular desde su lanzamiento inicial en octubre de 2013. Recopila métricas en tiempo real, como el uso de CPU y RAM, estadísticas de ancho de banda y utilización del disco, y las muestra en gráficos fáciles de interpretar. gráficos.

Ha dado grandes pasos agigantados y esto le ha valido un lugar en Forbes 2020 Cloud 100 estrellas en ascenso. Esta lista constituye las 100 principales empresas de nube privada.

En este artículo, veremos cómo puede instalar Netdata en CentOS 8/7 para monitorear en tiempo real, el rendimiento y el estado de servidores y aplicaciones.

Plataformas compatibles

Netdata admite las siguientes distribuciones:

  • CentOS 8 y CentOS 7
  • RHEL 8 y RHEL 7
  • fedoralinux

Cómo instalar Netdata en CentOS Linux

1. Antes de sumergirnos en la instalación de Netdata, algunos paquetes de requisitos previos son obligatorios. Pero primero, actualice el sistema e instale el repositorio EPEL como se muestra.

sudo yum update
sudo yum install epel-release

2. A continuación, instale los paquetes de software necesarios como se muestra.

sudo yum install gcc make git curl zlib-devel git automake libuuid-devel libmnl autoconf pkgconfig findutils

3. Una vez que haya terminado de instalar los paquetes de requisitos previos, clone el repositorio git Netdata como se muestra.

git clone https://github.com/netdata/netdata.git --depth=100

4. A continuación, navegue hasta el directorio Netdata y ejecute el script install-required-packages.sh. El script detecta su distribución de Linux e instala paquetes adicionales necesarios durante la instalación de Netdata.

cd netdata/
./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata 

5. Finalmente, para instalar Netdata, ejecute el script automatizado Netdata como se muestra a continuación.

sudo ./netdata-installer.sh

Tras la ejecución del script, se le informará dónde se almacenarán los archivos Netdata cruciales. Estos incluyen archivos de configuración, archivos web, complementos, archivos de bases de datos y archivos de registro, por mencionar sólo algunos.

6. Presione 'ENTER' para comenzar con el proceso de instalación. Durante el proceso de instalación, se le darán algunos consejos sobre cómo acceder a Netdata en el navegador y administrar Netdata, como iniciarlo y detenerlo.

El script se ejecuta durante bastante tiempo realizando todas las configuraciones y ajustes necesarios durante el proceso de instalación. En mi caso, tomó entre 3 y 5 minutos y, una vez hecho esto, el resultado mostrado debería ser una confirmación de que la instalación se realizó correctamente.

7. Una vez instalado, necesitamos tener el demonio Netdata en funcionamiento. Para comenzar, habilite el demonio Netdata en el arranque y verifique el estado, invoque los siguientes comandos:

sudo systemctl start netdata
sudo systemctl enable netdata
sudo systemctl status netdata

8. De forma predeterminada, Netdata escucha en el puerto 19999 y puede confirmarlo usando el comando netstat como se muestra:

sudo netstat -pnltu | grep netdata

9. Necesitamos abrir este puerto en el firewall para tener acceso a Netdata a través de un navegador. Por lo tanto, ejecute los siguientes comandos:

sudo firewall-cmd --add-port=19999/tcp --permanent
sudo firewall-cmd --reload

10. Para acceder a Netdata, inicie su navegador y busque la URL como se muestra:

http://centos8-ip:19999/

Se le mostrará un panel que le brindará el rendimiento general del sistema en gráficos interesantes e intuitivos.

Siéntase libre de echar un vistazo a diferentes gráficos haciendo clic en las métricas que aparecen en la barra lateral derecha. Por ejemplo, para echar un vistazo a los servicios systemd en ejecución, haga clic en la opción "servicios systemd" como se muestra.

Proteger Netdata con autenticación básica en CentOS

Como habrás observado de manera alarmante, Netdata no proporciona ninguna forma de autenticación. Esto implica que prácticamente cualquier persona puede acceder al panel siempre que obtenga la dirección IP de Netdata.

Afortunadamente, podemos configurar la autenticación básica utilizando el programa htpasswd y el servidor web Nginx como proxy inverso. Por tanto, vamos a instalar el servidor web Nginx.

sudo dnf install nginx

Con Nginx instalado, vamos a crear 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

Agregue la siguiente configuración completa y asegúrese de cambiar las directivas server_ip y example.com con su propia dirección IP y nombre de servidor.

upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

    location / {
        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;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

Para la autenticación de usuario, crearemos un nombre de usuario y una contraseña para un usuario llamado tecmint usando la herramienta htpasswd y mantendremos las credenciales en netdata-access. archivo.

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

Proporcione la contraseña y confírmela.

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

sudo systemctl restart nginx

Para probar si la configuración fue correcta, continúe y busque la dirección IP de su servidor.

http://server-ip

A partir de entonces, obtendrá acceso al panel de Netdata.

Y eso es todo, amigos. Lo hemos guiado a través de la instalación de la herramienta de monitoreo Netdata en CentOS 8 y hemos configurado la autenticación básica para proteger la herramienta de monitoreo. Envíanos un mensaje y cuéntanos cómo te fue.