Wyszukiwanie w witrynie

Jak monitorować wydajność Ubuntu za pomocą Netdata


Netdata to bezpłatne narzędzie typu open source do monitorowania i rozwiązywania problemów w czasie rzeczywistym dla serwerów w chmurze, kontenerów, aplikacji i lokalnej infrastruktury IT. Zapewnia szczegółowe wskaźniki systemowe w czasie rzeczywistym, takie jak wydajność procesora, wykorzystanie pamięci RAM i dysku oraz statystyki przepustowości, żeby wymienić tylko kilka.

Dodatkowo Netdata zapewnia także interaktywne wizualizacje metryk, do których można uzyskać dostęp w przeglądarce internetowej, wraz z inteligentnymi alarmami, które pomagają w rozwiązywaniu problemów z awariami systemu.

Dzięki najnowocześniejszej technologii i popularności Netdata znalazła się na liście 100 wschodzących gwiazd magazynu Forbes w 2020 r., co jest nie lada wyczynem. W chwili pisania tego przewodnika otrzymał on prawie 50 000 gwiazdek na Githubie.

Istnieją dwa sposoby instalacji Netdata. Możesz od razu uruchomić automatyczny skrypt w powłoce BASH. To zaktualizuje twoje systemy i zainicjuje instalację Netdata. Alternatywnie możesz sklonować repozytorium Git Netdata, a następnie uruchomić automatyczny skrypt. Pierwsza metoda jest prosta i oczywista i na niej skupimy się w tym przewodniku.

W tym artykule zobaczymy, jak zainstalować Netdata na Ubuntu, aby monitorować w czasie rzeczywistym wydajność i stan serwerów i aplikacji.

Obsługiwane platformy

Netdata obsługuje następujące dystrybucje Ubuntu LTS:

  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04

Jak zainstalować Netdata w systemie Ubuntu Linux

Aby rozpocząć instalację, uruchom poniższe polecenie na terminalu bash, aby pobrać i uruchomić skrypt.

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

Podczas wykonywania skryptu ma miejsce:

  • Skrypt automatycznie wykrywa Twoją dystrybucję Linuksa, aktualizuje listę pakietów i instaluje wszystkie wymagane pakiety oprogramowania.
  • Najnowsze drzewo źródeł netdata zostanie pobrane do ścieżki /usr/src/netdata.git.
  • Skrypt instaluje netdata, uruchamiając skrypt ./netdata-installer.sh z drzewa źródłowego.
  • Wprowadzono aktualizację cron.daily, aby zapewnić codzienną aktualizację netdata.

Po uruchomieniu skryptu otrzymasz wskazówki, jak uzyskać dostęp do Netdata w przeglądarce i jak zarządzać nią jako usługą systemową.

Instalacja zajmuje trochę czasu, więc daj jej około 10 minut i wróć. Na koniec otrzymasz poniższe dane wyjściowe, gdy skrypt zakończy instalację.

Po zainstalowaniu uruchom, włącz i sprawdź stan Netdata, jak pokazano.

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

Domyślnie Netdata nasłuchuje na porcie 19999 i można to sprawdzić za pomocą polecenia netstat, jak pokazano.

sudo netstat -pnltu | grep netdata

Jeśli masz uruchomione UFW, spróbuj otworzyć port 19999, ponieważ będzie to wymagane podczas uzyskiwania dostępu do Netdata w przeglądarce.

sudo ufw allow 19999/tcp
sudo ufw reload

Na koniec, aby uzyskać dostęp do Netdata, przejdź do przeglądarki i przeglądaj następujący adres URL

http://server-ip:19999/

To właśnie Cię wita, gdy przeglądasz adres URL. W rzeczywistości zdasz sobie sprawę, że nie będziesz musiał się logować. Wszystkie wskaźniki systemu zostaną wyświetlone, jak pokazano.

Możesz przeglądać różne wykresy, klikając preferowane dane na prawym pasku bocznym pulpitu nawigacyjnego. Na przykład, aby sprawdzić statystyki interfejsu sieciowego, kliknij opcję „Interfejsy sieciowe”.

Zabezpieczanie danych sieciowych za pomocą uwierzytelniania podstawowego w systemie Ubuntu

Do tego momentu każdy może uzyskać dostęp do panelu Netdata i rzucić okiem na różne wskaźniki systemowe. Stanowi to naruszenie bezpieczeństwa, którego zdecydowanie chcemy uniknąć.

