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
Két paraméter szükséges a szerveren configuration Zabbix szerver fürtcsomópontként való indításához:
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.
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ó Reports → Rendszerinformá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):
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.
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
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
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
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ő:
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.
A magas rendelkezésre állású fürt letiltása:
To perform a major version upgrade for the HA nodes:
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 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:
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.