10 Zabbix Agent unter Microsoft Windows
Agent konfigurieren
Beide Generationen der Zabbix Agents werden als Windows-Dienst ausgeführt.
Ersetzen Sie bei Zabbix Agent 2 in den folgenden Anweisungen agentd durch agent2.
Sie können eine einzelne Instanz des Zabbix Agents oder mehrere Instanzen des Agents auf einem Microsoft-Windows-Host ausführen.
Eine einzelne Instanz kann entweder Folgendes verwenden:
- die standardmäßige 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 über eine eigene Konfigurationsdatei verfügen (eine der Instanzen kann die standardmäßige Konfigurationsdatei verwenden).
Eine Beispielkonfigurationsdatei ist im Zabbix-Quellarchiv unter folgenden Pfaden verfügbar:
conf/zabbix_agentd.conffür den Zabbix Agent;conf/zabbix_agent2.conffür Zabbix Agent 2.
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 Agents Folgendes tun:
conf/zabbix_agentd.confmuss manuell in das Verzeichnis kopiert werden, in dem zabbix_agentd.exe installiert wird;conf/zabbix_agent2.confund das Verzeichnisconf/zabbix_agent2.dmüssen manuell in das Verzeichnis kopiert werden, in dem zabbix_agent2.exe installiert wird.
Weitere Informationen zur Konfiguration des Zabbix Windows Agents finden Sie unter 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 der Agent-Seite festgelegte Hostname-Wert exakt mit dem für den Host im Frontend konfigurierten "Host name" übereinstimmen.
Der Hostname-Wert auf der Agent-Seite kann entweder durch den Parameter Hostname oder HostnameItem in der Konfigurationsdatei des Agent 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 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.
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 Key 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.
Er gibt die vollständige Zeichenfolge zurück, wenn der Name keinen Punkt enthält. - 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 Berücksichtigung 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, Anhalten 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 Instanz des Zabbix Agent einen anderen Windows-Dienstnamen erhält, muss daher jede Instanz einen anderen Hostnamen verwenden.
Agent als Windows-Dienst installieren
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 Standardkonfigurationsdatei 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 ordnungsgemäß 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
Zum Starten des Agent-Dienstes können Sie die Systemsteuerung verwenden oder dies über die Befehlszeile tun.
So starten Sie eine einzelne Instanz des Zabbix Agent mit der Standardkonfigurationsdatei:
zabbix_agentd.exe --start
So starten Sie eine einzelne Instanz des Zabbix Agent mit einer anderen Konfigurationsdatei:
zabbix_agentd.exe --config <your_configuration_file> --start
So starten Sie eine von mehreren Instanzen des Zabbix Agent:
zabbix_agentd.exe --config <configuration_file_for_this_instance> --start --multiple-agents
Agent beenden
Um den Agent-Dienst zu beenden, können Sie die Systemsteuerung verwenden oder dies über die Befehlszeile tun.
So beenden Sie eine einzelne Instanz des Zabbix Agent, die mit der Standardkonfigurationsdatei gestartet wurde:
zabbix_agentd.exe --stop
So beenden Sie eine einzelne Instanz des Zabbix Agent, die mit einer anderen Konfigurationsdatei gestartet wurde:
zabbix_agentd.exe --config <your_configuration_file> --stop
So beenden Sie eine von mehreren Instanzen des Zabbix Agent:
zabbix_agentd.exe --config <configuration_file_for_this_instance> --stop --multiple-agents
Deinstallieren des Windows-Dienstes des Agents
So deinstallieren Sie eine einzelne Instanz des Zabbix Agents mithilfe der Standardkonfigurationsdatei:
zabbix_agentd.exe --uninstall
So deinstallieren Sie eine einzelne Instanz des Zabbix Agents mithilfe einer nicht standardmäßigen Konfigurationsdatei:
zabbix_agentd.exe --config <your_configuration_file> --uninstall
So deinstallieren Sie mehrere Instanzen des Zabbix Agents aus den Windows-Diensten:
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 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.