2 Agent

Przegląd

Agent Zabbix jest wdrażany na monitorowanym celu, aby aktywnie monitorować lokalne zasoby i aplikacje (dyski twarde, pamięć, statystyki procesora itp.).

Agent lokalnie zbiera informacje operacyjne i przekazuje dane do serwer Zabbix w celu dalszego przetwarzania. W przypadku awarii (takich jak zapełnienie dysku twardego lub awaria procesu usługi) serwer Zabbix może aktywnie powiadamiać administratorów konkretnej maszyny, która zgłosiła awarię.

Agenty Zabbix są bardzo wydajne dzięki wykorzystaniu natywnych wywołań systemowych do zbierania informacji statystycznych.

Kontrole pasywne i aktywne

Agenty Zabbix mogą wykonywać kontrole pasywne i aktywne:

  • Kontrole pasywne — agent Zabbix odpowiada na żądanie z serwera Zabbix (lub proxy). Na przykład serwer żąda danych (np. obciążenia CPU), a agent zwraca wynik.
  • Kontrole aktywne — agent Zabbix zbiera i wysyła dane bez oczekiwania na żądanie z serwera Zabbix (lub proxy). Najpierw pobiera z serwera listę monitorowanych pozycji (obciążenie CPU, dostępna pamięć itp.), a następnie zbiera wymagane dane i okresowo odsyła do niego nowe wartości.

Typ kontroli agenta konfiguruje się przez wybranie odpowiedniego monitorowanego typu pozycji. Agent Zabbix przetwarza pozycje typu „Agent Zabbix” lub „Agent Zabbix (aktywny)”.

Obsługiwane platformy

Informacje o obsługiwanych platformach można znaleźć na stronie Wymagania.

Agent w systemach typu UNIX

Agent Zabbix w systemach typu UNIX jest uruchamiany na monitorowanym hoście.

Instalacja

Zabbix agent można zainstalować w systemach opartych na Linuksie, korzystając z jednej z następujących metod:

  • Pakiety Zabbix — wybierz komponent Agent (po wybraniu wersji Zabbix, dystrybucji systemu operacyjnego i wersji systemu operacyjnego) i postępuj zgodnie z podanymi instrukcjami.
  • Źródła Zabbix — pobierz pliki źródłowe i skompiluj Zabbix agent, konfigurując źródła z opcją --enable-agent.

Ogólnie rzecz biorąc, 32-bitowe agenty Zabbix będą działać w systemach 64-bitowych, ale w niektórych przypadkach mogą zawieść.

Wstępnie skompilowane pliki binarne Zabbix agent są dostępne do pobrania dla systemów macOS, IBM AIX, FreeBSD, OpenBSD i Solaris. Starsze pliki binarne, zgodne z obecną wersją serwera/proxy Zabbix, są dostępne dla systemów NetBSD i HP-UX.

Jeśli zainstalowano jako pakiet

Agent Zabbix działa jako proces demona. Agent można uruchomić, wykonując:

systemctl start zabbix-agent

To zadziała w większości systemów GNU/Linux. W innych systemach może być konieczne uruchomienie:

/etc/init.d/zabbix-agent start

Aby zatrzymać, uruchomić ponownie lub sprawdzić status agenta Zabbix, użyj następujących poleceń:

systemctl stop zabbix-agent
systemctl restart zabbix-agent
systemctl status zabbix-agent
Uruchamianie ręczne

Możesz uruchomić agent Zabbix, lokalizując plik binarny zabbix_agentd i uruchamiając go bezpośrednio; na przykład:

zabbix_agentd

Agent w systemach Windows

Agent Zabbix w systemach Windows działa jako usługa systemu Windows.

Instalacja

Agent Zabbix można zainstalować w systemie Windows, korzystając z jednej z następujących metod:

Dodatkowe informacje na temat instalacji agenta Zabbix (z archiwum ZIP) jako usługi systemu Windows można znaleźć na stronie Agent Zabbix w systemie Microsoft Windows.