Mając to na uwadze, skonfigurujemy podstawowe uwierzytelnianie HTTP. Musimy zainstalować pakiet apache2-utils, który udostępnia program htpasswd, który będzie używany do konfiguracji nazwy użytkownika i hasła użytkownika. Dodatkowo zainstalujemy serwer WWW Nginx, który będzie pełnił funkcję odwrotnego proxy.

Aby zainstalować serwer WWW Nginx i pakiet apache2-utils, wykonaj polecenie.


sudo apt install nginx apache2-utils

Po zainstalowaniu Nginx i apache2-utils utworzymy plik konfiguracyjny w katalogu /etc/nginx/conf.d. Jeśli jednak używasz Nginx do innych celów niż Netdata, możesz skorzystać z katalogu dostępne witryny.


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

Wewnątrz pliku konfiguracyjnego najpierw poinstruujemy Nginx, aby proxy przychodzące żądania do pulpitu nawigacyjnego Netdata. Następnie dołączymy podstawowy monit o uwierzytelnienie, który zapewni dostęp do panelu Netdata tylko autoryzowanym użytkownikom przy użyciu uwierzytelnienia za pomocą nazwy użytkownika i hasła.

Oto cała konfiguracja. Pamiętaj, aby zastąpić dyrektywy server_ip i example.com własnym adresem IP i nazwą serwera.


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

Przyjrzyjmy się konfiguracji sekcja po sekcji.

Sekcja 1:


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

Określiliśmy moduł upstream o nazwie netdata-backend, który odwołuje się do wbudowanego serwera internetowego Netdata przy użyciu adresu loopback 127.0.0.1< i port 19999, który jest domyślnym portem, na którym nasłuchuje Netdata. Dyrektywa keepalive określa maksymalną liczbę bezczynnych połączeń, które mogą pozostać otwarte.

Sekcja 2:


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

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

To jest główna sekcja dotycząca bloków serwera Nginx. Pierwsza linia określa zewnętrzny adres IP, którego Nginx powinien nasłuchiwać, gdy klienci wysyłają swoje żądania. Dyrektywa nazwa_serwera określa nazwę domeny serwera i instruuje Nginx, aby uruchomił blok serwera, gdy klienci wywołają nazwę domeny zamiast zewnętrznego adresu IP.

Ostatnie dwie linie wskazują proste uwierzytelnianie HTTP, które wymaga od użytkownika zalogowania się przy użyciu nazwy użytkownika i hasła. Moduł auth_basic powoduje wyświetlenie w przeglądarce wyskakującego okienka z nazwą użytkownika i hasłem z informacją „Wymagane uwierzytelnienie” w tytule, które można później dostosować do własnych preferencji.

Moduł auth_basic_user_file wskazuje nazwę pliku, który będzie zawierał nazwę użytkownika i hasło użytkownika uprawnionego do dostępu do dashboardu Netdata – w tym przypadku netdata-access. Utworzymy ten plik później.

Sekcja 3:

Ostatnia sekcja to blok lokalizacji zawarty w bloku serwera. Obsługuje to proxy i przekazywanie przychodzących żądań do serwera WWW 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;
    }

W celu uwierzytelnienia utworzymy nazwę użytkownika i hasło dla użytkownika o nazwie tecmint za pomocą narzędzia htpasswd i zapiszemy dane uwierzytelniające w pliku netdata-access .


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

Podaj hasło i potwierdź je.

Następnie zrestartuj serwer WWW Nginx, aby zmiany zaczęły obowiązywać.


sudo systemctl restart nginx

Aby sprawdzić, czy konfiguracja przebiegła prawidłowo, przejdź dalej i przeglądaj adres IP swojego serwera


http://server-ip

Pojawi się wyskakujące okienko uwierzytelniania, jak pokazano poniżej. Podaj swoją nazwę użytkownika i hasło, a następnie naciśnij ENTER.

Następnie uzyskasz dostęp do panelu Netdata.

W ten sposób dotarliśmy do końca naszego dzisiejszego tematu. Właśnie nauczyłeś się instalować narzędzie monitorujące Netdata i konfigurować podstawowe uwierzytelnianie HTTP na Ubuntu. Zachęcamy do sprawdzenia innych wykresów przedstawiających różne wskaźniki systemowe.