Verteilte Überwachung mit Proxys
Übersicht
Zabbix Proxies können verwendet werden, um ein effektives und zuverlässiges verteiltes Monitoring-Setup zu erstellen.
Proxies werden lokal bereitgestellt, um Leistungs- und Verfügbarkeitsdaten zu erfassen. Anschließend werden die Daten an einen zentralen Server gemeldet.
Ein Zabbix Proxy kann verwendet werden, um:
- entfernte Standorte zu überwachen
- Standorte mit unzuverlässiger Kommunikation zu überwachen
- den Zabbix Server zu entlasten, wenn Tausende von Geräten überwacht werden

Der Proxy benötigt nur eine TCP-Verbindung zum Zabbix Server. Dadurch lässt sich eine Firewall leichter umgehen, da nur eine Firewall-Regel konfiguriert werden muss.
Der Zabbix Proxy muss eine separate Datenbank verwenden. Wenn er auf die Datenbank des Zabbix Servers zeigt, wird die Konfiguration beschädigt.
Alle vom Proxy erfassten Daten werden lokal gespeichert, bevor sie an den Server übertragen werden.
So gehen keine Daten aufgrund vorübergehender Kommunikationsprobleme mit dem Server verloren.
Die Parameter ProxyLocalBuffer und ProxyOfflineBuffer in der Proxy-Konfigurationsdatei steuern, wie lange die Daten lokal aufbewahrt werden.
Es kann vorkommen, dass ein Proxy, der die neuesten Konfigurationsänderungen direkt aus der Datenbank des Zabbix Servers empfängt, über eine aktuellere Konfiguration verfügt als der Zabbix Server, dessen Konfiguration aufgrund des Werts von CacheUpdateFrequency möglicherweise nicht so schnell aktualisiert wird. Infolgedessen kann der Proxy mit der Datenerfassung beginnen und diese an den Zabbix Server senden, der diese Daten ignoriert.
Der Zabbix Proxy ist ein Datensammler. Er berechnet keine Auslöser, verarbeitet keine Ereignisse und sendet keine Alarme. Eine Übersicht über die Funktionen des Proxys finden Sie in der folgenden Tabelle:
| Function | Supported by proxy | |
|---|---|---|
| Items | ||
| Zabbix agent checks | Yes | |
| Zabbix agent checks (active) | Yes 1 | |
| Simple checks | Yes | |
| Trapper items | Yes | |
| SNMP checks | Yes | |
| SNMP traps | Yes | |
| IPMI checks | Yes | |
| JMX checks | Yes | |
| Log file monitoring | Yes | |
| Internal checks | Yes | |
| SSH checks | Yes | |
| Telnet checks | Yes | |
| External checks | Yes | |
| Dependent items | Yes | |
| Script items | Yes | |
| Browser items | Yes | |
| Built-in web monitoring | Yes | |
| Item value preprocessing | Yes | |
| Network discovery | Yes | |
| Active agent autoregistration | Yes | |
| Low-level discovery | Yes 2 | |
| Remote commands | Yes | |
| Calculating triggers | No | |
| Processing events | No | |
| Event correlation | No | |
| Sending alerts | No | |
[1] Damit ein Agent den Proxy (und nicht den Server) für aktive Prüfungen abfragt, muss der Proxy im Parameter ServerActive in der Konfigurationsdatei des Agenten aufgeführt sein.
[2] Bei LLD sammelt und verarbeitet der Zabbix Proxy die Daten nur vor und sendet sie dann zur weiteren Verarbeitung an den Zabbix Server.
Proxy-Funktionen
Bei der Entscheidung, ob ein Proxy verwendet werden soll oder nicht, müssen mehrere Aspekte berücksichtigt werden.
| Proxy | |
|---|---|
| Leichtgewichtig | Ja |
| GUI | Nein |
| Arbeitet unabhängig | Ja |
| Einfache Wartung | Ja |
| Automatische DB-Erstellung | Ja1 |
| Lokale Administration | Nein |
| Für Embedded-Hardware geeignet | Ja |
| Einweg-TCP-Verbindungen | Ja |
| Zentralisierte Konfiguration | Ja |
| Erzeugt Benachrichtigungen | Nein |
1 Die Funktion zur automatischen DB-Erstellung funktioniert nur mit SQLite. Andere unterstützte Datenbanken erfordern ein manuelles Setup.
Der Zabbix Proxy ist sich Wartungszeiträumen nicht bewusst; siehe Berechnung der Warteschlangen während der Wartung für Details.
Schutz vor Überlastung
Wenn der Zabbix Server für einige Zeit ausgefallen war und Proxys viele Daten gesammelt haben und der Server dann startet, kann es zu einer Überlastung kommen (die Auslastung des History-Cache bleibt für einige Zeit bei 95-100 %). Diese Überlastung kann zu Leistungseinbußen führen, bei denen Prüfungen langsamer verarbeitet werden, als sie sollten. Zum Schutz vor diesem Szenario wurde eine Funktion implementiert, um Probleme zu vermeiden, die durch die Überlastung des History-Cache entstehen.
Wenn der History-Cache des Zabbix Server voll ist, wird der Schreibzugriff auf den History-Cache gedrosselt, wodurch die Prozesse zur Datenerfassung des Servers blockiert werden. Der häufigste Fall einer Überlastung des History-Cache tritt nach einer Server-Ausfallzeit auf, wenn Proxys gesammelte Daten hochladen. Um dies zu vermeiden, wurde eine Proxy-Drosselung hinzugefügt (derzeit kann sie nicht deaktiviert werden).
Wenn die Auslastung des History-Cache 80 % erreicht, wechselt der Zabbix Server in den Drosselungsmodus. Im Drosselungsmodus akzeptiert der Server Proxy-Daten nur dann, wenn die Auslastung des History-Cache unter 60 % liegt, und rotiert die akzeptierten Proxys. Sobald die Auslastung des History-Cache unter 20 % fällt, wechselt der Server wieder in den Normalmodus.
Zusätzlich drosselt der Zabbix Server im Normalmodus einzelne Proxys, die sehr große Pakete (10.000+ Datensätze) senden, wenn die Auslastung des History-Cache 60 % überschreitet.
Diese Entscheidung wird in dem Moment getroffen, in dem der Server einen Proxy-Upload auswertet, und kann daher in Diagrammen zur Auslastung des History-Cache nicht immer sofort sichtbar sein (der interne Datenpunkt zabbix[wcache,history,pused] und sein Aktualisierungsintervall können kurze Spitzen möglicherweise verpassen).
Dieser Drosselungsmodus bleibt aktiv, bis entweder die Cache-Auslastung erneut 80 % erreicht oder auf 20 % fällt oder die Drosselliste leer ist. Im ersten Fall akzeptiert der Server wieder keine Proxy-Daten. In den beiden anderen Fällen arbeitet der Server wieder normal und akzeptiert Daten von allen Proxys.
Die obigen Informationen lassen sich in der folgenden Tabelle veranschaulichen:
| History write cache usage |
Zabbix server mode | Zabbix server action |
|---|---|---|
| Erreicht 80 % | Warten | Akzeptiert keine Proxy-Daten mehr, behält aber eine Drosselliste bei (priorisierte Liste von Proxys, die später kontaktiert werden). |
| Erreicht 60 % | Normal, aber auf Drosselung vorbereitet | Kann sehr große Proxy-Uploads (mehr als 10.000 Datensätze) bei der Entscheidung über die Datenannahme ablehnen; akzeptiert weiterhin andere Proxy-Daten. |
| Fällt auf 20 % | Normal | Verwirft die Drosselliste und beginnt wieder, Proxy-Daten normal zu akzeptieren. |
Sie können den internen Datenpunkt zabbix[wcache,history,pused] verwenden, um dieses Verhalten des Zabbix Server mit einer Metrik zu korrelieren.
Konfiguration
Nachdem Sie einen Proxy installiert und konfiguriert haben, ist es an der Zeit, ihn im Zabbix-Frontend zu konfigurieren.
Proxys hinzufügen
So konfigurieren Sie einen Proxy im Zabbix Frontend:
- Gehen Sie zu Administration > Proxys.
- Klicken Sie auf Proxy erstellen.
- Geben Sie die Proxy-Parameter im Formular ein.

