La haute disponibilit¨¦ (HA) est g¨¦n¨¦ralement requise dans les infrastructures critiques qui ne peuvent se permettre pratiquement aucun temps d'arr¨ºt. Ainsi, pour tout service susceptible d'¨ºtre en erreur, une option de basculement doit ¨ºtre en place pour prendre le relais en cas d'¨¦chec du service actuel.
Áú»¢¶Ä²© propose une solution haute disponibilit¨¦ native facile ¨¤ configurer et ne n¨¦cessitant aucune expertise pr¨¦alable en HA. Áú»¢¶Ä²© HA natif peut ¨ºtre utile pour une couche suppl¨¦mentaire de protection contre les pannes logicielles/mat¨¦rielles du serveur Áú»¢¶Ä²© ou pour avoir moins de temps d'arr¨ºt en raison de la maintenance.
En mode haute disponibilit¨¦ Áú»¢¶Ä²©, plusieurs serveurs Áú»¢¶Ä²© sont ex¨¦cut¨¦s en tant que n?uds dans un cluster. Pendant qu'un serveur Áú»¢¶Ä²© du cluster est actif, d'autres sont en veille, pr¨ºts ¨¤ prendre le relais si n¨¦cessaire.
Le passage ¨¤ Áú»¢¶Ä²© HA est sans engagement. Vous pouvez revenir ¨¤ un fonctionnement autonome ¨¤ tout moment.
Voir aussi : D¨¦tails de la mise en ?uvre
Deux ±è²¹°ù²¹³¾¨¨³Ù°ù±ðs sont requis dans la configuration du serveur pour d¨¦marrer un serveur Áú»¢¶Ä²© en tant que n?ud du cluster :
Il s'agit d'un identifiant de n?ud unique (par exemple, zabbix-node-01
) auquel le serveur sera r¨¦f¨¦renc¨¦ dans les configurations d'agent et de proxy. Si vous ne sp¨¦cifiez pas HANodeName, le serveur sera d¨¦marr¨¦ en mode autonome.
Le ±è²¹°ù²¹³¾¨¨³Ù°ù±ð NodeAddress (adresse:port) sera utilis¨¦ par l'interface Áú»¢¶Ä²© pour se connecter au n?ud de serveur actif. NodeAddress doit correspondre au nom IP ou FQDN du serveur Áú»¢¶Ä²© respectif.
Red¨¦marrer tous les serveurs Áú»¢¶Ä²© apr¨¨s avoir apport¨¦ des modifications aux fichiers de configuration. Ils seront d¨¦sormais d¨¦marr¨¦s en tant que n?uds de cluster. Le nouveau statut des serveurs peut ¨ºtre vu dans Rapports ¡ú Informations syst¨¨me et ¨¦galement en ex¨¦cutant :
zabbix_server -R ha_status
Cette commande d'ex¨¦cution enregistrera l'¨¦tat actuel du cluster HA dans le journal du serveur Áú»¢¶Ä²© (et dans stdout) :
Assurez-vous que address:port du serveur Áú»¢¶Ä²© n'est pas d¨¦fini dans la configuration de l'interface (situ¨¦ dans conf/zabbix.conf.php
du r¨¦pertoire des fichiers de l'interface).
L'interface Áú»¢¶Ä²© d¨¦tectera automatiquement le n?ud actif en lisant les ±è²¹°ù²¹³¾¨¨³Ù°ù±ðs de la table des n?uds dans la base de donn¨¦es Áú»¢¶Ä²©. L'adresse de n?ud du n?ud actif sera utilis¨¦e comme adresse de serveur Áú»¢¶Ä²©.
Les n?uds de cluster HA (serveurs) doivent ¨ºtre r¨¦pertori¨¦s dans la configuration du proxy Áú»¢¶Ä²© passif ou actif.
Pour un proxy passif, le nom des n?uds doivent ¨ºtre list¨¦s dans le ±è²¹°ù²¹³¾¨¨³Ù°ù±ð Server du proxy, s¨¦par¨¦s par une virgule.
Server=zabbix-node-01,zabbix-node-02
Pour un proxy actif, le nom des n?ud doivent ¨ºtre r¨¦pertori¨¦s dans le ±è²¹°ù²¹³¾¨¨³Ù°ù±ð Server du proxy, s¨¦par¨¦s par un point-virgule.
Server=zabbix-node-01;zabbix-node-02
Les n?uds de cluster HA (serveurs) doivent ¨ºtre r¨¦pertori¨¦s dans la configuration de l'agent Áú»¢¶Ä²© ou de l'agent Áú»¢¶Ä²© 2.
Pour activer les v¨¦rifications passives, les noms de n?ud doivent ¨ºtre r¨¦pertori¨¦s dans le ±è²¹°ù²¹³¾¨¨³Ù°ù±ð du serveur, s¨¦par¨¦s par une virgule.
Serveur=zabbix-node-01,zabbix-node-02
Pour activer les v¨¦rifications actives, les noms de n?ud doivent ¨ºtre r¨¦pertori¨¦s dans le ±è²¹°ù²¹³¾¨¨³Ù°ù±ð ServerActive. Notez que pour les v¨¦rifications actives, les n?uds doivent ¨ºtre s¨¦par¨¦s par une virgule de tout autre serveur, tandis que les n?uds eux-m¨ºmes doivent ¨ºtre s¨¦par¨¦s par un point-virgule, par exemple?:
ServeurActive=zabbix-node-01;zabbix-node-02
Áú»¢¶Ä²© basculera automatiquement vers un autre n?ud si le n?ud actif s'arr¨ºte. Il doit y avoir au moins un n?ud en ¨¦tat de veille pour que le basculement se produise.
? quelle vitesse le basculement se fera-t-il ? Tous les n?uds mettent ¨¤ jour leur heure de dernier acc¨¨s (et leur ¨¦tat, s'il est modifi¨¦) toutes les 5 secondes. Alors:
Si le n?ud actif s'arr¨ºte et parvient ¨¤ signaler son ¨¦tat comme "arr¨ºt¨¦", un autre n?ud prendra le relais dans les 5 secondes.
Si le n?ud actif s'arr¨ºte/devient indisponible sans pouvoir mettre ¨¤ jour son ¨¦tat, les n?uds de secours attendront le d¨¦lai de basculement + 5 secondes pour prendre le relais
Le d¨¦lai de basculement est configurable, avec une plage prise en charge comprise entre 10 secondes et 15 minutes (une minute par d¨¦faut). Pour modifier le d¨¦lai de basculement, vous pouvez ex¨¦cuter :
zabbix_server -R ha_set_failover_delay=5m
L'¨¦tat actuel du cluster HA peut ¨ºtre g¨¦r¨¦ ¨¤ l'aide des options d¨¦di¨¦es du contr?le d'ex¨¦cution :
ha_status
- enregistre l'¨¦tat du cluster HA dans le journal du serveur Áú»¢¶Ä²© (et vers stdout)ha_remove_node=target
- supprime un n?ud HA identifi¨¦ par son <target> - num¨¦ro du n?ud dans la liste (le num¨¦ro peut ¨ºtre obtenu ¨¤ partir de la sortie de l'ex¨¦cution de ha_status), par exemple :zabbix_server -R ha_remove_node=2
Notez que les n?uds actifs/en veille ne peuvent pas ¨ºtre supprim¨¦s.
ha_set_failover_delay=delay
- d¨¦finit le d¨¦lai de basculement HA (entre 10 secondes et 15 minutes ; les suffixes de temps sont pris en charge, par exemple 10s, 1m)L'¨¦tat du n?ud peut ¨ºtre surveill¨¦ :
ha_status
du serveur (voir ci-dessus).L'¨¦l¨¦ment interne zabbix[cluster,discovery,nodes]
peut ¨ºtre utilis¨¦ pour la d¨¦couverte de n?uds, car il renvoie un JSON avec les informations de n?ud ¨¤ haute disponibilit¨¦.
Pour d¨¦sactiver un cluster haute disponibilit¨¦ :
To perform a major version upgrade for the HA nodes:
In a minor version upgrade it is sufficient to upgrade the first node, make sure it has upgraded and running, and then start upgrade on the next node.
Le cluster haute disponibilit¨¦ (HA) est une solution opt-in et il est pris en charge pour le serveur Áú»¢¶Ä²©. La solution HA native est con?ue pour ¨ºtre simple ¨¤ utiliser, elle fonctionnera sur tous les sites et n'a pas d'exigences sp¨¦cifiques pour les bases de donn¨¦es reconnues par Áú»¢¶Ä²©. Les utilisateurs sont libres d'utiliser la solution HA native Áú»¢¶Ä²© ou une solution HA tierce, selon ce qui convient le mieux aux exigences de haute disponibilit¨¦ de leur environnement.
La solution consiste en plusieurs instances ou n?uds zabbix_server. Chaque n?ud : - est configur¨¦ s¨¦par¨¦ment - utilise la m¨ºme base de donn¨¦es - peut avoir plusieurs modes : active, standby, unavailable, stopped
Un seul n?ud peut ¨ºtre actif ¨¤ la fois. Un n?ud standby n'ex¨¦cute qu'un seul processus : le gestionnaire HA. Un n?ud standby n'effectue pas de collecte de donn¨¦es, de traitement ou d'autres activit¨¦s habituelles du serveur ; ils n'¨¦coutent pas sur les ports ; ils ont un minimum de connexions ¨¤ la base de donn¨¦es.
Les n?uds actifs et standby mettent ¨¤ jour leur heure de dernier acc¨¨s toutes les 5 secondes. Chaque n?ud standby surveille l'heure du dernier acc¨¨s du n?ud actif. Si le dernier temps d'acc¨¨s du n?ud actif est sup¨¦rieur ¨¤ ? d¨¦lai de basculement ? secondes, le n?ud standby devient le n?ud actif et attribue l'¨¦tat 'unavailable' au n?ud pr¨¦c¨¦demment actif.
Le n?ud actif surveille sa propre connectivit¨¦ ¨¤ la base de donn¨¦es - s'il est perdu pendant plus de d¨¦lai de basculement-5
secondes, il doit arr¨ºter tout traitement et passer en mode standby. Le n?ud actif surveille ¨¦galement l'¨¦tat des n?uds standby - si le dernier temps d'acc¨¨s d'un n?ud standby d¨¦passe le ? d¨¦lai de basculement ? secondes, le n?ud standby se voit attribuer l'¨¦tat 'unavailable'.
Les n?uds sont con?us pour ¨ºtre compatibles entre les versions mineures de Áú»¢¶Ä²©.