Nedostupnosť administračného rozhrania zo dňa 18.6. 2024

Vyriešené
Vyriešené

Vážení zákazníci,

po analýze incidentu zo dňa 18.6.2024 sme vytvorili post-mortem dokument s popisom situácie.

Čo sa stalo?

Sieťová infraštuktúra v našom orchestračnom nástroji pre interné služby (docker swarm) prestala fungovať správne a bolo potrebné ju kompletne reštartovať. V tomto nástroji nám bežia interné aplikácie, ako napríklad:

  • stránka websupport.sk, WebAdmin, Helpdesk rozhranie
  • aplikácie Webmail, WebFTP, phpMyAdmin
  • košík, autentifikácia, rest api
  • náš provisioning / middleware systém

Tieto služby sú závislé na komunikácií cez docker overlay network. Aby táto komunikácia správne fungovala, potrebujú niektoré časti fungovať bez problémov - jednou z týchto častí je resolvovanie DNS.

Docker overlay network driver enkapsuluje sieťovú prevádzku a posiela ju cez VXLAN tunel (s konkrétnym ID) ako UDP prevádzku na cieľové miesto. Ak resolvujete cieľovú IP adresu nesprávne, prenos dát sa stratí (jednoducho povedané, môžete dostať napríklad chybu HTTP 500 alebo server timeout, alebo dokonca žiadnu odpoveď).

Problém je zložitejší, pretože máme mnoho služieb počúvajúcich na mnohých sieťových menách v rámci overlay sietí a všetky sú prepojené. A samozrejme - ak sú len niektoré služby resolvované nesprávne a niektoré správne, dáta sa strácajú počas prenosu. Pri riešení problému sme zistili, že viaceré servery mali nesprávne sieťové údaje (pre proces resolvingu), čo začalo spôsobovať stratu dát medzi jednotlivými aplikáciami v docker kontajneroch. Vzhľadom na rozsah problému sme museli celý cluster zrušiť (čiže všetky dovtedy pripojené servery museli cluster opustiť) a vytvoriť nový s úplne novými metadátami.

Ako sa podarilo vyriešiť problém?

Po vyriešení hlavného problému sa objavili komplikácie s internou databázou. Zistili sme, že databáza (write-master) uchovávajúca napríklad informácie o balíčkoch služieb nesprávne distribuovala svoje dáta na sekundárne databázy (read-slave) - teda nesprávne replikovala dáta. Pri obnove clustera (spomínanej vyššie) teda nastala strata dát, ktoré sme následne museli obnoviť z posledného bodu zálohy.

Keďže bolo možné medzi časom zapísať aj nové informácie o balíčkoch služieb, bola potrebná ešte jedna - finálna synchronizácia dát, ktorá prebehla nasledujúci deň.

Aké opatrenia zvažujeme?

Urobili sme všetky potrebné kroky na obnovu plnej funkčnosti našich služieb a aktívne pracujeme na dlhodobom pláne, aby sme zabránili podobným incidentom v budúcnosti.

Začiatok:

Ovplyvnené komponenty
  • Weby, aplikácie, API
    • Websupport.sk
    • WebAdmin
    • WebMail