2 Équilibrage de charge des proxys et haute disponibilité
Vue d’ensemble
Les proxy Zabbix peuvent être organisés en groupes de proxy afin d’activer l’équilibrage de charge et la haute disponibilité des proxy.
L’équilibrage de charge et la haute disponibilité des proxy consistent à redistribuer automatiquement les hôtes entre les proxy d’un groupe de proxy :
- Si un proxy se met hors ligne, ses hôtes sont déplacés vers d’autres proxy, ce qui permet de maintenir une haute disponibilité des proxy.
- Si un proxy possède un nombre d’hôtes beaucoup plus élevé ou plus faible que les autres proxy, ses hôtes sont déplacés vers d’autres proxy afin d’équilibrer la charge des proxy.
La redistribution des hôtes fonctionne uniquement entre les proxy d’un groupe qui remplissent les conditions suivantes :
- Les proxy exécutent Zabbix 7.0 ou une version ultérieure.
- La version du proxy correspond à la version du serveur Zabbix. Si vous utilisez Zabbix agent (passif), la version du proxy doit correspondre à la version de l’agent. Les agents actifs nécessitent uniquement Zabbix 7.0 ou une version ultérieure.
- Le groupe de proxy possède un état en ligne.
- Les hôtes sont configurés pour être supervisés par un groupe de proxy plutôt que par des proxy individuels.
L’état de santé d’un groupe de proxy peut être surveillé à l’aide de vérifications internes par n’importe quel hôte affecté à un groupe de proxy. Cependant, pour surveiller l’état de santé d’un proxy individuel dans un groupe, affectez l’hôte à ce proxy ; sinon, les résultats peuvent être incohérents.
Redistribution des hôtes
L’équilibrage de charge des proxys et la haute disponibilité sont gérés par le serveur Zabbix via le gestionnaire de groupes de proxys, qui surveille en continu l’état de tous les proxys de chaque groupe de proxys ainsi que la répartition de leurs hôtes.
La haute disponibilité des proxys au sein d’un groupe est assurée par le basculement des proxys : lorsqu’un proxy devient hors ligne, ses hôtes sont immédiatement redistribués vers d’autres proxys. L’équilibrage de charge des proxys a également lieu, les hôtes étant réaffectés aux proxys ayant le moins d’hôtes assignés.
En outre, l’équilibrage de charge des proxys est déclenché lorsque le nombre d’hôtes d’un proxy diffère de la moyenne du groupe d’au moins 10 hôtes et d’un facteur de 2 (excédent ou déficit d’hôtes). Si le déséquilibre persiste après une période de grâce (10 x délai de basculement), le groupe de proxys est placé en file d’attente pour la redistribution des hôtes.
Le gestionnaire de groupes de proxys redistribue les hôtes selon la logique suivante :
- Calculer le nombre moyen d’hôtes par proxy.
- Pour les proxys présentant un excédent d’hôtes, déplacer les hôtes excédentaires vers le pool non assigné de proxys.
- Pour les proxys présentant un déficit d’hôtes, calculer combien d’hôtes sont nécessaires pour rétablir l’équilibre.
- Retirer le nombre requis d’hôtes des proxys ayant le plus grand nombre d’hôtes.
- Déplacer les hôtes non assignés vers les proxys ayant le moins d’hôtes.
Exemples de redistribution des hôtes :
| Hôtes sur le proxy | Moyenne du groupe | Réaffectation des hôtes |
|---|---|---|
| 100 | 50 | Oui |
| 60 | 50 | Non |
| 40 | 50 | Non |
| 25 | 50 | Oui |
| 15 | 5 | Oui |
| 10 | 5 | Non |
Avoir moins de 10 hôtes surveillés par un groupe de proxys peut entraîner une répartition inégale des hôtes entre les proxys du groupe.
Configuration d’un groupe de proxy
Pour configurer un groupe de proxy dans l’interface Zabbix :
- Accédez à Administration > Groupes de proxy
- Cliquez sur Créer un groupe de proxy

