Jak monitorować kontenery Docker za pomocą narzędzia monitorowania Zabbix

Jak monitorować kontenery Docker za pomocą narzędzia monitorowania Zabbix

Doker jest prawdopodobnie jednym z najbardziej cenionych Devops Narzędzia, które usprawniają opracowanie, wdrażanie i wysyłkę aplikacji wewnątrz kontenerów.

Pojęcie konteneryzacji pociąga za sobą wykorzystanie obrazów kontenerowych. Są to małe, lekkie i samodzielne pakiety wykonywalne, które zawierają wszystko, co jest potrzebne do uruchomienia aplikacji, w tym kodu źródłowego, bibliotek i zależności i plików konfiguracyjnych.

W ten sposób aplikacja może działać w prawie każdym środowisku obliczeniowym; Tradycyjna infrastruktura IT, chmura i niezliczona ilość smaków Linux / Unix.

Monitorowanie kontenerów pomaga zespołom obsługi identyfikacji problemów i rozwiązywanie ich w odpowiednim czasie. Monitorowanie kontenerów obejmuje przechwytywanie podstawowych wskaźników, takich jak użycie procesora, wykorzystanie pamięci, rozmiar pojemnika i wykorzystanie przepustowości, aby wymienić kilka. Dodatkowo możesz zebrać dzienniki w czasie rzeczywistym, które są pomocne w debugowaniu i ostrzeganiu zespołu IT, kiedy skalować.

Zabbix jest popularnym narzędziem monitorowania infrastruktury IT, które obserwuje prawie każdy element środowiska, w tym urządzenia fizyczne, takie jak serwery i urządzenia sieciowe, takie jak routery i przełączniki. Może również monitorować aplikacje, usługi i bazy danych.

W tym przewodniku pokażemy, w jaki sposób możesz monitorować Doker pojemniki za pomocą Zabbix Narzędzie do monitorowania w Linux.

Wymagania

Oto, czego potrzebujesz przed rozpoczęciem:

Po pierwsze, upewnij się, że masz dwa węzły - pierwszym węzłem jest serwer Zabbix. To jest węzeł, z którego będziemy monitorować pilota Doker serwer. Mamy artykuł na temat:

  • Jak zainstalować Zabbix na Rocky Linux i Almalinux
  • Jak zainstalować narzędzie do monitorowania Zabbix na Debian 11/10
  • Jak zainstalować Zabbix na RHEL 8
  • Jak zainstalować Zabbix na Ubuntu

Drugi węzeł to Doker serwer na którym Doker jest zainstalowane. To jest węzeł, z którego uruchomimy kontenery Docker i monitorujemy aktywność kontenera.

  • Jak zainstalować Docker na Rocky Linux i Almalinux
  • Jak zainstalować i używać Docker na Ubuntu 20.04
  • Jak zainstalować Docker w Centos i Rhel 8/7

Następnie upewnij się, że masz dostęp do SSH do swojego Doker Węzeł serwerowy z już skonfigurowanym użytkownikiem Sudo.

Dzięki konfiguracji możesz teraz toczyć rękawy!

Krok 1: Zainstaluj Zabbix-Agent w Linux

Monitorować Doker kontenery na zdalnym serwerze, musisz zainstalować Agent Zabbix, który jest agentem monitorującym, który jest wdrażany w węźle docelowym w celu aktywnego monitorowania wskaźników systemu i innych aplikacji.

Najpierw musisz zainstalować Zabbix Repozytorium na Doker węzeł.

