11 Zabbix Agent unter Microsoft Windows

Konfiguration des Agent

Beide Generationen von Zabbix Agent laufen als Windows-Dienst. Für Zabbix Agent 2 ersetzen Sie in den folgenden Anweisungen agentd durch agent2.

Sie können auf einem Microsoft-Windows-Host eine einzelne Instanz von Zabbix Agent oder mehrere Instanzen des Agent ausführen. Eine einzelne Instanz kann entweder verwenden:

  • die Standardkonfigurationsdatei, die sich im selben Verzeichnis wie die Agent-Binärdatei befindet;
  • eine in der Befehlszeile angegebene Konfigurationsdatei.

Bei mehreren Instanzen muss jede Agent-Instanz über ihre eigene Konfigurationsdatei verfügen (eine der Instanzen kann die Standardkonfigurationsdatei verwenden).

Eine Beispielkonfigurationsdatei ist im Zabbix-Quellarchiv verfügbar als:

  • conf/zabbix_agentd.conf für Zabbix Agent;
  • conf/zabbix_agent2.conf für Zabbix Agent2.

Wenn Sie Zabbix Agent/Agent 2 für Windows als Dienst aus einem Archiv installieren möchten, ohne die Konfigurationsdatei explizit anzugeben, dann muss vor der Installation des Agent:

  • conf/zabbix_agentd.conf manuell in das Verzeichnis kopiert werden, in dem zabbix_agentd.exe installiert wird;
  • conf/zabbix_agent2.conf und das Verzeichnis conf/zabbix_agent2.d manuell in das Verzeichnis kopiert werden, in dem zabbix_agent2.exe installiert wird.

Weitere Details zur Konfiguration des Zabbix Windows Agent finden Sie unter den Optionen der Konfigurationsdatei.

Hostname-Parameter

Um auf einem Host aktive Prüfungen durchzuführen, muss beim Zabbix Agent der Hostname definiert sein. Außerdem muss der auf der Agent-Seite festgelegte Hostname-Wert exakt mit dem im Host namen konfigurierten Wert für den Host im Frontend übereinstimmen.

Der Hostname-Wert auf der Agent-Seite kann entweder über den Parameter Hostname oder HostnameItem in der Konfigurationsdatei des Agenten definiert werden - andernfalls werden die Standardwerte verwendet, wenn keiner dieser Parameter angegeben ist.

Der Standardwert für den Parameter HostnameItem ist der vom Agent-Schlüssel "system.hostname" zurückgegebene Wert. Unter Windows gibt er das Ergebnis der Funktion gethostname() zurück, die Namespace-Provider abfragt, um den lokalen Hostnamen zu bestimmen. Wenn kein Namespace-Provider antwortet, wird der NetBIOS-Name zurückgegeben.

Der Standardwert für Hostname ist der vom Parameter HostnameItem zurückgegebene Wert. Wenn also beide Parameter nicht angegeben sind, ist der tatsächliche Hostname der NetBIOS-Name des Hosts; der Zabbix Agent verwendet den NetBIOS-Hostnamen, um die Liste der aktiven Prüfungen vom Zabbix Server abzurufen und Ergebnisse an ihn zu senden.

Der Schlüssel "system.hostname" unterstützt zwei optionale Parameter - type und transform.

Type bestimmt den Typ des Namens, den der Datenpunkt zurückgeben soll:

  • netbios (Standard) - gibt den NetBIOS-Hostnamen zurück, der auf 15 Zeichen begrenzt ist und nur in GROSSBUCHSTABEN vorliegt;
  • host - groß-/kleinschreibungssensitiv, gibt den vollständigen, echten Windows-Hostnamen zurück (ohne Domäne);
  • shorthost - gibt den Teil des Hostnamens vor dem ersten Punkt zurück. Wenn der Name keinen Punkt enthält, wird der vollständige String zurückgegeben.
  • fqdn - gibt den Fully Qualified Domain Name zurück (ohne den abschließenden Punkt).

Transform ermöglicht die Angabe einer zusätzlichen Transformationsregel für den Hostnamen:

  • none (Standard) - verwendet die ursprüngliche Groß-/Kleinschreibung;
  • lower - wandelt den Text in Kleinbuchstaben um.

