Zabbix — monitoring, który dzwoni, zanim zadzwoni klient

01.10.2026 | Autor: Marcin Wiercioch

Jest trzecia w nocy. Sklep nie przyjmuje zamówień, bo skończyło się miejsce na dysku, a Ty dowiesz się o tym o dziewiątej rano — z maila od klienta, który nie mógł zapłacić. Każda firma utrzymująca strony internetowe przechodzi ten rytuał dokładnie raz. Potem wdraża monitoring. W tym artykule przedstawiamy Zabbiksa — narzędzie, którym sami monitorujemy infrastrukturę i strony klientów: po co jest, jak działa i jak postawić pierwszą instancję, zanim wydarzy się kolejna „trzecia w nocy”.

Po co w ogóle monitoring?

Monitoring odpowiada na trzy pytania, na które bez niego odpowiada dopiero awaria:

  • Czy wszystko działa teraz? — strona odpowiada, certyfikat jest ważny, płatności przechodzą, kolejka maili nie rośnie,
  • czy zaraz coś przestanie działać? — dysk zapełni się za 4 dni, certyfikat wygaśnie za tydzień, baza puchnie od miesiąca,
  • co się działo, gdy było źle? — wykresy obciążenia z ostatniej doby to połowa diagnozy każdej awarii.

Różnica biznesowa jest prosta: bez monitoringu o problemach informują Cię klienci, z monitoringiem — system, zwykle na długo zanim klient cokolwiek zauważy.

Czym jest Zabbix?

Zabbix to otwartoźródłowa platforma monitoringu rozwijana nieprzerwanie od ponad dwóch dekad. W przeciwieństwie do prostych „pingaczy” potrafi monitorować praktycznie wszystko: serwery, kontenery, bazy danych, urządzenia sieciowe, aplikacje i strony WWW — a przy tym jest w pełni darmowy, także komercyjnie, wraz z wersjami LTS wspieranymi latami. Ceną nie jest licencja, tylko chwila nauki: Zabbix ma swoje pojęcia i swoją logikę, którą warto zrozumieć na starcie.

Jak to działa: architektura w pigułce

W typowej instalacji występują cztery elementy:

  • serwer Zabbiksa — serce systemu: zbiera dane, ocenia warunki i wysyła alerty,
  • baza danych (MySQL/PostgreSQL) — przechowuje konfigurację i historię pomiarów,
  • frontend WWW — panel z wykresami, dashboardami i konfiguracją,
  • agenci — lekkie procesy na monitorowanych maszynach, raportujące metryki systemu.

Agent nie jest obowiązkowy: Zabbix umie też monitorować bez niego — przez ICMP (ping), HTTP, SNMP (urządzenia sieciowe) czy własne skrypty. W większych sieciach dochodzi jeszcze proxy, które zbiera dane lokalnie i przekazuje je do centralnego serwera — przydatne, gdy monitorujemy serwery klientów za NAT-em.

Słownik pojęć, bez którego ani rusz

Cztery terminy wystarczą, żeby zrozumieć 90% konfiguracji: host to monitorowany obiekt (serwer, strona), item to pojedynczy pomiar (zajętość dysku, czas odpowiedzi), trigger to warunek alarmu („dysk zajęty w ponad 90% przez 5 minut”), a szablon to gotowy pakiet itemów i triggerów, który przypina się do hosta jednym kliknięciem. Zabbix ma wbudowane szablony dla Linuksa, MySQL, nginx, PHP-FPM, Dockera i setek innych rzeczy — na starcie praktycznie nic nie trzeba pisać samemu.

Instalacja: najszybciej Dockerem

Do testów i mniejszych wdrożeń najwygodniejszy jest oficjalny obraz — kompletne środowisko stawiamy kilkoma poleceniami:

docker network create zabbix-net

docker run -d --name zabbix-db --network zabbix-net   -e POSTGRES_USER=zabbix -e POSTGRES_PASSWORD=strongpassword   -v zabbix-db:/var/lib/postgresql/data postgres:16

docker run -d --name zabbix-server --network zabbix-net   -e DB_SERVER_HOST=zabbix-db -e POSTGRES_USER=zabbix   -e POSTGRES_PASSWORD=strongpassword -p 10051:10051   zabbix/zabbix-server-pgsql:7.0-alpine-latest

docker run -d --name zabbix-web --network zabbix-net   -e ZBX_SERVER_HOST=zabbix-server -e DB_SERVER_HOST=zabbix-db   -e POSTGRES_USER=zabbix -e POSTGRES_PASSWORD=strongpassword   -p 8080:8080 zabbix/zabbix-web-nginx-pgsql:7.0-alpine-latest

