11 Zabbix Agent unter Microsoft Windows
Konfiguration des Agent
Beide Generationen von Zabbix Agent laufen als Windows-Dienst. Für Zabbix Agent 2 ersetzen Sie in den folgenden Anweisungen agentd durch agent2.
Sie können auf einem Microsoft-Windows-Host eine einzelne Instanz von Zabbix Agent oder mehrere Instanzen des Agent ausführen. Eine einzelne Instanz kann entweder 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 ihre eigene Konfigurationsdatei verfügen (eine der Instanzen kann die Standardkonfigurationsdatei verwenden).
Eine Beispielkonfigurationsdatei 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 als Dienst aus einem Archiv installieren möchten, ohne die Konfigurationsdatei explizit anzugeben, dann muss 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 Details zur Konfiguration des Zabbix Windows Agent finden Sie unter den Optionen der Konfigurationsdatei.
Hostname-Parameter
Um auf einem Host aktive Prüfungen durchzuführen, muss beim Zabbix Agent der Hostname definiert sein. Außerdem muss der auf der Agent-Seite festgelegte Hostname-Wert exakt mit dem im Host namen konfigurierten Wert für den Host im Frontend übereinstimmen.
Der Hostname-Wert auf der Agent-Seite kann entweder über den Parameter Hostname oder HostnameItem in der Konfigurationsdatei des Agenten definiert werden - andernfalls 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 er 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 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ß-/kleinschreibungssensitiv, gibt den vollständigen, echten 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 der vollständige String 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) - verwendet die ursprüngliche Groß-/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 Ansätze verwendet werden:
- Lassen Sie die Parameter Hostname oder HostnameItem undefiniert, und der Zabbix Agent verwendet 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, echten (groß-/kleinschreibungssensitiven) Windows-Hostnamen als Hostnamen verwendet.
HostnameItem=system.hostname[shorthost,lower] - damit der Zabbix Agent nur den Teil des Hostnamens vor dem ersten Punkt verwendet, umgewandelt in Kleinbuchstaben.
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 für
die Installation, das Starten, Stoppen und Deinstallieren des Windows-Dienstes genutzt wird. Wenn beispielsweise die Konfigurationsdatei des Zabbix Agenten
Hostname=Windows_db_server angibt, wird der Agent als Windows-Dienst
"Zabbix Agent [Windows_db_server]" installiert. Daher muss jede Zabbix-Agent-Instanz einen anderen Hostnamen verwenden, damit jede Instanz einen eigenen Windows-Dienstnamen hat.
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.