Instalację i konfigurację Zabbix krok po kroku przeprowadziliśmy w naszym kursie. Dzięki zapoznaniu się z wymienionymi materiałami, jesteś w stanie samodzielnie zainstalować oraz skonfigurować aplikację Zabbix. Ten materiał jest uzupełnieniem. Pokażę w nim krok po kroku, jak powinna przebiegać instalacja Zabbixa z wykorzystaniem kontenerów dockera.

Istnieją oficjalne obrazy Zabbix, dzięki którym jesteś w stanie zautomatyzować całą operację. Po zapoznaniu się z programem szkoleniowym, polecam przeprowadzić taką instalację, samodzielnie tworząc własne. W prezentowanym materiale wykorzystam najprostsze rozwiązanie z możliwych. Będziesz w stanie w przeciągu około 5 minut postawić własny serwer z działającym Zabbix. Prezentowany artykuł opiera się o najnowsze wersje dostępnego oprogramowania – zarówno bazy MySQL, jak i również samego Zabbixa.

 

Zapis na newsletter!

Zanim jednak rozwinę temat dalej to jedna informacja na początek. Prowadzę regularny, cotygodniowy newsletter z poradami związanymi z Zabbixem, monitoringiem oraz dobrymi praktykami w IT. Jeżeli nie chcesz przegapić kolejnych części oraz zaproszeń na nasze darmowe szkolenia to zapraszam do zapisu. Wystarczy pobrać mój poradnik. Monitoring IT – Dobre Praktyki. Wystarczy wejść klikając na obrazek:

__________________________________________

 

Instalacja Zabbixa – tworzenie własnej sieci

Aby było prościej, stworzymy własną sieć w celu ułatwienia komunikacji pomiędzy kontenerami. Dzięki temu rozwiązaniu będzie ona następowała po ich nazwach. Pozwoli to, szczególnie osobom początkującym, na lepsze zrozumienie każdego z kroków. Dlatego też bez zbędnej zwłoki stwórzmy własną sieć:

docker network create zabbix

Po wykonaniu powyższej czynności należy sprawdzić, czy sieć została dodana do listy. Oznaczać to też będzie, że została poprawnie stworzona:

docker network ls

NETWORK ID NAME DRIVER SCOPE

c5ba2496de8f bridge bridge local

e2198787e635 host host local

e6137ead4366 none null local

8193b9479593 zabbix bridge local

Nasza sieć znajduje się na samym końcu listy, co zostało wyróżnione w przykładzie. Tworzoną przeze mnie sieć nazwałem zabbix. Przy tworzeniu kontenerów dodamy do niej wszystkie dotyczące instalowanego oprogramowania do monitoringu.

Pobranie obrazu MySQL i uruchomienie kontenera

Po stworzeniu sieci zajmijmy się teraz pobraniem odpowiednich obrazów. Następnie stworzymy z nich kontenery. Jak wspominałem, na samym początku tego materiału, chcę to wszystko pokazać w najszybszy sposób, dlatego użyjemy polecenia dockera run.

Pierwsze co zrobimy, to pobierzemy obraz bazy MySQL oraz stworzymy jedną instancję w postaci kontenera:

docker run --name zabbix-mysql –-net zabbix -e MYSQL_ROOT_PASSWORD=zabbix -d mysql

Powstały kontener z obrazu mysql będzie nosił nazwę zabbix-mysql. Należeć będzie do wcześniej utworzonej przez nas sieci zabbix. Musimy ustawić hasło do naszego konta root, z którego w tym przykładzie będziemy korzystali. Ja wybrałem najprostsze do zapamiętania. To, co chcę zaprezentować, ma za zadanie jedynie zobrazowanie prostoty instalacji.

Wiele innych możliwości konfiguracyjnych jesteś w stanie odnaleźć na stronie obrazu https://hub.docker.com/_/mysql . Natomiast wszystkie dyrektywy do obecnej wersji znajdują się pod adresem https://dev.mysql.com/doc/refman/5.7/en/environment-variables.html.

Pamiętaj jednak, że ostatni link z dyrektywami do MySQL może się różnić od wersji z jakiej korzystasz. Dlatego dobrze jest sprawdzić z jakiej używasz przy swojej instalacji.

Jeżeli zapomniałeś dodać opcji –net, dzięki której dodajesz tworzony kontener do sieci, to nie usuwaj kontenera, tylko skorzystaj z polecenia:

docker network connect zabbix zabbix-mysql

Polecenie doda już stworzony kontener do sieci. Wspominam o tym, ponieważ jest to bardzo często popełniany błąd.

Instalacja Zabbixa – pobranie obrazu serwera i stworzenie kontenera

Jak wiecie, serwer zapisuje wszystkie dane w bazie. Stworzyliśmy taką w poprzednim paragrafie. Teraz pobierzemy obraz serwera Zabbix oraz stworzymy kontener:

docker run --name zabbix-server -p 10051:10051 –-net zabbix -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_USER="root" -e MYSQL_PASSWORD="zabbix" -d zabbix/zabbix-server-mysql

Polecenie jest proste, ale może okazać się trochę skomplikowane dla osób, które nie znają dockera.

Wszystko jest proste, o ile znamy się na tym.

Idąc tą myślą pozwolę sobie na skrótowy opis.

Serwer zabbix udostępniamy na porcie 10051. Czyli, tak jak wykonywaliśmy to wszystko na wspomnianym szkoleniu. Następnie musimy wprowadzić adres, gdzie znajduje się zainstalowana przed chwilą baza danych MySQL. Gdybyśmy nie korzystali z dobrodziejstw jakie oferuje docker, wpisać musielibyśmy adres IP kontenera. Pamiętaj jednak, że jeżeli korzystasz z domyślnej sieci dockera, to taki musi się tam pojawić. Adres IP kontenera jesteś w stanie poznać przy pomocy polecenia:

