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.conf für Zabbix-Agent;
  • conf/zabbix_agent2.conf fü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.conf manuell in das Verzeichnis kopiert werden, in dem zabbix_agentd.exe installiert wird;
  • conf/zabbix_agent2.conf und das Verzeichnis conf/zabbix_agent2.d manuell 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:

  1. Lassen Sie die Parameter Hostname oder HostnameItem undefiniert. Der Zabbix Agent verwendet dann den NetBIOS-Hostnamen als Hostnamen.
  2. 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.