Ricerca nel sito web

Come installare Netdata con Nginx su Alma Linux 8


Su questa pagina

  1. Prerequisiti
  2. Installa dipendenza richiesta
  3. Installa Netdata
  4. Configura firewall
  5. Configura Nginx come proxy inverso per Netdata
  6. Accedi alla dashboard di Netdata
  7. Conclusione

Netdata è uno strumento di monitoraggio del server gratuito, open source e in tempo reale che visualizza e monitora i dati in tempo reale come l'utilizzo della CPU, l'utilizzo della RAM, il carico, l'utilizzo dello SWAP, l'utilizzo della larghezza di banda, l'utilizzo del disco, ecc. Aiuta l'amministratore di sistema a ottenere una panoramica di ciò che sta accadendo e di ciò che è appena accaduto nel sistema o nell'applicazione. Può essere installato su qualsiasi server fisico, macchina virtuale, container e dispositivo IoT. Fornisce un'interfaccia Web interattiva per visualizzare le metriche del server con il supporto per vari archivi di dati per l'archiviazione persistente.

In questo tutorial, ti mostreremo come installare lo strumento di monitoraggio Netdata su Alma Linux 8.

Prerequisiti

  • Un server che esegue Alma Linux 8.
  • Un nome di dominio valido indicato con l'IP del tuo server.
  • Sul server è configurata una password di root.

Installa la dipendenza richiesta

Innanzitutto, dovrai installare il repository EPEL e altre dipendenze necessarie per l'installazione di Netdata. Puoi installarli tutti eseguendo il seguente comando:

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

Una volta installati tutti i pacchetti, puoi procedere al passaggio successivo.

Installa Netdata

Per impostazione predefinita, Netdata non è incluso nel repository predefinito di Alma Linux. Quindi dovrai installarlo dalla fonte.

Innanzitutto, scarica l'ultima versione di Netdata dal repository Git usando il seguente comando:

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

Una volta completato il download, cambia la directory in netdata e installa tutte le dipendenze richieste usando il seguente comando:

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

Successivamente, installa altri pacchetti con il seguente comando:

dnf --enablerepo=powertools install libuv-devel

Successivamente, esegui lo script di installazione di Netdata per avviare l'installazione.

./netdata-installer.sh

Otterrai il seguente output:

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

Premi il tasto Invio per installare Netdata sul tuo sistema. Una volta installato Netdata, otterrai il seguente output:

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

Ora puoi controllare lo stato del Netdata usando il seguente comando.

systemctl status netdata

Otterrai il seguente output:

? 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>

A questo punto, Netdata è in esecuzione ed è in ascolto sulla porta 19999. Puoi verificarlo con il seguente comando:

ss -antpl | grep netdata

Otterrai il seguente output:

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 volta terminato, puoi procedere al passaggio successivo.

Configura firewall

Se stai utilizzando firewalld firewall sul tuo sistema, dovrai consentire le porte 19999 e 80 attraverso firewalld. Puoi consentirli con il seguente comando:

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

Successivamente, ricarica il demone firewalld per applicare le modifiche:

firewall-cmd --reload

Una volta terminato, puoi procedere al passaggio successivo.

Configura Nginx come proxy inverso per Netdata

È sempre una buona idea installare e configurare Nginx come proxy inverso per accedere a Netdata. Innanzitutto, installa il server Nginx utilizzando il seguente comando:

dnf install nginx httpd-tools -y

Successivamente, genera un file di password con il seguente comando:

htpasswd -c /etc/nginx/.htpasswd netadmin

Imposta la tua password di amministratore come mostrato di seguito:

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

Successivamente, crea un file di configurazione dell'host virtuale Nginx con il seguente comando:

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

Aggiungi le seguenti righe:

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

Salva e chiudi il file, quindi verifica Nginx per eventuali errori di configurazione della sintassi:

nginx -t

Se tutto va bene, otterrai il seguente output:

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

Successivamente, riavvia il servizio Nginx per applicare le modifiche alla configurazione:

systemctl restart nginx

Puoi anche controllare lo stato di Nginx con il seguente comando:

systemctl status nginx

Dovresti vedere il seguente output:

? 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 volta terminato, puoi procedere al passaggio successivo.

Accedi alla dashboard di Netdata

Ora, apri il tuo browser web e accedi alla dashboard di Netdata utilizzando l'URL http://your-server-ip. Dovresti vedere la pagina di accesso di Netdata:

Fornisci il nome utente e la password dell'amministratore e fai clic sul pulsante Accedi. Dovresti vedere la dashboard di Netdata nella pagina seguente:

Conclusione

Congratulazioni! hai installato con successo lo strumento di monitoraggio Netdata su Alma Linux 8. Ora puoi iniziare a monitorare le matrici del tuo server in tempo reale dalla dashboard di Netdata. Non esitate a chiedermi se avete domande.