Висока доступност (HA) је обично потребна у критичним инфраструктурама које практично не могу да приуште застоје. Дакле, за сваку услугу која може да откаже мора постојати опција за преузимање у случају отказа тренутне услуге.
Zabbix нуди ** native** решење високе доступности које је лако подесити и не захтева никакву претходну HA експертизу. Изворни Zabbix HA може бити користан за додатни слој заштите од software/hardware кварова Zabbix сервера или за мање застоја због одржавања.
У Zabbix режиму високе доступности више Zabbix сервера се покреће као чворови у кластеру. Док је један Zabbix сервер у кластеру активан, други су у стању приправности, спремни да преузму ако је потребно.
Прелазак на Zabbix HA није обавезан. Можете се вратити на самостални рад у било ком тренутку.
Такође погледајте: Детаљи имплементације
Два параметра су потребна у конфигурацији сервера configuration да би се Zabbix сервер покренуо као чвор кластера:
Ово је јединствени идентификатор чвора (нпр. zabbix-node-01
) на који ће се сервер позивати у конфигурацијама агента и проксија. Ако не наведете HANodeName, сервер ће бити покренут у самосталном режиму.
Поново покрените све Zabbix сервере након што извршите измене у конфигурационим датотекама. Сада ће бити покренути као чворови кластера. Нови статус сервера може се видети у Извештајима → Информације о систему, а такође и покретањем:
zabbix_server -R ha_status
Ова команда током извршавања ће забележити тренутни статус HA кластера у лог Zabbix сервера (и на stdout):
Уверите се да address:port Zabbix сервера not defined у конфигурацији корисничког интерфејса (налази се у conf/zabbix.conf.php
директоријума датотека корисничког интерфејса).
Zabbix кориснички интерфејс ће аутоматски детектовати активни чвор читањем подешавања из табеле чворова у Zabbix бази података. Адреса чвора активног чвора ће се користити као адреса Zabbix сервера.
Чворови HA кластера (сервери) морају бити наведени у конфигурацији или пасивног или активног Zabbix проксија.
За пасивни прокси, имена чворова морају бити наведена у Серверпараметар проксија , одвојено а ** comma**.
Server=zabbix-node-01;zabbix-node-02
За активни прокси, имена чворова морају бити наведена у серверупараметар проксија, одвојено а semicolon.
Server=zabbix-node-01;zabbix-node-02
Чворови configurationHA кластера (сервери) морају бити наведени у конфигурацији Zabbix агента или Zabbix агента 2.
Да бисте омогућили пасивне провере, имена чворова морају бити наведена у Серверпараметар, одвојено ** comma**.`
Server=zabbix-node-01,zabbix-node-02
Да би се омогућиле активне провере, чвор имена морају бити наведена у ServerActive параметру. Имајте на уму да за активне провере чворови морају бити одвојени зарезом од свих других сервера, док сами чворови морају бити одвојени ** semicolon и зарезом**, нпр.:
ServerActive=zabbix-node-01;zabbix-node-02
Zabbix ће аутоматски прећи на други чвор ако се активни чвор заустави. Мора постојати најмање један чвор у стању приправности да би се дошло до преласка на грешку.
Колико ће брзо бити пребацивање? Сви чворови ажурирају своје последње време приступа (и статус, ако је промењен) сваких 5 секунди. Дакле:
Ако се активни чвор искључи и успе да пријави свој статус као "stopped", други чвор ће преузети у року од 5 seconds.
Ако се активни чвор искључи/постане недоступан без могућности да ажурира свој статус , резервни чворови ће чекати failover delayе + 5 секунди да преузму
Кашњење преласка грешке се може конфигурисати, са подржаним опсегом између 10 секунди и 15 минута (подразумевано један минут). Да бисте променили кашњење преласка на грешку, можете покренути:
zabbix_server -R ha_set_failover_delay=5m
Тренутни статус HA кластера може се управљати коришћењем наменских runtime control опција:
ha_status
- евидентира статус HA кластера у логу Zabbix сервера (и на stdout)ha_remove_node=target
- уклања HA чвор идентификован по његовом <target> - броју чвора на листи (број се може добити из излаза покретања ha_status), нпр.:zabbix_server -R ha_remove_node=2
Имајте на уму да активни/чворови у стању приправности не могу бити уклоњени.
ha_set_failover_delay=delay
- подешава кашњење пребацивања велике доступности (између 10 секунди и 15 минута; временски суфикси су подржани, нпр. 10s, 1m)Статус чвора се може пратити:
ha_status
сервера (видети горе).Интерна ставка zabbix[cluster,discovery,nodes]
може се користити за откривање чворова, јер враћа JSON са информацијама о високо доступном чвору.
Да бисте онемогућили кластер високе доступности:
Да бисте извршили велику надоградњу верзије за HA чворове:
У мањој верзији надоградње довољно је надоградити први чвор, проверити да ли је надограђен и покренут, а затим започети надоградњу на следећи чвор.
Кластер високе доступности (HA) је решење по избору и подржан је за Zabbix сервер. Нативно HA решење је дизајнирано да буде једноставно за употребу, радиће на различитим локацијама и нема специфичне захтеве за базе података које Zabbix препознаје. Корисници могу слободно да користе нативно Zabbix HA решење или HA решење треће стране, у зависности од тога шта најбоље одговара захтевима високе доступности у њиховом окружењу.
Решење се састоји од више инстанци или чворова zabbix_server. Сваки чвор:
Само један чвор може бити активан (ради) у једном тренутку. Чвор у стању приправности покреће само један процес - HA менаџер. Чвор у стању приправности не прикупља податке, не обрађује нити обавља друге редовне активности сервера; не слушају портове; имају минималне везе са базом података.
И активни и чворови у стању приправности ажурирају време последњег приступа сваких 5 секунди. Сваки чвор у стању приправности прати време последњег приступа активног чвора. Ако је последње време приступа активног чвора дуже од "failover delay" секунди, чвор у стању приправности се пребацује у активни чвор и додељује статус "недоступан" претходно активном чвору.
Активни чвор прати сопствену везу са базом података - ако је изгубљена дуже од 'failover delay-5' секунди, мора зауставити сву обраду и прећи у режим приправности. Активни чвор такође прати статус чворова у стању приправности - ако је последње време приступа чвора у стању приправности дуже од 'failover delay' секунди, чвору у стању приправности се додељује статус 'недоступан'.
Чворови су дизајнирани да буду компатибилни са мањим верзијама Zabbix-а.