11 Zabbix agent w systemie Microsoft Windows

Konfigurowanie agent

Obie generacje agentów Zabbix działają jako usługa systemu Windows. W przypadku Zabbix agent 2 w poniższych instrukcjach należy zastąpić agentd przez agent2.

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

  • domyślnego pliku konfiguracyjnego znajdującego się w tym samym katalogu co plik binarny agent;
  • 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).

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, to przed instalacją agent:

  • 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 na temat konfiguracji agenta Zabbix dla systemu Windows można znaleźć w opcjach pliku konfiguracyjnego.

Parametr Hostname

Aby wykonywać aktywne kontrole 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 — albo zostaną użyte wartości domyślne, jeśli którykolwiek z tych parametrów nie zostanie określony.

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 są określone, rzeczywistą nazwą hosta będzie nazwa NetBIOS hosta; agent Zabbix użyje nazwy hosta NetBIOS do pobrania listy aktywnych kontroli z serwera Zabbix i wysłania do niego wyników.

Klucz „system.hostname” obsługuje dwa opcjonalne parametry — type i transform.

Type określa typ nazwy, którą pozycja ma zwracać:

  • netbios (domyślnie) — zwraca nazwę hosta NetBIOS, która jest ograniczona do 15 znaków i zawiera wyłącznie WIELKIE LITERY;
  • host — z uwzględnieniem wielkości liter, zwraca pełną, rzeczywistą nazwę hosta Windows (bez domeny);
  • shorthost — zwraca część nazwy hosta przed pierwszą kropką. Zwróci pełny ciąg, jeśli nazwa nie zawiera kropki.
  • fqdn — zwraca w pełni kwalifikowaną nazwę domenową (bez końcowej kropki).

Transform pozwala określić dodatkową regułę przekształcenia nazwy hosta:

  • none (domyślnie) — użyj oryginalnej wielkości liter;
  • lower — zamień tekst na małe litery.

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

  1. Pozostawić parametry Hostname lub HostnameItem niezdefiniowane, a 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] — aby agent Zabbix używał pełnej, rzeczywistej (z uwzględnieniem wielkości liter) nazwy hosta Windows jako nazwy hosta
    HostnameItem=system.hostname[shorthost,lower] — aby agent Zabbix używał tylko części nazwy hosta przed pierwszą kropką, zamienionej na małe litery.
    HostnameItem=system.hostname[fqdn] — aby agent Zabbix 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 agenta Zabbix zawiera Hostname=Windows_db_server, agent zostanie zainstalowany jako usługa Windows „Zabbix Agent [Windows_db_server]”. Dlatego aby każda instancja agenta Zabbix miała inną nazwę usługi Windows, każda instancja musi używać innej nazwy hosta.

Instalacja agent jako usługi Windows

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

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

zabbix_agentd.exe --install

W systemie 64-bitowym wymagana jest 64-bitowa wersja Zabbix agent, aby wszystkie kontrole związane z uruchomionymi procesami 64-bitowymi działały prawidłowo.

Jeśli chcesz użyć pliku konfiguracyjnego innego 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 Zabbix agent 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ę agent, 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ę agent, możesz użyć Panelu sterowania lub zrobić to z wiersza poleceń.

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

 zabbix_agentd.exe --stop

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

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

Aby zatrzymać jedną z wielu instancji Zabbix agent:

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

Odinstalowywanie usługi agenta Windows

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 niedomyślnego 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

Zabbix agent dla systemu Windows nie obsługuje niestandardowych konfiguracji systemu Windows, w których procesory CPU są rozmieszczone nierównomiernie pomiędzy węzłami NUMA. Jeśli logiczne procesory CPU są rozmieszczone nierównomiernie, metryki wydajności CPU mogą nie być dostępne dla niektórych procesorów CPU. Na przykład, jeśli istnieją 72 logiczne procesory CPU i 2 węzły NUMA, oba węzły muszą mieć po 36 procesorów CPU.