Zabbix – Instalacja i konfiguracja

Monitoring infrastruktury IT z użyciem Zabbixa – instalacja i pierwsza konfiguracja krok po kroku

Każda infrastruktura IT – niezależnie od tego, czy składa się z kilku serwerów, czy rozbudowanej serwerowni z przełącznikami, macierzami i wieloma usługami – wymaga stałej kontroli. Monitoring nie służy wyłącznie reagowaniu na awarie, ale przede wszystkim zapobieganiu problemom, zanim użytkownicy je zauważą. Jednym z najbardziej rozbudowanych i jednocześnie darmowych narzędzi do monitorowania środowisk IT jest Zabbix. W tym artykule pokazujemy, czym jest Zabbix, jak wygląda jego architektura oraz jak w praktyce uruchomić system monitoringu przy użyciu kontenerów i dodać do niego pierwsze hosty.

Zabbix to oprogramowanie klasy enterprise do monitorowania infrastruktury IT, które pozwala zbierać dane z serwerów, urządzeń sieciowych, systemów operacyjnych oraz aplikacji. Monitorowane mogą być wszystkie parametry, które da się przedstawić w postaci liczbowej: obciążenie procesora, zużycie pamięci RAM, ilość wolnego miejsca na dyskach, ruch sieciowy, temperatury, a nawet wilgotność w serwerowni. Zebrane dane są przechowywane w bazie danych i mogą być prezentowane na wykresach, dashboardach oraz wykorzystywane do generowania alertów.

Architektura Zabbixa składa się z kilku głównych komponentów. Interfejsem widocznym dla użytkownika jest Zabbix Web, czyli aplikacja webowa dostępna przez przeglądarkę. W tle działa Zabbix Server, który odpowiada za przetwarzanie danych, wykonywanie sprawdzeń i wyzwalanie alarmów. Do przechowywania informacji potrzebna jest baza danych – najczęściej MySQL lub PostgreSQL. W środowiskach rozproszonych można dodatkowo wykorzystać Zabbix Proxy, który zbiera dane lokalnie i przesyła je do centralnego serwera. Na monitorowanych maszynach instalowany jest agent Zabbixa lub wykorzystywany jest protokół SNMP w przypadku urządzeń sieciowych.

Instalację systemu najlepiej rozpocząć od uruchomienia Zabbixa w Dockerze. Zastosowanie Docker Compose pozwala błyskawicznie postawić całą infrastrukturę, bez ręcznej instalacji serwera, bazy danych i frontendu webowego. Wystarczy pobrać oficjalne repozytorium „zabbix-docker”, wybrać odpowiednią wersję (w tym przypadku 7.4) i uruchomić kontenery z pomocą jednego pliku compose. Konfiguracja w plikach YAML umożliwia wybór bazy danych, obrazu systemu (np. Alpine Linux, Ubuntu), wersji serwera oraz sposobu uruchomienia usług. Po uruchomieniu kontenerów system sam stworzy strukturę katalogów, w których przechowywane są dane bazy oraz konfiguracja – te katalogi należy bezwzględnie uwzględnić w kopiach zapasowych, ponieważ zawierają całą historię pomiarów i ustawienia serwera.

Istotną kwestią przy pierwszym uruchomieniu jest zmiana domyślnych haseł bazy danych oraz konta administratora. Pozostawienie fabrycznych ustawień to poważne zagrożenie bezpieczeństwa, szczególnie jeśli interfejs jest dostępny z sieci. W plikach środowiskowych Dockera można ustawić własne hasła i nazwy użytkowników jeszcze przed uruchomieniem kontenerów, co zdecydowanie zwiększa poziom bezpieczeństwa.

Po uruchomieniu serwera kolejnym krokiem jest instalacja agentów na monitorowanych systemach. Na Windowsie proces jest bardzo prosty – wystarczy pobrać instalator, podać adres IP serwera Zabbix i zakończyć instalację. W trakcie instalacji tworzony jest również wpis w zaporze systemowej, który pozwala na komunikację z agentem. Warto zwrócić uwagę, że domyślnie reguła ta bywa zbyt szeroka i dobrze jest ją ograniczyć do adresu IP serwera monitorującego. W systemach Linux instalacja agenta odbywa się przez repozytorium pakietów. Po zainstalowaniu należy ustawić adres serwera w pliku konfiguracyjnym oraz uruchomić usługę i ustawić ją jako startującą automatycznie wraz z systemem.

