Zabbix agent w Microsoft Windows

Konfigurowanie agent

Obie generacje agentów Zabbix działają jako usługa systemu Windows. W przypadku Zabbix agent 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 Zabbix agent;
  • conf/zabbix_agent2.conf dla Zabbix agent2.

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

  • conf/zabbix_agentd.conf należy ręcznie skopiować do katalogu, w którym zostanie zainstalowany plik zabbix_agentd.exe;
  • 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 zawierają opcje pliku konfiguracyjnego agenta Zabbix lub pliku konfiguracyjnego agenta 2 Zabbix.

Parametr Hostname

Aby wykonywać aktywne sprawdzanie na hoście, Zabbix agent 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 - w przeciwnym razie używane są wartości domyślne, jeśli żaden z tych parametrów nie został określony.

Wartością domyślną 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.

Wartością domyślną 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 nazwa NetBIOS hosta; Zabbix agent użyje nazwy hosta NetBIOS do pobrania listy aktywnych sprawdzeń z serwera Zabbix i prześle do niego wyniki.

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

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, zwróci pełny ciąg znaków.
  • fqdn - zwraca w pełni kwalifikowaną nazwę domenową (bez końcowej kropki).

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

  • none (domyślnie) - zachowuje oryginalną wielkość liter;
  • lower - konwertuje tekst na małe litery.

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

  1. Pozostawić parametry Hostname lub HostnameItem niezdefiniowane - Zabbix agent 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] - aby Zabbix agent używał pełnej, rzeczywistej nazwy hosta Windows (z rozróżnianiem wielkości liter) jako nazwy hosta.
    • HostnameItem=system.hostname[shorthost,lower] - aby Zabbix agent używał tylko części nazwy hosta znajdującej się przed pierwszą kropką, przekonwertowanej na małe litery.
    • HostnameItem=system.hostname[fqdn] - aby Zabbix agent używał w pełni kwalifikowanej nazwy domenowej jako nazwy hosta.

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

Instalowanie agenta jako usługi systemu Windows

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

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

zabbix_agentd.exe --install

W systemie 64-bitowym do poprawnego działania wszystkich kontroli związanych z uruchamianiem procesów 64-bitowych wymagana jest 64-bitowa wersja agenta Zabbix.

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

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

Należy podać 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 agent

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

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

 zabbix_agentd.exe --start

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

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

Aby uruchomić jedną z wielu instancji Zabbix agent:

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

Zatrzymywanie agent

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

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

 zabbix_agentd.exe --stop

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

 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 Windows agent

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

   zabbix_agentd.exe --uninstall

Aby odinstalować pojedynczą instancję Zabbix agent przy użyciu niestandardowego pliku konfiguracyjnego:

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

Aby odinstalować wiele instancji Zabbix agent 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 Windows nie obsługuje niestandardowych konfiguracji Windows, w których procesory są rozmieszczone nierównomiernie między węzłami NUMA. Jeśli logiczne procesory są rozmieszczone nierównomiernie, metryki wydajności procesora mogą nie być dostępne dla niektórych procesorów. Na przykład, jeśli istnieje 72 logicznych procesorów i 2 węzły NUMA, oba węzły muszą mieć po 36 procesorów każdy.