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:
- Vorkompilierte Zabbix-Agent-Binärdateien - laden Sie das MSI-Installationspaket des Agent herunter und folgen Sie den Anweisungen auf der Seite Installation des Windows-Agent aus MSI.
- Zabbix-Quellcode - laden Sie die Quelldateien herunter und folgen Sie den Anweisungen auf der Seite Erstellen von Zabbix Agent 2 unter Windows.
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.