10 Zabbix agent w Microsoft Windows

Konfigurowanie agenta

Obie generacje agentów Zabbix działają jako usługa systemu Windows.
W przypadku agenta Zabbix 2 zamień agentd na agent2 w poniższych instrukcjach.

Na hoście Microsoft Windows można uruchomić pojedynczą instancję agenta Zabbix lub wiele instancji agenta.
Pojedyncza instancja może używać:

  • domyślnego pliku konfiguracyjnego znajdującego się w tym samym katalogu co plik binarny agenta;
  • pliku konfiguracyjnego określonego w wierszu poleceń.

W przypadku wielu instancji każda instancja agenta musi mieć własny plik konfiguracyjny (jedna z instancji może używać domyślnego pliku konfiguracyjnego).

Przykładowy plik konfiguracyjny jest dostępny w archiwum źródłowym Zabbix jako:

  • conf/zabbix_agentd.conf dla agenta Zabbix;
  • conf/zabbix_agent2.conf dla agenta Zabbix 2.

Jeśli chcesz zainstalować agenta Zabbix/agenta Zabbix 2 dla systemu Windows jako usługę z archiwum bez jawnego określania pliku konfiguracyjnego, przed zainstalowaniem agenta:

  • plik conf/zabbix_agentd.conf należy ręcznie skopiować do katalogu, w którym zostanie zainstalowany plik zabbix_agentd.exe;
  • plik conf/zabbix_agent2.conf oraz katalog conf/zabbix_agent2.d należy ręcznie skopiować do katalogu, w którym zostanie zainstalowany plik zabbix_agent2.exe.

Szczegółowe informacje dotyczące konfigurowania agenta Zabbix dla systemu Windows zawiera sekcja dotycząca opcji pliku konfiguracyjnego.

Parametr Hostname

Aby wykonywać aktywne sprawdzanie na hoście, agent Zabbix musi mieć zdefiniowaną nazwę hosta. Ponadto wartość nazwy hosta ustawiona po stronie agenta powinna dokładnie odpowiadać wartości "Host name" skonfigurowanej dla hosta we frontendzie.

Wartość nazwy hosta po stronie agenta można zdefiniować za pomocą parametru Hostname lub HostnameItem w pliku konfiguracyjnym agenta - jeśli żaden z tych parametrów nie zostanie określony, używane są wartości domyślne.

Domyślną wartością parametru HostnameItem jest wartość zwracana przez klucz agenta "system.hostname". W systemie Windows zwraca on wynik funkcji gethostname(), która odpytuje dostawców przestrzeni nazw w celu określenia lokalnej nazwy hosta. Jeśli żaden dostawca przestrzeni nazw nie odpowie, zwracana jest nazwa NetBIOS.

Domyślną wartością parametru Hostname jest wartość zwracana przez parametr HostnameItem. W praktyce oznacza to, że jeśli oba te parametry nie zostaną określone, rzeczywistą nazwą hosta będzie jego nazwa NetBIOS; agent Zabbix użyje nazwy hosta NetBIOS do pobrania listy aktywnych sprawdzeń z serwera Zabbix i przesłania do niego wyników.

Klucz system.hostname obsługuje dwa opcjonalne parametry - type i transform.

Parametr type określa typ nazwy, którą powinna zwrócić pozycja:

  • netbios (domyślnie) - zwraca nazwę hosta NetBIOS, która jest ograniczona do 15 znaków i zawiera wyłącznie wielkie litery;
  • host - rozróżnia wielkość liter, zwraca pełną, rzeczywistą nazwę hosta Windows (bez domeny);
  • shorthost - zwraca część nazwy hosta znajdującą się przed pierwszą kropką. Jeśli nazwa nie zawiera kropki, zwracany jest pełny ciąg znaków.
  • fqdn - zwraca w pełni kwalifikowaną nazwę domenową (bez końcowej kropki).

Parametr transform umożliwia określenie dodatkowej reguły przekształcania nazwy hosta:

  • none (domyślnie) - używa oryginalnej wielkości liter;
  • lower - konwertuje tekst na małe litery.

Aby uprościć konfigurację pliku zabbix_agentd.conf i ujednolicić ją, można zastosować trzy różne podejścia:

  1. Pozostawić parametry Hostname lub HostnameItem niezdefiniowane - agent Zabbix użyje nazwy hosta NetBIOS jako nazwy hosta.
  2. Pozostawić parametr Hostname niezdefiniowany i zdefiniować HostnameItem w następujący sposób:
    HostnameItem=system.hostname[host] - agent Zabbix użyje pełnej, rzeczywistej nazwy hosta Windows (z rozróżnianiem wielkości liter) jako nazwy hosta.
    HostnameItem=system.hostname[shorthost,lower] - agent Zabbix użyje tylko części nazwy hosta znajdującej się przed pierwszą kropką, przekonwertowanej na małe litery.
    HostnameItem=system.hostname[fqdn] - agent Zabbix użyje w pełni kwalifikowanej nazwy domenowej jako nazwy hosta.

