Zabbix Agent 2 na Ubuntu Server – instalacja i podstawowa konfiguracja

Serwer działa, usługi odpowiadają, użytkownicy nie zgłaszają problemu, ale tak naprawdę nie wiadomo, czy na dysku zostało 80 GB czy 800 MB. To jest dobry moment, żeby przestać zgadywać i podpiąć maszynę pod monitoring. W Zabbixie najprostsza droga dla Ubuntu Server to Zabbix Agent 2.

Na blogu był już wpis o Zabbix Agent, ale temat warto odświeżyć. Aktualna dokumentacja Zabbixa wskazuje linię 7.4 jako bieżącą, a Agent 2 jest dziś naturalnym wyborem dla nowych instalacji. Ma osobną konfigurację, obsługuje pluginy i dobrze pasuje do monitorowania Linuksa, usług, baz danych czy Dockera.

Poniżej praktyczna konfiguracja dla Ubuntu Server. Zakładam, że serwer Zabbix już istnieje, a na monitorowanej maszynie instalujemy tylko agenta.

Dlaczego Agent 2

Zabbix Agent 2 nie jest tylko kosmetyczną zmianą nazwy. W praktyce daje wygodniejszą bazę pod nowsze integracje i pluginy. W dokumentacji Zabbixa znajdziesz osobne sekcje dla Agent 2 oraz jego pluginów, między innymi dla Docker, MySQL, PostgreSQL, Redis, MongoDB czy SMART.

W typowej małej firmie na start wystarczy:

  • monitoring CPU, RAM i load average,
  • miejsce na dyskach,
  • stan interfejsów sieciowych,
  • podstawowe procesy i usługi,
  • uptime,
  • dostępność agenta,
  • później ewentualnie Docker, baza danych albo certyfikaty.

Nie ma sensu zaczynać od rozbudowanych dashboardów. Najpierw trzeba mieć pewność, że host poprawnie wysyła dane i że alarm o braku miejsca na dysku przyjdzie zanim usługa padnie.

1. Dodanie oficjalnego repozytorium Zabbix

Zabbix zaleca używanie oficjalnego repozytorium, bo paczki z repozytoriów dystrybucji mogą być starsze albo pozbawione części funkcji. Najbezpieczniej wejść na stronę pobierania Zabbixa i wygenerować komendy dla swojej wersji Ubuntu oraz wybranej wersji Zabbixa.

Dla Ubuntu 24.04 i Zabbix 7.4 schemat wygląda tak:

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

Jeżeli używasz Ubuntu 26.04 albo innej wersji systemu, nie kopiuj ślepo URL-a. Wejdź na oficjalną stronę pobierania Zabbix i wybierz właściwą kombinację: wersja Zabbix, dystrybucja, wersja systemu i komponent.

Sprawdzenie repozytorium:

apt-cache policy zabbix-agent2

2. Instalacja Zabbix Agent 2

Instalacja:

sudo apt install zabbix-agent2

Po instalacji sprawdź usługę:

systemctl status zabbix-agent2 --no-pager
zabbix_agent2 -V

Konfiguracja znajduje się zwykle tutaj:

/etc/zabbix/zabbix_agent2.conf

Przed zmianami zrób kopię:

sudo cp -a /etc/zabbix/zabbix_agent2.conf /etc/zabbix/zabbix_agent2.conf.bak

3. Konfiguracja pasywna

W trybie pasywnym serwer Zabbix odpytuje agenta. To wymaga, żeby serwer Zabbix mógł połączyć się do portu agenta na monitorowanej maszynie.

Najważniejsze wpisy:

Server=192.168.10.50
Hostname=ubuntu-app-01

Gdzie:

  • Server to adres IP serwera Zabbix albo proxy, które może odpytywać agenta,
  • Hostname musi zgadzać się z nazwą hosta skonfigurowaną w panelu Zabbix.

Po zmianie:

sudo systemctl restart zabbix-agent2
sudo systemctl status zabbix-agent2 --no-pager

Jeżeli używasz UFW:

sudo ufw allow from 192.168.10.50 to any port 10050 proto tcp
sudo ufw status numbered

Nie otwieraj portu 10050 dla całego internetu. Agent ma być dostępny tylko z serwera Zabbix albo Zabbix Proxy.

4. Konfiguracja aktywna

W trybie aktywnym agent sam łączy się do serwera Zabbix i pobiera listę rzeczy do monitorowania. To wygodne, gdy host jest za NAT-em, w innej lokalizacji albo nie chcesz otwierać portu 10050 do niego.

Typowe wpisy:

Server=192.168.10.50
ServerActive=192.168.10.50
Hostname=ubuntu-app-01

Przy active checks nazwa Hostname jest krytyczna. Jeżeli w konfiguracji agenta masz Hostname=ubuntu-app-01, to w Zabbixie host też musi mieć dokładnie taką nazwę. Różnica w wielkości liter albo dopisany sufiks DNS potrafi skutecznie zepsuć autorejestrację i aktywne sprawdzenia.

Restart:

sudo systemctl restart zabbix-agent2

Logi:

journalctl -u zabbix-agent2 -f

5. Test z serwera Zabbix

Na serwerze Zabbix warto mieć zabbix-get:

sudo apt install zabbix-get

Test pasywny:

zabbix_get -s 192.168.10.20 -k agent.ping
zabbix_get -s 192.168.10.20 -k system.hostname
zabbix_get -s 192.168.10.20 -k vfs.fs.size[/,pfree]

Jeżeli agent.ping zwraca 1, podstawowa komunikacja działa. Jeżeli nie działa, sprawdź:

  • firewall na hoście,
  • firewall między VLAN-ami,
  • Server= w konfiguracji agenta,
  • czy usługa zabbix-agent2 działa,
  • czy Zabbix odpytuje właściwy adres IP,
  • czy host w panelu ma poprawny interfejs agenta.

6. Dodanie hosta w panelu Zabbix

W panelu Zabbix dodaj nowy host:

  • Host name: taki sam jak Hostname w zabbix_agent2.conf,
  • Groups: np. Linux servers,
  • Interfaces: Agent, IP monitorowanego serwera,
  • Templates: template dla Linux by Zabbix agent albo Linux by Zabbix agent active.

Jeżeli używasz aktywnych sprawdzeń, wybierz template dla active checks. Jeżeli używasz trybu pasywnego, zwykły template agenta będzie prostszy na start.

Po dodaniu hosta nie oczekuj danych natychmiast w każdej zakładce. Część itemów i discovery potrzebuje kilku minut.

7. Szyfrowanie PSK

Jeżeli agent komunikuje się przez niezaufaną sieć albo przez internet, nie zostawiaj czystej komunikacji. Jedną z prostszych metod jest PSK.

Wygenerowanie klucza:

sudo mkdir -p /etc/zabbix/psk
sudo sh -c 'openssl rand -hex 32 > /etc/zabbix/psk/zabbix_agent2.psk'
sudo chown -R zabbix:zabbix /etc/zabbix/psk
sudo chmod 600 /etc/zabbix/psk/zabbix_agent2.psk

Konfiguracja agenta:

TLSConnect=psk
TLSAccept=psk
TLSPSKIdentity=ubuntu-app-01-psk
TLSPSKFile=/etc/zabbix/psk/zabbix_agent2.psk

Ten sam identyfikator i ten sam klucz trzeba wpisać po stronie hosta w panelu Zabbix. Nie wysyłaj PSK mailem ani komunikatorem bez szyfrowania. Traktuj go jak hasło techniczne.

8. Typowe problemy

Najczęstsze błędy przy wdrożeniu:

  • inna nazwa hosta w panelu i w Hostname,
  • agent działa, ale firewall blokuje port 10050,
  • Zabbix Server odpytuje z innego IP niż wpisane w Server=,
  • pomylony template active/passive,
  • brak czasu na wykonanie discovery,
  • agent zainstalowany z repozytorium systemowego zamiast oficjalnego repozytorium Zabbix,
  • zły PSK albo inny TLSPSKIdentity po obu stronach,
  • kilka hostów używa tej samej nazwy.

Przy diagnostyce zaczynaj od logów:

journalctl -u zabbix-agent2 -n 100 --no-pager

I od sprawdzenia portu:

ss -tulpn | grep 10050

9. Co monitorować na początku

Na pierwszym etapie wystarczy kilka rzeczy:

  • dostępność agenta,
  • wolne miejsce na /,
  • inode na systemie plików,
  • load average,
  • CPU i RAM,
  • swap,
  • restart hosta,
  • stan wybranych usług systemd,
  • podstawowy ruch na interfejsach,
  • czas ostatniego backupu, jeżeli masz taki item.

Nie rób od razu stu alertów. Monitoring, który krzyczy cały czas, szybko przestaje być czytany. Lepiej zacząć od małej liczby sensownych alarmów i rozbudowywać je po obserwacji środowiska.

Podsumowanie

Zabbix Agent 2 na Ubuntu Server to dobry pierwszy krok do sensownego monitoringu. Instalacja jest prosta, ale najważniejsze są szczegóły: oficjalne repozytorium, zgodna nazwa hosta, poprawny tryb active/passive, firewall ograniczony do serwera Zabbix i test przez zabbix_get.

Jeżeli serwer jest w tej samej sieci co Zabbix, zacznij od trybu pasywnego. Jeżeli host jest za NAT-em albo w oddziale, rozważ active checks. Jeżeli ruch przechodzi przez niezaufaną sieć, dodaj PSK.

Największy zysk z monitoringu pojawia się wtedy, gdy alert przychodzi przed awarią, a nie po telefonie od użytkownika.

Źródła

  • Zabbix download: https://www.zabbix.com/download
  • Zabbix installation from packages: https://www.zabbix.com/documentation/current/en/manual/installation/install_from_packages
  • Zabbix Agent 2 concept: https://www.zabbix.com/documentation/current/en/manual/concepts/agent2
  • Zabbix Agent 2 configuration: https://www.zabbix.com/documentation/current/en/manual/appendix/config/zabbix_agent2
☕ Postaw mi kawę