SSD Nodes Learn
Przewodniki Matt ConnorAutor: Matt Connor · Zaktualizowano 2026-07-24

Instalacja Zabbix 7.0 LTS na Ubuntu 24.04

Kompletny poradnik instalacji Zabbix 7.0 LTS na Ubuntu 24.04. Dowiedz się, jak poprawnie zaimportować schemat MySQL i skonfigurować nginx oraz agent2.

Cel projektu

Pojedynczy serwer VPS z systemem Ubuntu 24.04 uruchamiający pełny stos Zabbix 7.0 LTS: daemon zabbix-server odpowiedzialny za odpytywanie i powiadomienia, bazę danych MariaDB/MySQL przechowującą metryki, frontend PHP obsługiwany przez nginx oraz zabbix-agent2 zbierający metryki z lokalnego systemu. Po uruchomieniu należy skonfigurować monitorowanie drugiego serwera, przypisać szablon oraz otrzymywać powiadomienia e-mail w przypadku zapełnienia dysku lub awarii usługi.

Zabbix jest bardziej zaawansowany niż proste narzędzia do wyświetlania statusu. Jest to pełny system szeregów czasowych z obsługą szablonów, wyzwalaczy (triggers), eskalacji oraz retencji danych historycznych. Większość problemów wynika z pominięcia trzech kroków: importu schematu bazy danych, ustawienia poprawnej hasła do bazy danych w konfiguracji oraz odkomentowania dwóch linii w pliku konfiguracyjnym nginx. Poprawna realizacja tych kroków sprawia, że dalsza konfiguracja jest prosta. Jeśli wymagane są jedynie testy dostępności (up/down) oraz publiczna strona statusu, lekki monitor statusu Uptime Kuma realizuje to w jednym kontenerze. Zabbix jest rozwiązaniem dla systemów wymagających progów dla poszczególnych metryk oraz eskalacji powiadomień dla wielu hostów.

Należy korzystać z wersji 7.0 LTS: serwer, frontend, agent2 oraz schemat są ze sobą wersjonowane, a wersja ta otrzymuje poprawki bezpieczeństwa przez wiele lat. Przed skopiowaniem nazwy repozytorium poniżej należy sprawdzić oficjalną stronę pobierania Zabbix — pakiet wydawniczy latest zawsze wskazuje na najnowszą wersję punktową 7.0, jednak strona ta zawiera również nazwy konkretnych wersji 7.0-N, jeśli wymagana jest stała wersja. Wszystkie pozostałe polecenia są stabilne dla całej linii 7.0.

Rozmiar, porty i wymagania wstępne

Należy przyjąć, że systemem bazowym jest czysty Ubuntu 24.04 KVM VPS z uprawnieniami root lub sudo. Wymagania sprzętowe: 2 GB RAM oraz dwa vCPU to minimalna realistyczna konfiguracja dla serwera, bazy danych, nginx oraz PHP na jednej maszynie monitorującej kilka hostów. Instancja z 1 GB RAM uruchamia system, lecz zabraknie zasobów dla bazy danych wraz ze wzrostem historii; przy kilkudziesięciu hostach należy zaplanować 4 GB, a powyżej stu przenieść bazę danych na oddzielny serwer. Rozmiar dysku zależy od liczby zbieranych elementów oraz czasu przechowywania historii; na początku należy zarezerwować kilka gigabajtów. Mechanizm housekeeper przycina stare dane zgodnie z ustawionymi oknami retencji.

Porty: 80 i 443 dla frontend, publiczne lub ograniczone do własnego adresu IP. Serwer nasłuchuje na TCP 10051 dla aktywnych agentów przesyłających dane, natomiast każdy agent nasłuchuje na TCP 10050 dla odpytywania przez serwer. W przypadku użycia firewalla należy otworzyć tylko niezbędne porty. Warto skonfigurować rekord DNS A dla frontendu, ponieważ wymagany będzie dla niego rzeczywisty certyfikat. Serwer Zabbix monitoruje wszystkie inne uruchomione usługi, dlatego powinien stanowić integralną część szerszego stosu self-hostingowego wartego uruchomienia w 2026, a nie być dodany jako rozwiązanie doraźne.

Krok 1 — Dodanie oficjalnego repozytorium Zabbix 7.0

Pakiet zabbix-release wykonuje jedną czynność: dodaje listę źródeł apt oraz klucz podpisu do systemu. Należy go zainstalować, a następnie odświeżyć indeks.

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt update