| Paramètre | Description |
|---|---|
| Nom | Nom du groupe de proxy. |
| Période de basculement | Période, en secondes, pendant laquelle un proxy du groupe de proxy doit communiquer avec le serveur Zabbix pour être considéré comme étant en ligne (valeur par défaut : 1m ; plage : 10s-15m). Si le proxy ne communique pas pendant cette période, son état passe à Hors ligne et ses hôtes sont immédiatement redistribués vers d’autres proxy. L’équilibrage de charge des proxy commence après 10 x cette période. Prend en charge les suffixes temporels (par exemple, 30s, 1m) et les macros utilisateur. |
| Nombre minimal de proxy | Nombre minimal de proxy en ligne requis pour maintenir le groupe de proxy en ligne (valeur par défaut : 1 ; plage : 1-1000). Prend en charge les macros utilisateur. Cette valeur doit être inférieure au nombre total de proxy dans le groupe. Par exemple, dans un groupe de 10 proxy, définir le minimum sur 10 entraînera le passage du groupe hors ligne si un proxy tombe en panne. Notez que les proxy en ligne d’un groupe hors ligne continuent de fonctionner normalement, mais que l’équilibrage de charge/la haute disponibilité ne sont pas assurés. |
| Description | Description du groupe de proxy. |
| Proxy | Affiche une liste de cinq proxy au maximum (sous forme de liens ou de texte brut, selon les autorisations de l’utilisateur sur les proxy) lors de la modification d’un groupe contenant des proxy. |
Configuration de l'équilibrage de charge des proxy
Pour utiliser l'équilibrage de charge des proxy, vous devez configurer un groupe de proxy dans l'interface Zabbix (voir ci-dessus) et vous assurer que les hôtes sont surveillés par un groupe de proxy, et non par des proxy individuels (vous pouvez utiliser la mise à jour en masse des hôtes pour déplacer les hôtes des proxy vers le groupe de proxy).
Si vous utilisez Zabbix agent, configurez-le également comme suit :
- Pour les vérifications passives, répertoriez tous les proxy du groupe de proxy dans le paramètre Server.
- Pour les vérifications actives, il est recommandé de répertorier tous les proxy du groupe de proxy ou le serveur Zabbix dans le paramètre ServerActive. Notez que seul Zabbix agent 7.0 (ou version ultérieure) fonctionnera avec les groupes de proxy en mode actif.
Si le paramètre ServerActive inclut un seul proxy d'un groupe de proxy (ou le serveur Zabbix), l'agent pourra tout de même se connecter au proxy approprié.
Lorsque le service de l'agent démarre et se connecte au proxy spécifié, l'agent reçoit et met en cache la liste complète des adresses IP des proxy ainsi que leur charge actuelle au sein du groupe.
Les vérifications actives sont ensuite redirigées vers le proxy en ligne approprié pour l'hôte, en fonction de l'affectation actuelle des hôtes aux proxy au sein du groupe de proxy.
Le fait de ne spécifier qu'un seul proxy dans le paramètre ServerActive de Zabbix agent peut entraîner une perte de données de supervision si l'agent est démarré ou redémarré alors que le proxy spécifié est hors ligne.
Lorsque vous utilisez Zabbix sender, les demandes de données sont également redirigées vers le proxy en ligne approprié pour l'hôte, en fonction de l'affectation actuelle des hôtes aux proxy au sein du groupe de proxy.
Cependant, si vous envoyez les valeurs de plusieurs hôtes à partir d'un fichier d'entrée, utilisez l'option -g pour éviter d'envoyer les données au mauvais proxy.
Zabbix agent doit également pouvoir se connecter à tous les proxy du groupe de proxy à travers le pare-feu. Dans le cas contraire, les vérifications actives peuvent rester bloquées ou échouer lors de la redirection ou du basculement. Par exemple :
- Lors des vérifications actives, un proxy peut rediriger l'agent vers un autre proxy. Si ce proxy est bloqué par un pare-feu, la communication restera bloquée en attendant une réponse.
- Dans les configurations haute disponibilité stables sans rééquilibrage récent, les agents peuvent ne jamais contacter les proxy de secours. Si les règles du pare-feu ont été modifiées et n'ont pas été testées, le basculement peut échouer.
Tester l'équilibrage de charge des proxy
Pour tester l'équilibrage de charge des proxy :
- Configurez un groupe de proxy.
- Assurez-vous que le groupe de proxy est en ligne.
- Assurez-vous que les hôtes sont supervisés par un groupe de proxy, et non par des proxy individuels (vous pouvez utiliser la mise à jour en masse des hôtes pour déplacer les hôtes des proxy vers le groupe de proxy).
- Attendez quelques secondes pour la mise à jour de la configuration et la répartition des hôtes entre les proxy du groupe de proxy. Observez le changement en actualisant la liste des hôtes dans Administration > Proxy.
Remarques importantes
- Les traps SNMP ne sont pas pris en charge par les proxy d'un groupe de proxy.
- Les vérifications qui dépendent d'une configuration externe (par exemple, les scripts pour les vérifications externes ou la configuration ODBC pour les vérifications de base de données) doivent disposer de la même configuration sur tous les proxy du groupe de proxy.
- Les vérifications de base de données nécessitent des autorisations étendues sur l'objet ou le serveur de base de données.
- Les hôtes VMware surveillés par un groupe de proxy sont répartis aléatoirement entre les proxy du groupe. Cela entraîne la mise en cache de toutes les données VMware par chaque proxy, ce qui augmente la charge sur vCenter.
- Les hôtes créés à partir des données d'auto-enregistrement provenant d'un proxy d'un groupe de proxy sont configurés pour être surveillés par ce groupe de proxy. Cependant, les hôtes créés à partir des données de découverte réseau provenant d'un proxy d'un groupe de proxy sont configurés pour être surveillés par ce proxy.