Kako pratiti izvedbu Ubuntua pomoću Netdata


Netdata je besplatni alat otvorenog koda za nadzor i rješavanje problema u stvarnom vremenu za poslužitelje u oblaku, spremnike, aplikacije i on-premise IT infrastrukturu. Pruža visoke granularne metrike sustava u stvarnom vremenu kao što su performanse CPU-a, iskorištenost RAM-a i diska i statistika propusnosti, da spomenemo neke.

Dodatno, Netdata također pruža interaktivne metričke vizualizacije kojima se može pristupiti u web pregledniku zajedno s inteligentnim alarmima koji pomažu u rješavanju grešaka u sustavu.

Vrhunska tehnologija i popularnost tvrtke Netdata priskrbile su joj mjesto u Forbesovoj listi 100 zvijezda u usponu 2020., što nije nimalo loše. Zapravo, u vrijeme pisanja ovog vodiča, dobio je gotovo 50.000 Github zvjezdica.

Postoje dva načina na koje možete instalirati Netdata. Možete odmah pokrenuti automatiziranu skriptu na BASH ljusci. Ovo ažurira vaše sustave i pokreće instalaciju Netdate. Alternativno, možete klonirati Netdatin Git repozitorij i nakon toga izvršiti automatiziranu skriptu. Prva metoda je jednostavna i jasna i na nju ćemo se usredotočiti u ovom vodiču.

U ovom ćemo članku vidjeti kako možete instalirati Netdata na Ubuntu za praćenje u stvarnom vremenu, performansi i nadgledanje stanja poslužitelja i aplikacija.

Podržane platforme

Netdata podržava sljedeće Ubuntu LTS distribucije:

  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04

Kako instalirati Netdata u Ubuntu Linux

Da biste započeli instalaciju, pokrenite donju naredbu na bash terminalu da biste preuzeli i izvršili skriptu.

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

Tijekom izvođenja skripte događa se sljedeće:

  • Skripta automatski otkriva vašu Linux distribuciju, ažurira popis paketa i instalira sve potrebne softverske pakete.
  • Najnovije stablo izvora netdata preuzima se na stazu /usr/src/netdata.git.
  • Skripta instalira netdata pokretanjem skripte ./netdata-installer.sh iz izvornog stabla.
  • Ažurira se cron.daily kako bi se osiguralo da se netdata ažurira na dnevnoj bazi.

Dok se skripta pokreće, dobit ćete savjete o tome kako pristupiti Netdata u pregledniku i kako njime upravljati kao systemd uslugom.

Instalacija traje neko vrijeme, pa joj dajte oko 10 minuta i vratite se. Konačno, dobit ćete rezultat u nastavku dok skripta završava instalaciju.

Nakon instalacije, pokrenite, omogućite i provjerite status Netdata kao što je prikazano.

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

Prema zadanim postavkama, Netdata sluša port 19999 i to se može potvrditi pomoću naredbe netstat kao što je prikazano.

sudo netstat -pnltu | grep netdata

Ako imate pokrenut UFW, potrudite se otvoriti port 19999 jer će to biti potrebno prilikom pristupa Netdata u pregledniku.

sudo ufw allow 19999/tcp
sudo ufw reload

Konačno, za pristup Netdata, prijeđite na svoj preglednik i pregledajte sljedeći URL

http://server-ip:19999/

To je ono što vas dočeka kada pregledate URL. Zapravo, shvatit ćete da se od vas neće tražiti da se prijavite. Sve metrike sustava bit će prikazane kao što je prikazano.

Možete prelistavati različite grafikone klikom na željenu metriku na desnoj bočnoj traci nadzorne ploče. Na primjer, da provjerite statistiku mrežnog sučelja, kliknite na opciju 'Mrežna sučelja'.

Osiguravanje Netdata osnovnom autentifikacijom na Ubuntuu

Do ove točke svatko može pristupiti nadzornoj ploči Netdata i zaviriti u različite metrike sustava. To predstavlja kršenje sigurnosti i to svakako želimo izbjeći.