Jeśli wget zwraca 404 Not Found, nazwa pliku uległa zmianie — należy otworzyć stronę pobierania Zabbix, wybrać Ubuntu 24.04 i skopiować dokładny adres URL zabbix-release. Poprawny apt update wyświetla linię repo.zabbix.com i nie generuje ostrzeżeń dotyczących klucza; The following signatures couldn't be verified because the public key is not available oznacza, że pakiet wydania nie zainstalował klucza, należy zatem ponownie uruchomić dpkg -i i ponownie wykonać aktualizację.

Krok 2 — Instalacja serwera, frontendu oraz agenta

Należy zainstalować serwer skompilowany pod MySQL, frontend PHP, konfigurację nginx, pliki schematu SQL oraz agent2 w jednym procesie.

sudo apt install -y zabbix-server-mysql zabbix-frontend-php \
  zabbix-nginx-conf zabbix-sql-scripts zabbix-agent2

zabbix-server-mysql to serwer skompilowany dla MySQL/MariaDB; w przypadku PostgreSQL należy zainstalować zabbix-server-pgsql i dostosować kroki dotyczące bazy danych opisane poniżej. zabbix-sql-scripts zawiera schemat, który należy zaimportować w następnym kroku — w wersji 7.0 jest to oddzielny pakiet; pominięcie tego pakietu powoduje błąd braku ścieżki importu w późniejszym etapie. Żaden z tych pakietów nie instaluje silnika bazy danych, więc należy zainstalować MariaDB, jeśli system nie posiada go jeszcze zainstalowanego.

sudo apt install -y mariadb-server
sudo systemctl enable --now mariadb

Krok 3 — Utworzenie bazy danych z odpowiednim zestawem znaków

Zabbix wymaga ścisłej zgodności kolacji: baza danych musi mieć utf8mb4 z utf8mb4_bin, w przeciwnym razie proces importu zostanie przerwany z powodu błędów kluczy obcych. Otwórz powłokę root za pomocą sudo mysql i wykonaj:

CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
CREATE USER zabbix@localhost IDENTIFIED BY 'choose-a-strong-password';
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost;
SET GLOBAL log_bin_trust_function_creators = 1;
FLUSH PRIVILEGES;

Linia SET GLOBAL służy jako zabezpieczenie podczas importu. Schemat Zabbix tworzy funkcje składowane, a konto o uprawnieniach mniejszych niż SUPER, takie jak zabbix, nie może ich utworzyć przy włączonym logowaniu binarnym — MySQL 8 ma włączone logowanie binarne domyślnie, podobnie jak niektóre zarządzane wersje MariaDB (standardowa wersja MariaDB tego nie robi). Pominięcie tej flagi na serwerze z włączonym logowaniem binarnym spowoduje zatrzymanie importu z błędem ERROR 1419 (HY000): You do not have the SUPER privilege and binary logging is enabled. Użycie uprawnień root rozwiązuje ten problem; po zakończeniu importu należy ponownie wyłączyć tę funkcję. Należy dokładnie zapamiętać hasło — konfiguracja serwera wymaga identycznego ciągu znaków.

Krok 4 — Importowanie schematu (etap często pomijany)

Jest to najczęstsza przyczyna problemów z ładowaniem nowego frontend'u: utworzona baza danych jest pusta. Należy zaimportować schemat zawarty w zabbix-sql-scripts do bazy danych.

zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | \
  mysql --default-character-set=utf8mb4 -uzabbix -p zabbix

System poprosi o hasło zabbix. Na małym serwerze VPS proces trwa od 30 do 60 sekund. Brak komunikatów po zakończeniu oznacza sukces. Błąd zcat: /usr/share/zabbix-sql-scripts/mysql/server.sql.gz: No such file or directory oznacza brak zainstalowanego pakietu zabbix-sql-scripts (należy wrócić do Kroku 2). Błąd ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' oznacza błędne hasło lub błędne uprawnienia z Kroku 3. Po zakończeniu procesu należy ponownie wyłączyć flagę bezpieczeństwa:

sudo mysql -e "SET GLOBAL log_bin_trust_function_creators = 0;"

W celu potwierdzenia importu należy użyć sudo mysql -e "SELECT COUNT(*) FROM zabbix.users;". Wyświetlenie liczby zamiast błędu doesn't exist oznacza, że schemat został poprawnie zaimportowany.

Krok 5 — Ustawienie hasła do bazy danych w zabbix_server.conf

