Configuración de Netdata

Cómo configurar Netdata en el VPS

Instalar Netdata

wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline

Abrir el puerto 19999 en el cortafuegos ufw

sudo ufw allow 19999

Comprobar el funcionamiento en el navegador:

http://alumno.me:19999/

Configurar un proxy para acceder a Netdata vía Nginx

upstream backend {
    # the Netdata server
    server 127.0.0.1:19999;
    keepalive 1024;
}

server {
    # nginx listens to this
    listen 80;
    # uncomment the line if you want nginx to listen on IPv6 address
    #listen [::]:80;

    # the virtual host name of this
    server_name netdata.alumno.me;

    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;
    }
}

Crera un registro de tipo A en el DNS (en el panel de control de DigitalOcean)

Comprobar el funcionamiento en el navegador:

http://netadata.alumno.me

Eliminar la regla del cortafuegos que abre el puerto 19999 (sustituir N por el número de la regla)

sudo ufw status numbered
sudo ufw delete N

Seguridad

Poner un usuario y contraseña para acceder a Netdata

sudo su
printf "usuario_netdata:$(openssl passwd -apr1)" > /etc/nginx/passwords

Añadir 2 líneas al fichero de configuración del servidor virtual

auth_basic «Protected»;
auth_basic_user_file passwords;

server {
    # ...

    auth_basic "Protected";
    auth_basic_user_file passwords;

    # ...
}
upstream backend {
    # the Netdata server
    server 127.0.0.1:19999;
    keepalive 1024;
}

server {
    # nginx listens to this
    listen 80;
    # uncomment the line if you want nginx to listen on IPv6 address
    #listen [::]:80;

    # the virtual host name of this
    server_name netdata.alumno.me;

    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 "Protected";
    auth_basic_user_file passwords;
}

Comprobar el funcionamiento en el navegador:

http://netadata.alumno.me

instalar un certificado ssl:

// sustituir alumno.me por el dominio usado
sudo certbot --nginx -d laravel.alumno.me

 

Más información:

Netdata, Prometheus, Grafana Stack

Deja una respuesta