Po chwili panel jest dostępny na porcie 8080 (domyślne logowanie: Admin / zabbix — hasło zmieniamy oczywiście od razu). W środowiskach produkcyjnych równie dobrze sprawdza się instalacja z oficjalnych repozytoriów pakietów dla Debiana, Ubuntu czy RHEL-a.

Podpinamy pierwszy serwer

Na monitorowanej maszynie instalujemy agenta i wskazujemy mu adres serwera Zabbiksa:

apt install zabbix-agent2

# /etc/zabbix/zabbix_agent2.conf
Server=10.0.0.5          # adres serwera Zabbiksa (pasywne odpytywanie)
ServerActive=10.0.0.5    # tryb aktywny: agent sam wysyła dane
Hostname=web-prod   # nazwa zgodna z hostem w panelu

systemctl enable --now zabbix-agent2

W panelu dodajemy hosta o tej samej nazwie, przypinamy szablon „Linux by Zabbix agent” — i po kilku minutach spływają dziesiątki metryk: CPU, RAM, dyski, sieć, procesy, wraz z gotowymi triggerami i wykresami.

Monitoring stron WWW i certyfikatów

Dla agencji takiej jak nasza najważniejszy moduł to web monitoring: Zabbix cyklicznie odwiedza wskazane adresy i sprawdza kod odpowiedzi, czas ładowania oraz — co bardzo praktyczne — obecność zadanego tekstu na stronie. Trigger „na stronie głównej brakuje stopki” wyłapie białą stronę PHP szybciej niż jakikolwiek klient. Osobny wbudowany szablon pilnuje certyfikatów SSL i alarmuje odpowiednio wcześnie przed wygaśnięciem — problem, który wciąż potrafi położyć zaufanie do sklepu w jeden wieczór.

Alerty: niech Zabbix sam zadzwoni

Dane bez powiadomień to tylko ładne wykresy. Zabbix wysyła alerty przez e-mail, Slacka, Telegrama, SMS-y i dziesiątki innych kanałów (media types), a do tego obsługuje eskalacje: najpierw wiadomość na Slacka do zespołu, po 15 minutach bez reakcji — SMS do administratora, po godzinie — telefon do szefa. Warto od początku rozdzielić poziomy ważności: co innego „kończy się dysk” (jutro rano), co innego „sklep nie odpowiada” (natychmiast).

Czego unikać

  • alert fatigue — jeśli dziennie przychodzi 50 alertów, po tygodniu nikt nie czyta żadnego; alarmy mają być rzadkie i ważne,
  • monitorowania wszystkiego „bo można” — zacznij od dostępności stron, dysków, backupów i certyfikatów; resztę dokładaj, gdy będzie potrzebna,
  • braku testów — raz na kwartał warto celowo wywołać alarm i sprawdzić, czy powiadomienia naprawdę dochodzą; monitoring, któremu nikt nie ufa, nie istnieje.

A może coś prostszego?

Uczciwie: nie każdy potrzebuje Zabbiksa. Jeśli chodzi wyłącznie o „czy strona żyje”, wystarczy UptimeRobot albo Healthchecks.io. Zespoły mocno osadzone w Kubernetesie zwykle wybiorą Prometheusa z Grafaną. Zabbix błyszczy w środku tej skali: klasyczne serwery, kilkadziesiąt–kilkaset hostów, różnorodne usługi i potrzeba jednego miejsca, w którym widać wszystko — od pinga po zapytania SQL.

Podsumowanie

Monitoring to najtańsza polisa ubezpieczeniowa w IT: postawienie Zabbiksa zajmuje popołudnie, a pierwsza wyłapana awaria zwraca ten czas z nawiązką. W Okinet Zabbix czuwa nad stronami i sklepami naszych klientów w ramach stałej opieki technicznej — to dzięki niemu o problemach wiemy my, a nie ich klienci. Chcesz, żeby Twoja strona też była pod taką opieką? Napisz do nas.

Marcin Wiercioch Marcin Wiercioch

programista, full stack developer

Współzałożyciel Okinet, programista PHP, Full stack developer, administrator linux i pasjonat technologii z 20 letnim stażem. Ostatnimi czasy szczególnie rozwijam umiejętności związane z optymalizacją i automatyzacją środowisk developerskich dzięki czemu budowane przez nas aplikacje internetowe są wydajne, bezpieczne i łatwo rozwijalne.

Wszystkie artykuły autora

Udostępnij

Oceń artykuł

Porozmawiaj z nami
o swoim projekcie

+48 506 160 480
biuro@okinet.pl

lub napisz