Nazwa hosta jest również używana jako część nazwy usługi systemu Windows, która służy do instalowania, uruchamiania, zatrzymywania i odinstalowywania usługi systemu Windows. Na przykład jeśli plik konfiguracyjny agenta Zabbix określa Hostname=Windows_db_server, agent zostanie zainstalowany jako usługa systemu Windows "Zabbix Agent [Windows_db_server]". Dlatego aby każda instancja agenta Zabbix miała inną nazwę usługi systemu Windows, każda instancja musi używać innej nazwy hosta.

Instalowanie agenta jako usługi systemu Windows

Przed zainstalowaniem agenta skopiuj ręcznie plik conf/zabbix_agentd.conf do katalogu, w którym zostanie zainstalowany plik zabbix_agentd.exe.

Aby zainstalować pojedynczą instancję agenta Zabbix z domyślnym plikiem konfiguracyjnym:

zabbix_agentd.exe --install

W systemie 64-bitowym do prawidłowego działania wszystkich kontroli związanych z uruchomionymi procesami 64-bitowymi wymagana jest 64-bitowa wersja agenta Zabbix.

Jeśli chcesz użyć pliku konfiguracyjnego innego niż domyślny, podczas instalowania usługi użyj następującego polecenia:

zabbix_agentd.exe --config <your_configuration_file> --install

Należy określić pełną ścieżkę do pliku konfiguracyjnego.

Wiele instancji agenta Zabbix można zainstalować jako usługi w następujący sposób:

zabbix_agentd.exe --config <configuration_file_for_instance_1> --install --multiple-agents
zabbix_agentd.exe --config <configuration_file_for_instance_2> --install --multiple-agents
...
zabbix_agentd.exe --config <configuration_file_for_instance_N> --install --multiple-agents

Zainstalowana usługa powinna być teraz widoczna w Panelu sterowania.

Uruchamianie agenta

Aby uruchomić usługę agenta, możesz użyć Panelu sterowania lub zrobić to z poziomu wiersza poleceń.

Aby uruchomić pojedynczą instancję agenta Zabbix z domyślnym plikiem konfiguracyjnym:

zabbix_agentd.exe --start

Aby uruchomić pojedynczą instancję agenta Zabbix z innym plikiem konfiguracyjnym:

zabbix_agentd.exe --config <your_configuration_file> --start

Aby uruchomić jedną z wielu instancji agenta Zabbix:

zabbix_agentd.exe --config <configuration_file_for_this_instance> --start --multiple-agents

Zatrzymywanie agenta

Aby zatrzymać usługę agenta, możesz użyć Panelu sterowania lub zrobić to z poziomu wiersza poleceń.

Aby zatrzymać pojedynczą instancję agenta Zabbix uruchomioną z użyciem domyślnego pliku konfiguracyjnego:

zabbix_agentd.exe --stop

Aby zatrzymać pojedynczą instancję agenta Zabbix uruchomioną z użyciem innego pliku konfiguracyjnego:

zabbix_agentd.exe --config <your_configuration_file> --stop

Aby zatrzymać jedną z wielu instancji agenta Zabbix:

zabbix_agentd.exe --config <configuration_file_for_this_instance> --stop --multiple-agents

Odinstalowywanie usługi agenta Windows

Aby odinstalować pojedynczą instancję agenta Zabbix przy użyciu domyślnego pliku konfiguracyjnego:

zabbix_agentd.exe --uninstall

Aby odinstalować pojedynczą instancję agenta Zabbix przy użyciu niedomyślnego pliku konfiguracyjnego:

zabbix_agentd.exe --config <your_configuration_file> --uninstall

Aby odinstalować wiele instancji agenta Zabbix z usług Windows:

zabbix_agentd.exe --config <configuration_file_for_instance_1> --uninstall --multiple-agents
zabbix_agentd.exe --config <configuration_file_for_instance_2> --uninstall --multiple-agents
...
zabbix_agentd.exe --config <configuration_file_for_instance_N> --uninstall --multiple-agents

Ograniczenia

agent Zabbix dla systemu Windows nie obsługuje niestandardowych konfiguracji systemu Windows, w których procesory są rozmieszczone nierównomiernie między węzłami NUMA. Jeśli procesory logiczne są rozmieszczone nierównomiernie, metryki wydajności procesora mogą nie być dostępne dla niektórych procesorów. Na przykład, jeśli dostępnych jest 72 procesory logiczne i 2 węzły NUMA, każdy węzeł musi mieć po 36 procesorów.