Imajući ovo na umu, konfigurirat ćemo osnovnu HTTP provjeru autentičnosti. Moramo instalirati paket apache2-utils koji pruža program htpasswd koji će se koristiti za konfiguraciju korisničkog imena i lozinke korisnika. Dodatno, instalirat ćemo Nginx web poslužitelj koji će djelovati kao obrnuti proxy.

Za instalaciju web poslužitelja Nginx i paketa apache2-utils izvršite naredbu.


sudo apt install nginx apache2-utils

S instaliranim Nginx i apache2-utils, napravit ćemo konfiguracijsku datoteku unutar direktorija /etc/nginx/conf.d. Međutim, slobodno koristite sites-available imenik ako Nginx koristite u druge svrhe osim Netdata.


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

U konfiguracijskoj datoteci prvo ćemo uputiti Nginx da proksira dolazne zahtjeve za nadzornu ploču Netdata. Nakon toga ćemo dodati neki osnovni upit za provjeru autentičnosti koji samo ovlaštenim korisnicima odobrava pristup nadzornoj ploči Netdata pomoću provjere autentičnosti korisničkog imena/lozinke.

Ovdje je cijela konfiguracija. Imajte na umu da direktive server_ip i example.com zamijenite vlastitom IP adresom poslužitelja i nazivom poslužitelja.


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

Razumimo konfiguraciju, odjeljak po odjeljak.

odjeljak 1:


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

Specificirali smo upstream modul pod nazivom netdata-backend koji referencira Netdatin ugrađeni web poslužitelj koristeći loopback adresu 127.0.0.1< i port 19999 koji je zadani port na kojem Netdata sluša. Direktiva keepalive definira najveći broj neaktivnih veza koje mogu ostati otvorene.

Odjeljak 2:


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

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

Ovo je glavni odjeljak za blokiranje Nginx poslužitelja. Prvi red navodi vanjsku IP adresu koju bi Nginx trebao slušati kada klijenti šalju svoje zahtjeve. Direktiva server_name navodi naziv domene poslužitelja i upućuje Nginx da pokrene blok poslužitelja kada klijenti pozovu naziv domene umjesto vanjske IP adrese.

Posljednja dva retka označavaju jednostavnu HTTP provjeru autentičnosti koja zahtijeva da se korisnik prijavi pomoću korisničkog imena i lozinke. Modul auth_basic pokreće skočni prozor s korisničkim imenom/lozinkom u pregledniku s "Potrebna je provjera autentičnosti" na naslovu koji se kasnije može prilagoditi vašim željama.

Modul auth_basic_user_file ukazuje na naziv datoteke koji će sadržavati korisničko ime i lozinku korisnika ovlaštenog za pristup nadzornoj ploči Netdata – u ovom slučaju netdata-access. Kasnije ćemo kreirati ovu datoteku.

Odjeljak 3:

Posljednji odjeljak je blok lokacije koji se nalazi unutar bloka poslužitelja. Ovo upravlja proxyjem i prosljeđivanjem dolaznih zahtjeva na Nginx web poslužitelj.


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

Za provjeru autentičnosti stvorit ćemo korisničko ime i lozinku za korisnika koji se zove tecmint pomoću uslužnog programa htpasswd i pohraniti vjerodajnice unutar datoteke netdata-access .


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

Unesite lozinku i potvrdite je.

Zatim ponovno pokrenite Nginx web poslužitelj kako bi promjene stupile na snagu.


sudo systemctl restart nginx

Da biste provjerili je li konfiguracija bila ispravna, nastavite i pregledajte IP adresu svog poslužitelja


http://server-ip

Pojavit će se skočni prozor za provjeru autentičnosti kao što je prikazano u nastavku. Unesite svoje korisničko ime i lozinku i pritisnite ENTER.

Nakon toga dobit ćete pristup nadzornoj ploči Netdata.

Ovo nas dovodi do kraja naše današnje teme. Upravo ste naučili kako instalirati alat za nadzor Netdata i konfigurirati osnovnu HTTP provjeru autentičnosti na Ubuntu. Slobodno provjerite druge grafikone o raznim metrikama sustava.