Po stronie serwera konfiguracja hostów odbywa się przez panel administracyjny. Dodanie nowej maszyny polega na utworzeniu hosta, przypisaniu adresu IP oraz zastosowaniu odpowiedniego szablonu. To właśnie szablony stanowią sedno działania Zabbixa. Zawierają one zestaw reguł, metryk, wykresów i progów alarmowych, które są automatycznie przypisywane do nowego hosta. Dzięki temu po dodaniu systemu do monitoringu w ciągu kilku minut pojawiają się pierwsze wykresy zużycia CPU, pamięci, przestrzeni dyskowej czy obciążenia sieci.

Zabbix automatycznie generuje dashboardy, które w czytelnej formie pokazują najbardziej istotne informacje o stanie systemów. Można na nich podejrzeć aktualne obciążenie serwerów, wykryte problemy oraz trend zmian na przestrzeni czasu. Dodatkowo dostępna jest szczegółowa lista ostatnich pomiarów, co pozwala bardzo dokładnie analizować zachowanie systemu przy rozwiązywaniu awarii.

System oferuje także mechanizm automatycznego wykrywania zasobów, takich jak interfejsy sieciowe czy partycje dyskowe. Jeżeli na monitorowanym serwerze pojawi się nowy dysk lub karta sieciowa, Zabbix potrafi sam dodać je do monitoringu, wygenerować wykresy oraz skonfigurować alerty. To ogromna oszczędność czasu w większych środowiskach, gdzie ręczna konfiguracja byłaby nieefektywna.

Warto pamiętać, że Zabbix, mimo ogromnych możliwości, może być narzędziem „ciężkim” dla systemu, jeśli zostanie skonfigurowany nierozważnie. Zbyt duża liczba monitorowanych parametrów, zbyt częste checki oraz nadmiar reguł discovery potrafią znacząco obciążyć bazę danych i serwer. Dlatego dobrą praktyką jest ograniczenie monitoringu do realnie potrzebnych metryk oraz świadome zarządzanie częstotliwością zbierania danych.

Podsumowując, Zabbix to potężne, darmowe i elastyczne narzędzie, które sprawdzi się zarówno w małych, jak i dużych środowiskach IT. Dzięki kontenerom można go uruchomić w kilka minut, a bogata biblioteka szablonów pozwala bardzo szybko objąć monitoringiem kluczowe systemy. Odpowiednio skonfigurowany Zabbix pozwala nie tylko reagować na awarie, ale przede wszystkim zapobiegać im, dostarczając administratorom pełnego obrazu stanu infrastruktury w czasie rzeczywistym.

Infrastruktura Zabbix

Instalacja Zabbix serwer

https://www.zabbix.com/documentation/current/en/manual/installation/containers

Pobieramy repozytorium Zabbix-docekr

git clone https://github.com/zabbix/zabbix-docker.git

 

Przełączamy wersję

git checkout 7.4

 

Start Zabbix serwer

docker compose -f ./docker-compose_v3_alpine_mysql_latest.yaml up

 

Pobieramy repozytoium zabbix-agent

wget https://repo.zabbix.com/zabbix/7.0/debian-arm64/pool/main/z/zabbix-release/zabbix-release_latest_7.0+debian13_all.deb

 

Instalujmey repozytoruim Zabbix-agent

dpkg -i zabbix-release_latest_7.0+debian13_all.deb

 

Aktualizujemy lokalne repozytorium 

apt update

 

Instalujemy Zabbix agent 2

apt install zabbix-agent2

 

Startujemy serwis zabbix

systemctl restart zabbix-agent2

systemctl enable zabbix-agent2

 

Foldery

zabbix-docker/

├── env_vars – wartości zmiennych i hasła

├── zbx_env – dane aplikacji I bazy danych

└── .env – zmienne całości instalacji