Kaip stebėti „CentOS 8/7“ serverio našumą naudojant „Netdata“.


Yra daugybė stebėjimo įrankių, kurie naudojami norint stebėti sistemos veikimą ir siųsti pranešimus, jei kas nors nutiktų. Tačiau diegimo ir konfigūravimo veiksmai dažnai yra varginantys.

Netdata yra atvirojo kodo stebėjimo ir trikčių šalinimo įrankis realiuoju laiku, kurį norint įdiegti reikia atlikti tik kelis veiksmus. Git saugykloje yra automatizuotas scenarijus, kuris atlieka didžiąją diegimo ir konfigūravimo proceso dalį ir pašalina sudėtingą konfigūraciją, susijusią su kitais stebėjimo įrankiais.

Nuo pat pradinio išleidimo 2013 m. spalio mėn. Netdata tapo labai populiarus. Ji renka realiojo laiko metriką, pvz., CPU ir RAM naudojimą, pralaidumo statistiką ir disko naudojimą, ir pateikia juos lengvai interpretuojamose diagramose/ grafikus.

Jis padarė didžiulius šuolius, todėl jis užsitarnavo vietą Forbes 2020 Cloud 100 kylančių žvaigždžių sąraše. Šis sąrašas sudaro 100 geriausių privačių debesijos kompanijų.

Šiame straipsnyje pamatysime, kaip galite įdiegti „Netdata“ sistemoje CentOS 8/7, kad galėtumėte stebėti serverių ir programų realiuoju laiku, našumą ir būklę.

Palaikomos platformos

Netdata palaiko šiuos paskirstymus:

  • CentOS 8 ir CentOS 7
  • RHEL 8 ir RHEL 7
  • Fedora Linux

Kaip įdiegti „Netdata“ „CentOS Linux“.

1. Prieš pradedant diegti Netdata, keli būtini paketai yra privalomi. Tačiau pirmiausia atnaujinkite sistemą ir įdiekite EPEL saugyklą, kaip parodyta.

sudo yum update
sudo yum install epel-release

2. Tada įdiekite reikiamus programinės įrangos paketus, kaip parodyta.

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

3. Įdiegę būtinus paketus, klonuokite Netdata git saugyklą, kaip parodyta.

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

4. Tada eikite į Netdata katalogą ir paleiskite scenarijų install-required-packages.sh. Scenarijus aptinka jūsų Linux platinimą ir įdiegia papildomus paketus, kurių reikia diegiant Netdata.

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

5. Galiausiai, norėdami įdiegti Netdata, paleiskite Netdata automatinį scenarijų, kaip parodyta toliau.

sudo ./netdata-installer.sh

Vykdydami scenarijų būsite informuoti, kur bus saugomi svarbūs Netdata failai. Tai apima konfigūracijos failus, žiniatinklio failus, papildinius, duomenų bazių failus ir žurnalo failus, kad būtų galima paminėti tik keletą.

6. Norėdami pradėti diegimo procesą, paspauskite ENTER. Diegimo proceso metu jums bus pateikti keli patarimai, kaip naršyklėje pasiekti „Netdata“ ir valdyti „Netdata“, pvz., paleisti ir sustabdyti.

Scenarijus veikia gana ilgai, atliekant visas būtinas konfigūracijas ir patikslinimus diegimo proceso metu. Mano atveju tai užtruko apie 3–5 minutes, o baigus rodoma išvestis turėtų būti patvirtinimas, kad diegimas buvo sėkmingas.

7. Įdiegę turime turėti Netdata demoną ir veikti. Norėdami pradėti, įjunkite Netdata demoną ir patikrinkite būseną, iškvieskite šias komandas:

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

8. Pagal numatytuosius nustatymus Netdata klausosi prievado 19999 ir galite tai patvirtinti naudodami komandą netstat, kaip parodyta:

sudo netstat -pnltu | grep netdata

9. Turime atidaryti šį ugniasienės prievadą, kad galėtume pasiekti Netdata per naršyklę. Todėl vykdykite šias komandas:

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

10. Norėdami pasiekti Netdata, paleiskite naršyklę ir naršykite URL, kaip parodyta:

http://centos8-ip:19999/

Pamatysite prietaisų skydelį, rodantį bendrą sistemos našumą intuityviose ir šauniose diagramose.

Nedvejodami apžiūrėkite skirtingas diagramas spustelėdami dešinėje šoninėje juostoje pateiktą metriką. Pavyzdžiui, norėdami pamatyti veikiančias sistemines paslaugas, spustelėkite parinktį sisteminės paslaugos, kaip parodyta.

„Netdata“ apsauga naudojant pagrindinį autentifikavimą „CentOS“.

Kaip tikriausiai pastebėjote, Netdata neteikia jokios autentifikavimo formos. Tai reiškia, kad beveik kiekvienas gali pasiekti prietaisų skydelį, jei turi „Netdata“ IP adresą.

Laimei, galime sukonfigūruoti pagrindinį autentifikavimą naudodami htpasswd programą ir Nginx žiniatinklio serverį kaip atvirkštinį tarpinį serverį. Todėl ketiname įdiegti „Nginx“ žiniatinklio serverį.

sudo dnf install nginx

Įdiegę Nginx, kataloge /etc/nginx/conf.d sukursime konfigūracijos failą. Tačiau nedvejodami naudokite katalogą galimos svetainės, jei „Nginx“ naudojate ne tik „Netdata“, bet ir kitais tikslais.

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

Pridėkite visą šią konfigūraciją ir būtinai pakeiskite direktyvas server_ip ir example.com naudodami savo serverio IP adresą ir serverio pavadinimą.

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

Naudotojo autentifikavimui sukursime naudotojo vardą ir slaptažodį vartotojui, vardu tecmint, naudodami įrankį htpasswd, o kredencialus saugosime netdata-access failą.

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

Pateikite slaptažodį ir patvirtinkite.

Tada iš naujo paleiskite „Nginx“ žiniatinklio serverį, kad pakeitimai įsigaliotų.

sudo systemctl restart nginx

Norėdami patikrinti, ar konfigūracija buvo teisinga, tęskite ir naršykite savo serverio IP adresą.

http://server-ip

Po to gausite prieigą prie „Netdata“ prietaisų skydelio.

Ir viskas, žmonės. Supažindinome su Netdata stebėjimo įrankio įdiegimu CentOS 8 ir sukonfigūravome pagrindinį autentifikavimą, kad apsaugotume stebėjimo įrankį. Parašykite mums ir praneškite, kaip sekėsi.