2 Agent

Übersicht

Der Zabbix Agent wird auf einem Überwachungsziel eingesetzt, um lokale Ressourcen und Anwendungen aktiv zu überwachen (Festplatten, Arbeitsspeicher, Prozessorstatistiken usw.).

Der Agent erfasst Betriebsinformationen lokal und meldet die Daten zur weiteren Verarbeitung an den Zabbix Server. 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 dank der Verwendung nativer Systemaufrufe zur Erfassung statistischer Informationen äußerst effizient.

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 der zu überwachenden Datenpunkte vom Server ab (CPU-Auslastung, verfügbarer Speicher usw.), sammelt dann die erforderlichen Daten und sendet regelmäßig neue Werte an ihn 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 (aktiv)“.

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

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

  • Zabbix-Pakete - wählen Sie die Komponente Agent aus (nachdem Sie Ihre Zabbix-Version, die Betriebssystemdistribution und die Betriebssystemversion ausgewählt haben) und folgen Sie den bereitgestellten Anweisungen.
  • Zabbix-Quellcode - laden Sie die Quelldateien herunter und kompilieren Sie den Zabbix Agent, indem Sie den Quellcode konfigurieren und dabei 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 Zabbix-Agent-Binärdateien stehen für macOS, IBM AIX, FreeBSD, OpenBSD und Solaris zum Download zur Verfügung. Legacy-Binärdateien, die mit der aktuellen Zabbix Server-/Proxy-Version kompatibel sind, stehen für NetBSD und HP-UX zur Verfügung.

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

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

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

Optionen

Es ist möglich, mehrere Instanzen des Agent auf einem Host auszuführen. Eine einzelne Instanz kann die Standard-Konfigurationsdatei oder eine in der Befehlszeile angegebene Konfigurationsdatei verwenden. Bei mehreren Instanzen muss jede Agent-Instanz ihre eigene Konfigurationsdatei haben (eine der Instanzen kann die Standard-Konfigurationsdatei verwenden).

Die folgenden Befehlszeilenparameter können mit dem Zabbix Agent 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_agentd.conf oder wie durch compile-time Variablen --sysconfdir oder --prefix festgelegt
Unter Windows ist der Standardwert C:\Program Files\Zabbix Agent\zabbix_agentd.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 anzeigen.
-V --version Versionsnummer anzeigen.
Nur UNIX-Agent
-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 von 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 (verfügbar unter Windows Server 2008/Vista und neueren Versionen);
manual - Dienst manuell starten (durch einen Benutzer oder eine Anwendung);
disabled - Dienst deaktivieren, sodass er nicht von einem Benutzer oder einer 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:

  • Ausgabe aller integrierten Agent-Datenpunkte mit Werten
  • Testen eines user parameter mit dem Schlüssel "mysql.ping", der in der angegebenen Konfigurationsdatei definiert ist
  • Installation eines Dienstes "Zabbix Agent" für Windows unter Verwendung des Standardpfads zur Konfigurationsdatei C:\Program Files\Zabbix Agent\zabbix_agentd.conf
  • Installation eines Dienstes "Zabbix Agent [Hostname]" für Windows unter Verwendung der Konfigurationsdatei zabbix_agentd.conf, die sich im selben Ordner wie die Agent-Programmdatei befindet, wobei der Dienstname durch Anhängen des Werts Hostname aus der Konfigurationsdatei eindeutig gemacht wird
  • Ändern des Starttyps eines installierten Dienstes "Zabbix Agent" 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 zur Laufzeitsteuerung können Sie die Protokollierungsstufe von Agent-Prozessen ändern.

Option Beschreibung Ziel
log_level_increase[=<target>] Protokollierungsstufe 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). Bei größeren Werten geben Sie das Ziel als 'process-type,N' an.
log_level_decrease[=<target>] Protokollierungsstufe verringern.
Wenn kein Ziel angegeben ist, sind alle Prozesse betroffen.
userparameter_reload Werte der Optionen UserParameter und Include aus der aktuellen Konfigurationsdatei neu laden.

Beispiele:

  • Protokollierungsstufe aller Prozesse erhöhen
  • Protokollierungsstufe des dritten listener-Prozesses erhöhen
  • Protokollierungsstufe des Prozesses mit PID 1234 erhöhen
  • Protokollierungsstufe aller Prozesse für aktive Prüfungen 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

  • active checks - Prozess zur Durchführung aktiver Prüfungen
  • collector - Prozess zur Datenerfassung
  • listener - Prozess zum Lauschen auf passive Prüfungen

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

Die Agent-Protokolldatei wird 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 werden verweigert.

Prozessbenutzer

Der Zabbix Agent unter UNIX ist dafür ausgelegt, als Nicht-Root-Benutzer ausgeführt zu werden. Er wird als derjenige Nicht-Root-Benutzer ausgeführt, als der er gestartet wurde. Daher können Sie den Agent ohne Probleme als jeden beliebigen Nicht-Root-Benutzer ausführen.

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

Konfigurationsdatei

Ausführliche Informationen zur Konfiguration des Zabbix Agent finden Sie in den Konfigurationsdateioptionen für zabbix_agentd oder den Windows-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 im Fall eines erfolgreichen Beendens 0 und im Fall eines Fehlers 1 zurück.