Agent

Übersicht

Der Zabbix Agent wird auf einem Überwachungsziel 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 aufgrund der Verwendung nativer Systemaufrufe zum Sammeln statistischer Informationen sehr effizient.

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 Anforderungen.

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 unter Windows wird 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

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 (falls sie sich nicht am Standardpfad befindet), um auch Ergebnisse von Benutzerparametern zurückzugeben.
-t --test <item key> Den angegebenen Datenpunkt testen und beenden.
Beachten Sie, dass Sie die Konfigurationsdatei angeben müssen (falls sie sich nicht am Standardpfad befindet), um auch Ergebnisse von Benutzerparametern zurückzugeben.
-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).
Zur Unterscheidung der Dienstnamen der Instanzen 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 (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 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\\zabbix_agentd.conf installieren.
  • Einen Zabbix Agent [Hostname]-Dienst für Windows unter Verwendung der Konfigurationsdatei zabbix_agentd.conf installieren, die sich im selben Ordner wie die Agent-Programmdatei befindet, und den Dienstnamen eindeutig machen, indem er um den Hostname-Wert aus der Konfigurationsdatei erweitert wird.
  • Den Starttyp eines installierten Zabbix Agent-Dienstes für Windows unter Verwendung der Konfigurationsdatei zabbix_agentd.conf ändern, 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

Die Agent-Prozesstypen sind wie folgt:

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

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

Die Agent-Logdatei 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 sind verweigert.

Prozessbenutzer

Der Zabbix Agent unter UNIX ist dafür ausgelegt, als Nicht-Root-Benutzer ausgeführt zu werden. Er wird unter dem jeweiligen Nicht-Root-Benutzer ausgeführt, mit dem er gestartet wurde. Sie können den Agent daher problemlos als jeden Nicht-Root-Benutzer 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 der Pfad, der durch Variablen zur Kompilierzeit --sysconfdir oder --prefix festgelegt wurde.
  • 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 textbasierte Agent-Datenpunkte den erwarteten Inhalt zurückgeben können. Die meisten modernen Unix-ähnlichen Systeme verwenden standardmäßig ein UTF-8-Locale; es gibt jedoch einige Systeme, auf denen dies ausdrücklich festgelegt werden muss.

Exit-Code

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