Cómo instalar Netdata con Nginx en Alma Linux 8

Inicio de sesión de Netdata

Netdata es una herramienta de monitorización de servidores gratuita, de código abierto y en tiempo real que visualiza y monitoriza datos en tiempo real como el uso de la CPU, el uso de la RAM, la carga, el uso de SWAP, el uso de ancho de banda, el uso de disco, etc. Ayuda al administrador del sistema a obtener una visión general de lo que está sucediendo y lo que acaba de suceder en su sistema o aplicación. Se puede instalar en cualquier servidor físico, máquinas virtuales, contenedores y dispositivos IoT. Proporciona una interfaz web interactiva para ver las métricas de su servidor con soporte para varios almacenes de datos para el almacenamiento persistente.

En este tutorial, le mostraremos cómo instalar la herramienta de monitoreo Netdata en Alma Linux 8.

Requisitos previos

  • Un servidor con Alma Linux 8.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se ha configurado una contraseña de root en el servidor.

Instalar dependencia requerida

En primer lugar, tendrá que instalar el repo de EPEL y otras dependencias necesarias para instalar Netdata. Puede instalarlas todas ejecutando el siguiente comando:

dnf install epel-release -y
dnf install git libuuid-devel autoconf automake pkgconfig zlib-devel curl findutils libmnl gcc make -y

Una vez que todos los paquetes están instalados, puede proceder al siguiente paso.

Instalar Netdata

Por defecto, Netdata no está incluido en el repo de Alma Linux por defecto. Así que tendrá que instalarlo desde el origen.

Primero, descargue la última versión de Netdata desde el repositorio Git usando el siguiente comando:

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

Una vez completada la descarga, cambie el directorio a netdata e instale todas las dependencias necesarias utilizando el siguiente comando:

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

A continuación, instala otros paquetes con el siguiente comando:

dnf --enablerepo=powertools install libuv-devel

A continuación, ejecute el script de instalación de Netdata para iniciar la instalación.

./netdata-installer.sh

Obtendrá la siguiente salida:

 --- real-time performance monitoring, done right! --- 

  You are about to build and install netdata to your system.

  The build process will use /tmp for
  any temporary files. You can override this by setting $TMPDIR to a
  writable directory where you can execute files.

  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 Netdata.
  To opt-out, pass --disable-telemetry option to the installer or export
  the environment variable DISABLE_TELEMETRY to a non-zero or non-empty value
  (e.g: export DISABLE_TELEMETRY=1).

Press ENTER to build and install netdata to your system >                                                                   

Pulse la tecla Enter para instalar Netdata en su sistema. Una vez instalado el Netdata, obtendrá la siguiente salida:

Setting netdata.tarball.checksum to 'new_installation'

 --- We are done! --- 

  ^
  |.-.   .-.   .-.   .-.   .-.   .  netdata  .-.   .-.   .-.   .-.   .-.   .-
  |   '-'   '-'   '-'   '-'   '-'               '-'   '-'   '-'   '-'   '-'   
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->

 --- is installed and running now! --- 
  enjoy real-time performance and health monitoring...
systemctl start netdata
systemctl enable netdata

Ahora puede comprobar el estado del Netdata utilizando el siguiente comando.

systemctl status netdata

Obtendrá la siguiente salida:

? netdata.service - Real time performance monitoring
   Loaded: loaded (/usr/lib/systemd/system/netdata.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-03-19 04:22:22 UTC; 4min 16s ago
 Main PID: 58935 (netdata)
    Tasks: 50 (limit: 11412)
   Memory: 103.1M
   CGroup: /system.slice/netdata.service
           ??58935 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D
           ??58938 /usr/sbin/netdata --special-spawn-server
           ??59063 /usr/libexec/netdata/plugins.d/apps.plugin 1
           ??59064 /usr/libexec/netdata/plugins.d/ebpf.plugin 1
           ??59065 /usr/libexec/netdata/plugins.d/go.d.plugin 1

Mar 19 04:22:22 linux systemd[1]: Starting Real time performance monitoring...
Mar 19 04:22:22 linux systemd[1]: Started Real time performance monitoring.
Mar 19 04:22:22 linux netdata[58935]: CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/cloud.conf'. Running with internal defaults.
Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO  : MAIN : CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/>
Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO  : MAIN : Found 0 legacy dbengines, setting multidb diskspace to 256MB
Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO  : MAIN : Created file '/var/lib/netdata/dbengine_multihost_size' to >
Mar 19 04:22:22 linux netdata[58935]: Found 0 legacy dbengines, setting multidb diskspace to 256MB
Mar 19 04:22:22 linux netdata[58935]: Created file '/var/lib/netdata/dbengine_multihost_size' to store the computed value
Mar 19 04:22:23 linux ebpf.plugin[59064]: Does not have a configuration file inside `/etc/netdata/ebpf.d.conf. It will try to load stock file.
Mar 19 04:22:23 linux ebpf.plugin[59064]: Cannot read process groups configuration file '/etc/netdata/apps_groups.conf'. Will try '/usr/lib/n>

En este momento, Netdata se está ejecutando y escucha en el puerto 19999. Puede comprobarlo con el siguiente comando:

ss -antpl | grep netdata

Obtendrá la siguiente salida:

LISTEN 0      128        127.0.0.1:8125       0.0.0.0:*    users:(("netdata",pid=58935,fd=29))
LISTEN 0      128          0.0.0.0:19999      0.0.0.0:*    users:(("netdata",pid=58935,fd=6)) 
LISTEN 0      128            [::1]:8125          [::]:*    users:(("netdata",pid=58935,fd=28))
LISTEN 0      128             [::]:19999         [::]:*    users:(("netdata",pid=58935,fd=7))

Una vez que haya terminado, puede pasar al siguiente paso.

Configurar el cortafuegos

Si está utilizando el cortafuegos firewalld en su sistema, tendrá que permitir los puertos 19999 y 80 a través del firewalld. Puede permitirlos con el siguiente comando:

firewall-cmd --permanent --add-port=19999/tcp
firewall-cmd --permanent --add-port=80/tcp

A continuación, recargue el demonio firewalld para aplicar los cambios:

firewall-cmd --reload

Una vez que haya terminado, puede proceder al siguiente paso.

Configurar Nginx como proxy inverso para Netdata

Siempre es una buena idea instalar y configurar Nginx como proxy inverso para acceder a los Netdata. En primer lugar, instale el servidor Nginx utilizando el siguiente comando:Advertisement

dnf install nginx httpd-tools -y

A continuación, generar un archivo de contraseña con el siguiente comando:

htpasswd -c /etc/nginx/.htpasswd netadmin

Establezca su contraseña de administrador como se muestra a continuación:

New password: 
Re-type new password: 
Adding password for user netadmin

A continuación, cree un archivo de configuración de host virtual Nginx con el siguiente comando:

nano /etc/nginx/conf.d/netdata.conf

Añade las siguientes líneas:

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

server {
listen 80;
server_name netdata.example.com;

    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://backend;
    proxy_http_version 1.1;   
    proxy_pass_request_headers on;
    proxy_set_header Connection "keep-alive";
    proxy_store off;
    auth_basic "Private Property";
    auth_basic_user_file /etc/nginx/.htpasswd;
}
}

Guarde y cierre el archivo y luego verifique el Nginx para cualquier error de configuración de sintaxis:

nginx -t

Si todo está bien, obtendrá la siguiente salida:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

A continuación, reinicie el servicio Nginx para aplicar los cambios de configuración:

systemctl restart nginx

También puedes comprobar el estado de Nginx con el siguiente comando:

systemctl status nginx

Deberías ver la siguiente salida:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Sat 2022-03-19 04:28:44 UTC; 4s ago
  Process: 61706 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 61705 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 61703 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 61708 (nginx)
    Tasks: 2 (limit: 11412)
   Memory: 3.7M
   CGroup: /system.slice/nginx.service
           ??61708 nginx: master process /usr/sbin/nginx
           ??61709 nginx: worker process

Mar 19 04:28:44 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 19 04:28:44 linux nginx[61705]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 19 04:28:44 linux nginx[61705]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 19 04:28:44 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Mar 19 04:28:44 linux systemd[1]: Started The nginx HTTP and reverse proxy server.

Una vez que haya terminado, puede pasar al siguiente paso.

Acceder al panel de control de Netdata

Ahora, abra su navegador web y acceda al panel de control de Netdata utilizando la URL http://your-server-ip. Debería ver la página de inicio de sesión de Netdata:

Inicio de sesión de Netdata

Proporcione su nombre de usuario y contraseña de administrador y haga clic en el botón de inicio de sesión. Debería ver el panel de control de Netdata en la siguiente página:

Panel de control de Netdata

Conclusión

Enhorabuena! ha instalado con éxito la herramienta de monitorización Netdata en Alma Linux 8. Ahora puede empezar a monitorizar las métricas de su servidor en tiempo real desde el panel de control de Netdata. No dude en preguntarme si tiene alguna pregunta.Publicidad

Deja una respuesta

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