11 Zabbix Agent unter Microsoft Windows
Konfiguration des Agent
Beide Generationen von Zabbix-Agenten werden als Windows-Dienst ausgeführt. Für Zabbix Agent 2 ersetzen Sie 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 Standard-Konfigurationsdatei, die sich im selben Verzeichnis wie die Agent-Binärdatei befindet;
- eine in der Befehlszeile angegebene Konfigurationsdatei.
Bei mehreren Instanzen muss jede Agent-Instanz ihre eigene Konfigurationsdatei haben (eine der Instanzen kann die Standard-Konfigurationsdatei verwenden).
Eine Beispiel-Konfigurationsdatei ist im Zabbix-Quellarchiv verfügbar als:
conf/zabbix_agentd.conffür Zabbix-Agent;conf/zabbix_agent2.conffür Zabbix agent2.
Wenn Sie Zabbix-Agent/Agent 2 für Windows aus einem Archiv als Dienst installieren möchten, ohne die Konfigurationsdatei ausdrücklich anzugeben, dann sollten vor der Installation des Agent:
conf/zabbix_agentd.confmanuell in das Verzeichnis kopiert werden, in dem zabbix_agentd.exe installiert wird;conf/zabbix_agent2.confund das Verzeichnisconf/zabbix_agent2.dmanuell in das Verzeichnis kopiert werden, in dem zabbix_agent2.exe installiert wird.
Weitere Informationen zur Konfiguration des Zabbix-Windows-Agent finden Sie in den Optionen der Konfigurationsdatei.
Parameter Hostname
Um aktive Prüfungen auf einem Host durchzuführen, muss für den Zabbix Agent der Hostname definiert sein. Außerdem muss der auf der Agent-Seite gesetzte Hostname-Wert exakt mit dem im Frontend für den Host konfigurierten "Host- Namen" übereinstimmen.
Der Hostname-Wert auf der Agent-Seite kann entweder über den Parameter Hostname oder HostnameItem in der Konfigurationsdatei des Agent definiert werden - oder es 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 dieser das Ergebnis der Funktion gethostname() zurück, die Namespace-Provider abfragt, um den lokalen Hostnamen zu ermitteln. Wenn kein Namespace-Provider antwortet, wird der NetBIOS-Name zurückgegeben.
Der Standardwert für Hostname ist der vom Parameter HostnameItem zurückgegebene Wert. Das bedeutet, dass, wenn beide Parameter nicht angegeben sind, der tatsächliche Hostname der NetBIOS-Name des Hosts ist; 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ß-/Kleinschreibung wird beachtet, gibt den vollständigen, tatsächlichen Windows-Hostnamen zurück (ohne Domain);
- 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 den abschließenden Punkt).
Transform ermöglicht die Angabe einer zusätzlichen Transformationsregel für den Hostnamen:
- none (Standard) - die ursprüngliche Groß-/Kleinschreibung verwenden;
- lower - den Text in Kleinbuchstaben umwandeln.
Um also die Konfiguration der Datei zabbix_agentd.conf zu vereinfachen und zu vereinheitlichen, können drei verschiedene Ansätze verwendet werden:
- Die Parameter Hostname oder HostnameItem nicht definieren, dann verwendet der Zabbix Agent den NetBIOS-Hostnamen als Hostnamen.
- Den Parameter Hostname nicht definieren und HostnameItem
wie folgt festlegen:
HostnameItem=system.hostname[host] - damit der Zabbix Agent den vollständigen, tatsächlichen Windows-Hostnamen (unter Beachtung der Groß-/Kleinschreibung) als Hostnamen verwendet
HostnameItem=system.hostname[shorthost,lower] - damit der Zabbix Agent nur den Teil des Hostnamens vor dem ersten Punkt verwendet, in Kleinbuchstaben umgewandelt.
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, Stoppen und Deinstallieren des Windows-Dienstes verwendet wird. Wenn beispielsweise in der Zabbix-Agent-Konfigurationsdatei
Hostname=Windows_db_server angegeben ist, wird der Agent als
Windows-Dienst "Zabbix Agent [Windows_db_server]" installiert. Um daher für jede Zabbix-Agent-Instanz einen anderen Windows-Dienstnamen zu haben, muss jede Instanz einen anderen Hostnamen verwenden.
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.