Serwer odczytuje dane uwierzytelniające do bazy danych z pliku /etc/zabbix/zabbix_server.conf. Należy ustawić wyłącznie hasło — parametry DBName oraz DBUser mają domyślnie ustawioną wartość zabbix. Należy odkomentować linię # DBPassword= i wprowadzić odpowiednią wartość:

DBName=zabbix
DBUser=zabbix
DBPassword=choose-a-strong-password

Hasło musi być identyczne z hasłem ustawionym w Kroku 3. Puste lub błędne DBPassword jest główną przyczyną występowania błędu "Zabbix server is not running" w późniejszych etapach: demon uruchamia się, nie może zalogować się do bazy i kończy działanie. System nie wyświetla żadnego komunikatu na ekranie — informacje te znajdują się wyłącznie w logach.

Step 6 — Skierowanie nginx na frontend

Pakiet zabbix-nginx-conf instaluje blok serwera w /etc/zabbix/nginx.conf i tworzy odniesienie w nginx z /etc/nginx/conf.d/zabbix.conf. Linie listen oraz server_name są jednak zakomentowane. Nginx nie będzie obsługiwał Zabbix, dopóki nie zostaną one edytowane:

server {
    listen          80;
    server_name     zabbix.example.com;
    ...
}

Należy użyć własnej domeny lub publicznego adresu IP serwera, jeśli nie skonfigurowano jeszcze DNS. Należy zwrócić uwagę na dwie kwestie. Domyślna strona powitalna nginx w systemie Ubuntu również nasłuchuje na porcie 80 i jest oznaczona jako domyślny serwer. Powoduje to, że jest ona obsługiwana dla każdego zapytania, którego nazwa nie pasuje do konfiguracji Zabbix. Należy usunąć tę stronę, aby uniknąć błędnego ładowania treści: sudo rm -f /etc/nginx/sites-enabled/default. Jeśli /etc/nginx/conf.d/zabbix.conf nie istnieje (znany błąd pakowania), należy utworzyć odniesienie ręcznie za pomocą sudo ln -s /etc/zabbix/nginx.conf /etc/nginx/conf.d/zabbix.conf. Następnie należy przeprowadzić test i przeładować konfigurację:

sudo nginx -t
sudo systemctl reload nginx

Polecenie nginx -t powinno zwrócić test is successful. Jeśli zostanie zwrócone nginx: [emerg] a duplicate default server for 0.0.0.0:80, oznacza to, że zarówno domyślna strona, jak i blok Zabbix obsługują default_server — należy usunąć domyślną stronę i ponownie wykonać test. Często test kończy się sukcesem, pojawiając się jedynie ostrzeżenie conflicting server name, jednak przeglądarka nadal wyświetla standardową stronę powitalną. Dzieje się tak, ponieważ domyślna strona przejmuje zapytania o niezgodną nazwę; usunięcie jej rozwiązuje problem.

Step 7 — Uruchomienie i włączenie usług

Należy uruchomić serwer, agenta, PHP-FPM oraz nginx, a następnie włączyć ich automatyczne uruchamianie przy starcie systemu.

sudo systemctl restart zabbix-server zabbix-agent2 nginx php8.3-fpm
sudo systemctl enable  zabbix-server zabbix-agent2 nginx php8.3-fpm

W systemie Ubuntu 24.04 domyślnie znajduje się PHP 8.3, zatem usługa FPM to php8.3-fpm; pakiet zabbix-nginx-conf uruchamia frontend w ramach tego samego procesu nadrzędnego. Należy potwierdzić, że serwer został uruchomiony i działa poprawnie:

sudo systemctl status zabbix-server --no-pager
sudo tail -n 20 /var/log/zabbix/zabbix_server.log