----------- Na Ubuntu 20.04 ----------- $ sudo wget https: // repo.Zabbix.com/Zabbix/5.4/Ubuntu/Pool/Main/Z/Zabbix-Rulease/Zabbix-Release_5.4-1+Ubuntu20.04_ALL.Deb $ sudo dpkg -i Zabbix -Release_5.4-1+Ubuntu20.04_ALL.Deb $ sudo apt aktualizacja $ sudo apt instaluj Zabbix-Agent2 ----------- Na dystrybucji opartej na REL ----------- $ sudo rpm -uvh https: // repo.Zabbix.com/Zabbix/5.4/RHEL/8/x86_64/Zabbix-Release-5.4-1.El8.Noarch.RPM $ sudo DNF aktualizacja $ sudo dnf instalacja Zabbix-agent ----------- Na Debian 11 ----------- $ sudo wget https: // repo.Zabbix.com/Zabbix/5.4/debian/bil).4-1%2BDEBIAN11_ALL.Deb $ sudo dpkg -i Zabbix -Release_5.4-1%2BDEBIAN11_ALL.Deb $ sudo apt aktualizacja $ sudo apt instaluj Zabbix-Agent2 ----------- Na Debian 10 ----------- $ sudo wget https: // repo.Zabbix.com/Zabbix/5.4/debian/bil).4-1%2BDEBIAN10_ALL.Deb $ sudo dpkg -i Zabbix -Release_5.4-1%2BDEBIAN10_ALL.Deb $ sudo apt aktualizacja $ sudo apt instaluj Zabbix-Agent2 

Krok 2: Skonfiguruj Zabbix-Agent w Linux

Domyślnie, Zabbix agent ma wysłać wskaźniki do Zabbix serwer na tym samym hoście, który jest zainstalowany. Ponieważ naszym celem jest monitorowanie doker kontenery na zdalnym serwerze wymagane są dodatkowe konfiguracje.

Dlatego uzyskaj dostęp do Zabbix plik konfiguracyjny agenta.

$ sudo vim/etc/Zabbix/Zabbix_Agent2.conf 

Plik konfiguracyjny zawiera ustawienia, które określają adres, do którego wysyłane są metryki, port używany do połączeń i wiele więcej. W przeważającej części ustawienia domyślne będą działać dobrze.

Aby skonfigurować Zabbix agent do wysyłania wskaźników do Zabbix serwer, zlokalizuj dyrektywę skonfigurowaną do wysyłania wskaźników na adres pętli lub po prostu, ten sam system hosta.

Serwer = 127.0.0.1 

Ustaw adres, aby odzwierciedlić adres serwera Zabbix

Server = Zabbix-Server-IP 

Dodatkowo przejdź do 'Aktywne kontrole„Sekcja i zmień dyrektywę, aby wskazać adres IP serwera Zabbix.

ServerActive = Zabbix-Server-IP 

Pamiętaj, aby odpowiednio dostosować nazwę hosta serwera Docker. Nazwa hosta mojego serwera Docker to Ubuntu20.

Nazwa hosta = Ubuntu20 

Następnie zapisz zmiany i wyjdź z pliku konfiguracyjnego Zabbix.

Aby agent Zabbix miał oko na kontenery Docker, musisz dodać użytkownika Zabbix, który jest domyślnie zainstalowany do grupy Docker.

$ sudo Usermod -Ag Docker Zabbix 

Aby zastosować zmiany wprowadzone do pliku konfiguracyjnego, uruchom ponownie usługę Zabbix-Agent i umożliwić uruchomienie uruchamiania systemu.

$ sudo systemctl restart Zabbix-agent2 $ sudo systemctl włącz Zabbix-Agent2 

Potwierdź status działający agenta Zabbix w następujący sposób.

$ sudo Systemctl Status Zabbix-Agent2 
Sprawdź status agenta Zabbix

Agent Zabbix słucha na porcie 10050. Jeśli masz uruchomienie zapory ogniowej UFW lub zapory ogniowej, rozważ otwarcie portu w następujący sposób.

----------- Na zaporze UFW ----------- $ sudo ufw Zezwalaj 10050/tcp $ sudo UFW Reload ----------- Na zaporze ogniowej ----------- $ sudo firewall-cmd --add-port = 10050/tcp-permanent $ sudo firewall-cmd-rela jest 

Świetnie! Jesteśmy teraz w połowie. Agent Zabbix może teraz wysłać Doker Wskaźniki kontenera na serwerze Zabbix.

W następnym kroku dodamy Doker serwer do Zabbix Interfejs internetowy i kontenery Docker Monitor.

Krok 3: Dodaj Docker do serwera Zabbix do monitorowania

