3 Agent 2

Überblick

Zabbix Agent 2 ist eine neue Generation des Zabbix Agent, geschrieben in Go (wobei ein Teil des C-Codes vom Zabbix Agent wiederverwendet wurde). Er wurde entwickelt, um:

  • die Anzahl der TCP-Verbindungen zu reduzieren.
  • eine verbesserte Parallelität von Prüfungen bereitzustellen.
  • sich mithilfe von Plugins einfach erweitern zu lassen, die einfache Prüfungen mit minimalem Code ermöglichen und komplexe Prüfungen unterstützen, die aus lang laufenden Skripten und eigenständiger Datenerfassung mit periodischer Berichterstattung bestehen.
  • als Ersatz für den Zabbix Agent zu fungieren und dabei alle bisherigen Funktionen zu unterstützen.
Passive und aktive Prüfungen

Zabbix Agent 2 unterstützt passive und aktive Prüfungen, ähnlich wie der Zabbix Agent. Zusätzlich unterstützen aktive Prüfungen von Zabbix Agent 2 flexible/zeitgesteuerte Intervalle und Prüfungsparallelität innerhalb eines aktiven Servers.

Standardmäßig plant Zabbix Agent 2 nach einem Neustart die erste Datenerfassung für aktive Prüfungen zu einem bedingt zufälligen Zeitpunkt innerhalb des Aktualisierungsintervalls des Datenpunkts, um Spitzen bei der Ressourcennutzung zu vermeiden. Um aktive Prüfungen, die kein Scheduling- Aktualisierungsintervall haben, unmittelbar nach dem Neustart des Agent auszuführen, setzen Sie den Parameter ForceActiveChecksOnStart (auf globaler Ebene) oder Plugins.<Plugin name>.System.ForceActiveChecksOnStart (wirkt sich nur auf Prüfungen des jeweiligen Plugins aus) in der Konfigurationsdatei. Wenn der Parameter auf Plugin-Ebene gesetzt ist, überschreibt er den globalen Parameter.

Parallelität von Prüfungen

Prüfungen aus verschiedenen Plugins können gleichzeitig ausgeführt werden. Die Anzahl gleichzeitiger Prüfungen innerhalb eines Plugins wird durch die Einstellung für die Plugin-Kapazität begrenzt. Jedes Plugin kann eine fest codierte Kapazitätseinstellung haben (1000 ist der Standardwert), die mit der Einstellung Plugins.<PluginName>.System.Capacity=N im Plugins-Konfigurationsparameter verringert werden kann.

Unterstützte Plattformen

Informationen zu unterstützten Plattformen finden Sie auf der Seite Anforderungen.

Agent 2 auf UNIX-ähnlichen Systemen

Zabbix Agent 2 auf UNIX-ähnlichen Systemen wird auf dem überwachten Host ausgeführt.

Installation

Zabbix Agent 2 kann auf Linux-basierten Systemen mit einer der folgenden Methoden installiert werden:

  • Zabbix-Pakete - wählen Sie die Komponente Agent 2 aus (nachdem Sie Ihre Zabbix-Version, die Betriebssystemdistribution und die Betriebssystemversion ausgewählt haben) und folgen Sie den Anweisungen.
  • Zabbix-Quellcode - laden Sie die Quelldateien herunter und kompilieren Sie den Agent, indem Sie den Quellcode konfigurieren mit der Option --enable-agent2.

Die Überwachungsfunktionen von Zabbix Agent 2 können mit ladbaren Plugins erweitert werden, die separat verfügbar sind. Weitere Informationen finden Sie unter Ladbare Plugins.

Wenn als Paket installiert

Zabbix Agent 2 läuft als Vordergrundprozess und ist für die Ausführung im Hintergrund auf einen externen Dienstmanager (z. B. systemd) angewiesen; Zabbix Agent 2 verfügt unter Linux nicht über eine integrierte Unterstützung für die Daemonisierung.

Der Agent kann mit folgendem Befehl gestartet werden:

systemctl start zabbix-agent2

Um Zabbix Agent 2 zu stoppen, neu zu starten oder den Status zu prüfen, verwenden Sie die folgenden Befehle:

systemctl stop zabbix-agent2
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
Manuell starten

Sie können den Zabbix Agent starten, indem Sie die Binärdatei zabbix_agent2 suchen und direkt ausführen; zum Beispiel:

zabbix_agent2

Agent 2 auf Windows-Systemen

Zabbix Agent 2 läuft als eigenständiger Prozess; er kann jedoch auch als Windows-Dienst ausgeführt werden.

Installation

Zabbix Agent 2 kann unter Windows mit einer der folgenden Methoden installiert werden:

Die Überwachungsfunktionen von Zabbix Agent 2 können mit ladbaren Plugins erweitert werden, die separat verfügbar sind. Weitere Informationen finden Sie unter Ladbare Plugins.

Weitere Details zur Installation von Zabbix Agent 2 (aus einem ZIP-Archiv) als Windows-Dienst finden Sie auf der Seite Zabbix Agent unter Microsoft Windows.

Optionen

Die folgenden Befehlszeilenparameter können mit Zabbix Agent 2 verwendet werden:

Parameter Beschreibung
UNIX- und Windows-Agent
-c --config <config-file> Pfad zur Konfigurationsdatei.
Mit dieser Option können Sie eine Konfigurationsdatei angeben, die nicht die Standarddatei ist.
Unter UNIX ist der Standardwert /usr/local/etc/zabbix_agent2.conf oder wie durch compile-time-Variablen --sysconfdir oder --prefix festgelegt.
Unter Windows ist der Standardwert C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf
-f --foreground Zabbix Agent im Vordergrund ausführen (Standard: true).
-p --print Bekannte Datenpunkte ausgeben und beenden.
Hinweis: Um auch Ergebnisse von user parameter zurückzugeben, müssen Sie die Konfigurationsdatei angeben, falls sie sich nicht am Standardspeicherort befindet.
-t --test <item key> Angegebenen Datenpunkt testen und beenden.
Hinweis: Um auch Ergebnisse von user parameter zurückzugeben, müssen Sie die Konfigurationsdatei angeben, falls sie sich nicht am Standardspeicherort befindet.
-T --test-config Konfigurationsdatei validieren und beenden.
-h --help Hilfeinformationen ausgeben und beenden.
-v --verbose Debugging-Informationen ausgeben. Verwenden Sie diese Option zusammen mit den Optionen -p und -t.
-V --version Agent-Version und Lizenzinformationen ausgeben.
-R --runtime-control <option> Administrative Funktionen ausführen. Siehe runtime control.
Nur Windows-Agent
-m --multiple-agents Mehrere Agent-Instanzen verwenden (mit den Optionen -i, -d, -s, -x).
Zur Unterscheidung der Dienstnamen der Instanzen enthält jeder Dienstname den Wert von Hostname aus der angegebenen Konfigurationsdatei.
-S --startup-type <value> Den Starttyp des Zabbix-Windows-Agent-Dienstes festlegen. Zulässige Werte:
automatic - Dienst beim Windows-Start automatisch starten; (Standard)
delayed - Start des Dienstes verzögern, bis die automatisch gestarteten Dienste vollständig gestartet wurden;
manual - Dienst manuell starten (durch einen Benutzer oder eine Anwendung);
disabled - Dienst deaktivieren, sodass er nicht durch einen Benutzer oder eine Anwendung gestartet werden kann.
Sie können diese Option zusammen mit der Option -i verwenden oder separat, um den Starttyp eines bereits installierten Dienstes zu ändern.
-i --install Zabbix-Windows-Agent als Dienst installieren.
-d --uninstall Zabbix-Windows-Agent-Dienst deinstallieren.
-s --start Zabbix-Windows-Agent-Dienst starten.
-x --stop Zabbix-Windows-Agent-Dienst anhalten.

Spezifische Beispiele für die Verwendung von Befehlszeilenparametern:

  • alle integrierten Agent-Datenpunkte mit Werten ausgeben
  • einen user parameter mit dem Schlüssel "mysql.ping" testen, der in der angegebenen Konfigurationsdatei definiert ist
  • einen Dienst "Zabbix Agent" für Windows unter Verwendung des Standardpfads zur Konfigurationsdatei C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf installieren
  • den Starttyp eines installierten Dienstes "Zabbix Agent" für Windows ändern und dabei die Konfigurationsdatei zabbix_agent2.conf verwenden, die sich im selben Ordner wie die Agent-Programmdatei befindet
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
Laufzeitsteuerung

Die Laufzeitsteuerung bietet einige Optionen für die Fernsteuerung.

Option Beschreibung
log_level_increase Log-Level erhöhen.
log_level_decrease Log-Level verringern.
metrics Verfügbare Metriken auflisten.
version Agent-Version anzeigen.
userparameter_reload Werte der Optionen UserParameter und Include aus der aktuellen Konfigurationsdatei neu laden.
help Hilfeinformationen zur Laufzeitsteuerung anzeigen.

Beispiele:

  • Log-Level für Agent 2 erhöhen
  • Optionen der Laufzeitsteuerung ausgeben
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help

Konfigurationsdatei

Die Konfigurationsparameter von Agent 2 sind größtenteils mit dem Zabbix-Agenten kompatibel, mit einigen Ausnahmen.

Neue Parameter Beschreibung
ControlSocket Der Pfad des Laufzeit-Control-Sockets. Agent 2 verwendet einen Control-Socket für Laufzeitbefehle.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Diese Parameter werden verwendet, um den persistenten Speicher in Agent 2 für aktive Datenpunkte zu konfigurieren.
ForceActiveChecksOnStart Legt fest, ob der Agent aktive Prüfungen unmittelbar nach einem Neustart ausführen oder gleichmäßig über die Zeit verteilen soll.
Plugins Plugins können eigene Parameter haben, im Format Plugins.<Plugin name>.<Parameter>=<value>. Ein gemeinsamer Plugin-Parameter ist System.Capacity, der das Limit für Prüfungen festlegt, die gleichzeitig ausgeführt werden können.
StatusPort Der Port, auf dem Agent 2 auf HTTP-Statusanfragen lauscht und eine Liste der konfigurierten Plugins sowie einiger interner Parameter anzeigt
Entfernte Parameter Beschreibung
AllowRoot, User Nicht unterstützt, da Daemonisierung nicht unterstützt wird.
LoadModule, LoadModulePath Ladbare Module werden nicht unterstützt.
StartAgents Dieser Parameter wurde im Zabbix-Agenten verwendet, um die Parallelität passiver Prüfungen zu erhöhen oder sie zu deaktivieren. In Agent 2 wird die Parallelität auf Plugin-Ebene konfiguriert und kann durch eine Kapazitätseinstellung begrenzt werden.

Weitere Details finden Sie in den Optionen der Konfigurationsdatei für zabbix_agent2.

Exit-Codes

Zabbix Agent 2 kann auch mit älteren OpenSSL-Versionen (1.0.1, 1.0.2) kompiliert werden.

In diesem Fall stellt Zabbix Mutexe für die Sperrung in OpenSSL bereit. Wenn das Sperren oder Entsperren eines Mutex fehlschlägt, wird eine Fehlermeldung in den Standard- Fehlerausgabestrom (STDERR) geschrieben und Agent 2 wird jeweils mit dem Rückgabecode 2 bzw. 3 beendet.