Équilibrage de charge et haute disponibilité du proxy
Présentation générale
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 correspondent à la redistribution automatique des hôtes entre les proxy d'un groupe de proxy :
- Si un proxy se déconnecte, 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 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 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 proxy et la haute disponibilité sont gérés par le serveur Zabbix via le gestionnaire de groupe de proxy, qui surveille en continu l'état de tous les proxy de chaque groupe de proxy ainsi que leur répartition des hôtes.
La haute disponibilité des proxy au sein d'un groupe est assurée par le basculement des proxy: lorsqu'un proxy passe hors ligne, ses hôtes sont immédiatement redistribués vers d'autres proxy. L'équilibrage de charge des proxy a également lieu, car les hôtes sont réaffectés aux proxy ayant le moins d'hôtes attribués.
En outre, l'équilibrage de charge des proxy 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 d'hôtes 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 proxy est placé en file d'attente pour la redistribution des hôtes.
Le gestionnaire de groupe de proxy redistribue les hôtes selon la logique suivante:
- Calculer le nombre moyen d'hôtes par proxy.
- Pour les proxy avec un excédent d'hôtes, déplacer les hôtes excédentaires vers le pool d'hôtes non attribués des proxy.
- Pour les proxy avec un déficit d'hôtes, calculer combien d'hôtes sont nécessaires pour atteindre l'équilibre.
- Retirer le nombre requis d'hôtes des proxy ayant le plus d'hôtes.
- Déplacer les hôtes non attribués vers les proxy ayant le moins d'hôtes.
Exemples de redistribution des hôtes:
| Hosts on proxy | Group average | Host reassignment |
|---|---|---|
| 100 | 50 | Yes |
| 60 | 50 | No |
| 40 | 50 | No |
| 25 | 50 | Yes |
| 15 | 5 | Yes |
| 10 | 5 | No |
Avoir moins de 10 hôtes surveillés par un groupe de proxy peut entraîner une répartition inégale des hôtes entre les proxy 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.
- Saisissez les paramètres du groupe de proxy dans le formulaire.

| 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 de temps (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 la mise hors ligne du groupe si un proxy tombe en panne. Notez que les proxy en ligne d’un groupe hors ligne continuent de fonctionner normalement, mais l’équilibrage de charge/la haute disponibilité ne seront pas assurés. |
| Description | Description du groupe de proxy. |
| Proxy | Affiche une liste de cinq proxy au maximum (sous forme de liens ou en 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 ne contient qu'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 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 alors 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 la perte de données de supervision si l'agent est démarré ou redémarré alors que le proxy spécifié est hors ligne.
Lors de l'utilisation de 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 depuis 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 d'une redirection ou d'un 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 de données d'auto-enregistrement provenant d'un proxy appartenant à un groupe de proxy sont définis comme étant surveillés par ce groupe de proxy. Cependant, les hôtes créés à partir de données de découverte réseau provenant d'un proxy appartenant à un groupe de proxy sont définis comme étant surveillés par ce proxy.