Surveillance haute disponibilité. Expérience SberService

SberService est la plus grande société de services d'importance fédérale, fournissant des services de maintenance complets pour une large gamme d'équipements d'information et de télécommunications, de postes de travail, d'équipements de bureau, de serveurs et de téléphonie. La société est le seul partenaire premium de Zabbix dans la CEI; elle emploie la plus grande équipe de Russie dans le domaine de la surveillance informatique, développant des solutions techniques uniques dans le domaine de la mise en œuvre intégrée de systèmes de surveillance pour les organisations avec une infrastructure informatique à forte charge. Ce fait explique pourquoi SberService choisit Zabbix comme plate-forme de surveillance principale.





De quoi parle l'article?





Comme son nom l'indique, cet article propose un concept d'organisation de la surveillance à haute disponibilité. Zabbix Server agit comme un "expérimental", Corosync et Pacemaker sont utilisés pour organiser un cluster Active-Active, et tout cela fonctionne sous Linux. Ce logiciel est OpenSource, une telle solution est donc accessible à tous.





Lors de l'exploitation de Zabbix pour la surveillance d'une infrastructure informatique très chargée (augmentation du nombre d'éléments de données, augmentation du nombre d'hôtes, grande profondeur de stockage des données brutes, besoins des utilisateurs en constante augmentation), beaucoup sont confrontés à des problèmes de performances du serveur Zabbix lors du démarrage ou du redémarrage. Dans des conditions de charge élevée (> 60k NVPS), un redémarrage normal du serveur Zabbix se transforme en une procédure plutôt longue, bien que régulière. Le délai entre le début du service et l'apparition des données en surveillance peut atteindre 15 à 20 minutes.





Face à cela, et après avoir analysé la situation, l'équipe de suivi est parvenue à une solution que le clustering selon le principe Active-Active aidera. De plus, l'objectif était de réaliser une reprise après sinistre en la transférant vers différents centres de données.





Une tâche





, Zabbix-, Active-Active , , .





. Zabbix , -, . OpenSource-, Pacemaker Corosync.









:





  • ZabbixServer , . ., ;





  • ZabbixServer , .





Active-Passive Pacemaker Corosync        ( Corosync cman, ).





, Zabbix , « », ZabbixServer , , , – . , .





, Active-Active (LoadBalancer), .





:













High Available ZabbixServer Active-Active LoadBalancer :









« » (Cluster resource) . .





2 . stonith quorum — .

quorum 3 . , 2 , «» .





stonith , . , . . , , .

:





ocf::heartbeat:ZBX-IPaddress
ocf::heartbeat:ZBX-Instance
      
      



, . ZBX-IPaddress ip- (IPaddr2). ZBX-Instance — zabbix-server . Zabbix- , , Zabbix- Read/Write, ReadOnly, zabbix-server (, Active-Active).





. ZBX-IP-address IP- , ZBX-Instance zabbix- Read/Write, zabbix- ReadOnly, . . ZabbixProxy. , .





— master slave ZabbixServer- .





High Available ZabbixServer Active-Active LoadBalancer





:









« » . , « », , LoadBalancer - . , , « ».





Pacemaker :





ocf::heartbeat:ZBX-Cluster-Socket
ocf::heartbeat:ZBX-Instance
      
      



ZBX-Cluster-Socket — « » — LoadBalancer-.





ZBX-Instance zabbix-server- .





« », .





ZBX-Cluster-Socket Pacemaker (). « » — , , LoadBalancer. «» ZBX-Cluster-Socket ZBX-Instance (constraint) , «» . Corosync, ZBX-Cluster-Socket, 101 Master-node 201 Slave-node. LoadBalancer / : 101 — 201 — , , , .





Master-node Slave-node :





Master-node, 101 , LoadBalancer 201 Slave-node. Corosync, , Master-node , ZBX-Instance ZBX-Cluster-Socket Slave-node, «resource_movement», Pacemaker ZBX-Instance User_A User_B , .





?





: 2- Master-node ( User_A) Slave-node (User_B), Master-node .





, , . Master-node , . Slave-node . LoadBalancer , Master-node Slave-node ZabbixServer , LoadBalancer .





— ? - Read/Write, ReadOnly, :





  • Slave-node , Slave-node : User_A ReadOnly, User_B Read/Write.





  • Slave-node , Slave-node .





  • «» Master-node, LoadBalancer , Master-node .









( 2- ), . , , «How to».





En conclusion, il faut ajouter que dans le monde moderne de la technologie, presque rien n'est impossible. Tout ce dont vous avez besoin, c'est du désir et des ressources.








All Articles