Proxy-Lastverteilung und Hochverfügbarkeit
Übersicht
Zabbix Proxy können in Proxy-Gruppen organisiert werden, um Lastverteilung und Hochverfügbarkeit für Proxies zu ermöglichen.
Die Lastverteilung und Hochverfügbarkeit von Proxies ist die automatische Umverteilung von Hosts zwischen Proxies innerhalb einer Proxy-Gruppe:
- Wenn ein Proxy offline geht, werden seine Hosts auf andere Proxies verschoben, wodurch eine hohe Verfügbarkeit der Proxies erhalten bleibt.
- Wenn ein Proxy deutlich mehr oder weniger Hosts als andere Proxies hat, werden seine Hosts auf andere Proxies verschoben, um die Proxy-Last auszugleichen.
Die Umverteilung von Hosts funktioniert nur zwischen Proxies in einer Gruppe, die die folgenden Bedingungen erfüllen:
- Die Proxies führen Zabbix 7.0 oder höher aus.
- Die Proxy-Version stimmt mit der Version des Zabbix Servers überein. Wenn Zabbix Agent (passiv) verwendet wird, muss die Proxy-Version mit der Agent-Version übereinstimmen. Aktive Agenten benötigen nur Zabbix 7.0 oder höher.
- Die Proxy-Gruppe hat einen Online-Status.
- Hosts sind so konfiguriert, dass sie von einer Proxy-Gruppe überwacht werden, statt von einzelnen Proxies.
Der Zustand der Proxy-Gruppe kann mit internen Prüfungen von jedem Host überwacht werden, der einer Proxy-Gruppe zugewiesen ist. Um jedoch den Zustand eines einzelnen Proxies 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
Um eine Proxy-Gruppe im Zabbix-Frontend zu konfigurieren:
- Gehen Sie zu Administration > Proxy groups
- Klicken Sie auf Create proxy group

