2 Agent

Übersicht

Der Zabbix Agent wird auf einem zu überwachenden Zielsystem installiert, um lokale Ressourcen und Anwendungen aktiv zu überwachen (Festplatten, Speicher, Prozessorstatistiken usw.).

Der Agent sammelt Betriebsinformationen lokal und meldet Daten an den Zabbix Server zur weiteren Verarbeitung. Im Falle von Ausfällen (z. B. wenn eine Festplatte voll läuft oder ein Dienstprozess abstürzt) kann der Zabbix Server die Administratoren des jeweiligen Rechners, der den Ausfall gemeldet hat, aktiv benachrichtigen.

Zabbix Agents sind sehr effizient, da sie für die Erfassung statistischer Informationen native Systemaufrufe verwenden.

Es ist möglich, mehrere Instanzen des Agents auf einem Host auszuführen.

Passive und aktive Prüfungen

Zabbix Agenten können passive und aktive Prüfungen durchführen:

  • Passive Prüfungen - Der Zabbix Agent antwortet auf eine Anfrage vom Zabbix Server (oder Proxy). Zum Beispiel fordert der Server Daten an (z. B. CPU-Auslastung), und der Agent gibt das Ergebnis zurück.
  • Aktive Prüfungen - Der Zabbix Agent sammelt und sendet Daten, ohne auf eine Anfrage vom Zabbix Server (oder Proxy) zu warten. Zuerst ruft er eine Liste von Überwachungsdatenpunkten vom Server ab (CPU-Auslastung, verfügbarer Speicher usw.), sammelt dann die erforderlichen Daten und sendet regelmäßig neue Werte zurück.

Der Typ der Agent-Prüfung wird durch Auswahl des entsprechenden Überwachungs-Datenpunkttyps konfiguriert. Der Zabbix Agent verarbeitet Datenpunkte vom Typ Zabbix agent oder Zabbix agent (active).

Unterstützte Plattformen

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

Agent auf Unix-ähnlichen Systemen

Der Zabbix Agent auf Unix-ähnlichen Systemen wird auf dem überwachten Host ausgeführt.

Installation

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

  • Zabbix-Pakete - wählen Sie nach Auswahl Ihrer Zabbix-Version, OS-Distribution und OS-Version die Komponente Agent aus und folgen Sie den bereitgestellten Anweisungen;
  • Zabbix-Quellen - laden Sie die Quelldateien herunter und kompilieren Sie den Zabbix Agent, indem Sie die Quellen konfigurieren und die Option --enable-agent verwenden.

Im Allgemeinen funktionieren 32-Bit-Zabbix-Agenten auf 64-Bit-Systemen, können jedoch in einigen Fällen fehlschlagen.

Vorkompilierte Binärdateien des Zabbix Agent sind für den Download für macOS, IBM AIX, FreeBSD, OpenBSD und Solaris verfügbar. Legacy-Binärdateien, die mit der aktuellen Zabbix Server/Proxy-Version kompatibel sind, sind für NetBSD und HP-UX verfügbar.

Wenn als Paket installiert

Der Zabbix Agent läuft als Daemon-Prozess. Der Agent kann mit folgendem Befehl gestartet werden:

systemctl start zabbix-agent

Dies funktioniert auf den meisten GNU/Linux-Systemen. Auf anderen Systemen müssen Sie möglicherweise Folgendes ausführen:

/etc/init.d/zabbix-agent start

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

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

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

zabbix_agentd

Agent auf Windows-Systemen

Der Zabbix Agent wird unter Windows als Windows-Dienst ausgeführt.

Installation

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

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

Optionen

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

Parameter Beschreibung
UNIX and 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 anzeigen.
-V --version Versionsnummer anzeigen.
UNIX agent only
-R --runtime-control <option> Administrative Funktionen ausführen. Siehe Runtime-Steuerung.
Windows agent only
-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 Wert Hostname 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 (verfügbar unter Windows Server 2008/Vista und späteren Versionen);
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 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.

Konkrete Beispiele für die Verwendung von Befehlszeilenparametern:

  • Ausgabe aller integrierten Agent-Datenpunkte mit Werten.
  • Testen eines Benutzerparameters mit dem Schlüssel mysql.ping, der in der angegebenen Konfigurationsdatei definiert ist.
  • Installieren eines Zabbix Agent-Dienstes für Windows unter Verwendung des Standardpfads zur Konfigurationsdatei C:\\Program Files\\Zabbix Agent\\zabbix_agentd.conf.
  • Installieren eines Zabbix Agent [Hostname]-Dienstes für Windows unter Verwendung der Konfigurationsdatei zabbix_agentd.conf, die sich im selben Ordner wie die Agent-Programmdatei befindet, und eindeutiges Benennen des Dienstes durch Erweiterung um den Hostname-Wert aus der Konfigurationsdatei.
  • Ändern des Starttyps eines installierten Zabbix Agent-Dienstes für Windows unter Verwendung der Konfigurationsdatei zabbix_agentd.conf, die sich im selben Ordner wie die Agent-Programmdatei befindet.
