Jednoduché núdzové prepnutie webovej stránky (monitorovanie + dynamický DNS)

V tomto článku chcem ukázať, ako jednoducho a bezplatne môžete vytvoriť schému núdzového prepnutia pre webovú stránku (alebo akúkoľvek inú internetovú službu) pomocou kombinácie monitorovania okerr a dynamická služba DNS. To znamená, že v prípade akýchkoľvek problémov s hlavnou stránkou (od problému s „chybou PHP“ na stránke až po nedostatok miesta alebo jednoducho podozrivo malý počet objednávok v prípade internetového obchodu) budú noví návštevníci byť presmerovaný na druhý (tretí atď.) ďalej) známy fungujúci server alebo na stránku „Prepáčte“, kde vám zdvorilo vysvetlia, že „vyskytol sa problém, už vieme a už ho opravujeme, čoskoro to opravíme“ (a v tomto prípade už budete vedieť a môžete opraviť).

Žiť so zlyhaním alebo bez neho?

Kým nenastane nejaký problém, nie je veľký rozdiel. Ale keď sa to stane, bez núdzového prepnutia sa často stáva nasledovné: snažíte sa rýchlo zistiť, v čom je problém, nefunguje to (zálohy sa nenasadzujú, softvér z nejakého dôvodu nefunguje tak, ako by mal z dokumentácie , atď.), ale nie je čas, žiadny server - stránky sa povaľujú, klienti volajú, všetci sú nervózni, snažíte sa to nejako nahrubo a špinavo „páskou“, potom sa to nejako rozbehne s barlami a životmi. Myslíte si, že vo svojom voľnom čase to budete musieť zistiť podrobnejšie a všetko krásne prerobiť, ale nie je nič trvalejšie ako dočasné.

Teraz, ako sa to deje v krásnej verzii s filerom:

  • Stane sa chyba
  • Chyba sa zistí automaticky
  • Upozornenie je odoslané
  • Prepnutie na jeden zo záložných serverov sa prenesie
  • Pokojne a bez paniky je problém vyriešený, opravený a server je opäť uvedený do prevádzky.

Táto schéma, samozrejme, môže mať aj svoje problémy, ale stále je schéma lineárna, každá fáza je jednoduchá a hlavná vec je, že sa dá ladiť samostatne, takže šanca na zlyhanie tejto schémy je oveľa nižšia a všetky akcie sa dajú zautomatizovať a vykonať rýchlo (na rozdiel od úlohy nájsť a opraviť neznáme epické svinstvo). Vaše lietadlo pristálo vo vzdialenej krajine, zapnete telefón a v telegrame uvidíte upozornenie, že server zlyhal, ale všetko je v poriadku, záložný server bol aktivovaný, môžete pokračovať v ceste, nepotrebujete letieť späť alebo opraviť cez SSH z najbližšej kaviarne s WiFi. Prídete na to, keď to bude pohodlnejšie.

Budúcnosť je už tu!

V minulosti bola hlavným problémom, kvôli ktorému bolo zlyhanie často neprijateľným riešením, výška nákladov, ktoré to stojí. Alebo bolo potrebné kúpiť drahý hardvér (a pozvať ešte drahších špecialistov). Alebo JZD niečo komplikované podľa návodu (dokonca som narazil na možnosť, že dva servery sú navyše prepojené káblom nulového modemu a cez ten posielajú srdcový tep, aby to záložný server v správnom čase spoznal a prevzal ovládanie). Teraz existujú jednoduchšie a bezplatné spôsoby. Ak máte webovú stránku s mačkami, neexistuje ospravedlnenie, aby ste pre ňu ešte neimplementovali zlyhanie!

No, okrem toho, pre schému zlyhania potrebujete ďalší server (a možno viac ako jeden) a predtým to boli veľké náklady, teraz môžete získať VDS za centy.

Najspoľahlivejšia stránka s mačkami

