2 Équilibrage de charge des proxys et haute disponibilité
Aperçu
Les proxys Zabbix peuvent être organisés en groupes de proxys afin d'activer l'équilibrage de charge des proxys et la haute disponibilité.
L'équilibrage de charge des proxys et la haute disponibilité correspondent à la redistribution automatique des hôtes entre les proxys au sein d'un groupe de proxys :
- Si un proxy passe hors ligne, ses hôtes seront déplacés vers d'autres proxys, ce qui permet de maintenir une haute disponibilité des proxys.
- Si un proxy a un nombre d'hôtes beaucoup plus élevé ou plus faible que les autres proxys, ses hôtes seront déplacés vers d'autres proxys afin d'équilibrer la charge des proxys.
La redistribution des hôtes fonctionne uniquement entre les proxys d'un groupe qui remplissent les conditions suivantes :
- Les proxys exécutent Zabbix 7.0 ou une version ultérieure.
- La version du proxy correspond à la version du serveur Zabbix. Si vous utilisez l'agent Zabbix (passif), la version du proxy doit correspondre à celle de l'agent. Les agents actifs nécessitent uniquement Zabbix 7.0 ou une version ultérieure.
- Le groupe de proxys a un état en ligne.
- Les hôtes sont configurés pour être surveillés par un groupe de proxys plutôt que par des proxys individuels.
L'état de santé du groupe de proxys peut être surveillé à l'aide de contrôles internes par tout hôte attribué à un groupe de proxys. Cependant, pour surveiller l'état de santé d'un seul proxy dans un groupe, attribuez 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 proxys
Pour configurer un groupe de proxys dans l'interface web de Zabbix :
- Allez dans Administration > Groupes de proxys
- Cliquez sur Créer un groupe de proxys

| Paramètre | Description |
|---|---|
| Nom | Nom du groupe de proxys. |
| Période de basculement | Période, en secondes, pendant laquelle un proxy du groupe de proxys doit communiquer avec le serveur Zabbix pour être considéré comme en ligne (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 à d'autres proxys. L'équilibrage de charge des proxys commence après 10 x cette période. Prend en charge les suffixes de temps (par exemple, 30s, 1m) et les macros utilisateur. |
| Nombre minimal de proxys | Nombre minimal de proxys en ligne requis pour maintenir le groupe de proxys en ligne (par défaut : 1 ; plage : 1–1000). Prend en charge les macros utilisateur. Cette valeur doit être inférieure au nombre total de proxys dans le groupe. Par exemple, dans un groupe de 10 proxys, définir le minimum à 10 fera passer le groupe hors ligne si un proxy échoue. Notez que les proxys en ligne dans un groupe hors ligne continuent de fonctionner normalement, mais l'équilibrage de charge/la haute disponibilité n'auront pas lieu. |
| Description | Description du groupe de proxys. |
| Proxys | Affiche une liste de cinq proxys maximum (sous forme de liens ou en texte brut, selon les autorisations de l'utilisateur sur les proxys) lors de la modification d'un groupe contenant des proxys. |
Configuration de l’équilibrage de charge des proxys
Pour utiliser l’équilibrage de charge des proxys, vous devez configurer un groupe de proxys dans l’interface web Zabbix (voir ci-dessus) et vous assurer que les hôtes sont surveillés par un groupe de proxys, et non par des proxys individuels (vous pouvez utiliser la mise à jour de masse des hôtes pour déplacer des hôtes des proxys vers le groupe de proxys).
Si vous utilisez Zabbix agent, configurez-le également comme suit :
- Pour les contrôles passifs, listez tous les proxys du groupe de proxys dans le paramètre Server.
- Pour les contrôles actifs, il est recommandé de lister tous les proxys du groupe de proxys 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 proxys en mode actif.
Si le paramètre ServerActive n’inclut qu’un seul proxy d’un groupe de proxys (ou le serveur Zabbix), l’agent pourra tout de même se connecter au proxy correct.
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 IP des proxys ainsi que leur charge actuelle au sein du groupe.
Ensuite, les contrôles actifs seront redirigés vers le proxy en ligne correct pour l’hôte, en fonction de l’affectation actuelle hôte-proxy dans le groupe de proxys.
Le fait de n’avoir qu’un seul proxy spécifié dans le paramètre ServerActive de Zabbix agent peut entraîner une perte de données de supervision si l’agent est démarré/redémarré alors que le proxy spécifié est hors ligne.
Lors de l’utilisation de Zabbix sender, les requêtes de données sont également redirigées vers le proxy en ligne correct pour l’hôte, en fonction de l’affectation actuelle hôte-proxy dans le groupe de proxys.
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 des données au mauvais proxy.
Zabbix agent doit également pouvoir se connecter à tous les proxys du groupe de proxys à travers le pare-feu. Sinon, les contrôles actifs peuvent se bloquer ou échouer pendant la redirection ou le basculement. Par exemple :
- Pendant les contrôles actifs, un proxy peut rediriger l’agent vers un autre proxy. Si ce proxy est bloqué par un pare-feu, la communication se bloquera en attendant une réponse.
- Dans des configurations stables à haute disponibilité sans rééquilibrage récent, les agents peuvent ne jamais contacter les proxys de secours. Si les règles du pare-feu ont changé et n’ont pas été testées, le basculement peut échouer.
Test de l’équilibrage de charge des proxies
Pour tester l’équilibrage de charge des proxies :
- Configurez un groupe de proxies.
- Assurez-vous que le groupe de proxies a un état en ligne.
- Assurez-vous que les hôtes sont surveillés par un groupe de proxies, et non par des proxies individuels (vous pouvez utiliser la mise à jour de masse des hôtes pour déplacer les hôtes des proxies vers le groupe de proxies).
- Attendez quelques secondes pour la mise à jour de la configuration et la distribution des hôtes entre les proxies du groupe de proxies. Observez le changement en actualisant la liste des hôtes dans Administration > Proxies.
Remarques importantes
- Les traps SNMP ne sont pas pris en charge par les proxys d’un groupe de proxys.
- Les contrôles 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 avoir la même configuration sur tous les proxys du groupe de proxys.
- Les vérifications de base de données nécessitent des autorisations étendues sur l’objet/serveur de base de données.
- Les hôtes VMware surveillés par un groupe de proxys seront répartis aléatoirement entre les proxys du groupe. Cela amène chaque proxy à mettre en cache toutes les données VMware, ce qui entraîne une charge supplémentaire sur vCenter.
- Les hôtes créés à partir des données d’auto-enregistrement provenant d’un proxy d’un groupe de proxys sont configurés pour être surveillés par ce groupe de proxys. Cependant, les hôtes créés à partir des données de découverte réseau provenant d’un proxy d’un groupe de proxys sont configurés pour être surveillés par ce proxy.