| Parameter | Beschreibung | |
|---|---|---|
| Proxy-Name | Geben Sie den Proxy-Namen ein. Er muss mit dem Namen im Parameter Hostname der Proxy-Konfigurationsdatei übereinstimmen. | |
| Proxy-Gruppe | Wählen Sie eine Proxy-Gruppe für Lastverteilung/hohe Verfügbarkeit des Proxys aus. | |
| Adresse für aktive Agents | Geben Sie die Adresse ein, mit der die überwachten aktiven Agents oder Sender eine Verbindung herstellen müssen. Unterstützt nur von Zabbix-Agenten ab Version 7.0. Diese Adresse wird verwendet, um sowohl mit aktiven als auch mit passiven Proxys eine Verbindung herzustellen. Dieses Feld ist nur verfügbar, wenn im Feld Proxy-Gruppe eine Proxy-Gruppe ausgewählt wurde. |
|
| Adresse | IP-Adresse/DNS-Name, zu dem eine Verbindung hergestellt werden soll. | |
| Port | TCP-Portnummer (standardmäßig 10051), zu dem eine Verbindung hergestellt werden soll. Benutzermakros werden unterstützt. | |
| Proxy-Modus | Wählen Sie den Proxy-Modus aus. Aktiv - der Proxy stellt eine Verbindung zum Zabbix-Server her und fordert Konfigurationsdaten an Passiv - der Zabbix-Server stellt eine Verbindung zum Proxy her Beachten Sie, dass bei Verwendung eines aktiven Proxys ohne verschlüsselte Kommunikation (sensibel) Proxy-Konfigurationsdaten für Parteien verfügbar werden können, die Zugriff auf den Trapper-Port des Zabbix-Servers haben. Dies ist möglich, weil sich jeder als aktiver Proxy ausgeben und Konfigurationsdaten anfordern kann, wenn keine Authentifizierung erfolgt oder Proxy-Adressen im Feld Proxy-Adresse nicht eingeschränkt sind. |
|
| Proxy-Adresse | Wenn angegeben, werden Anforderungen aktiver Proxys nur von dieser Liste kommaseparierter IP-Adressen, optional in CIDR-Notation, oder DNS-Namen aktiver Zabbix-Proxys akzeptiert. Dieses Feld ist nur verfügbar, wenn im Feld Proxy-Modus ein aktiver Proxy ausgewählt wurde. Makros werden nicht unterstützt. |
|
| Schnittstelle | Geben Sie die Schnittstellendetails für einen passiven Proxy ein. Dieses Feld ist nur verfügbar, wenn im Feld Proxy-Modus ein passiver Proxy ausgewählt wurde. |
|
| Adresse | IP-Adresse/DNS-Name des passiven Proxys. | |
| Port | TCP-Portnummer des passiven Proxys (standardmäßig 10051). Benutzermakros werden unterstützt. | |
| Beschreibung | Geben Sie die Proxy-Beschreibung ein. | |
Auf der Registerkarte Verschlüsselung können Sie verschlüsselte Verbindungen mit dem Proxy voraussetzen.
| Parameter | Beschreibung |
|---|---|
| Verbindungen zum Proxy | Legt fest, wie der Server eine Verbindung zum passiven Proxy herstellt: ohne Verschlüsselung (Standard), über PSK (Pre-Shared Key) oder über ein Zertifikat. |
| Verbindungen vom Proxy | Wählen Sie aus, welche Verbindungstypen vom aktiven Proxy zugelassen werden. Mehrere Verbindungstypen können gleichzeitig ausgewählt werden (nützlich zum Testen und zum Wechseln zu einem anderen Verbindungstyp). Standard ist „Keine Verschlüsselung“. |
| Aussteller | Zulässiger Aussteller des Zertifikats. Das Zertifikat wird zunächst mit der Zertifizierungsstelle (CA) validiert. Wenn es gültig und von der CA signiert ist, kann das Feld Aussteller verwendet werden, um die zulässige CA weiter einzuschränken. Dieses Feld ist optional und für den Fall vorgesehen, dass Ihre Zabbix-Installation Zertifikate von mehreren CAs verwendet. |
| Betreff | Zulässiger Betreff des Zertifikats. Das Zertifikat wird zunächst mit der CA validiert. Wenn es gültig und von der CA signiert ist, kann das Feld Betreff verwendet werden, um nur einen Wert der Zeichenfolge Betreff zuzulassen. Wenn dieses Feld leer ist, wird jedes gültige, von der konfigurierten CA signierte Zertifikat akzeptiert. |
| PSK-Identität | Identitätszeichenfolge des Pre-Shared Keys. Geben Sie keine vertraulichen Informationen in der PSK-Identität an, da sie unverschlüsselt über das Netzwerk übertragen wird, um einem Empfänger mitzuteilen, welcher PSK verwendet werden soll. |
| PSK | Pre-Shared Key (Hexadezimalzeichenfolge). Maximale Länge: 512 Hexadezimalziffern (256-Byte-PSK), wenn Zabbix die GnuTLS- oder OpenSSL-Bibliothek verwendet, bzw. 64 Hexadezimalziffern (32-Byte-PSK), wenn Zabbix die mbed-TLS-(PolarSSL-)Bibliothek verwendet. Beispiel: 1f87b595725ac58dd977beef14b97461a7c1045b9a1c963065002c5473194952 |
Auf der Registerkarte Zeitüberschreitungen können Sie globale Zeitüberschreitungen für unterstützte Datenpunkttypen überschreiben.