Poprawny log kończy się informacją o uruchomieniu serwera oraz działających procesach housekeeper, poller i trapper. Wystąpienie błędu [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' oznacza niezgodność DBPassword z Krokiem 5 — należy ją naprawić i zrestartować usługę. Wystąpienie linii [Z3005] query failed: [1146] Table 'zabbix.dbversion' doesn't exist oznacza pominięcie importu schematu w Kroku 4, co skutkuje brakiem danych do odczytu przez serwer.

Krok 8 — Zakończenie konfiguracji w kreatorze web

Przejdź pod adres http://your-domain-or-ip. Uruchomi się kreator konfiguracji Zabbix. Przejdź przez kolejne etapy:

  1. Welcome — wybierz język.
  2. Check of pre-requisites — wszystkie parametry powinny wyświetlać status OK; pakiet /etc/zabbix/php-fpm.conf zawiera limity PHP wymagane przez Zabbix.
  3. Configure DB connection — typ bazy danych: MySQL, host: localhost, port: 0 (domyślny port lub socket), nazwa bazy: zabbix, użytkownik: zabbix, hasło: zgodnie z Krokiem 3. Błędne dane uwierzytelniające lub brak schematu zostaną wykryte na tym etapie.
  4. Settings — pozostaw host serwera Zabbix: localhost, port: 10051, i nadaj nazwę instalacji.
  5. Pre-installation summary, a następnie Install — kreator wygeneruje plik /etc/zabbix/web/zabbix.conf.php.
  6. Finish — zaloguj się jako Admin (wielka litera A) przy użyciu hasła zabbix, a następnie niezwłocznie zmień to hasło w sekcji Users.

Jeśli kreator zgłosi błąd Cannot create the configuration file, użytkownik web nie ma uprawnień do zapisu /etc/zabbix/web/ — pobierz oferowany plik zabbix.conf.php, umieść go ręcznie w lokalizacji sudo za pomocą sudo, a następnie kliknij Finish.

Krok 9 — Dodawanie hosta lokalnego i przypisywanie szablonu

Zabbix nie monitoruje samego siebie automatycznie. Należy przejść do sekcji Data collection → Hosts → Create host, ustawić nazwę hosta na zabbix-server, dodać go do grupy Linux servers oraz dodać interfejs typu Agent z adresem IP 127.0.0.1 i portem 10050. W sekcji Templates należy wybrać Linux by Zabbix agent (wariant passive-poll; Linux by Zabbix agent active wykorzystuje metodę agent push). Należy zapisać zmiany.

W ciągu minuty obok hosta pojawi się zielona etykieta ZBX, a dane zaczną pojawiać się w sekcji Monitoring → Latest data. Czerwona etykieta ZBX oznacza brak połączenia serwera z agentem — jest to błąd opisany w dalszej części instrukcji, a nie błąd popełniony w tym kroku.

Krok 10 — Przydatny trigger i powiadomienie e-mail

Szablon Linux by Zabbix agent zawiera już triggery dla wysokiego zużycia CPU, niskiej ilości pamięci RAM oraz pełnych dysków, więc powiadomienia działają natychmiast po połączeniu szablonu. Aby sprawdzić sposób tworzenia triggera, należy dodać własny: otwórz host, przejdź do Triggers → Create trigger, nadaj nazwę Root filesystem over 90% full on {HOST.NAME}, ustaw poziom ważności High i użyj następującej wyrażenia:

last(/zabbix-server/vfs.fs.dependent.size[/,pused])>90

vfs.fs.dependent.size[/,pused] to element procentowego zużycia, który szablon tworzy poprzez filesystem discovery dla systemu plików root (szablon Linux w wersji 7.0 zbiera vfs.fs.get raz i generuje elementy zależne dla każdego punktu montowania), zatem trigger zadziała bez dodatkowego zbierania danych. Zapisz zmiany.

Trigger jedynie zmienia kolor wiersza na dashboardzie, dopóki action nie powiadomi użytkownika. W sekcji Alerts → Media types → Email należy skonfigurować serwer SMTP, port, adres nadawcy, zabezpieczenia połączenia (zazwyczaj STARTTLS) oraz dane uwierzytelniające relay, a następnie użyć funkcji Test. Niepowodzenie testu oznacza błędną konfigurację ścieżki SMTP przed uruchomieniem rzeczywistych powiadomień. Przypisz adres e-mail użytkownikowi Admin w Users → Users → Admin → Media → Add i wybierz poziomy ważności, które mają generować powiadomienia. Następnie skonfiguruj akcję w Alerts → Actions → Trigger actions → Create action: dodaj warunek, np. Trigger severity >= Warning, a w sekcji Operations ustaw wysyłkę do użytkownika Admin za pomocą Email. Zapisz i włącz akcję. Jeśli preferujesz komunikatory, Zabbix 7.0 oferuje typy mediów webhook dla Slack, Discord i Telegram — konfiguruje się je identycznie jak Email i przypisuje do użytkownika.

Monitorowanie drugiego serwera za pomocą agenta

Aby monitorować kolejny serwer, należy dodać tam również repozytorium Zabbix — system Ubuntu 24.04 nie posiada własnych pakietów Zabbix — a następnie zainstalować wyłącznie agenta:

wget https://repo.zabbix.com/zabbix/7.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo dpkg -i zabbix-release_latest_7.0+ubuntu24.04_all.deb
sudo apt update
sudo apt install -y zabbix-agent2

Należy edytować plik /etc/zabbix/zabbix_agent2.conf, ustawić wartość Server na adres IP serwera Zabbix (dla odpytywania pasywnego), a dla odpytywania aktywnego ustawić ServerActive oraz unikalny Hostname zgodny z hostem utworzonym w interfejsie frontend:

Server=10.0.0.10
ServerActive=10.0.0.10
Hostname=web-01

Należy uruchomić sudo systemctl enable --now zabbix-agent2 oraz otworzyć port TCP 10050 na serwerze Zabbix dla tej maszyny. W interfejsie frontend należy utworzyć host, którego interfejs Agent wskazuje na adres IP tej maszyny, przypisać szablon Linux, a dane zostaną przesłane w ciągu minuty.

Tryby awarii oraz wyświetlane komunikaty

Frontend wyświetla Error connecting to database lub błąd bazy danych. W kroku DB w kreatorze, Access denied for user 'zabbix'@'localhost' (using password: YES) oznacza niezgodność hasła z krokiem 3 lub fakt, że GRANT nie został wykonany. Jeśli połączenie z bazą danych jest nawiązane, a frontend zgłasza The frontend does not match Zabbix database lub Table 'zabbix.users' doesn't exist, oznacza to pominięcie lub niepowodzenie importu schematu w kroku 4 — należy ponownie uruchomić import do nowo utworzonej bazy danych.

Pomarańczowy baner: Zabbix server is not running: the information displayed may not be current. Frontend działa, ale nie może połączyć się z serwerem. Istnieją trzy przyczyny, najczęstsza jest pierwsza. Usługa nie działa — należy sprawdzić systemctl status zabbix-server i uruchomić usługę. Usługa działa, ale nie może połączyć się z bazą danych — logi wskazują [Z3001] connection to database 'zabbix' failed: [1045] Access denied, co oznacza błędne lub puste DBPassword. Lub frontend wskazuje błędny serwer, zapisany jako host localhost port 10051 w /etc/zabbix/web/zabbix.conf.php. W systemie Ubuntu SELinux nie jest domyślnie aktywny, więc przyczyna związana z SELinux-socket podawana w instrukcjach dla RHEL nie ma zastosowania; tutaj problemem jest prawie zawsze hasło do bazy danych lub zatrzymana usługa.

Host wyświetla czerwony znacznik ZBX; błąd elementu Get value from agent failed: cannot connect to [[127.0.0.1]:10050]: [111] Connection refused. Agent nie działa lub nie nasłuchuje. Należy sprawdzić systemctl status zabbix-agent2 i potwierdzić ListenPort=10050. Komunikat timeout zamiast "connection refused" oznacza, że firewall blokuje port 10050. Powiązany błąd Received empty response from Zabbix Agent. Assuming that agent dropped connection because of access permissions. oznacza, że agent jest osiągalny, ale w linii Server= brakuje adresu IP serwera Zabbix — należy go dodać i zrestartować agenta.

Strona powitalna nginx lub 502 Bad Gateway. Strona powitalna oznacza, że domyślna witryna jest nadal aktywna lub blok Zabbix nie został utworzony jako link — należy usunąć /etc/nginx/sites-enabled/default i potwierdzić istnienie /etc/nginx/conf.d/zabbix.conf, zgodnie z krokiem 6. Komunikat 502 oznacza, że nginx nawiązał połączenie z PHP, ale PHP-FPM nie działa lub nasłuchuje na innym gnieździe (socket) — należy uruchomić php8.3-fpm i sprawdzić, czy gniazdo fastcgi_pass w bloku Zabbix jest zgodne z działającą pulą.

Backups, upgrades, and TLS

Baza danych zawiera całą historię, dlatego należy wykonywać jej kopie zapasowe za pomocą mysqldump zgodnie z harmonogramem i przechowywać zrzut danych poza serwerem:

mysqldump --single-transaction zabbix | gzip > zabbix-$(date +%F).sql.gz

Pliki konfiguracyjne /etc/zabbix są małe i również warto je zapisać, jednak można je odtworzyć; danych nie można odtworzyć w ten sposób. Proces przywracania działa odwrotnie — należy utworzyć bazę danych, zaimportować zrzut i skonfigurować pliki pod nową bazę.

Aktualizacje w obrębie wersji 7.0. to standardowe operacje apt update && apt upgrade; serwer stosuje migracje schematu przy następnym uruchomieniu, zatem należy zaktualizować pakiety i zrestartować zabbix-server. Przejście na nową główną wersję jest operacją celową — należy zapoznać się z uwagami dotyczącymi aktualizacji, najpierw wykonać zrzut bazy danych i liczyć się z nieodwracalną zmianą schematu. Ta jednokierunkowa zmiana jest powodem, dla którego należy trzymać się wersji LTS.

Nie należy pozostawiać frontendu w protokole HTTP. Gdy domena DNS zostanie skierowana na serwer, należy zainstalować certyfikat za pomocą Certbot i Let's Encrypt na nginx dla Ubuntu 24.04, co spowoduje modyfikację bloku serwera w celu nasłuchiwania na porcie 443 i przekierowania ruchu z portu 80. Podczas utwardzania systemu, który loguje się w celu monitorowania innych serwerów, należy również zabezpieczyć SSH za pomocą fail2ban blokującego próby brute-force SSH. Dane logowania do monitoringu nie mogą być przesyłane tekstem jawnym, a dostęp do serwera nie może być podatny na ataki typu password-guessing.

FAQ

Czy wymagany jest agent Zabbix, czy można monitorować system bez niego?

Obie metody są poprawne. Agent (agent2) dostarcza szczegółowych metryk dla każdego hosta — CPU, pamięć, dyski, procesy, usługi, pliki logów — i jest standardowym wyborem dla zarządzanych serwerów. Monitorowanie bez agenta (agentless) obejmuje urządzenia, na których nie można zainstalować oprogramowania: SNMP dla przełączników i drukarek, ICMP ping dla sprawdzenia dostępności, HTTP dla punktów końcowych oraz IPMI dla stanu sprzętu. Większość rzeczywistych wdrożeń łączy obie metody.

Dlaczego frontend wyświetla komunikat, że serwer Zabbix nie działa?

Frontend działa, ale nie może nawiązać połączenia z aktywnym procesem zabbix-server. Zazwyczaj serwer został uruchomiony, ale logowanie nie powiodło się, ponieważ DBPassword w zabbix_server.conf jest błędne lub puste, co skutkuje natychmiastowym przerwaniem pracy. Należy uruchomić systemctl status zabbix-server i sprawdzić /var/log/zabbix/zabbix_server.log; potwierdzeniem jest linia [Z3001] connection to database ... failed. Po poprawieniu hasła i ponownym uruchomieniu komunikat zniknie w ciągu minuty.

Czy należy używać MySQL, czy można użyć PostgreSQL?

Oba rozwiązania są w pełni wspierane: zabbix-server-mysql z MariaDB lub MySQL (tak jak w tym poradniku) lub zabbix-server-pgsql z PostgreSQL. Przy małych instalacjach wybór nie ma znaczenia. W przypadku dużych instalacji PostgreSQL z rozszerzeniem TimescaleDB partycjonuje tabele historii, co znacząco obniża koszty utrzymania, dlatego duże systemy wybierają to rozwiązanie. Należy wybrać jedną bazę i jej używać — późniejsza migracja wymaga pełnego eksportu i ponownego importu danych, a nie tylko zmiany konfiguracji.

Ile pamięci RAM wymaga serwer Zabbix typu all-in-one?

Dla jednego urządzenia monitorującego kilka hostów, 2 GB to realne minimum, natomiast 4 GB zapewnia komfort po przekroczeniu kilkunastu hostów; pamięć jest wykorzystywana głównie przez cache bazy danych oraz pollery serwera. VPS z 1 GB RAM działa, ale przy wzroście danych historycznych brakuje zasobów dla bazy danych. Powyżej stu hostów należy rozdzielić bazę danych na osobny serwer i dostroić jej buffer pool, zamiast zwiększać ilość RAM w jednej maszynie.

Czy Zabbix jest zbyt rozbudowany dla kilku serwerów?

Może tak być. Jeśli wymagana jest jedynie informacja o dostępności usługi i prosta strona do udostępniania, lżejsze narzędzie, takie jak Uptime Kuma do monitorowania dostępności i statusu, jest szybsze w konfiguracji i bardziej czytelne. Zabbix należy wybrać, gdy wymagane są progi dla poszczególnych metryk, wykresy historyczne, szablony hostów oraz reguły eskalacji — funkcje, których prosty pinger nie zapewni w dużej sieci urządzeń.