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

Преглед

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

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

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

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

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

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

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

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

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

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

  • NodeAddress параметар мора бити специфициран за сваки чвор.

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

Поново покрените све Zabbix сервере након што извршите измене у конфигурационим датотекама. Они ће сада бити покренути као чворови кластера. Нови статус сервера се може видети у

ИзвештајиИнформације о систему и такође покретањем:

zabbix_server -R ha_status

Ова рунтиме команда ће пријавити тренутни статус HA кластера у дневник Zabbix сервера (и на стдоут):

Припрема корисничког интерфејса

Уверите се да address:port Zabbix сервера not defined у конфигурацији корисничког интерфејса (налази се у conf/zabbix.conf.php директоријума датотека корисничког интерфејса).

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 кластера може се управљати коришћењем опција посвећених контрола времена извршавања:

  • ha_status - евидентирати статус HA кластера у евиденцији Zabbix сервера (и у stdout)
  • ha_remove_node=target - уклоните HA чвор идентификован његовим< target> - име или ID чвора (име/ID се може добити из излаза покретања ID _status), нпр.:
zabbix_server -R ha_remove_node=zabbix-node-02

Имајте на уму да се активни/приправни чворови не могу уклонити.

  • ha_set_failover_delay=delay - подесите кашњење HA преласка на грешку (између 10 секунди и 15 минута; суфикси времена су подржани, нпр. 10с, 1м)

Статус чвора се може пратити:

  • у ИзвештајимаSystem information
  • у System information контролна табла виџета
  • користећи 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 секунди. Сваки резервни чвор прати последње време приступа активном чвору. Ако је последње време приступа активном чвору дуже од 'failoverdelay'' секунди, чвор у стању приправности се мења да буде активан чвор и додељује статус 'unavailable' претходно активном чвору.

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

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