Monitoreo de alta disponibilidad. Experiencia SberService

SberService es la compañía de servicios más grande de importancia federal, que brinda servicios de mantenimiento integrales para una amplia gama de equipos de información y telecomunicaciones, estaciones de trabajo, equipos de oficina, servidores y telefonía. La empresa es el único socio premium de Zabbix en la CEI; emplea al equipo más grande de Rusia en el campo de la monitorización de TI, desarrollando soluciones técnicas únicas en el campo de la implementación integrada de sistemas de monitorización para organizaciones con infraestructura de TI de alta carga. Este hecho explica por qué SberService elige Zabbix como la principal plataforma de monitoreo.





¿De qué se trata este artículo?





Como sugiere el nombre, este artículo propone un concepto para organizar el monitoreo con alta disponibilidad. Zabbix Server actúa como un "experimental", Corosync y Pacemaker se utilizan para organizar un clúster Activo-Activo, y todo esto funciona en Linux. Este software es de código abierto, por lo que esta solución está disponible para todos.





Durante la operación de Zabbix para monitorear una infraestructura de TI altamente cargada (un aumento en la cantidad de elementos de datos, un aumento en la cantidad de hosts, una gran profundidad de almacenamiento de datos sin procesar, necesidades de usuario en constante crecimiento), muchos enfrentan problemas de rendimiento del servidor Zabbix durante el inicio o reinicio. En condiciones de alta carga (> 60k NVPS), un reinicio regular del servidor Zabbix se convierte en un procedimiento bastante largo, aunque regular. El tiempo desde el inicio del servicio hasta que los datos aparecen en el seguimiento puede llegar a los 15-20 minutos.





Ante esto, y tras analizar la situación, el equipo de seguimiento llegó a una solución que ayudará a agruparlos según el principio Activo-Activo. Además, el objetivo era lograr la recuperación ante desastres transfiriéndola a diferentes centros de datos.





Una tarea





, 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 conclusión, cabe agregar que en el mundo moderno de la tecnología, casi nada es imposible. Todo lo que necesita es deseo y recursos.








All Articles