Kaip stebėti „Ubuntu“ našumą naudojant „Netdata“.


Netdata yra nemokamas atvirojo kodo stebėjimo ir trikčių šalinimo įrankis, skirtas debesies serveriams, konteineriams, programoms ir vietinei IT infrastruktūrai. Jame pateikiami aukšti smulkūs ir realaus laiko sistemos rodikliai, tokie kaip procesoriaus našumas, RAM ir disko panaudojimas bei pralaidumo statistika.

Be to, „Netdata“ taip pat teikia interaktyvias metrines vizualizacijas, kurias galima pasiekti žiniatinklio naršyklėje, kartu su išmaniaisiais aliarmais, kurie padeda šalinti sistemos gedimus.

Dėl pažangiausių „Netdata“ technologijų ir populiarumo 2020 m. ji užsitarnavo vietą „Forbes“ debesies 100 kylančių žvaigždžių sąraše, o tai nėra menkas žygdarbis. Tiesą sakant, šio vadovo rašymo metu jis buvo įvertintas beveik 50 000 „Github“ žvaigždučių.

Yra du būdai, kuriais galite įdiegti Netdata. Galite iš karto paleisti automatinį scenarijų BASH apvalkale. Tai atnaujina jūsų sistemas ir inicijuoja „Netdata“ diegimą. Arba galite klonuoti „Netdata“ „Git“ saugyklą ir po to vykdyti automatizuotą scenarijų. Pirmasis metodas yra paprastas ir aiškus, todėl šiame vadove mes sutelksime dėmesį į jį.

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

Palaikomos platformos

Netdata palaiko šiuos Ubuntu LTS paskirstymus:

  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04

Kaip įdiegti „Netdata“ Ubuntu Linux

Norėdami pradėti diegti, paleiskite žemiau esančią komandą savo bash terminale, kad atsisiųstumėte ir paleistumėte scenarijų.

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

Vykdant scenarijų vyksta šie veiksmai:

  • Scenarijus automatiškai aptinka jūsų Linux platinimą, atnaujina paketų sąrašą ir įdiegia visus reikiamus programinės įrangos paketus.
  • Naujausias tinklo duomenų šaltinio medis atsisiunčiamas į /usr/src/netdata.git kelią.
  • Scenarijus įdiegia netdata paleisdamas scenarijų ./netdata-installer.sh iš šaltinio medžio.
  • Atnaujinamas cron.daily, siekiant užtikrinti, kad netdata būtų atnaujinama kasdien.

Kai scenarijus bus paleistas, jums bus pateikti patarimai, kaip naršyklėje pasiekti Netdata ir kaip juos valdyti kaip sisteminę paslaugą.

Diegimas užtrunka, todėl skirkite apie 10 minučių ir grįžkite. Galiausiai gausite toliau pateiktą išvestį, kai scenarijus baigs diegimą.

Įdiegę paleiskite, įgalinkite ir patikrinkite Netdata būseną, kaip parodyta.

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

Pagal numatytuosius nustatymus Netdata klausosi prievado 19999 ir tai galima patvirtinti naudojant komandą netstat, kaip parodyta.

sudo netstat -pnltu | grep netdata

Jei veikia UFW, pasistenkite atidaryti prievadą 1999, nes to reikės naršyklėje pasiekiant Netdata.

sudo ufw allow 19999/tcp
sudo ufw reload

Galiausiai, norėdami pasiekti Netdata, perjunkite į naršyklę ir naršykite toliau nurodytu URL

http://server-ip:19999/

Tai pasitinka, kai naršote URL. Tiesą sakant, jūs suprasite, kad jums nereikės prisijungti. Visa sistemos metrika bus rodoma taip, kaip parodyta.

Galite peržiūrėti įvairias diagramas spustelėdami pageidaujamą metriką dešinėje prietaisų skydelio šoninėje juostoje. Pavyzdžiui, norėdami peržiūrėti tinklo sąsajos statistiką, spustelėkite parinktį Tinklo sąsajos.

„Netdata“ apsauga naudojant pagrindinį „Ubuntu“ autentifikavimą

