Zabbix Agent unter Microsoft Windows

Agent konfigurieren

Beide Generationen der Zabbix Agenten werden als Windows-Dienst ausgeführt.
Ersetzen Sie für Zabbix Agent 2 in den nachstehenden Anweisungen agentd durch agent2.

Sie können eine einzelne Instanz des Zabbix Agent oder mehrere Instanzen des Agent auf einem Microsoft Windows Host ausführen.
Eine einzelne Instanz kann entweder Folgendes 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 eine 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 den Zabbix Agent;
  • conf/zabbix_agent2.conf für Zabbix agent2.

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

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

Weitere Informationen zur Konfiguration des Zabbix Windows Agent finden Sie in den Optionen der Agent-Konfigurationsdatei oder der Konfigurationsdatei von Agent 2.

Hostname-Parameter

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

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

Der Standardwert für den Parameter HostnameItem ist der vom Agent-Schlüssel system.hostname zurückgegebene Wert.
Unter Windows gibt dieser 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, entspricht der tatsächliche Hostname dem NetBIOS-Namen des Hosts. Der Zabbix Agent verwendet den NetBIOS-Hostnamen, um die Liste der aktiven Prüfungen vom Zabbix Server abzurufen und die 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 ausschließlich in GROSSBUCHSTABEN angegeben wird;
  • host - unterscheidet zwischen Groß- und Kleinschreibung und gibt den vollständigen, tatsächlichen 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 die vollständige Zeichenfolge zurückgegeben.
  • fqdn - gibt den Fully Qualified Domain Name zurück (ohne abschließenden Punkt).

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

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

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

  1. Lassen Sie die Parameter Hostname oder HostnameItem undefiniert. Der Zabbix Agent verwendet dann 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, tatsächlichen Windows-Hostnamen unter Beachtung der Groß- und Kleinschreibung als Hostnamen verwendet.
    • HostnameItem=system.hostname[shorthost,lower] - damit der Zabbix Agent nur den Teil des Hostnamens vor dem ersten Punkt verwendet und in Kleinbuchstaben umwandelt.
    • 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 zum Installieren, Starten, Beenden und Deinstallieren des Windows-Dienstes dient. Wenn die Konfigurationsdatei des Zabbix Agent beispielsweise Hostname=Windows_db_server angibt, wird der Agent als Windows-Dienst Zabbix Agent [Windows_db_server] installiert. Damit für jede Instanz des Zabbix Agent ein anderer Windows-Dienstname verwendet wird, muss jede Instanz daher einen anderen Hostnamen verwenden.

Installation des Agent als Windows-Dienst

Kopieren Sie vor der Installation des Agent 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 eine 64-Bit-Version des Zabbix Agent erforderlich, damit alle Prüfungen im Zusammenhang mit der Ausführung von 64-Bit-Prozessen 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 als Dienste wie folgt 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.

Starten des Agent

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 Konfigurationsdatei 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

Stoppen des Agent

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 von Zabbix Agent mit der Standard- Konfigurationsdatei zu deinstallieren:

   zabbix_agentd.exe --uninstall

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

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

Um mehrere Instanzen von Zabbix Agent aus 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 über NUMA-Knoten verteilt sind. Wenn logische CPUs ungleichmäßig verteilt sind, sind CPU-Leistungsmetriken möglicherweise für einige CPUs nicht verfügbar. Wenn es beispielsweise 72 logische CPUs mit 2 NUMA-Knoten gibt, müssen beide Knoten jeweils 36 CPUs haben.