Opcje

Możliwe jest uruchomienie wielu instancji agent na hoście. Pojedyncza instancja może używać domyślnego pliku konfiguracyjnego lub pliku konfiguracyjnego określonego w wierszu poleceń. W przypadku wielu instancji każda instancja agent musi mieć własny plik konfiguracyjny (jedna z instancji może używać domyślnego pliku konfiguracyjnego).

Następujące parametry wiersza poleceń mogą być używane z Zabbix agent:

Parameter Description
UNIX and Windows agent
-c --config <config-file> Ścieżka do pliku konfiguracyjnego.
Możesz użyć tej opcji, aby wskazać plik konfiguracyjny inny niż domyślny.
W systemach UNIX domyślną wartością jest /usr/local/etc/zabbix_agentd.conf lub wartość ustawiona przez zmienne compile-time --sysconfdir lub --prefix
W systemie Windows domyślną wartością jest C:\Program Files\Zabbix Agent\zabbix_agentd.conf
-f --foreground Uruchom Zabbix agent na pierwszym planie (domyślnie: true).
-p --print Wyświetl znane pozycje i zakończ działanie.
Uwaga: Aby zwracać również wyniki user parameter, musisz podać plik konfiguracyjny (jeśli nie znajduje się w domyślnej lokalizacji).
-t --test <item key> Przetestuj określoną pozycję i zakończ działanie.
Uwaga: Aby zwracać również wyniki user parameter, musisz podać plik konfiguracyjny (jeśli nie znajduje się w domyślnej lokalizacji).
-T --test-config Sprawdź poprawność pliku konfiguracyjnego i zakończ działanie.
-h --help Wyświetl informacje pomocy.
-V --version Wyświetl numer wersji.
UNIX agent only
-R --runtime-control <option> Wykonaj funkcje administracyjne. Zobacz runtime control.
Windows agent only
-m --multiple-agents Użyj wielu instancji agent (z opcjami -i, -d, -s, -x).
Aby rozróżnić nazwy usług instancji, każda nazwa usługi będzie zawierać wartość Hostname z określonego pliku konfiguracyjnego.
-S --startup-type <value> Ustaw typ uruchamiania usługi Zabbix Windows agent. Dozwolone wartości:
automatic - (domyślnie) uruchom usługę automatycznie podczas startu systemu Windows;
delayed - opóźnij uruchomienie usługi do momentu zakończenia uruchamiania usług startowanych automatycznie (dostępne w Windows Server 2008/Vista i nowszych wersjach);
manual - uruchom usługę ręcznie (przez użytkownika lub aplikację);
disabled - wyłącz usługę, aby nie mogła zostać uruchomiona przez użytkownika lub aplikację.
Możesz użyć tej opcji razem z opcją -i lub osobno, aby zmodyfikować typ uruchamiania już zainstalowanej usługi.
-i --install Zainstaluj Zabbix Windows agent jako usługę.
-d --uninstall Odinstaluj usługę Zabbix Windows agent.
-s --start Uruchom usługę Zabbix Windows agent.
-x --stop Zatrzymaj usługę Zabbix Windows agent.

Szczegółowe przykłady użycia parametrów wiersza poleceń:

  • wyświetlenie wszystkich wbudowanych pozycji agent wraz z wartościami
  • testowanie parametru użytkownika z kluczem "mysql.ping" zdefiniowanym w określonym pliku konfiguracyjnym
  • instalacja usługi "Zabbix Agent" dla systemu Windows z użyciem domyślnej ścieżki do pliku konfiguracyjnego C:\Program Files\Zabbix Agent\zabbix_agentd.conf
  • instalacja usługi "Zabbix Agent [Hostname]" dla systemu Windows z użyciem pliku konfiguracyjnego zabbix_agentd.conf znajdującego się w tym samym folderze co plik wykonywalny agent oraz nadanie unikalnej nazwy usługi przez rozszerzenie jej o wartość Hostname z pliku konfiguracyjnego
  • modyfikacja typu uruchamiania zainstalowanej usługi "Zabbix Agent" dla systemu Windows z użyciem pliku konfiguracyjnego zabbix_agentd.conf znajdującego się w tym samym folderze co plik wykonywalny agent
