Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

1 Cluster haute disponibilit¨¦

Aper?u

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

Activation du cluster HA

D¨¦marrage du serveur Áú»¢¶Ä²© en tant que n?ud du cluster

Deux ±è²¹°ù²¹³¾¨¨³Ù°ù±ðs sont requis dans la configuration du serveur pour d¨¦marrer un serveur Áú»¢¶Ä²© en tant que n?ud du cluster :

  • Le ±è²¹°ù²¹³¾¨¨³Ù°ù±ð HANodeName doit ¨ºtre sp¨¦cifi¨¦ pour chaque serveur Áú»¢¶Ä²© qui sera un n?ud de cluster HA.

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 doit ¨ºtre sp¨¦cifi¨¦ pour chaque n?ud.

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) :

Pr¨¦paration de l'interface

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 Áú»¢¶Ä²©.

Configuration du proxy

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
Configuration des agents

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

Failover to standby node

Áú»¢¶Ä²© 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

Gestion du cluster haute disponibilit¨¦

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¨¦ :

  • dans Rapports ¡ú Informations syst¨¨me
  • dans le widget du tableau de bord Informations syst¨¨me
  • en utilisant l'option de contr?le d'ex¨¦cution 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¨¦.

D¨¦sactivation de la haute disponibilit¨¦

Pour d¨¦sactiver un cluster haute disponibilit¨¦ :

  • faire des copies de sauvegarde des fichiers de configuration
  • arr¨ºter les n?uds de secours
  • supprimer le ±è²¹°ù²¹³¾¨¨³Ù°ù±ð HANodeName du serveur principal actif
  • red¨¦marrer le serveur principal (il d¨¦marrera en mode autonome)

Upgrading HA cluster

To perform a major version upgrade for the HA nodes:

  • stop all nodes;
  • create a full database backup;
  • if the database uses replication make sure that all nodes are in sync and have no issues. Do not upgrade if replication is broken.
  • select a single node that will perform database upgrade, change its configuration to standalone mode by commenting out HANodeName and upgrade it;
  • make sure that database upgrade is fully completed (System information should display that Áú»¢¶Ä²© server is running);
  • restart the node in HA mode;
  • upgrade and start the rest of nodes (it is not required to change them to standalone mode as the database is already upgraded at this point).

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.

D¨¦tails d'impl¨¦mentation

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 Áú»¢¶Ä²©.