zabbix_agentd --print
zabbix_agentd -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agentd.exe -i
zabbix_agentd.exe -i -m -c zabbix_agentd.conf
zabbix_agentd.exe -c zabbix_agentd.conf -S delayed
Laufzeitsteuerung

Mit den Optionen der Laufzeitsteuerung können Sie die Protokollstufe von Agent-Prozessen ändern.

Option Description Target
log_level_increase[=<target>] Protokollstufe erhöhen.
Wenn kein Ziel angegeben ist, sind alle Prozesse betroffen.
Das Ziel kann wie folgt angegeben werden:
Prozesstyp - alle Prozesse des angegebenen Typs (z. B. listener)
Siehe alle Agent-Prozesstypen.
Prozesstyp,N - Prozesstyp und Nummer (z. B. listener,3)
pid - Prozesskennung (1 bis 65535). Für größere Werte geben Sie das Ziel als 'Prozesstyp,N' an.
log_level_decrease[=<target>] Protokollstufe verringern.
Wenn kein Ziel angegeben ist, sind alle Prozesse betroffen.
userparameter_reload Lädt die Werte der Optionen UserParameter und Include aus der aktuellen Konfigurationsdatei neu.

Beispiele:

  • Protokollstufe aller Prozesse erhöhen
  • Protokollstufe des dritten Listener-Prozesses erhöhen
  • Protokollstufe des Prozesses mit PID 1234 erhöhen
  • Protokollstufe aller aktiven Prüfprozesse verringern
zabbix_agentd -R log_level_increase
zabbix_agentd -R log_level_increase=listener,3
zabbix_agentd -R log_level_increase=1234
zabbix_agentd -R log_level_decrease="active checks"

Die Laufzeitsteuerung wird unter OpenBSD, NetBSD und Windows nicht unterstützt.

Agent-Prozesstypen

Agent-Prozesstypen sind wie folgt:

  • active checks - Prozess zur Durchführung aktiver Prüfungen;
  • collector - Prozess zur Datenerfassung;
  • listener - Prozess zum Abhören passiver Prüfungen.

Die Agent-Logdatei kann verwendet werden, um diese Prozesstypen zu beobachten.

Seit Zabbix 7.4.6 wird die Agent-Logdatei mit Lese- und Schreibberechtigungen nur für den Dateieigentümer erstellt. Zusätzlich ist die Datei für die Eigentümergruppe lesbar. Alle anderen Berechtigungen sind verweigert.

Prozessbenutzer

Der Zabbix Agent unter UNIX ist dafür ausgelegt, als Benutzer ohne Root-Rechte ausgeführt zu werden. Er wird unter genau dem Benutzer ohne Root-Rechte ausgeführt, mit dem er gestartet wurde. Sie können den Agent daher problemlos als jeden Benutzer ohne Root-Rechte ausführen.

Wenn Sie versuchen, ihn als root auszuführen, wechselt er zu einem fest codierten Benutzer zabbix, der auf Ihrem System vorhanden sein muss. Sie können den Agent nur dann als root ausführen, wenn Sie den Parameter AllowRoot in der Konfigurationsdatei des Agent entsprechend anpassen.

Konfigurationsdatei

Der Standardpfad zur Konfigurationsdatei ist:

  • Unter UNIX ist der Standard /usr/local/etc/zabbix_agentd.conf oder wird durch Variablen zur Kompilierzeit --sysconfdir oder --prefix festgelegt.
  • Unter Windows ist der Standard C:\\Program Files\\Zabbix Agent\\zabbix_agentd.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).

Weitere Informationen zur Konfiguration des Zabbix Agent finden Sie in den Optionen der Konfigurationsdatei für den Unix Zabbix Agent oder den Windows Zabbix Agent.

Locale

Beachten Sie, dass der Agent ein UTF-8-Locale benötigt, damit einige textuelle Agent-Datenpunkte den erwarteten Inhalt zurückgeben können. Die meisten modernen Unix-ähnlichen Systeme verwenden standardmäßig ein UTF-8-Locale, jedoch gibt es einige Systeme, bei denen dies ausdrücklich festgelegt werden muss.

Exit-Code

Der Zabbix Agent gibt 0 bei erfolgreichem Beenden und 1 bei einem Fehler zurück.