Um die Konfiguration der Datei zabbix_agentd.conf zu vereinfachen und zu vereinheitlichen, können drei verschiedene Ansätze verwendet werden:

  1. Lassen Sie die Parameter Hostname oder HostnameItem undefiniert, und der Zabbix Agent verwendet den NetBIOS-Hostnamen als Hostnamen.
  2. Lassen Sie den Parameter Hostname undefiniert und definieren Sie HostnameItem wie folgt:
    HostnameItem=system.hostname[host] - damit der Zabbix Agent den vollständigen, echten (groß-/kleinschreibungssensitiven) Windows-Hostnamen als Hostnamen verwendet.
    HostnameItem=system.hostname[shorthost,lower] - damit der Zabbix Agent nur den Teil des Hostnamens vor dem ersten Punkt verwendet, umgewandelt in Kleinbuchstaben.
    HostnameItem=system.hostname[fqdn] - damit der Zabbix Agent den Fully Qualified Domain Name als Hostnamen verwendet.

Der Hostname wird auch als Teil des Windows-Dienstnamens verwendet, der für die Installation, das Starten, Stoppen und Deinstallieren des Windows-Dienstes genutzt wird. Wenn beispielsweise die Konfigurationsdatei des Zabbix Agenten Hostname=Windows_db_server angibt, wird der Agent als Windows-Dienst "Zabbix Agent [Windows_db_server]" installiert. Daher muss jede Zabbix-Agent-Instanz einen anderen Hostnamen verwenden, damit jede Instanz einen eigenen Windows-Dienstnamen hat.

Installation des Agent als Windows-Dienst

Bevor Sie den Agent installieren, kopieren Sie conf/zabbix_agentd.conf manuell in das Verzeichnis, in dem zabbix_agentd.exe installiert wird.

Um eine einzelne Instanz des Zabbix Agent mit der Standard- Konfigurationsdatei zu installieren:

zabbix_agentd.exe --install

Auf einem 64-Bit-System ist für alle Prüfungen im Zusammenhang mit laufenden 64-Bit-Prozessen eine 64-Bit-Version des Zabbix Agent erforderlich, damit sie korrekt funktionieren.

Wenn Sie eine andere Konfigurationsdatei als die Standarddatei verwenden möchten, sollten Sie für die Dienstinstallation den folgenden Befehl verwenden:

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

Es sollte ein vollständiger Pfad zur Konfigurationsdatei angegeben werden.

Mehrere Instanzen des Zabbix Agent können wie folgt als Dienste installiert werden:

  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

Der installierte Dienst sollte nun in der Systemsteuerung sichtbar sein.

Agent starten

Um den Agent-Dienst zu starten, können Sie die Systemsteuerung verwenden oder dies über die Befehlszeile tun.

Um eine einzelne Instanz des Zabbix Agent mit der Standard- Konfigurationsdatei zu starten:

 zabbix_agentd.exe --start

Um eine einzelne Instanz des Zabbix Agent mit einer anderen Konfigurations- datei zu starten:

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

Um eine von mehreren Instanzen des Zabbix Agent zu starten:

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

Agent stoppen

Um den Agent-Dienst zu stoppen, können Sie die Systemsteuerung verwenden oder dies über die Befehlszeile tun.

Um eine einzelne Instanz des Zabbix Agent zu stoppen, die mit der Standard- Konfigurationsdatei gestartet wurde:

 zabbix_agentd.exe --stop

Um eine einzelne Instanz des Zabbix Agent zu stoppen, die mit einer anderen Konfigurationsdatei gestartet wurde:

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

Um eine von mehreren Instanzen des Zabbix Agent zu stoppen:

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

Deinstallation des Agent-Windows-Dienstes

Um eine einzelne Instanz des Zabbix Agent mit der Standard- Konfigurationsdatei zu deinstallieren:

   zabbix_agentd.exe --uninstall

Um eine einzelne Instanz des Zabbix Agent mit einer nicht standardmäßigen Konfigurationsdatei zu deinstallieren:

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

Um mehrere Instanzen des Zabbix Agent aus den Windows-Diensten zu deinstallieren:

  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

Einschränkungen

Der Zabbix Agent für Windows unterstützt keine nicht standardmäßigen Windows-Konfigurationen, bei denen CPUs ungleichmäßig auf NUMA-Knoten verteilt sind. Wenn logische CPUs ungleichmäßig verteilt sind, sind CPU-Leistungsmetriken für einige CPUs möglicherweise nicht verfügbar. Wenn es beispielsweise 72 logische CPUs mit 2 NUMA-Knoten gibt, müssen beide Knoten jeweils 36 CPUs haben.