2 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 ist 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 eine deutlich höhere/niedrigere Anzahl von Hosts als andere Proxys hat, werden seine Hosts auf andere Proxys verschoben, um die Proxy-Last auszugleichen.
Die Host-Umverteilung funktioniert nur zwischen Proxys in einer Gruppe, die die folgenden Bedingungen erfüllen:
- Proxys führen Zabbix 7.0 oder höher aus.
- Die Proxy-Version entspricht der Zabbix-Server-Version. Bei Verwendung von Zabbix Agent (passiv) muss die Proxy-Version der Agent-Version entsprechen. Aktive Agents erfordern nur Zabbix 7.0 oder höher.
- Die Proxy-Gruppe hat den Status online.
- Hosts sind so konfiguriert, dass sie von einer Proxy-Gruppe statt von einzelnen Proxys überwacht werden.
Der Zustand der Proxy-Gruppe kann mit internen Prüfungen durch jeden 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
Proxy-Lastverteilung und Hochverfügbarkeit 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. Eine Proxy-Lastverteilung findet ebenfalls statt, da Hosts Proxys mit den wenigsten zugewiesenen Hosts neu zugewiesen werden.
Zusätzlich wird die Proxy-Lastverteilung 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). Wenn das Ungleichgewicht nach einer Schonfrist (10 x Failover-Verzögerung) bestehen bleibt, wird die Proxy-Gruppe für die Host-Umverteilung in die Warteschlange gestellt.
Der Proxy-Gruppen-Manager verteilt Hosts nach folgender Logik um:
- Berechnen Sie die durchschnittliche Anzahl von Hosts pro Proxy.
- Bei Proxys mit Host-Überschuss werden die überschüssigen Hosts in den Pool nicht zugewiesener Proxys verschoben.
- Bei Proxys mit Host-Defizit wird berechnet, wie viele Hosts benötigt werden, um ein Gleichgewicht zu erreichen.
- Die erforderliche Anzahl von Hosts wird von den Proxys mit den meisten Hosts entfernt.
- Nicht zugewiesene Hosts werden zu den Proxys mit den wenigsten Hosts verschoben.
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 weniger als 10 Hosts von einer Proxy-Gruppe überwacht werden, kann dies zu einer ungleichmäßigen Host-Verteilung unter 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

| 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 sein Status auf Offline geändert, und seine Hosts werden sofort auf andere Proxys verteilt. Der Lastausgleich des Proxys beginnt nach dem 10-Fachen dieses Zeitraums. Unterstützt Zeitsuffixe (z. B. 30s, 1m) und Benutzermakros. |
| Minimum number of proxies | Mindestanzahl an online proxies, die erforderlich ist, damit die proxy group online bleibt (Standard: 1; Bereich: 1–1000). Unterstützt Benutzermakros. 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 Proxy ausfällt. Beachten Sie, dass online Proxys in einer offline Gruppe weiterhin normal funktionieren, Lastausgleich/High Availability jedoch nicht 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 als Klartext, abhängig von den Benutzerberechtigungen für Proxys). |
Konfigurieren des Proxy-Load-Balancing
Um Proxy-Load-Balancing zu verwenden, müssen Sie eine Proxy-Gruppe im Zabbix Frontend konfigurieren (siehe oben) und sicherstellen, dass Hosts von einer Proxy-Gruppe überwacht werden, nicht von einzelnen Proxys (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 Zabbix Agent 7.0 (oder höher) mit Proxy-Gruppen im aktiven Modus funktioniert.
Wenn der Parameter ServerActive nur einen Proxy aus einer Proxy-Gruppe (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, empfängt und zwischenspeichert der Agent die vollständige Liste der Proxy-IPs und deren aktuelle Last innerhalb der Gruppe.
Anschließend werden aktive Prüfungen basierend auf der aktuellen Proxy-Host-Zuweisung innerhalb der Proxy-Gruppe an den richtigen online verfügbaren Proxy für den Host umgeleitet.
Wenn im Parameter ServerActive des Zabbix Agent nur ein einzelner Proxy angegeben ist, kann dies zu verlorenen Monitoring-Daten führen, falls 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 online verfügbaren Proxy für den Host umgeleitet.
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 in der Lage sein, sich durch die Firewall mit allen Proxys in der Proxy-Gruppe zu verbinden. Andernfalls können aktive Prüfungen während der Umleitung oder des Failover hängen bleiben oder fehlschlagen. Zum Beispiel:
- Während aktiver Prüfungen kann ein Proxy den Agent an einen anderen Proxy umleiten. Wenn dieser Proxy durch eine Firewall blockiert ist, bleibt die Kommunikation hängen, während auf eine Antwort gewartet wird.
- In stabilen Hochverfügbarkeits-Setups ohne kürzlich erfolgte Neuverteilung kontaktieren Agents möglicherweise niemals Backup-Proxys. Wenn sich Firewall-Regeln geändert haben und nicht getestet wurden, kann das Failover fehlschlagen.
Testen des Proxy-Load-Balancing
So testen Sie das Proxy-Load-Balancing:
- Konfigurieren Sie eine Proxy-Gruppe.
- Stellen Sie sicher, dass die Proxy-Gruppe den Status online hat.
- 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 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 gleich konfiguriert sein.
- Datenbankprüfungen erfordern erweiterte Berechtigungen für das Datenbankobjekt bzw. den Server.
- 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, was eine zusätzliche Last auf vCenter verursacht.
- Hosts, die auf Grundlage von Autoregistrierungsdaten von einem Proxy in einer Proxy-Gruppe erstellt werden, werden so festgelegt, dass sie von dieser Proxy-Gruppe überwacht werden. Hosts, die jedoch auf Grundlage von Netzwerk-Erkennungsdaten von einem Proxy in einer Proxy-Gruppe erstellt werden, werden so festgelegt, dass sie von diesem Proxy überwacht werden.