Pre praktickú ilustráciu riešenia s okerr + dynamic dns sme spustili našu webovú stránku s mačkami cat.okerr.com. Nenávidíme mačky, takže ich tam veľa nebude. Existujú celkovo tri stránky, každá vyzerá približne rovnako (všetky na rovnakej šablóne), ale s rôznymi mačiatkami, aby sa dali ľahko rozlíšiť, a každá z nich píše technické informácie, aby zistila, ako funguje núdzové prepnutie. Stránka sa aktualizuje raz za 1 minútu, no v prehliadači môžete kedykoľvek kliknúť na znovu načítať.

V technických informáciách je riadok „stav=OK“. Niekedy servery predstierajú problémy a stav zápisu = ERR. Zdá sa, že hlavný server „zlyhá“ každú hodinu 20 minút (0:20, 1:20, 2:20, ...). Záložný server za 40 minút. Posledný server („prepáčte“ server) je vždy spustený. Každú hodinu 0 minút sa primárny a záložný server „obnovia“.

Jednoduché núdzové prepnutie webovej stránky (monitorovanie + dynamický DNS)

Ak otvoríte stránku a necháte ju na karte, uvidíte, že nikdy nepadne (hoci každý jednotlivý server pravidelne simuluje problém) a v prípade problému so serverom jednoducho „beží“ medzi živými servermi. Zmení sa obrázok, názov a adresa servera a jeho rola. Niekedy môžete zachytiť moment, keď stav = ERR (problém už existuje, ale celá schéma núdzového prepnutia ešte nefungovala), ale ďalšia aktualizácia vám ukáže stránku z funkčného webu.

Failover na okerr + dynamický DNS

Pozrime sa, ako to funguje pod kapotou. Úlohou filer je zabezpečiť, aby adresa cat.okerr.com vždy ukazovala na IP adresu pracovného servera.
Za každým zo serverov, ktoré hosťujú našu mačaciu stránku v okerr, je indikátor, ktorý kontroluje jej stav raz za minútu.

Jednoduché núdzové prepnutie webovej stránky (monitorovanie + dynamický DNS)

Na tejto snímke obrazovky vidíme, ako sa stránka cat.okerr.com kontroluje zo servera alpha.okerr.com. Stránka by mala obsahovať status=OK a ako vidíme vyššie, stav nášho indikátora je teraz v poriadku. Keď sa server „rozbije“, objaví sa chyba. (Toto je len jeden príklad indikátora, okerr monitoruje, takže môžete pripojiť akýkoľvek typ indikátora, napríklad skontrolovať voľné miesto na disku, počet nových objednávok v databáze a dokonca aj logické indikátory, napr. , v noci budú niektoré chybové kritériá a cez deň iné) .

V nastaveniach projektu sme vytvorili schému prepnutia s týmito indikátormi:

Jednoduché núdzové prepnutie webovej stránky (monitorovanie + dynamický DNS)

Schéma má tri ukazovatele (tri servery), ktoré sa líšia prioritou. Hlavným serverom pre stránku je charlie, ak nefunguje (nebude mať „stav=OK“ alebo je jednoducho nedostupný), tak bravo a v druhom prípade - alfa. Pravá strana stránky zobrazuje stav DNS záznamu na rôznych serveroch.

Pre tých, ktorí si všimli, že sa používa názov cat.he.okerr.com: Používame trochu zložitejšiu schému. Namiesto toho, aby sme len zmenili DNS záznam cat.okerr.com, zmeníme cat.he.okerr.com (u poskytovateľa dynamického DNS Hurricane Electric) a cat.okerr.com je CNAME (alias), ktorý sa nemení, vždy ukazuje na cat.he.okerr.com. Hurricane sa nám páči viac ako dynamický DNS a má kľúče na spravovanie jedného záznamu (a nie celej zóny), myslíme si, že je to bezpečnejšie. V okerr tiež nemusíte zadávať kľúčové heslá na správu celej domény, ale iba pre subdoménu alebo záznam.

Od pádu k vzostupu

