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 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 gewährleistet wird.
  • Wenn ein Proxy deutlich mehr oder weniger Hosts als andere Proxys hat, werden seine Hosts auf andere Proxys verschoben, um die Proxy-Auslastung 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 des 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 verfügt über einen Online-Status.
  • 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

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:

  1. Berechnen Sie die durchschnittliche Anzahl von Hosts pro Proxy.
  2. Bei Proxys mit Host-Überschuss werden die überschüssigen Hosts in den Pool nicht zugewiesener Proxys verschoben.
  3. Bei Proxys mit Host-Defizit wird berechnet, wie viele Hosts benötigt werden, um ein Gleichgewicht zu erreichen.
  4. Die erforderliche Anzahl von Hosts wird von den Proxys mit den meisten Hosts entfernt.
  5. 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:

  1. Gehen Sie zu Administration > Proxy groups
  2. Klicken Sie auf Create proxy group

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 zu gelten (Standard: 1m; Bereich: 10s-15m). Wenn der Proxy innerhalb dieses Zeitraums nicht kommuniziert, wird sein Status in Offline geändert und seine Hosts werden sofort auf andere Proxys verteilt. Der Proxy-Lastenausgleich beginnt nach dem 10-Fachen dieses Zeitraums.
Unterstützt Zeiteinheiten (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, wechselt die Gruppe in den Offline-Status, 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 von bis zu fünf Proxys an (als Links oder als reinen Text, 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) in seinem aktiven Modus mit Proxy-Gruppen funktioniert.

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 und 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 online verfügbaren Proxy weitergeleitet.

Wenn im Parameter ServerActive des Zabbix Agent 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 online 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. Zum Beispiel:

  • 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 hängen, während auf eine Antwort gewartet wird.
  • In stabilen Hochverfügbarkeitsumgebungen ohne kürzlich erfolgte Neuausbalancierung kontaktieren Agents möglicherweise niemals Backup-Proxys. Wenn Firewall-Regeln geändert und nicht getestet wurden, kann das Failover fehlschlagen.
Testen der Proxy-Lastverteilung

So testen Sie die Proxy-Lastverteilung:

  1. Konfigurieren Sie eine Proxy-Gruppe.
  2. Stellen Sie sicher, dass die Proxy-Gruppe den Online-Status hat.
  3. 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).
  4. 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 über dieselbe Konfiguration verfügen.
  • 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 zusätzliche 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 Netzwerkerkennungsdaten eines Proxys in einer Proxy-Gruppe erstellt werden, werden so eingestellt, dass sie von diesem Proxy überwacht werden.