| Parameter | Beschreibung |
|---|---|
| Name | Name der Proxy-Gruppe. |
| Failover period | Zeitraum in Sekunden, innerhalb dessen ein Proxy in der Proxy-Gruppe mit dem Zabbix-Server kommunizieren muss, um als online zu gelten (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 Lastenausgleich für Proxys beginnt nach dem 10-fachen dieses Zeitraums. Unterstützt Zeit-Suffixe (z. B. 30s, 1m) und Benutzer-Makros. |
| Minimum number of proxies | Minimale Anzahl von online Proxys, die erforderlich ist, damit die Proxy-Gruppe online bleibt (Standard: 1; Bereich: 1-1000). Unterstützt Benutzer-Makros. Dieser Wert sollte kleiner sein als die Gesamtzahl der Proxys in der Gruppe. In einer Gruppe mit 10 Proxys führt beispielsweise die Einstellung des Minimums auf 10 dazu, dass die Gruppe offline geht, wenn ein beliebiger Proxy ausfällt. Beachten Sie, dass online Proxys in einer offline Gruppe weiterhin normal funktionieren, aber kein Lastenausgleich/keine Hochverfügbarkeit stattfindet. |
| Description | Beschreibung der Proxy-Gruppe. |
| Proxies | Zeigt beim Bearbeiten einer Gruppe mit Proxys eine Liste von bis zu fünf Proxys an (als Links oder im Klartext, abhängig von den Benutzerberechtigungen für Proxys). |
Konfigurieren des Proxy-Load-Balancings
Um das Proxy-Load-Balancing zu verwenden, müssen Sie in der Zabbix Frontend eine Proxygruppe konfigurieren (siehe oben) und sicherstellen, dass Hosts von einer Proxygruppe überwacht werden, nicht von einzelnen Proxys (Sie können die Massenaktualisierung für Hosts verwenden, um Hosts von Proxys in die Proxygruppe 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 Proxygruppe im Parameter Server auf.
- Für aktive Prüfungen wird empfohlen, alle Proxys der Proxygruppe oder den Zabbix Server im Parameter ServerActive aufzulisten. Beachten Sie, dass nur Zabbix Agent 7.0 (oder neuer) mit Proxygruppen im aktiven Modus funktioniert.
Wenn der Parameter ServerActive nur einen Proxy aus einer Proxygruppe (oder den Zabbix Server) enthält, kann der Agent dennoch eine Verbindung zum richtigen Proxy herstellen.
Wenn der Agent-Dienst startet und sich mit dem angegebenen Proxy verbindet, erhält der Agent die vollständige Liste der Proxy-IP-Adressen und deren aktuelle Auslastung innerhalb der Gruppe und speichert sie im Cache.
Anschließend werden aktive Prüfungen basierend auf der aktuellen Proxy-Host-Zuordnung innerhalb der Proxygruppe an den richtigen Online-Proxy für den Host weitergeleitet.
Wenn im Zabbix Agent-Parameter ServerActive nur ein einzelner Proxy angegeben ist, kann dies zu einem Verlust von Überwachungsdaten führen, wenn der Agent gestartet oder neu gebootet wird, während der angegebene Proxy offline ist.
Bei Verwendung von Zabbix sender werden Datenanforderungen ebenfalls basierend auf der aktuellen Proxy-Host-Zuordnung innerhalb der Proxygruppe an den richtigen Online-Proxy für den Host weitergeleitet.
Wenn Sie jedoch Werte mehrerer Hosts aus einer Eingabedatei senden, verwenden Sie die Option -g, 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 Proxygruppe herstellen können. Andernfalls können aktive Prüfungen während der Weiterleitung oder des Failovers hängen bleiben oder fehlschlagen. Zum Beispiel:
- Während aktiver Prüfungen kann ein Proxy den Agenten an einen anderen Proxy weiterleiten. Wenn dieser Proxy durch eine Firewall blockiert ist, bleibt die Kommunikation beim Warten auf eine Antwort hängen.
- In stabilen Hochverfügbarkeitsumgebungen ohne kürzlich erfolgtes Rebalancing kontaktieren Agenten möglicherweise niemals Backup-Proxys. Wenn sich Firewall-Regeln geändert haben und nicht getestet wurden, kann das Failover fehlschlagen.
Testen des Proxy-Load-Balancings
So testen Sie das Proxy-Load-Balancing:
- Konfigurieren Sie eine Proxy-Gruppe.
- Stellen Sie sicher, dass sich die Proxy-Gruppe in einem Online-Status befindet.
- Stellen Sie sicher, dass Hosts von einer Proxy-Gruppe überwacht werden und nicht von einzelnen Proxys (Sie können die Massenaktualisierung für Hosts verwenden, um Hosts von Proxys in die Proxy-Gruppe zu verschieben).
- Warten Sie einige Sekunden auf die Aktualisierung der Konfiguration und die Verteilung der Hosts auf die Proxys in der Proxy-Gruppe. Beobachten Sie die Änderung, indem Sie die Hostliste unter Administration > Proxys aktualisieren.
Wichtige Hinweise
- SNMP-Traps werden von Proxys in einer Proxy-Gruppe nicht unterstützt.
- Prüfungen, die von externer Konfiguration abhängen (z. B. Skripte für externe Prüfungen oder ODBC-Konfiguration für Datenbankprüfungen), müssen auf allen Proxys in der Proxy-Gruppe dieselbe Konfiguration haben.
- Datenbankprüfungen erfordern erweiterte Berechtigungen für das Datenbankobjekt/den Server.
- VMware-Hosts, die von einer Proxy-Gruppe überwacht werden, werden zufällig auf die Proxys in der Gruppe verteilt. Dadurch cached jeder Proxy alle VMware-Daten, was zu zusätzlicher Last auf vCenter führt.
- Hosts, die auf Grundlage von Autoregistrierungsdaten von einem Proxy in einer Proxy-Gruppe erstellt werden, werden so eingestellt, dass sie von dieser Proxy-Gruppe überwacht werden. Hosts, die auf Grundlage von Netzwerkerkennungsdaten von einem Proxy in einer Proxy-Gruppe erstellt werden, werden jedoch so eingestellt, dass sie von diesem Proxy überwacht werden.