| Parameter | Beschreibung |
|---|---|
| Zeitüberschreitungen für Datenpunkttypen | Legen Sie die Datenpunkt-Zeitüberschreitung (basierend auf dem Typ) fest: Global - globale Zeitüberschreitung verwenden (wird im ausgegrauten Feld Zeitüberschreitung für den jeweiligen Datenpunkttyp angezeigt); Überschreiben - eine benutzerdefinierte Zeitüberschreitung festlegen (im Feld Zeitüberschreitung für jeden Datenpunkttyp). Zulässiger Bereich: 1 - 600 s (Standard: von den globalen Zeitüberschreitungen übernommen). Zeitsuffixe, z. B. 30s und 1m, sowie Benutzermakros werden unterstützt. Durch Klicken auf den Link Globale Zeitüberschreitungen können Sie globale Zeitüberschreitungen konfigurieren. Beachten Sie, dass der Link Globale Zeitüberschreitungen nur für Benutzer vom Typ Super Admin sichtbar ist, die über Berechtigungen für den Frontend-Bereich Administration > Allgemein verfügen. Beachten Sie, dass Zeitüberschreitungen auf Proxy-Ebene zwar die globalen Zeitüberschreitungen überschreiben, jedoch durch individuelle Zeitüberschreitungen von Datenpunkten überschrieben werden, sofern diese konfiguriert sind. |
Wenn die Hauptversion des Proxys nicht mit der Hauptversion des Servers übereinstimmt, wird das Symbol
neben Zeitüberschreitungen für Datenpunkttypen angezeigt. Beim Darüberfahren wird die Meldung „Zeitüberschreitungen deaktiviert, da die Proxy- und Serverversionen nicht übereinstimmen“ angezeigt.
In solchen Fällen verwendet der Proxy den Parameter Timeout aus der Proxy-Konfigurationsdatei.
Das Bearbeitungsformular eines vorhandenen Proxys enthält die folgenden zusätzlichen Schaltflächen:
- Konfiguration aktualisieren - aktualisiert die Konfiguration des Proxys;
- Klonen - erstellt einen neuen Proxy auf Grundlage der Eigenschaften des vorhandenen Proxys;
- Löschen - löscht den Proxy.
Host-Konfiguration
Sie können im Formular Host-Konfiguration über das Feld Überwacht von festlegen, dass ein einzelner Host von einem Proxy oder einer Proxy-Gruppe überwacht werden soll.

Die Massenaktualisierung von Hosts ist eine weitere Möglichkeit, festzulegen, dass Hosts von einem Proxy oder einer Proxy-Gruppe überwacht werden sollen.