Iki šiol bet kas gali pasiekti Netdata informacijos suvestinę ir peržiūrėti įvairią sistemos metriką. Tai prilygsta saugumo pažeidimui ir mes tikrai norime to išvengti.

Turėdami tai omenyje, sukonfigūruosime pagrindinį HTTP autentifikavimą. Turime įdiegti apache2-utils paketą, kuriame pateikiama htpasswd programa, kuri bus naudojama vartotojo vartotojo vardui ir slaptažodžiui konfigūruoti. Be to, įdiegsime „Nginx“ žiniatinklio serverį, kuris veiks kaip atvirkštinis tarpinis serveris.

Norėdami įdiegti Nginx žiniatinklio serverį ir apache2-utils paketą, vykdykite komandą.


sudo apt install nginx apache2-utils

Įdiegę Nginx ir apache2-utils, kataloge /etc/nginx/conf.d sukursime konfigūracijos failą. Tačiau nedvejodami naudokite katalogą galimos svetainės, jei naudojate Nginx ne tik Netdata, bet ir kitiems tikslams.


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

Konfigūracijos faile pirmiausia nurodysime Nginx perduoti gaunamas užklausas Netdata prietaisų skydelyje. Vėliau pridėsime pagrindinį autentifikavimo raginimą, kuris tik įgaliotiems naudotojams suteikia prieigą prie Netdata informacijos suvestinės naudojant naudotojo vardo/slaptažodžio autentifikavimą.

Čia yra visa konfigūracija. Nepamirškite pakeisti direktyvas server_ip ir example.com savo serverio IP adresu ir serverio pavadinimu.


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

Supraskime konfigūraciją, skyrių po skyriaus.

1 skyrius:


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

Nurodėme prieš srovę modulį, pavadintą netdata-backend, kuris nurodo įtaisytąjį Netdata žiniatinklio serverį naudojant grįžimo adresą 127.0.0.1< ir prievadą 19999, kuris yra numatytasis prievadas, kurio „Netdata“ klauso. Keepalive direktyva apibrėžia didžiausią neaktyvių jungčių, kurios gali likti atviros, skaičių.

2 skyrius:


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

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

Tai yra pagrindinė Nginx serverio bloko skiltis. Pirmoje eilutėje nurodomas išorinis IP adresas, kurio „Nginx“ turėtų klausytis, kai klientai siunčia savo užklausas. Direktyva server_name nurodo serverio domeno pavadinimą ir nurodo Nginx paleisti serverio bloką, kai klientai iškviečia domeno pavadinimą, o ne išorinį IP adresą.

Paskutinės dvi eilutės nurodo paprastą HTTP autentifikavimą, kurį naudojant vartotojas turi prisijungti naudodamas vartotojo vardą ir slaptažodį. Modulis auth_basic suaktyvina naudotojo vardo/slaptažodžio iššokantįjį langą naršyklėje su užrašu „Reikalingas autentifikavimas“, kurį vėliau galima tinkinti pagal savo pageidavimus.

Modulis auth_basic_user_file nurodo failo pavadinimą, kuriame bus vartotojo, įgalioto pasiekti Netdata prietaisų skydelį, naudotojo vardas ir slaptažodis – šiuo atveju netdata-access. Šį failą sukursime vėliau.

3 skyrius:

Paskutinis skyrius yra vietos blokas, kuris yra serverio bloke. Tai tvarko tarpinį serverį ir gaunamų užklausų persiuntimą į Nginx žiniatinklio serverį.


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

Autentifikavimui sukursime naudotojo vardą ir slaptažodį vartotojui, vardu tecmint, naudodami htpasswd priemonę ir išsaugosime kredencialus netdata-access faile. .


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

Atsiras autentifikavimo iššokantis langas, kaip parodyta toliau. Pateikite savo vartotojo vardą ir slaptažodį ir paspauskite ENTER.

Po to gausite prieigą prie Netdata informacijos suvestinės.

Tai veda prie mūsų šiandieninės temos pabaigos. Ką tik sužinojote, kaip įdiegti Netdata stebėjimo įrankį ir sukonfigūruoti pagrindinį HTTP autentifikavimą Ubuntu. Nedvejodami peržiūrėkite kitus grafikus apie įvairius sistemos rodiklius.