Kako spremljati delovanje strežnika CentOS 8/7 z uporabo Netdata


Obstaja veliko orodij za spremljanje, ki se uporabljajo za spremljanje delovanja sistemov in pošiljanje obvestil, če gre kaj narobe. Vendar so koraki namestitve in konfiguracije pogosto dolgočasni.

Netdata je odprtokodno orodje za spremljanje in odpravljanje težav v realnem času, ki zahteva le nekaj korakov za namestitev. Skladišče Git je opremljeno z avtomatiziranim skriptom, ki obravnava večino namestitvenega in konfiguracijskega procesa ter odstrani okorno konfiguracijo, povezano z drugimi orodji za spremljanje.

Netdata je postala izjemno priljubljena od prve izdaje oktobra 2013. Zbira meritve v realnem času, kot je uporaba diska, in jih prikazuje na preprostih za razlago grafikonih/grafikonih.

Naredil je ogromne preskoke in s tem si je prislužil mesto na vzhajajočih zvezdah Forbes 2020 Cloud 100. Ta seznam predstavlja 100 najboljših zasebnih podjetij v oblaku.

V tem članku bomo videli, kako lahko Netdata namestite na CentOS 8/7 za spremljanje sprotnega delovanja, delovanja in spremljanja stanja strežnikov in aplikacij.

Netdata podpira naslednje distribucije:

  • CentOS 8 in CentOS 7
  • RHEL 8 in RHEL 7
  • Fedora Linux

Kako namestiti Netdata v CentOS Linux

1. Preden se poglobimo v namestitev Netdata, je obveznih nekaj predpogojnih paketov. Najprej posodobite sistem in namestite repozitorij EPEL, kot je prikazano.

$ sudo yum update
$ sudo yum install epel-release

2. Nato namestite potrebne programske pakete, kot je prikazano.

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

3. Ko končate z namestitvijo predpogojnih paketov, klonirajte repozitorij Netdata git, kot je prikazano.

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

4. Nato se pomaknite v imenik Netdata in izvedite skript install-required-packages.sh. Skript zazna vašo distribucijo Linuxa in namesti dodatne pakete, ki so potrebni med namestitvijo Netdata.

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

5. Na koncu, da namestite Netdata, zaženite samodejni skript Netdata, kot je prikazano spodaj.

$ sudo ./netdata-installer.sh

Po izvedbi skripta boste obveščeni, kje bodo shranjene ključne datoteke Netdata. Sem spadajo konfiguracijske datoteke, spletne datoteke, vtičniki, datoteke zbirke podatkov in dnevniške datoteke, če omenimo le nekatere.

6. Pritisnite "ENTER", da začnete postopek namestitve. Med namestitvenim postopkom boste dobili nekaj nasvetov o dostopu do Netdata v brskalniku in upravljanju Netdata, kot je zagon in zaustavitev.

Skript teče že nekaj časa in med namestitvijo naredi vse potrebne konfiguracije in popravke. V mojem primeru je trajalo približno 3-5 minut in ko je končan, mora biti prikazani izhod potrditev uspešne namestitve.

7. Ko je nameščen, moramo imeti pripravljen demon Netdata. Če želite začeti, omogočite demon Netdata ob zagonu in preverite, ali stanje prikliče naslednje ukaze:

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

8. Netdata privzeto posluša na vratih 19999 in to lahko potrdite z ukazom netstat, kot je prikazano:

$ sudo netstat -pnltu | grep netdata

9. Ta vrata moramo odpreti na požarnem zidu, da imamo dostop do Netdata prek brskalnika. Zato zaženite spodnje ukaze:

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

10. Za dostop do Netdata zaženite brskalnik in pobrskajte po URL-ju, kot je prikazano:

$ http://centos8-ip:19999/

Prikazala se bo nadzorna plošča, ki vam bo dala splošno zmogljivost sistema na intuitivnih in hladnih grafih.

S klikom na meritve, ki so navedene na desni stranski vrstici, si lahko ogledate različne grafe. Če si želite na primer ogledati sistemske storitve, ki se izvajajo, kliknite možnost »sistemske storitve«, kot je prikazano.

Zaščita Netdata z osnovno overitvijo na CentOS

Kot ste morda zaskrbljujoče opazili, Netdata ne zagotavlja nobene oblike preverjanja pristnosti. To pomeni, da lahko do nadzorne plošče dostopa tako rekoč vsak, če dobi IP naslov Netdata.

Na srečo lahko osnovno preverjanje pristnosti nastavimo s pomočjo programa htpasswd in spletnega strežnika Nginx kot obratnega proxyja. Zato bomo namestili spletni strežnik Nginx.

$ sudo dnf install nginx

Z nameščenim Nginxom bomo v imeniku /etc/nginx/conf.d ustvarili konfiguracijsko datoteko. Vendar, če uporabljate Nginx za druge namene, razen Netdata, uporabite imenik, ki je na voljo na spletnih mestih.

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

Dodajte naslednjo celotno konfiguracijo in spremenite direktivi server_ip in example.com z lastnim naslovom IP strežnika in imenom strežnika.

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

Za preverjanje pristnosti uporabnika bomo z orodjem htpasswd ustvarili uporabniško ime in geslo za uporabnika, imenovanega tecmint, ter hranili poverilnice v datoteki netdata-access.

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

Vnesite geslo in ga potrdite.

Nato znova zaženite spletni strežnik Nginx, da bodo spremembe začele veljati.

$ sudo systemctl restart nginx

Če želite preizkusiti, ali je konfiguracija šla pravilno, nadaljujte in pobrskajte po naslovu IP strežnika.

http://server-ip

Nato boste dobili dostop do nadzorne plošče Netdata.

In to je to, ljudje. Popeljali smo vas skozi namestitev orodja Netdata Monitoring na CentOS 8 in konfigurirali osnovno preverjanje pristnosti za zaščito orodja za spremljanje. Pošljite nam krik in nam sporočite, kako je šlo.