A SberService é a maior empresa de serviços de importância federal, fornecendo serviços abrangentes de manutenção para uma ampla gama de equipamentos de informação e telecomunicações, locais de trabalho, equipamentos de escritório, servidores e telefonia. A empresa é o único parceiro premium da Zabbix no CIS; ela emprega a maior equipe da Rússia na área de monitoramento de TI, desenvolvendo soluções técnicas exclusivas na área de implementação integrada de sistemas de monitoramento para organizações com infraestrutura de TI de alta carga. Este fato explica porque a SberService escolheu o Zabbix como a principal plataforma de monitoramento.
Sobre o que é este artigo?
Como o nome sugere, este artigo propõe um conceito para organizar o monitoramento com alta disponibilidade. O Zabbix Server atua como um "experimental", o Corosync e o Pacemaker são usados para organizar um cluster Ativo-Ativo, e tudo isso funciona no Linux. Este software é OpenSource, portanto, essa solução está disponível para todos.
Durante a operação do Zabbix para monitorar uma infraestrutura de TI altamente carregada (um aumento no número de elementos de dados, um aumento no número de hosts, uma grande profundidade de armazenamento de dados brutos, necessidades do usuário em constante crescimento), muitos enfrentam problemas de desempenho do servidor Zabbix durante a inicialização ou reinicialização. Sob condições de alta carga (> 60k NVPS), uma reinicialização normal do servidor Zabbix se torna um procedimento bastante demorado, embora regular. O tempo desde o início do atendimento até o aparecimento dos dados no monitoramento pode chegar a 15-20 minutos.
Diante disso, e após analisar a situação, a equipe de monitoramento chegou a uma solução que o clustering de acordo com o princípio Ativo-Ativo ajudará. Além disso, o objetivo era alcançar a recuperação de desastres, transferindo-a para diferentes centros de dados.
Uma tarefa
, 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».
Em conclusão, deve-se acrescentar que no mundo moderno da tecnologia, quase nada é impossível. Tudo que você precisa é desejo e recursos.