Agent 2
Übersicht
Zabbix Agent 2 ist eine neue Generation des Zabbix Agent, geschrieben in Go (wobei ein Teil des C-Codes aus dem Zabbix Agent wiederverwendet wird). 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, die einfache Prüfungen mit minimalem Code bereitstellen, leicht erweitern zu lassen und komplexe Prüfungen zu unterstützen, die aus lang laufenden Skripten und eigenständiger Datenerfassung mit periodischer Berichterstattung bestehen;
- als Ersatz für den Zabbix Agent zu dienen und alle bisherigen Funktionen zu unterstützen.
Alle Metriken in Zabbix Agent 2 werden von Plugins erfasst.
Diese Funktionen sind spezifisch für Plugins:
- Geplante und flexible Intervalle für passive und aktive Prüfungen
- Verwaltung der Aufgabenwarteschlange unter Berücksichtigung von Zeitplan und Aufgabenparallelität
- Zeitüberschreitungen auf Plugin-Ebene
- Kompatibilitätsprüfung von Zabbix Agent 2 und seinen Plugins beim Start
Es gibt zwei Arten von Plugins:
Sie können auch Ihre eigenen Plugins erstellen.
Eigenständig erstellte Plugins müssen nicht in Agent 2 eingebaut sein. Sie können sie als ladbare Plugins hinzufügen und dadurch die Erstellung von Plugins für neue Metriken vereinfachen.
Ladbare Plugins können zur Laufzeit hinzugefügt werden, ohne Zabbix Agent 2 neu zu kompilieren.
Siehe auch:
- Vergleich von Agent und Agent 2
- Konfigurationsparameter: Zabbix Agent 2
- Konfigurationsparameter: Zabbix Agent 2 (Windows)
- Konfigurationsparameter: Plugins
- Zabbix Agent 2 Plugin-Protokoll
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 des Zabbix Agent 2 flexible/planbare Intervalle und die Prüfungskonkurrenz innerhalb eines aktiven Servers.
Standardmäßig plant Zabbix Agent 2 nach einem Neustart die erste Datensammlung 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 Agents durchzuführen, setzen Sie den Parameter ForceActiveChecksOnStart (auf globaler Ebene) oder den Plugins.<Plugin name>.System.ForceActiveChecksOnStart-Pluginparameter (betrifft nur Prüfungen bestimmter Plugins) in der Konfigurationsdatei.
Der Parameter auf Plugin-Ebene überschreibt, sofern festgelegt, 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
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, der OS-Distribution und der 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 Details finden Sie unter Loadable 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 wird als eigenständiger Prozess ausgeführt; er kann jedoch auch als Windows-Dienst ausgeführt werden.
Installation
Zabbix Agent 2 kann unter Windows mit einer der folgenden Methoden installiert werden:
- Vorkompilierte Zabbix-Agent-Binärdateien - laden Sie das MSI-Installationspaket des Agenten herunter und folgen Sie den Anweisungen auf der Seite Installation des Windows-Agenten aus MSI;
- Zabbix-Quellcode - laden Sie die Quelldateien herunter und folgen Sie den Anweisungen auf der Seite Zabbix Agent 2 unter Windows kompilieren.
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.
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 andere als die standardmäßig verwendete Konfigurationsdatei angeben. |
-f --foreground |
Zabbix Agent im Vordergrund ausführen (Standard: true). |
-p --print |
Bekannte Datenpunkte ausgeben und beenden. Beachten Sie, dass Sie auch die Ergebnisse von Benutzerparametern zurückgeben können. Dazu müssen Sie die Konfigurationsdatei angeben, wenn sie sich nicht am Standardspeicherort befindet. |
-t --test <item key> |
Den angegebenen Datenpunkt testen und beenden. Beachten Sie, dass Sie auch die Ergebnisse von Benutzerparametern zurückgeben können. Dazu müssen Sie die Konfigurationsdatei angeben, wenn 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 |
Version und Lizenzinformationen des Agent ausgeben. |
-R --runtime-control <option> |
Administrative Funktionen ausführen. Siehe Laufzeitsteuerung. |
| Nur Windows-Agent | |
-m --multiple-agents |
Mehrere Agent-Instanzen verwenden (mit den Optionen -i, -d, -s, -x).Zur Unterscheidung der Dienstnamen der Instanzen wird jeder Dienstname den Wert Hostname aus der angegebenen Konfigurationsdatei enthalten. |
-S --startup-type <value> |
Starttyp des Zabbix-Windows-Agent-Dienstes festlegen. Zulässige Werte:automatic - (Standard) den Dienst beim Start von Windows automatisch starten;delayed - den Start des Dienstes verzögern, bis die automatisch gestarteten Dienste ihren Start abgeschlossen haben;manual - den Dienst manuell durch einen Benutzer oder eine Anwendung starten;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 oder separat verwenden, 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 ihren Werten ausgeben.
- Einen Benutzerparameter mit dem im angegebenen Konfigurationsdatei definierten Schlüssel
mysql.pingtesten. - Einen Zabbix-Agent-Dienst für Windows unter Verwendung des Standardpfads zur Konfigurationsdatei installieren.
- Den Starttyp eines installierten Zabbix-Agent-Dienstes für Windows mithilfe der Konfigurationsdatei ändern, die sich im selben Ordner wie die ausführbare Agent-Datei befindet.
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agent2.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
Laufzeitsteuerung
Die Laufzeitsteuerung bietet einige Optionen zur Fernsteuerung.
| Option | Beschreibung |
|---|---|
log_level_increase |
Protokollierungsstufe erhöhen. |
log_level_decrease |
Protokollierungsstufe 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:
- Protokollierungsstufe für Agent 2 erhöhen.
- Optionen der Laufzeitsteuerung ausgeben.
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help
Konfigurationsdatei
Der Standardpfad zur Konfigurationsdatei hängt vom Betriebssystem und von der Installationsmethode von Zabbix ab:
- Unter UNIX ist der Standard:
- Bei der Installation aus den Quellen:
/usr/local/etc/zabbix_agent2.confoder, wie durch Variablen zur Kompilierzeit festgelegt,--sysconfdiroder--prefix. - Bei der Installation aus Paketen:
/etc/zabbix/zabbix_agent2.conf.
- Bei der Installation aus den Quellen:
- 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 zum Laufzeit-Steuerungssocket. Zabbix agent 2 verwendet einen Steuerungssocket für Laufzeitbefehle. | |
EnablePersistentBuffer,PersistentBufferFile,PersistentBufferPeriod |
Diese Parameter werden verwendet, um den persistenten Speicher auf Zabbix agent 2 für aktive Datenpunkte 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 Prüfungen festlegt, die gleichzeitig ausgeführt werden können. |
|
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 |
Unter 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 zu definieren. Unter Zabbix agent 2 nicht unterstützt. | |
LoadModule,LoadModulePath |
Ladbare Module werden unter 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.