docker container inspect zabbix-mysql

Natomiast my poszliśmy krok do przodu. Dla własnej wygody stworzyliśmy sieć, do której dodajemy kolejno kontenery. W związku z tym wystarczy, że podamy w tym miejscu nazwę kontenera, w którym znajduje się zainstalowana baza danych MySQL.

Gdy tworzyliśmy bazę danych, dla konta root utworzyliśmy hasło zabbix. Teraz korzystamy z tego konta wprowadzając jako nazwę root a jako hasło zabbix.

Więcej dyrektyw z jakich możesz skorzystać odnajdziesz pod adresem https://hub.docker.com/r/zabbix/zabbix-server-mysql

Po analizie prezentowanego przykładu pozostało, zainstalować panel do obsługi serwera. Dzięki czemu będziemy korzystali z zabbix w identyczny sposób jak w szkoleniu.

Instalacja panelu administracyjnego

Jak do tej pory, wszystko było bardzo proste. Szczególnie jak zna się dobrze dockera. Trzeci kontener, którego potrzebujemy, musi mieć połączenie zarówno z bazą danych, jak i również z serwerem zabbix. Takiego połączenia dokonujemy przy pomocy skonstruowanego polecenia:

docker run --name zabbix-web -p 80:8080 –-net zabbix -e DB_SERVER_HOST="zabbix-mysql" -e MYSQL_USER="root" -e MYSQL_PASSWORD="zabbix" -e ZBX_SERVER_HOST="zabbix-server" -e PHP_TZ="Europe/Warsaw" -d zabbix/zabbix-web-apache-mysql

Jest ono trochę bardziej rozbudowane niż te, które poznaliśmy poprzednio. Jeżeli przeanalizujesz je, to pomimo większej obszerności jesteś w stanie dojść do tego, co do czego służy. Niemniej jednak nie byłbym sobą, gdybym nie wykonał choć podstawowego opisu.

Pierwsza część polecenia dotyczy udostępnienia aplikacji na porcie 80. Następnie sprawiamy, aby panel komunikował się z bazą danych. Używając do tego nazwy kontenera, w którym się ona znajduje, nazwę użytkownika oraz hasło. Wszystkie te elementy utworzyliśmy w poprzednich krokach.

Dalsza część polecenia dotyczy już naszego serwera. Tak jak w przypadku bazy danych podajemy nazwę kontenera, w którym zainstalowaliśmy serwer. Jedną z nowości to jest określenie strefy czasowej, którą wykonujemy przy pomocy dyrektywy PHP_TZ.

Więcej takich dyrektyw jesteś w stanie poznać pod adresem https://hub.docker.com/r/zabbix/zabbix-web-nginx-mysql.

Logowanie do panelu administracyjnego

Jeżeli wszystko zainstalowaliśmy właściwie, to powinniśmy posiadać trzy kontenery:

docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

76ad5cc2808b zabbix/zabbix-web-apache-mysql "docker-entrypoint.s…" 6 seconds ago Up 4 seconds 8443/tcp, 0.0.0.0:80->8080/tcp, :::80->8080/tcp zabbix-web

dce7263a70e7 zabbix/zabbix-server-mysql "/sbin/tini -- /usr/…" 38 seconds ago Up 37 seconds 0.0.0.0:10051->10051/tcp, :::10051->10051/tcp zabbix-server

46bb9c04dd65 mysql "docker-entrypoint.s…" About a minute ago Up About a minute 3306/tcp, 33060/tcp zabbix-mysql

Każdy opisałem z osobna dlatego jeżeli masz jakiekolwiek wątpliwości, to zerknij ponownie w powyższe treści.

Pozostało tylko uruchomić przeglądarkę i wpisać localhost.

I tutaj uwaga. Jeżeli już korzystasz z portu 80, to musisz w ostatnim kroku zmienić port na inny. W przypadku użycia innego portu należy wprowadzić adres w następujący sposób:

localhost:port

W miejscu port, po dwukropku wprowadzasz port, który wybrałeś.

Niezależnie od użytego, po wprowadzeniu adresu powinien pojawić się panel administracyjny Zabbix.

Jako login wprowadzasz: Admin, a hasło zabbix. Ważne jest, aby nazwa loginu była wprowadzona z dużej litery.

Podsumowanie

Gdybym nie dokonał opisu przedstawionych tutaj poleceń, to tak naprawdę instalację Zabbix mógłbyś wykonać przy pomocy trzech poleceń. Plus do tego jedno służące do sieci. Jak widzisz instalacja Zabbixa z wykorzystaniem dockera nie jest niczym skomplikowanym. Prezentowany sposób jak najbardziej nadaje się do nauki. Jeżeli chodzi o wykorzystanie w sposób bardziej produkcyjny wymagałby dość zaawansowanej konfiguracji, którą prezentujemy w naszym kursie.

Chcesz poznać dokładnie Zabbixa?

Nie zapomnij o promocji na kurs: https://asdevops.pl/kurs/

Chcesz więcej?

Oczywiście, jeżeli nie chcesz przegapić tego typu materiałów, to zapisz się na mój newsletter i przy okazji odbierz darmowe bonusy, np. e-booka ze zdjęcia poniżej! Prowadzę regularny, cotygodniowy newsletter z poradami związanymi z automatyzacją, monitoringiem oraz dobrymi praktykami w IT.

Zapisy TUTAJ

Zapisz się na Newsletter i odbierz za darmo e-book "Monitoring IT"!

X