This is a translation of the original English documentation page. Help us make it better.

1 Висока доступност

Преглед

Висока доступност (HA) је обично потребна у критичним инфраструктурама које практично не могу да приуште застоје. Дакле, за сваку услугу која може да откаже мора постојати опција за преузимање у случају отказа тренутне услуге.

Zabbix нуди ** native** решење високе доступности које је лако подесити и не захтева никакву претходну HA експертизу. Изворни Zabbix HA може бити користан за додатни слој заштите од software/hardware кварова Zabbix сервера или за мање застоја због одржавања.

У Zabbix режиму високе доступности више Zabbix сервера се покреће као чворови у кластеру. Док је један Zabbix сервер у кластеру активан, други су у стању приправности, спремни да преузму ако је потребно.

Прелазак на Zabbix HA није обавезан. Можете се вратити на самостални рад у било ком тренутку.

Такође погледајте: Детаљи имплементације

Омогућавање високе доступности

Покретање Zabbix сервера као чвора кластера

Два параметра су потребна у конфигурацији сервера configuration да би се Zabbix сервер покренуо као чвор кластера:

  • Параметар HANodeName мора бити наведен за сваки Zabbix сервер који ће бити HA чвор кластера.

Ово је јединствени идентификатор чвора (нпр. zabbix-node-01) на који ће се сервер позивати у конфигурацијама агента и проксија. Ако не наведете HANodeName, сервер ће бити покренут у самосталном режиму.

  • Параметар NodeAddress мора бити наведен за сваки чвор. Zabbix кориснички интерфејс ће користити параметар NodeAddress (address:port) за повезивање са активним чвором сервера. NodeAddress мора да се подудара са IP или FQDN именом одговарајућег Zabbix сервера.

Поново покрените све 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 кластером

Тренутни статус 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 кластера

Да бисте онемогућили кластер високе доступности:

  • направите резервне копије конфигурационих датотека
  • зауставите резервне чворове
  • уклоните параметар HANodeName са активног примарног сервера
  • поново покрените примарни сервер (почеће у самосталном режиму)

Надоградња HA кластера

Да бисте извршили велику надоградњу верзије за HA чворове:

  • зауставите све чворове;
  • направите потпуну резервну копију базе података;
  • ако база података користи репликацију, уверите се да су сви чворови синхронизовани и да немају проблема. Немојте вршити надоградњу ако је репликација прекинута.
  • одаберите један чвор који ће извршити надоградњу базе података, промените његову конфигурацију у самостални режим коментарисањем HANodeName и надоградња;
  • уверите се да је надоградња базе података потпуно завршено (System information би требало да покажу да је Zabbix сервер покренут);
  • поново покрените чвор у HA режиму;
  • надоградите и покрените остале чворове (није потребно да их промените у самостални режим пошто је база података већ надограђена у овом тренутку).

У мањој верзији надоградње довољно је надоградити први чвор, проверити да ли је надограђен и покренут, а затим започети надоградњу на следећи чвор.

Детаљи имплементације

Кластер високе доступности (HA) је решење по избору и подржан је за Zabbix сервер. Нативно HA решење је дизајнирано да буде једноставно за употребу, радиће на различитим локацијама и нема специфичне захтеве за базе података које Zabbix препознаје. Корисници могу слободно да користе нативно Zabbix HA решење или HA решење треће стране, у зависности од тога шта најбоље одговара захтевима високе доступности у њиховом окружењу.

Решење се састоји од више инстанци или чворова zabbix_server. Сваки чвор:

  • је конфигурисан засебно
  • користи исту базу података
  • може имати неколико режима: активан, у стању приправности, недоступан, заустављен.

Само један чвор може бити активан (ради) у једном тренутку. Чвор у стању приправности покреће само један процес - HA менаџер. Чвор у стању приправности не прикупља податке, не обрађује нити обавља друге редовне активности сервера; не слушају портове; имају минималне везе са базом података.

И активни и чворови у стању приправности ажурирају време последњег приступа сваких 5 секунди. Сваки чвор у стању приправности прати време последњег приступа активног чвора. Ако је последње време приступа активног чвора дуже од "failover delay" секунди, чвор у стању приправности се пребацује у активни чвор и додељује статус "недоступан" претходно активном чвору.

Активни чвор прати сопствену везу са базом података - ако је изгубљена дуже од 'failover delay-5' секунди, мора зауставити сву обраду и прећи у режим приправности. Активни чвор такође прати статус чворова у стању приправности - ако је последње време приступа чвора у стању приправности дуже од 'failover delay' секунди, чвору у стању приправности се додељује статус 'недоступан'.

Чворови су дизајнирани да буду компатибилни са мањим верзијама Zabbix-а.