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.
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 im Frontend für den Host konfigurierten "Hostnamen" übereinstimmen.
Der Hostname auf Agent-Seite kann entweder durch 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-Key "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, 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 die Ergebnisse an ihn zu senden.
Der Key "system.hostname" unterstützt zwei optionale Parameter - type und transform.
Type bestimmt den Namenstyp, 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 drei verschiedene Vorgehensweisen verwendet werden:
- Lassen Sie die Parameter Hostname oder HostnameItem undefiniert. Der Zabbix Agent verwendet dann den NetBIOS-Hostnamen als Hostnamen.
- 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, Stoppen 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 jede Zabbix-Agent-Instanz einen anderen Windows-Dienstnamen erhält, muss jede Instanz daher 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.