Krok za krokom, ako táto schéma funguje:

  1. Na serveri sa vyskytol (simulovaný) problém
  2. Senzor okerr kontroluje stav každého servera raz za minútu a podáva správy hlavnému projektovému serveru v okerr
  3. Príslušný indikátor servera sa zmení z OK na ERR
  4. Keď sa zmení stav indikátora, prepočíta sa núdzové prepnutie a vypočíta sa, ktorú adresu je potrebné nastaviť (ak je to potrebné. Ak napríklad funguje hlavný server a zároveň odpadol záložný server, nedôjde k žiadnym zmenám vyrobený)
  5. Táto adresa sa oznamuje službe dynamického DNS. Po dokončení tejto fázy sa vpravo zobrazí stav „synchronizované“.
  6. Veľmi skoro (v sekundách) sa záznam dostane na servery DNS vašej domény (pre mačacie stránky je to ns1-ns5.he.net).
  7. Od tohto momentu už budú niektorí používatelia na novom živom serveri. Ale nie všetky servery DNS na svete ešte aktualizovali záznamy a starý záznam môže byť stále niekde uložený vo vyrovnávacej pamäti. Môžete vidieť, ako údaje na verejných serveroch DNS „tancujú“ a zobrazujú novú alebo starú hodnotu. Ak aktualizujete konfiguračnú stránku prepnutia pri zlyhaní, samotný operátor si vyžiada nové údaje zo serverov DNS.
  8. Po stabilizácii údajov je starý záznam vo vyrovnávacej pamäti prehnitý všade - všetkých 100 % požiadaviek ide na nový server.

Na urýchlenie 7. fázy (často najdlhšej) by mal byť TTL dynamického DNS záznamu nastavený čo najnižšie. Služby zvyčajne umožňujú intervaly 90 – 120 sekúnd. Toto je úplne rozumný kompromis.

ďalej

To všetko je možné nakonfigurovať za večer (ak už máte záložný server). Služby okerr aj dynamické DNS sú bezplatné. Ak chcete získať viac kontrol v okerr a kratšie overovacie obdobie, musíte absolvovať školenie (zo stránky vášho profilu). Po dokončení sa úroveň okamžite zvýši (20 indikátorov za hodinu + 1 rýchly, 10 minútový). A ak ich bude málo, napíšte [chránené e-mailom], s najväčšou pravdepodobnosťou bude možné zvýšiť (zatiaľ vždy bola príležitosť, nikdy som neodmietol, naopak, sám som to ponúkol). Len spočiatku nechcem všetkým sľúbiť všetko, nie som si istý, či mám dostatok kapacity na to, aby som dodržal slovo. Zatiaľ je ale málo používateľov, takže problémy so zvyšovaním limitov nie sú.

Čo môže urobiť okerr vo všeobecnosti - pozrite sa na webovú stránku predstavenie. Vo všeobecnosti ide o monitorovanie (zabbix z cloudu) a filer je pekná doplnková funkcia. Môžete tiež pristupovať k ukážke zo stránky bez registrácie.

Keď sa stav indikátora zmení, upozornenie sa odošle e-mailom alebo telegramom. (Pozreli sme sa, čo sa deje, a uvedomili sme si, že telegram sa zdá byť najspoľahlivejší posol. Ďakujeme RKN za záťažový test!) So správne nakonfigurovaným okerr je každé upozornenie buď signálom „všetko zahoďte, musíme to opraviť!“ alebo „zhasnuté svetlá!“ Z okerra by nemali byť žiadne ďalšie upozornenia (ak existujú, musia byť nakonfigurované nejako inak). Napríklad pre našu mačaciu stránku je alfa server posledný a nikdy nefalšuje chybu. Ak si ľahne, musíme to vedieť. Iné servery však neustále predstierajú chyby, a preto, aby nedostávali upozornenia niekoľkokrát za hodinu, majú tieto indikátory „tichý“ stav.

Taktiež má zmysel vytvoriť si prepáčte server (na akomkoľvek najlacnejšom hostingu), na ktorom bude buď vaša ospravedlňovacia stránka (v prípade výpadku všetkých hlavných a záložných serverov), alebo vás presmeruje na stavovú stránku na okerr (napríklad náš cp.okerr.com/status/okerr) alebo statuspage.io.

Zdroj: hab.com

Pridať komentár