3 Agent 2

Übersicht

Zabbix Agent 2 ist eine neue Generation des Zabbix Agent, geschrieben in Go (mit etwas aus dem Zabbix Agent wiederverwendetem C-Code). Er ist dafür konzipiert, um:

  • Die Anzahl der TCP-Verbindungen zu reduzieren;
  • Eine verbesserte Parallelität von Prüfungen bereitzustellen;
  • Sich mithilfe von Plugins leicht erweitern zu lassen, die einfache Prüfungen mit minimalem Code bereitstellen 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 alle bisherigen Funktionen zu unterstützen.

Alle von Zabbix Agent 2 unterstützten Metriken werden von Plugins erfasst.

Passive und aktive Prüfungen

Zabbix Agent 2 unterstützt passive und aktive Prüfungen ähnlich wie Zabbix Agent. Zusätzlich unterstützen aktive Prüfungen von Zabbix Agent 2 flexible/planmäßige 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 im Ressourcenverbrauch 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 nur auf bestimmte Plugin-Prüfungen) in der Konfigurationsdatei. Ein Parameter auf Plugin-Ebene überschreibt den globalen Parameter.

Prüfkonkurrenz

Prüfungen aus verschiedenen Plugins können gleichzeitig ausgeführt werden. Die Anzahl der gleichzeitigen Prüfungen innerhalb eines Plugins ist durch die Einstellung der Plugin-Kapazität begrenzt. Jedes Plugin kann eine fest codierte Kapazitätseinstellung haben (1000 ist standardmäßig der Wert), die mit der Einstellung Plugins.<PluginName>.System.Capacity=N im Konfigurations-Parameter Plugins verringert werden kann.

Unterstützte Plattformen

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

Agent 2 auf Unix-ähnlichen Systemen

Der 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 nach Auswahl Ihrer Zabbix-Version, Ihrer OS-Distribution und Ihrer OS-Version die Komponente Agent 2 aus und folgen Sie den Anweisungen;
  • Zabbix-Quellen - laden Sie die Quelldateien herunter und kompilieren Sie den Agent durch Konfigurieren mit der Option --enable-agent2.

Die Überwachungsfunktionen von Zabbix Agent 2 können durch ladbare 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

Zum Stoppen, Neustarten oder Prüfen des Status von Zabbix Agent 2 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 zabbix_agent2-Binärdatei 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.
Sie können diese Option verwenden, um eine Konfigurationsdatei anzugeben, die nicht die Standarddatei ist.
-f --foreground Zabbix Agent im Vordergrund ausführen (Standard: true).
-p --print Bekannte Datenpunkte ausgeben und beenden.
Beachten Sie, dass Sie die Konfigurationsdatei angeben müssen, wenn Sie auch Ergebnisse von Benutzerparametern zurückgeben möchten (falls sie sich nicht am Standardpfad befindet).
-t --test <item key> Den angegebenen Datenpunkt testen und beenden.
Beachten Sie, dass Sie die Konfigurationsdatei angeben müssen, wenn Sie auch Ergebnisse von Benutzerparametern zurückgeben möchten (falls sie sich nicht am Standardpfad befindet).
-T --test-config Konfigurationsdatei validieren und beenden.
-h --help Hilfsinformationen ausgeben und beenden.
-v --verbose Debugging-Informationen ausgeben. Verwenden Sie diese Option zusammen mit den Optionen -p und -t.
-V --version Version und Lizenzinformationen des Agenten ausgeben.
-R --runtime-control <option> Administrative Funktionen ausführen. Siehe Runtime-Steuerung.
Nur Windows-Agent
-m --multiple-agents Mehrere Agent-Instanzen verwenden (mit den Optionen -i, -d, -s, -x).
Um Dienstnamen von Instanzen zu unterscheiden, enthält jeder Dienstname den Hostname-Wert aus der angegebenen Konfigurationsdatei.
-S --startup-type <value> Den Starttyp des Zabbix Windows-Agent-Dienstes festlegen. Zulässige Werte:
automatic - (Standard) den Dienst automatisch beim Windows-Start starten;
delayed - den Start des Dienstes verzögern, nachdem die automatisch gestarteten Dienste ihren Start abgeschlossen haben;
manual - den Dienst manuell starten (durch einen Benutzer oder eine Anwendung);
disabled - den 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 stoppen.

Spezifische Beispiele für die Verwendung von Befehlszeilenparametern:

  • Alle integrierten Agent-Datenpunkte mit Werten ausgeben.
  • Einen Benutzerparameter mit dem Schlüssel mysql.ping testen, der in der angegebenen Konfigurationsdatei definiert ist.
  • Einen Zabbix Agent-Dienst für Windows unter Verwendung des Standardpfads zur Konfigurationsdatei C:\\Program Files\\Zabbix Agent 2\\zabbix_agent2.conf installieren.
  • Den Starttyp eines installierten Zabbix Agent-Dienstes für Windows mithilfe der Konfigurationsdatei zabbix_agent2.conf ändern, 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 Erhöht den Protokollierungsgrad.
