Proxy-Lastverteilung und Hochverfügbarkeit
Übersicht
Zabbix-Proxys können in Proxy-Gruppen organisiert werden, um Proxy-Lastverteilung und Hochverfügbarkeit zu ermöglichen.
Proxy-Lastverteilung und Hochverfügbarkeit bezeichnen die automatische Umverteilung von Hosts zwischen Proxys innerhalb einer Proxy-Gruppe:
- Wenn ein Proxy offline geht, werden seine Hosts auf andere Proxys verschoben, wodurch eine hohe Proxy-Verfügbarkeit aufrechterhalten wird.
- Wenn ein Proxy deutlich mehr oder weniger Hosts als andere Proxys hat, werden seine Hosts auf andere Proxys verschoben, um die Proxy-Last auszugleichen.
Die Umverteilung von Hosts funktioniert nur zwischen Proxys in einer Gruppe, die die folgenden Bedingungen erfüllen:
- Die Proxys verwenden Zabbix 7.0 oder höher.
- Die Proxy-Version stimmt mit der Zabbix-Server-Version überein. Bei Verwendung von Zabbix Agent (passiv) muss die Proxy-Version mit der Agent-Version übereinstimmen. Aktive Agents benötigen lediglich Zabbix 7.0 oder höher.
- Die Proxy-Gruppe hat einen Online-Status.
- Die Hosts sind so konfiguriert, dass sie von einer Proxy-Gruppe und nicht von einzelnen Proxys überwacht werden.
Der Zustand einer Proxy-Gruppe kann mit internen Prüfungen von jedem Host überwacht werden, der einer Proxy-Gruppe zugewiesen ist. Um jedoch den Zustand eines einzelnen Proxys in einer Gruppe zu überwachen, weisen Sie den Host diesem Proxy zu. Andernfalls können die Ergebnisse inkonsistent sein.
Host-Umverteilung
Das Load Balancing und die Hochverfügbarkeit von Proxys werden vom Zabbix Server über den Proxy-Gruppen-Manager verwaltet, der kontinuierlich den Status aller Proxys in jeder Proxy-Gruppe sowie deren Host-Verteilung überwacht.
Die Hochverfügbarkeit von Proxys innerhalb einer Gruppe wird durch Proxy-Failover sichergestellt: Wenn ein Proxy offline geht, werden seine Hosts sofort auf andere Proxys umverteilt. Auch das Load Balancing der Proxys findet statt, da Hosts den Proxys mit der geringsten Anzahl zugewiesener Hosts neu zugewiesen werden.
Zusätzlich wird das Load Balancing der Proxys ausgelöst, wenn sich die Anzahl der Hosts eines Proxys vom Gruppendurchschnitt um mindestens 10 Hosts und um den Faktor 2 unterscheidet (Host-Überschuss oder Host-Defizit). Bleibt das Ungleichgewicht nach einer Schonfrist bestehen (10 x Failover-Verzögerung), wird die Proxy-Gruppe zur Host-Umverteilung in die Warteschlange eingereiht.
Der Proxy-Gruppen-Manager verteilt Hosts nach der folgenden Logik um:
- Berechnen Sie die durchschnittliche Anzahl von Hosts pro Proxy.
- Bei Proxys mit Host-Überschuss: Verschieben Sie die überschüssigen Hosts in den Pool der nicht zugewiesenen Proxys.
- Bei Proxys mit Host-Defizit: Berechnen Sie, wie viele Hosts erforderlich sind, um den Ausgleich zu erreichen.
- Entfernen Sie die erforderliche Anzahl von Hosts von den Proxys mit den meisten Hosts.
- Verschieben Sie nicht zugewiesene Hosts auf die Proxys mit den wenigsten Hosts.
Beispiele für die Host-Umverteilung:
| Hosts auf Proxy | Gruppendurchschnitt | Host-Neuzuweisung |
|---|---|---|
| 100 | 50 | Ja |
| 60 | 50 | Nein |
| 40 | 50 | Nein |
| 25 | 50 | Ja |
| 15 | 5 | Ja |
| 10 | 5 | Nein |
Wenn eine Proxy-Gruppe von weniger als 10 überwachten Hosts umfasst, kann dies zu einer ungleichmäßigen Host-Verteilung zwischen den Proxys in der Gruppe führen.
Konfigurieren einer Proxy-Gruppe
So konfigurieren Sie eine Proxy-Gruppe im Zabbix-Frontend:
- Gehen Sie zu Administration > Proxy groups.
- Klicken Sie auf Create proxy group.
- Geben Sie die Parameter der Proxy-Gruppe im Formular ein.

