[comment]: # translation:outdated

[comment]: # (tags: HA, high-availability)

[comment]: # ({486cd6dc-fb8f0d5a})
# 1 Висока доступност

[comment]: # ({/486cd6dc-fb8f0d5a})

[comment]: # ({45336edb-ea8bc3db})
### Преглед

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

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

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

![](../../../../assets/en/manual/config/zabbix_ha.png)

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

Такође погледајте: [Детаљи имплементације](#implementation-details)

[comment]: # ({/45336edb-ea8bc3db})

[comment]: # ({c6caa06e-567d3671})
### Омогућавање високе доступности

[comment]: # ({/c6caa06e-567d3671})

[comment]: # ({f13fd2c4-23e81771})
##### Покретање Zabbix сервера као чвора кластера

Два параметра су потребна у конфигурацији сервера [configuration](/manual/appendix/config/zabbix_server) да би се Zabbix сервер покренуо као чвор кластера:

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

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

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

Поново покрените све Zabbix сервере након што извршите измене у конфигурационим датотекама. Сада ће бити покренути као чворови кластера. Нови статус сервера може се видети у *Извештајима* → *[Информације о систему](/manual/web_interface/frontend_sections/reports/status_of_zabbix#high-availability-nodes)*, а такође и покретањем:

```
zabbix_server -R ha_status
```

Ова команда током извршавања ће забележити тренутни статус HA кластера у лог Zabbix сервера (и на stdout):

![](../../../../assets/en/manual/config/runtime_ha_status.png){width="600"}

[comment]: # ({/f13fd2c4-23e81771})

[comment]: # ({847772ad-3e9035e5})
##### Припрема корисничког интерфејса

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

![](../../../../assets/en/manual/config/frontend_conf_server_port.png){width="600"}

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

[comment]: # ({/847772ad-3e9035e5})

[comment]: # ({2f714fac-d47b6ef3})
##### Конфигурација проксија

Чворови HA кластера (сервери) морају бити наведени у конфигурацији или пасивног или активног Zabbix проксија.

За пасивни прокси, имена чворова морају бити наведена у Сервер[параметар](/manual/appendix/config/zabbix_proxy) проксија , одвојено а ** comma**.
```
Server=zabbix-node-01;zabbix-node-02
```

За активни прокси, имена чворова морају бити наведена у серверу[параметар](/мануал/аппендик/цонфиг/ заббик_проки) проксија, одвојено а **semicolon**.
```
Server=zabbix-node-01;zabbix-node-02
```

[comment]: # ({/2f714fac-d47b6ef3})

[comment]: # ({38a0f5af-f2fc0e77})
##### Конфигурација агента

Чворови configurationHA кластера (сервери) морају бити наведени у конфигурацији Zabbix  агента или Zabbix  агента 2.

![](../../../../assets/en/manual/config/zabbix_ha_agent.png)

Да бисте омогућили пасивне провере, имена чворова морају бити наведена у Сервер[параметар](/manual/appendix/config/zabbix_agentd), одвојено ** comma**.`

```
Server=zabbix-node-01,zabbix-node-02
```

Да би се омогућиле активне провере, чвор имена морају бити наведена у  ServerActive [параметру](/manual/appendix/config/zabbix_agentd). Имајте на уму да за активне провере чворови морају бити одвојени зарезом од свих других сервера, док сами чворови морају бити одвојени ** semicolon и зарезом**, нпр.:

```
ServerActive=zabbix-node-01;zabbix-node-02
```

[comment]: # ({/38a0f5af-f2fc0e77})

[comment]: # ({7b57e8f3-311341fc})
### Прелазак на стање приправности чвор

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

Колико ће брзо бити пребацивање? Сви чворови ажурирају своје последње време приступа (и статус, ако је промењен) сваких 5 секунди. Дакле: 

-   Ако се активни чвор искључи и успе да пријави свој статус као "stopped", други чвор ће преузети у року од **5 seconds**.

-   Ако се активни чвор искључи/постане недоступан без могућности да ажурира свој статус , резервни чворови ће чекати **failover delayе** + 5 секунди да преузму

Кашњење преласка грешке се може конфигурисати, са подржаним опсегом између 10 секунди и 15 минута (подразумевано један минут). Да бисте променили кашњење преласка на грешку, можете покренути:

```
zabbix_server -R ha_set_failover_delay=5m
```

[comment]: # ({/7b57e8f3-311341fc})

[comment]: # ({32627f3e-593144b8})
### Управљање HA кластером

Тренутни статус HA кластера може се управљати коришћењем наменских
[runtime control](/manual/concepts/server#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)

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

- у *Извештајима* → *[Системске информације](/manual/web_interface/frontend_sections/reports/status_of_zabbix#status_of_ha_cluster_nodes)*
- у виџету *Системске информације* на контролној табли
- користећи опцију контроле извршавања `ha_status` сервера (видети горе).

Интерна ставка `zabbix[cluster,discovery,nodes]` може се користити за откривање
чворова, јер враћа JSON са информацијама о високо доступном чвору.

[comment]: # ({/32627f3e-593144b8})

[comment]: # ({fcf2cf5e-82cd7e56})
### Онемогућавање HA кластера

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

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

[comment]: # ({/fcf2cf5e-82cd7e56})

[comment]: # ({a10496ea-7d944a36})
### Надоградња HA кластера

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

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

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

[comment]: # ({/a10496ea-7d944a36})

[comment]: # ({15bf4a9f-f4d3143a})
### Детаљи имплементације

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

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

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

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

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

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

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

[comment]: # ({/15bf4a9f-f4d3143a})
