Zabbix Agent 2 to dobry wybór, jeśli chcesz monitorować serwer Ubuntu i mieć więcej możliwości niż przy klasycznym agencie. Samo zainstalowanie paczki to jednak dopiero początek. Trzeba jeszcze ustawić adres serwera Zabbix, nazwę hosta, firewall i sprawdzić, czy agent naprawdę odpowiada.
Ten wpis pokazuje praktyczną ścieżkę instalacji i pierwszej diagnostyki. Bez rozbudowanej teorii, raczej lista rzeczy, które administrator zwykle musi zrobić na świeżym serwerze.
Dla kogo jest ten wpis
Dla administratora, który ma serwer Ubuntu i chce dodać go do monitoringu Zabbix. Zakładam, że serwer Zabbix już istnieje, a my konfigurujemy tylko monitorowaną maszynę.
Nie zakładam konkretnej wersji Ubuntu ani Zabbixa, bo repozytoria i nazwy paczek mogą się różnić zależnie od wersji. Tego nie mogę potwierdzić na podstawie dostępnych danych. Przed wdrożeniem sprawdź aktualną dokumentację Zabbix dla swojej wersji.
Co warto przygotować przed instalacją
Przed wejściem na serwer przygotuj trzy informacje:
- adres IP albo DNS serwera Zabbix,
- nazwę hosta, która ma być widoczna w Zabbixie,
- informację, czy agent ma działać pasywnie, aktywnie, czy w obu trybach.
W małym środowisku często wystarcza tryb pasywny, gdzie serwer Zabbix odpytuje agenta. Przy większej liczbie hostów albo problemach z NAT-em przydaje się tryb aktywny.
Instalacja Zabbix Agent 2
Najpierw zaktualizuj listę pakietów:
sudo apt update
Jeśli repozytorium Zabbixa jest już dodane, instalacja agenta zwykle sprowadza się do:
sudo apt install zabbix-agent2
Jeżeli paczka nie jest dostępna, trzeba dodać oficjalne repozytorium Zabbix dobrane do wersji systemu i wersji Zabbixa. Nie warto zgadywać adresu paczki z pamięci, bo wersje zmieniają się w czasie.
Podstawowa konfiguracja
Główny plik konfiguracyjny agenta znajduje się zwykle tutaj:
/etc/zabbix/zabbix_agent2.conf
Edytujemy go:
sudo nano /etc/zabbix/zabbix_agent2.conf
Najważniejsze parametry do sprawdzenia:
Server=ADRES_SERWERA_ZABBIX
ServerActive=ADRES_SERWERA_ZABBIX
Hostname=NAZWA_HOSTA
Server określa, kto może odpytywać agenta pasywnie. ServerActive jest używany przy checkach aktywnych. Hostname powinien zgadzać się z nazwą hosta dodaną w panelu Zabbix, jeśli nie korzystasz z autorejestracji.
Restart i sprawdzenie usługi
Po zmianie konfiguracji restartujemy usługę:
sudo systemctl restart zabbix-agent2
Sprawdzamy status:
sudo systemctl status zabbix-agent2
Warto też od razu zobaczyć logi:
sudo journalctl -u zabbix-agent2 -n 50 --no-pager
Jeżeli agent nie startuje, log zwykle powie więcej niż sam status usługi.
Firewall na monitorowanym serwerze
Jeżeli używasz UFW i agent ma działać pasywnie, trzeba dopuścić połączenia z serwera Zabbix do portu agenta. Domyślnie jest to port 10050/tcp.
sudo ufw allow from ADRES_SERWERA_ZABBIX to any port 10050 proto tcp
Potem sprawdź reguły:
sudo ufw status numbered
Nie otwieraj portu dla całego internetu, jeśli nie musisz. Agent powinien być dostępny tylko z serwera monitoringu albo z konkretnej sieci administracyjnej.
Test połączenia z serwera Zabbix
Najprościej sprawdzić odpytywanie z poziomu serwera Zabbix, używając zabbix_get. Przykład:
zabbix_get -s ADRES_MONITOROWANEGO_SERWERA -k agent.ping
Poprawna odpowiedź dla agent.ping to zwykle:
1
Można też sprawdzić nazwę hosta:
zabbix_get -s ADRES_MONITOROWANEGO_SERWERA -k agent.hostname
Jeśli nie ma odpowiedzi, sprawdź po kolei: firewall, adres w parametrze Server, routing, DNS i logi agenta.
Dodanie hosta w panelu Zabbix
W panelu Zabbix dodaj nowego hosta i ustaw:
- nazwę hosta zgodną z konfiguracją agenta,
- grupę hostów,
- interfejs agenta z adresem IP albo DNS,
- template dla Linuxa.
Po zapisaniu hosta trzeba chwilę poczekać. Jeśli wszystko jest poprawnie ustawione, dostępność agenta powinna zmienić się na zieloną.
Najczęstsze problemy
Agent działa, ale Zabbix go nie widzi
Sprawdź firewall na monitorowanym serwerze i po drodze. Sprawdź też, czy w Server= jest właściwy adres serwera Zabbix.
W panelu jest zła nazwa hosta
Porównaj Hostname= w konfiguracji agenta z nazwą hosta w Zabbixie. Przy checkach aktywnych ta zgodność ma duże znaczenie.
Po zmianie konfiguracji nic się nie zmieniło
Sprawdź, czy usługa została zrestartowana:
sudo systemctl restart zabbix-agent2
Potem sprawdź log:
sudo journalctl -u zabbix-agent2 -n 100 --no-pager
Port jest otwarty dla wszystkich
To nie jest dobra praktyka. Ogranicz dostęp do portu agenta tylko do serwera Zabbix.
Co warto monitorować na start
Po dodaniu hosta nie trzeba od razu budować skomplikowanych dashboardów. Na początek wystarczy:
- dostępność agenta,
- CPU load,
- zużycie RAM,
- miejsce na dysku,
- inode,
- status ważnych usług,
- restarty systemu,
- czas działania serwera.
Najbardziej praktyczne alerty to zwykle te, które dają czas na reakcję: kończące się miejsce na dysku, niedostępna usługa albo serwer, który nagle przestał odpowiadać.
Przykład z praktyki
Typowy błąd przy wdrożeniu monitoringu wygląda tak: agent jest zainstalowany, usługa działa, ale w Zabbixie host jest niedostępny. Administrator sprawdza status usługi i wygląda dobrze, więc problem wydaje się dziwny.
Najczęściej winne są trzy rzeczy: firewall, zły adres w Server= albo inna nazwa hosta w konfiguracji niż w panelu. Dlatego warto testować po kolei: usługa, log, port, zabbix_get, panel.
Na co uważać
- Nie otwieraj portu
10050 dla całego internetu.
- Nie zakładaj, że zielona ikonka w panelu oznacza kompletny monitoring.
- Nie ignoruj logów agenta, bo często pokazują dokładny powód problemu.
- Nie mieszaj przypadkowych wersji repozytorium Zabbix i systemu.
- Nie dodawaj alertów, których nikt nie będzie obsługiwał.
Podsumowanie
Zabbix Agent 2 na Ubuntu Server można uruchomić szybko, ale warto zrobić to porządnie. Najważniejsze rzeczy to poprawny adres serwera Zabbix, zgodna nazwa hosta, ograniczony firewall i test połączenia z serwera monitoringu.
Dopiero potem ma sens dopracowywanie templatek, triggerów i dashboardów. Monitoring zaczyna działać naprawdę wtedy, gdy alert trafia do właściwej osoby i wiadomo, co z nim zrobić.