1 Magas rendelkezésre állás

Áttekintés

A kritikus infrastruktúrákban jellemzően magas rendelkezésre állás (HA) szükséges amelyek gyakorlatilag nem engedhetik meg maguknak az állásidőt. Tehát minden olyan szolgáltatásra meghibásodhat, az irányítás átvételéhez feladatátvételi opciónak kell lennie ha az aktuális szolgáltatás meghibásodik.

A Zabbix egy natív magas rendelkezésre állású megoldást kínál, amely könnyen használható beállítva, és nem igényel előzetes HA szakértelmet. Natív Zabbix HA hasznos lehet a szoftver/hardver elleni védelem további rétegében a Zabbix szerver meghibásodása vagy a karbantartás miatti leállások csökkentése.

A Zabbix magas rendelkezésre állási módban több Zabbix szerver is fut csomópontok egy fürtben. Amíg a fürtben egy Zabbix szerver aktív, mások készenlétben állnak, készen állnak az átvételre, ha szükséges.

A Zabbix HA-ra való váltás nem kötelező. Visszaválthat önállóra művelet bármely ponton.

Lásd még: Megvalósítás részletei

Magas szintű rendelkezésre állás engedélyezése

A Zabbix szerver indítása fürtcsomópontként

Két paraméter szükséges a szerveren configuration Zabbix szerver fürtcsomópontként való indításához:

  • A HANodeName paramétert minden Zabbix szerverhez meg kell adni ez egy HA-fürtcsomópont lesz.

Ez egy egyedi csomópontazonosító (pl. zabbix-node-01), amelyre a szerver hivatkozik az ügynökben és a proxyban konfigurációk. Ha nem adja meg a HANodeName értéket, akkor a szerver elindul önálló módban.

  • Minden csomóponthoz meg kell adni a NodeAddress paramétert.

A NodeAddress paramétert (cím:port) a Zabbix frontend fogja használni a csatlakozáshoz az aktív szerver csomóponthoz. A NodeAddress-nek meg kell egyeznie a megfelelő Zabbix-kiszolgáló IP- vagy FQDN-nevével.

A konfigurációs fájlok módosítása után indítsa újra az összes Zabbix szervert. Fognak most fürtcsomópontként indul. A szerverek új állapota itt látható ReportsRendszerinformáció és futással is:

zabbix_server -R ha_status

Ez a futásidejű parancs naplózza az aktuális HA-fürt állapotát a Zabbix kiszolgálónaplójába (és az stdoutba):

Kezelőfelület előkészítése

Győződjön meg arról, hogy a Zabbix szerver címe:portja nincs definiálva a fájlban frontend konfiguráció (a frontend conf/zabbix.conf.php fájljában található fájlok könyvtára).

A Zabbix frontend automatikusan felismeri az aktív csomópontot a beállítások beolvasásával a Zabbix adatbázis csomóponttáblázatából. Az aktív csomópont csomóponti címe a Zabbix szerver címe lesz.

Proxy konfiguráció

A HA-fürt csomópontjait (szervereit) fel kell sorolni bármelyik konfigurációjában passzív vagy aktív Zabbix proxy.

Passzív proxy esetén a csomópontneveket fel kell tüntetni a kiszolgálón a proxy paramétere, vesszővel elválasztva.

Szerver=zabbix-csomópont-01,zabbix-csomópont-02

Aktív proxy esetén a csomópontneveknek szerepelniük kell a kiszolgálón a proxy paramétere, pontosvesszővel elválasztva.

Szerver=zabbix-csomópont-01;zabbix-csomópont-02
Ügynök konfigurációja

A HA-fürt csomópontjait (kiszolgálóit) fel kell sorolni a konfigurációban Zabbix ügynök vagy Zabbix ügynök 2.

A passzív ellenőrzések engedélyezéséhez a csomópontneveket fel kell tüntetni a kiszolgálón paraméter, vesszővel elválasztva.

Szerver=zabbix-csomópont-01,zabbix-csomópont-02

Az aktív ellenőrzések engedélyezéséhez a csomópontneveknek szerepelniük kell a ServerActive-ban paraméter. Jegyezze meg, hogy azért aktív ellenőrzések esetén a csomópontokat vesszővel kell elválasztani a többitől szervereket, míg magukat a csomópontokat pontosvesszővel kell elválasztani, pl.:

ServerActive=zabbix-csomópont-01;zabbix-csomópont-02

Feladatátvétel készenléti csomópontra

A Zabbix automatikusan átlép egy másik csomópontra, ha az aktív csomópont leáll. Ott legalább egy csomópontnak készenléti állapotban kell lennie ahhoz, hogy a feladatátvétel megtörténjen.

