SberService ist das größte Dienstleistungsunternehmen von bundesstaatlicher Bedeutung und bietet umfassende Wartungsdienste für eine breite Palette von Informations- und Telekommunikationsgeräten, Arbeitsplätzen, Bürogeräten, Servern und Telefonie. Das Unternehmen ist der einzige Premium-Partner von Zabbix in der GUS und beschäftigt das größte Team in Russland im Bereich der IT-Überwachung. Es entwickelt einzigartige technische Lösungen im Bereich der integrierten Implementierung von Überwachungssystemen für Unternehmen mit hoher IT-Infrastruktur. Diese Tatsache erklärt, warum SberService Zabbix als Hauptüberwachungsplattform auswählt.
Wovon handelt der Artikel?
Wie der Name schon sagt, schlägt dieser Artikel ein Konzept für die Organisation der Überwachung mit hoher Verfügbarkeit vor. Zabbix Server fungiert als "experimentell", Corosync und Pacemaker werden zum Organisieren eines Aktiv-Aktiv-Clusters verwendet, und all dies funktioniert unter Linux. Diese Software ist OpenSource, daher steht eine solche Lösung jedem zur Verfügung.
Während des Betriebs von Zabbix zur Überwachung einer hoch ausgelasteten IT-Infrastruktur (Erhöhung der Anzahl der Datenelemente, Erhöhung der Anzahl der Hosts, große Speichertiefe der Rohdaten, ständig wachsende Benutzeranforderungen) treten beim Start oder Neustart häufig Leistungsprobleme des Zabbix-Servers auf. Unter Hochlastbedingungen (> 60.000 NVPS) wird ein regelmäßiger Neustart des Zabbix-Servers zu einem ziemlich langwierigen, wenn auch regelmäßigen Vorgang. Die Zeit vom Start des Dienstes bis zum Auftreten von Daten bei der Überwachung kann 15 bis 20 Minuten betragen.
Vor diesem Hintergrund und nach Analyse der Situation kam das Überwachungsteam zu einer Lösung, bei der Clustering nach dem Active-Active-Prinzip hilfreich ist. Darüber hinaus war das Ziel, Disaster Recovery durch Übertragung auf verschiedene Rechenzentren zu erreichen.
Eine Aufgabe
, 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».
Abschließend sollte hinzugefügt werden, dass in der modernen Welt der Technologie fast nichts unmöglich ist. Alles was Sie brauchen ist Wunsch und Ressourcen.