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:
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.confmanuell in das Verzeichnis kopieren, in demzabbix_agentd.exeinstalliert wird;conf/zabbix_agent2.confund das Verzeichnisconf/zabbix_agent2.dmanuell in das Verzeichnis kopieren, in demzabbix_agent2.exeinstalliert 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:
- Lassen Sie die Parameter
HostnameoderHostnameItemundefiniert. Der Zabbix Agent verwendet dann den NetBIOS-Hostnamen als Hostnamen. - Lassen Sie den Parameter
Hostnameundefiniert und definieren SieHostnameItemwie 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.