Milyen gyors lesz a feladatátvétel? Minden csomópont frissíti utolsó hozzáférési idejét (és állapotát, ha 5 másodpercenként változik. Így:

  • Ha az aktív csomópont leáll, és sikerül jelentenie az állapotát "leállítva" egy másik csomópont veszi át az irányítást 5 másodpercen belül.

  • Ha az aktív csomópont frissítés nélkül leáll/elérhetetlenné válik állapotát, a készenléti csomópontok megvárják, amíg a feladatátvételi késleltetés + 5 másodperc átveszi az irányítást

A feladatátvételi késleltetés konfigurálható, a támogatott tartomány 10 másodperc és 15 között van perc (alapértelmezés szerint egy perc). A feladatátvételi késleltetés megváltoztatásához futtassa:

zabbix_server -R ha_set_failover_delay=5m

HA-fürt kezelése

A HA-fürt aktuális állapota a dedikált segítségével kezelhető runtime control beállítások:

  • ha_status - HA-fürt állapotának naplózása a Zabbix szerver naplójában (és az stdoutba)
  • ha_remove_node=target - az általa azonosított HA-csomópont eltávolítása <cél> - a csomópont száma a listában (a szám lehet a futó ha_status kimenetéből kapjuk, pl.:
zabbix_server -R ha_remove_node=2

Vegye figyelembe, hogy az aktív/készenléti csomópontok nem távolíthatók el.

  • ha_set_failover_delay=delay - HA feladatátvételi késleltetés beállítása (10 másodperc és 15 perc között; idő utótagok támogatottak, pl. 10s, 1m)

A csomópont állapota figyelhető:

  • itt: ReportsRendszerinformáció
  • a Rendszerinformáció irányítópult widgetben
  • a kiszolgáló ha_status futásidejű vezérlési opcióját használva (lásd felett).

A zabbix[cluster,discovery,nodes] belső elem használható csomóponthoz felfedezés, mivel egy JSON-t ad vissza a magas rendelkezésre állású csomópont információival.

Magas szintű rendelkezésre állás letiltása

A magas rendelkezésre állású fürt letiltása:

  • biztonsági másolatot készíteni a konfigurációs fájlokról
  • készenléti csomópontok leállítása
  • távolítsa el a HANodeName paramétert az aktív elsődleges kiszolgálóról
  • indítsa újra az elsődleges szervert (önálló módban indul)

Upgrading HA cluster

To perform a major version upgrade for the HA nodes:

  • stop all nodes;
  • create a full database backup;
  • if the database uses replication make sure that all nodes are in sync and have no issues. Do not upgrade if replication is broken.
  • select a single node that will perform database upgrade, change its configuration to standalone mode by commenting out HANodeName and upgrade it;
  • make sure that database upgrade is fully completed (System information should display that Zabbix server is running);
  • restart the node in HA mode;
  • upgrade and start the rest of nodes (it is not required to change them to standalone mode as the database is already upgraded at this point).

In a minor version upgrade it is sufficient to upgrade the first node, make sure it has upgraded and running, and then start upgrade on the next node.

A megvalósítás részletei

A magas rendelkezésre állású (HA) fürt egy opcionális megoldás, és az is támogatja a Zabbix szervert. A natív HA megoldást úgy tervezték, hogy Egyszerűen használható, több webhelyen is működik, és nincs konkrét követelmények a Zabbix által felismert adatbázisokhoz. A felhasználók szabadon tehetik használja a natív Zabbix HA megoldást vagy egy harmadik féltől származó HA megoldást, attól függően, hogy mi felel meg legjobban a magas rendelkezésre állási követelményeknek környezet.

A megoldás több zabbix_server példányból vagy csomópontból áll. Minden csomópont:

  • külön konfigurálható
  • ugyanazt az adatbázist használja
  • több üzemmódja lehet: aktív, készenléti, nem elérhető, leállított

Egyszerre csak egy csomópont lehet aktív (működő). Egy készenléti csomópont csak egyet futtat folyamat – a HA menedzser. A készenléti csomópont nem gyűjt adatot, feldolgozás vagy egyéb szokásos szervertevékenység; nem hallgatnak a kikötőkön; minimális adatbázis-kapcsolattal rendelkeznek.

Mind az aktív, mind a készenléti csomópontok 5-enként frissítik utolsó hozzáférési idejüket másodpercig. Minden készenléti csomópont figyeli az aktív utolsó hozzáférési idejét csomópont. Ha az aktív csomópont utolsó elérési ideje túl van a „feladatátvételen késleltetés' másodpercig, a készenléti csomópont átváltja magát az aktív csomóponttá és „nem elérhető” állapotot rendel a korábban aktív csomóponthoz.

Az aktív csomópont figyeli saját adatbázis-kapcsolatát – ha az elveszik több mint "feladatátvételi késleltetés-5" másodpercig le kell állítania minden feldolgozást és váltson készenléti módba. Az aktív csomópont figyeli az állapotát is a készenléti csomópontok - ha egy készenléti csomópont utolsó elérési ideje lejárt „feladatátvételi késleltetés” másodperc, a készenléti csomópont hozzá van rendelve az „nem elérhető” állapot.

A csomópontokat úgy tervezték, hogy kompatibilisek legyenek a kisebb Zabbix-verziókkal.