log_level_decrease Verringert den Protokollierungsgrad.
metrics Listet verfügbare Metriken auf.
version Zeigt die Agent-Version an.
userparameter_reload Lädt die Werte der Optionen UserParameter und Include aus der aktuellen Konfigurationsdatei neu.
help Zeigt Hilfeinformationen zur Laufzeitsteuerung an.

Beispiele:

  • Erhöhen des Protokollierungsgrads für Agent 2.
  • Ausgabe der Optionen der Laufzeitsteuerung.
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help

Seit Zabbix 7.4.1 schreiben Laufzeitsteuerungsbefehle von Agent 2 ihre Ausgabe nach stdout (Standardausgabe) statt nach stderr (Standardfehlerausgabe).

Konfigurationsdatei

Der Standardpfad zur Konfigurationsdatei ist:

  • Unter UNIX ist der Standard /usr/local/etc/zabbix_agent2.conf oder der durch Variablen zur Kompilierzeit festgelegte Pfad --sysconfdir oder --prefix.
  • Unter Windows ist der Standard C:\\Program Files\\Zabbix Agent 2\\zabbix_agent2.conf.

Wenn auf einem Host eine einzelne Instanz des Agent ausgeführt wird, kann sie die Standardkonfigurationsdatei oder eine auf der Befehlszeile angegebene Konfigurationsdatei verwenden. Bei mehreren Instanzen muss jede Agent-Instanz über eine eigene Konfigurationsdatei verfügen (eine der Instanzen kann die Standardkonfigurationsdatei verwenden).

Die Konfigurationsparameter von Zabbix Agent 2 entsprechen größtenteils denen von Zabbix Agent, mit einigen Ausnahmen:

Parameters Description
Zabbix agent 2-specific configuration parameters
ControlSocket Der Pfad des Laufzeit-Steuerungssockets. Zabbix Agent 2 verwendet einen Steuerungssocket für Laufzeitbefehle.
EnablePersistentBuffer,
PersistentBufferFile,
PersistentBufferPeriod
Diese Parameter werden verwendet, um die persistente Speicherung für aktive Datenpunkte in Zabbix Agent 2 zu konfigurieren.
ForceActiveChecksOnStart Legt fest, ob der Agent aktive Prüfungen unmittelbar nach dem Neustart ausführen oder gleichmäßig über die Zeit verteilen soll.
Plugins Plugins können eigene Parameter im Format Plugins.<Plugin name>.<Parameter>=<value> haben. Ein gängiger Plugin-Parameter ist System.Capacity, der das Limit für gleichzeitig ausführbare Prüfungen festlegt.
StatusPort Der Port, auf dem Zabbix Agent 2 auf HTTP-Statusanfragen lauscht und eine Liste der konfigurierten Plugins sowie einiger interner Parameter anzeigt.
Zabbix agent-specific configuration parameters not supported on Zabbix agent 2
AllowRoot,
User
Wird von Zabbix Agent 2 nicht unterstützt, da keine Daemonisierung unterstützt wird.
EnableRemoteCommands Veraltet; stattdessen werden in beiden Agenten die Parameter AllowKey und DenyKey verwendet.
ListenBacklog Wird in Zabbix Agent verwendet, um die maximale Anzahl ausstehender Verbindungen in der TCP-Warteschlange festzulegen. Wird von Zabbix Agent 2 nicht unterstützt.
LoadModule,
LoadModulePath
Ladbare Module werden von Zabbix Agent 2 nicht unterstützt.
MaxLinesPerSecond,
LogRemoteCommands
In Zabbix Agent 2 werden stattdessen Plugins.Log.MaxLinesPerSecond und Plugins.SystemRun.LogRemoteCommands verwendet.
StartAgents Dieser Parameter wird in Zabbix Agent verwendet, um die Parallelität passiver Prüfungen zu erhöhen oder sie zu deaktivieren. In Zabbix Agent 2 wird die Parallelität auf Plugin-Ebene konfiguriert und kann durch eine Kapazitätseinstellung begrenzt werden. Passive Prüfungen sind in Zabbix Agent 2 deaktiviert, wenn der Parameter Server nicht angegeben ist.

Weitere Informationen 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 Mutexes für das Locking in OpenSSL bereit. Wenn das Sperren oder Entsperren eines Mutex fehlschlägt, wird eine Fehlermeldung in den Standardfehlerstrom (STDERR) ausgegeben und Agent 2 beendet sich mit dem Rückgabecode 2 bzw. 3.