Vyhledávání na webu

Jak monitorovat výkon Ubuntu pomocí Netdata


Netdata je bezplatný a opensource nástroj pro monitorování a řešení problémů v reálném čase pro cloudové servery, kontejnery, aplikace a místní IT infrastrukturu. Poskytuje vysoce podrobné systémové metriky v reálném čase, jako je výkon CPU, využití RAM a disku a statistiky šířky pásma, abychom zmínili alespoň některé.

Netdata navíc také poskytuje interaktivní metrické vizualizace, ke kterým lze přistupovat prostřednictvím webového prohlížeče, spolu s inteligentními alarmy, které pomáhají při odstraňování poruch systému.

Špičková technologie a popularita společnosti Netdata jí v roce 2020 vynesla místo v žebříčku Forbes cloud 100 vycházejících hvězd, což není nic špatného. Ve skutečnosti v době psaní této příručky získala téměř 50 000 hvězd Github.

Netdata můžete nainstalovat dvěma způsoby. Okamžitě můžete spustit automatický skript v prostředí BASH. Tím se aktualizují vaše systémy a zahájí se instalace Netdata. Případně můžete naklonovat úložiště Git Netdata a poté spustit automatický skript. První metoda je jednoduchá a přímočará a na ni se v této příručce zaměříme.

V tomto článku se podíváme, jak můžete nainstalovat Netdata na Ubuntu, abyste mohli v reálném čase monitorovat výkon a stav serverů a aplikací.

Podporované platformy

Netdata podporují následující distribuce Ubuntu LTS:

  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04

Jak nainstalovat Netdata v Ubuntu Linux

Chcete-li zahájit instalaci, spusťte níže uvedený příkaz na svém bash terminálu a stáhněte a spusťte skript.

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

Během provádění skriptu se děje následující:

  • Skript automaticky zjistí vaši distribuci Linuxu, aktualizuje seznam balíčků a nainstaluje všechny potřebné softwarové balíčky.
  • Nejnovější strom zdroje netdata se stáhne do cesty /usr/src/netdata.git.
  • Skript nainstaluje netdata spuštěním skriptu ./netdata-installer.sh ze zdrojového stromu.
  • Aktualizace cron.daily zajišťuje, že netdata budou aktualizována každý den.

Během spouštění skriptu budete dostávat tipy, jak přistupovat k Netdata v prohlížeči a jak je spravovat jako službu systemd.

Instalace chvíli trvá, tak tomu dejte asi 10 minut a vraťte se. Nakonec získáte výstup níže, když skript dokončí instalaci.

Po instalaci spusťte, povolte a ověřte stav Netdata podle obrázku.

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

Ve výchozím nastavení Netdata naslouchá na portu 19999 a to lze potvrdit pomocí příkazu netstat, jak je uvedeno na obrázku.

sudo netstat -pnltu | grep netdata

Pokud máte spuštěné UFW, pokuste se otevřít port 19999, protože to bude vyžadováno při přístupu k Netdata v prohlížeči.

sudo ufw allow 19999/tcp
sudo ufw reload

Chcete-li získat přístup k Netdata, přepněte do prohlížeče a projděte si následující adresu URL

http://server-ip:19999/

To je to, co vás přivítá, jakmile projdete URL. Ve skutečnosti si uvědomíte, že se nebudete muset přihlašovat. Všechny metriky systému se zobrazí tak, jak je uvedeno.

Kliknutím na preferované metriky na pravém postranním panelu řídicího panelu můžete procházet různými grafy. Chcete-li například zkontrolovat statistiky síťového rozhraní, klikněte na možnost „Síťová rozhraní“.

Zabezpečení Netdata pomocí základního ověřování na Ubuntu

Až do tohoto okamžiku má kdokoli přístup k řídicímu panelu Netdata a může nahlédnout do různých systémových metrik. To představuje narušení bezpečnosti a tomu se rozhodně chceme vyhnout.

S ohledem na to nakonfigurujeme základní ověřování HTTP. Musíme nainstalovat balíček apache2-utils, který poskytuje program htpasswd, který bude použit ke konfiguraci uživatelského jména a hesla uživatele. Kromě toho nainstalujeme webový server Nginx, který bude fungovat jako reverzní proxy.

Chcete-li nainstalovat webový server Nginx a balíček apache2-utils, spusťte příkaz.


sudo apt install nginx apache2-utils

S nainstalovanými Nginx a apache2-utils vytvoříme konfigurační soubor v adresáři /etc/nginx/conf.d. Neváhejte však použít adresář sites-available, pokud Nginx používáte pro jiné účely než Netdata.


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

V konfiguračním souboru nejprve dáme pokyn Nginx, aby proxy příchozí požadavky pro řídicí panel Netdata. Poté připojíme základní výzvu k ověření, která uděluje pouze oprávněným uživatelům přístup k řídicímu panelu Netdata pomocí ověření pomocí uživatelského jména a hesla.

Zde je celá konfigurace. Nezapomeňte nahradit direktivy server_ip a example.com vlastní IP adresou a názvem serveru.


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

Pojďme pochopit konfiguraci, část po části.

Sekce 1:


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

Specifikovali jsme upstream modul nazvaný netdata-backend, který odkazuje na vestavěný webový server Netdata pomocí loopback adresy 127.0.0.1< a port 19999, což je výchozí port, na kterém Netdata naslouchá. Direktiva keepalive definuje maximální počet nečinných připojení, která mohou zůstat otevřená.

Sekce 2:


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

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

Toto je hlavní sekce bloku serveru Nginx. První řádek určuje externí IP adresu, kterou by měl Nginx naslouchat, když klienti posílají své požadavky. Direktiva server_name specifikuje název domény serveru a instruuje Nginx, aby spustil blok serveru, když klienti zavolají název domény místo externí IP adresy.

Poslední dva řádky označují jednoduchou autentizaci HTTP, která vyžaduje, aby se uživatel přihlásil pomocí uživatelského jména a hesla. Modul auth_basic spustí v prohlížeči vyskakovací okno s uživatelským jménem/heslem s nápisem „Vyžadováno ověření“, který lze později upravit podle vašich preferencí.

Modul auth_basic_user_file ukazuje na název souboru, který bude obsahovat uživatelské jméno a heslo uživatele oprávněného přistupovat k řídicímu panelu Netdata – v tomto případě netdata-access. Tento soubor vytvoříme později.

Část 3:

Poslední sekcí je blok location, který je obsažen v bloku serveru. To řeší proxy a předávání příchozích požadavků na webový server Nginx.


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

Pro ověření vytvoříme uživatelské jméno a heslo pro uživatele s názvem tecmint pomocí nástroje htpasswd a uložíme přihlašovací údaje do souboru netdata-access .


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

Zadejte heslo a potvrďte jej.

Poté restartujte webový server Nginx, aby se změny projevily.


sudo systemctl restart nginx

Chcete-li otestovat, zda konfigurace proběhla správně, pokračujte a vyhledejte IP adresu svého serveru


http://server-ip

Zobrazí se vyskakovací okno ověření, jak je znázorněno níže. Zadejte své uživatelské jméno a heslo a stiskněte ENTER.

Poté získáte přístup k řídicímu panelu Netdata.

Tím se naše dnešní téma dostáváme na konec. Právě jste se naučili, jak nainstalovat monitorovací nástroj Netdata a konfiguraci základního ověřování HTTP na Ubuntu. Neváhejte a podívejte se na další grafy různých systémových metrik.