zabbix_agentd --print
zabbix_agentd -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agentd.exe -i
zabbix_agentd.exe -i -m -c zabbix_agentd.conf
zabbix_agentd.exe -c zabbix_agentd.conf -S delayed
Sterowanie w czasie działania

Za pomocą opcji sterowania w czasie działania można zmienić poziom logowania procesów agent.

Opcja Opis Cel
log_level_increase[=<target>] Zwiększa poziom logowania.
Jeśli cel nie zostanie określony, zmiana dotyczy wszystkich procesów.
Cel można określić jako:
typ procesu - wszystkie procesy określonego typu (np. listener)
Zobacz wszystkie typy procesów agent.
typ procesu,N - typ procesu i numer (np. listener,3)
pid - identyfikator procesu (od 1 do 65535). Dla większych wartości określ cel jako „typ-procesu,N”.
log_level_decrease[=<target>] Zmniejsza poziom logowania.
Jeśli cel nie zostanie określony, zmiana dotyczy wszystkich procesów.
userparameter_reload Przeładowuje wartości opcji UserParameter i Include z bieżącego pliku konfiguracyjnego.

Przykłady:

  • zwiększenie poziomu logowania wszystkich procesów
  • zwiększenie poziomu logowania trzeciego procesu listener
  • zwiększenie poziomu logowania procesu o PID 1234
  • zmniejszenie poziomu logowania wszystkich procesów aktywnych kontroli
zabbix_agentd -R log_level_increase
zabbix_agentd -R log_level_increase=listener,3
zabbix_agentd -R log_level_increase=1234
zabbix_agentd -R log_level_decrease="active checks"

Sterowanie w czasie działania nie jest obsługiwane w systemach OpenBSD, NetBSD i Windows.

Typy procesów agenta

  • active checks — proces wykonujący aktywne sprawdzenia
  • collector — proces do zbierania danych
  • listener — proces nasłuchujący sprawdzeń pasywnych

Plik dziennika agenta może być używany do obserwowania tych typów procesów.

Plik dziennika agenta jest tworzony z uprawnieniami odczytu i zapisu tylko dla właściciela pliku. Dodatkowo plik jest dostępny do odczytu dla grupy właściciela. Wszystkie pozostałe uprawnienia są zabronione.

Użytkownik procesu

Agent Zabbix w systemach UNIX został zaprojektowany do działania jako użytkownik nieuprzywilejowany. Będzie działać jako dowolny użytkownik nieuprzywilejowany, z uprawnieniami którego został uruchomiony. Dlatego możesz uruchomić agent jako dowolnego użytkownika nieuprzywilejowanego bez żadnych problemów.

Jeśli spróbujesz uruchomić go jako „root”, przełączy się na wpisanego na stałe użytkownika „zabbix”, który musi istnieć w systemie. Możesz uruchomić agent jako „root” tylko wtedy, gdy odpowiednio zmodyfikujesz parametr „AllowRoot” w pliku konfiguracyjnym agenta.

Plik konfiguracyjny

Szczegółowe informacje na temat konfiguracji Zabbix agent można znaleźć w opcjach pliku konfiguracyjnego dla zabbix_agentd lub agenta Windows.

Ustawienia regionalne

Należy pamiętać, że agent wymaga ustawień regionalnych UTF-8, aby niektóre tekstowe pozycje agenta mogły zwracać oczekiwaną zawartość. Większość nowoczesnych systemów typu Unix domyślnie używa ustawień regionalnych UTF-8, jednak istnieją systemy, w których może być konieczne ich jawne skonfigurowanie.

Kod zakończenia

Zabbix agent zwraca 0 w przypadku pomyślnego zakończenia i 1 w przypadku niepowodzenia.