| Parameter | Beschreibung |
|---|---|
| Name | Name der Proxy-Gruppe. |
| Failover period | Zeitraum in Sekunden, während dessen ein Proxy in der Proxy-Gruppe mit dem Zabbix-Server kommunizieren muss, um als online betrachtet zu werden (Standard: 1m; Bereich: 10s-15m). Wenn der Proxy innerhalb dieses Zeitraums nicht kommuniziert, wird der Proxy-Status auf Offline geändert und seine Hosts werden sofort auf andere Proxys verteilt. Der Proxy-Lastenausgleich beginnt nach dem 10-Fachen dieses Zeitraums. Unterstützt Zeitsuffixe (z. B. 30s, 1m) und Benutzermakros. |
| Minimum number of proxies | Mindestanzahl online verfügbarer Proxys, die erforderlich ist, damit die Proxy-Gruppe online bleibt (Standard: 1; Bereich: 1-1000). Unterstützt Benutzermakros. Dieser Wert sollte kleiner sein als die Gesamtanzahl der Proxys in der Gruppe. Wenn beispielsweise eine Gruppe 10 Proxys enthält und der Mindestwert auf 10 gesetzt wird, wird die Gruppe offline geschaltet, sobald ein Proxy ausfällt. Beachten Sie, dass online verfügbare Proxys in einer Offline-Gruppe weiterhin normal funktionieren, der Lastenausgleich bzw. die Hochverfügbarkeit jedoch nicht aktiv ist. |
| Description | Beschreibung der Proxy-Gruppe. |
| Proxies | Zeigt beim Bearbeiten einer Gruppe mit Proxys eine Liste mit bis zu fünf Proxys an (als Links oder als Klartext, abhängig von den Benutzerberechtigungen für Proxys). |
Konfigurieren des Proxy-Lastenausgleichs
Um den Proxy-Lastenausgleich zu verwenden, müssen Sie eine Proxy-Gruppe im Zabbix Frontend konfigurieren (siehe oben) und sicherstellen, dass Hosts von einer Proxy-Gruppe und nicht von einzelnen Proxys überwacht werden (Sie können die Massenaktualisierung von Hosts verwenden, um Hosts von Proxys in die Proxy-Gruppe zu verschieben).
Wenn Sie den Zabbix Agent verwenden, konfigurieren Sie ihn außerdem wie folgt:
- Für passive Prüfungen listen Sie alle Proxys der Proxy-Gruppe im Parameter Server auf.
- Für aktive Prüfungen wird empfohlen, alle Proxys der Proxy-Gruppe oder den Zabbix Server im Parameter ServerActive aufzulisten. Beachten Sie, dass nur der Zabbix Agent 7.0 (oder höher) Proxy-Gruppen im aktiven Modus unterstützt.
Wenn der Parameter ServerActive nur einen Proxy aus einer Proxy-Gruppe (oder den Zabbix Server) enthält, kann der Agent trotzdem eine Verbindung zum richtigen Proxy herstellen.
Wenn der Agent-Dienst gestartet wird und eine Verbindung zum angegebenen Proxy herstellt, empfängt und speichert der Agent die vollständige Liste der Proxy-IP-Adressen sowie deren aktuelle Auslastung innerhalb der Gruppe.
Anschließend werden aktive Prüfungen basierend auf der aktuellen Proxy-Host-Zuweisung innerhalb der Proxy-Gruppe an den richtigen verfügbaren Proxy weitergeleitet.
Wenn im Zabbix-Agent-Parameter ServerActive nur ein einzelner Proxy angegeben ist, kann dies zum Verlust von Überwachungsdaten führen, wenn der Agent gestartet oder neu gestartet wird, während der angegebene Proxy offline ist.
Bei Verwendung von Zabbix sender werden Datenanforderungen ebenfalls basierend auf der aktuellen Proxy-Host-Zuweisung innerhalb der Proxy-Gruppe an den richtigen verfügbaren Proxy weitergeleitet.
Wenn Sie jedoch Werte mehrerer Hosts aus einer Eingabedatei senden, verwenden Sie die -g-Option, um zu verhindern, dass Daten an den falschen Proxy gesendet werden.
Der Zabbix Agent muss außerdem über die Firewall eine Verbindung zu allen Proxys in der Proxy-Gruppe herstellen können. Andernfalls können aktive Prüfungen während der Weiterleitung oder des Failovers hängen bleiben oder fehlschlagen. Beispiele:
- Während aktiver Prüfungen kann ein Proxy den Agent an einen anderen Proxy weiterleiten. Wenn dieser Proxy durch eine Firewall blockiert wird, bleibt die Kommunikation beim Warten auf eine Antwort hängen.
- In stabilen Hochverfügbarkeitsumgebungen ohne kürzlich erfolgte Neuverteilung kontaktieren Agents möglicherweise niemals Backup-Proxys. Wenn Firewall-Regeln geändert und nicht getestet wurden, kann das Failover fehlschlagen.
Testen des Proxy-Lastenausgleichs
So testen Sie den Proxy-Lastenausgleich:
- Konfigurieren Sie eine Proxy-Gruppe.
- Stellen Sie sicher, dass sich die Proxy-Gruppe in einem Online-Zustand befindet.
- Stellen Sie sicher, dass Hosts von einer Proxy-Gruppe überwacht werden und nicht von einzelnen Proxys (Sie können die Massenaktualisierung von Hosts verwenden, um Hosts von Proxys in die Proxy-Gruppe zu verschieben).
- Warten Sie einige Sekunden, bis die Konfiguration aktualisiert und die Hosts auf die Proxys in der Proxy-Gruppe verteilt wurden.
Beobachten Sie die Änderung, indem Sie die Host-Liste unter Administration > Proxys aktualisieren.
Wichtige Hinweise
- SNMP-Traps werden von Proxys in einer Proxy-Gruppe nicht unterstützt.
- Prüfungen, die von einer externen Konfiguration abhängen (z. B. Skripte für externe Prüfungen oder die ODBC-Konfiguration für Datenbankprüfungen), müssen auf allen Proxys in der Proxy-Gruppe dieselbe Konfiguration aufweisen.
- Datenbankprüfungen erfordern erweiterte Berechtigungen für das Datenbankobjekt bzw. den Datenbankserver.
- VMware-Hosts, die von einer Proxy-Gruppe überwacht werden, werden zufällig auf die Proxys in der Gruppe verteilt. Dies führt dazu, dass jeder Proxy alle VMware-Daten zwischenspeichert, wodurch die Last auf vCenter erhöht wird.
- Hosts, die auf Grundlage von Autoregistrierungsdaten eines Proxys in einer Proxy-Gruppe erstellt werden, werden so eingestellt, dass sie von dieser Proxy-Gruppe überwacht werden. Hosts, die jedoch auf Grundlage von Netzwerkermittlungsdaten eines Proxys in einer Proxy-Gruppe erstellt werden, werden so eingestellt, dass sie von diesem Proxy überwacht werden.