Aby monitorować zdalny host, musisz dodać go do Zabbix Pulpit serwera za pośrednictwem przeglądarki. Zabbix zapewnia niezliczone szablony dla różnych usług i aplikacji. Przyłączymy odpowiedni szablon z hostem Docker, aby konkretnie monitorować kontenery. Ale najpierw uzyskaj dostęp do strony logowania serwera Zabbix.

http: // Zabbix-Server-IP/Zabbix 
Zabbix Login

Po zalogowaniu się przejdź do prawego paska bocznego i kliknijKonfiguracja' Następnie 'Zastępy niebieskie'.

Konfiguracja hosta Zabbix

W odległym prawym rogu kliknijUtwórz host'.

Zabbix Utwórz host

Wypełnij szczegóły Doker serwer taki jak Nazwa hosta I widoczny nazwa. W przypadku grup wpisz w 'Grupy Docker'(Każdy gospodarz musi być powiązany z grupą).

Poniżej 'Interfejsy„kliknij etykietę”Dodać„I w wyświetlonym menu wybierz”Agent'.

Dodaj hosta do monitorowania Zabbix

Następnie wypełnij prywatny adres IP serwera Docker i upewnij się, że port jest ustawiony 10050.

Dodaj serwer Docker do Zabbix

Następnie kliknij Szablony zakładka i w 'Połącz nowe szablony„Sekcja, określ”Docker autorstwa Zabbix Agent 2'. Następnie kliknijDodać' przycisk.

Połącz szablon Zabbix do Docker

Po kliknięciu przycisku Dodaj host zdalny Docker zostanie automatycznie dodany jak wskazano.

Zabbix Docker Monitoring

W tym momencie serwer Zabbix monitoruje teraz Twój serwer Docker. W następnym kroku wdrożymy kontener i sprawdź, które wskaźniki można monitorować.

Krok 4: Monitorowanie wskaźników Docker w monitorowaniu Zabbix

Rozpocząć monitorowanie Doker wskaźniki, zamierzamy uruchomić kontener testowy. Więc wróć do swojego Doker serwer i uruchom kontener.

W tym przykładzie wyciągniemy Ubuntu obraz kontenera i utwórz pojemnik o nazwie Docker_Test_Container. Następnie uzyskamy dostęp do powłoki za pomocą -To opcja. Całe polecenie operacji jest następujące.

$ sudo docker run --Name Docker_Test_Container -it Ubuntu Bash 
Utwórz obraz kontenera Ubuntu w Docker

Możesz spróbować czegoś ambitnego, takiego jak instalowanie pakietów oprogramowania, takich jak Apache Lub Mariadb W celu wygenerowania niektórych wskaźników, takich jak wykorzystanie procesora i ruch sieciowy.

Teraz wróć do Zabbix Pulpit serwera. Kliknij 'Monitorowanie' Następnie 'Zastępy niebieskie'. Kliknij nazwę swojego serwera Docker i w wyświetlonej opcji menu, wybierzNajnowsze dane'.

Zabbix Monitoring Hosts

Po kilku minutach wdrożenia kontenera serwer Zabbix wykryje kontener i zacznie wypełniać niektóre statystyki.

Zabbix Monitoring Docker Host

Możesz także wyświetlić wykresy różnych wskaźników kontenera, klikającwykresy„Opcje serwera Docker na”Zastępy niebieskie„Strona. Poniżej możesz zobaczyć wskaźniki użytkowania procesora i pamięci.

Zabbix Monitoring Docker Performance

Aby symulować katastrofę kontenera, nieoczekiwanie wyjdziemy z kontenera, uruchamiając polecenie poniżej w powładzie kontenerowej.

# wyjście 2 

Oznacza to, że zakończyliśmy kontener kodem błędu 2. Jest to rejestrowane w metadanych kontenera. Aby wyświetlić alert, przejdź do lewego paska bocznego i kliknijMonitorowanie' Następnie 'Panel'.

Alert jest wyświetlany poniżej.

Ostrzeżenia Zabbix Docker

Aby naprawić błąd, po prostu rozpocznij ponownie kontener.

$ sudo docker start docker_test_container 

A to doprowadza nas do końca tego przewodnika. Przeprowadziliśmy cię przez krok po kroku procedurę, w jaki sposób możesz monitorować Doker pojemniki za pomocą Zabbix narzędzie do monitorowania.