Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Systém podpory dokumentácie v našej banke sa neustále vyvíja a škáluje a požiadavky na rýchlosť a odolnosť voči poruchám sa len zvyšujú. V určitom bode sa udržiavanie LMS bez efektívneho centralizovaného monitorovania stalo príliš riskantným. Pre zabezpečenie obchodných procesov vo VTB a zjednodušenie práce administrátorov sme implementovali riešenie založené na hromade otvorených technológií. S jeho pomocou môžeme proaktívne reagovať na incidenty a predchádzať potenciálnym problémom. Pod strihom je príbeh o našich skúsenostiach s používaním bezplatného softvéru na monitorovanie rozsiahlych obchodných systémov.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Prečo monitorovať systém správy dokumentov?

Od roku 2005 je dokumentačná podpora vo VTB Banke „riadená“ systémom CompanyMedia. LMS zamestnáva viac ako 60 tisíc používateľov, ktorí každý mesiac vytvoria viac ako milión nových dokumentov. Naše servery musia fungovať 24 hodín denne: takmer v každom okamihu je v systéme 2500 – 3000 ľudí, ktorí sú prepojení po celej krajine, od Petropavlovska-Kamčatského po Kaliningrad. Každá sekunda prevádzky LMS znamená 10–15 zmien.

Aby sme zabezpečili, že systém presne plní pridelené úlohy, nasadili sme infraštruktúru odolnú voči chybám s využitím proxy serverov, vyvažovania požiadaviek, ochrany informácií, fulltextového vyhľadávania, integračných ciest a zálohovania. Podpora a správa projektu takéhoto rozsahu si vyžaduje obrovské zdroje. Správcovia nepretržite monitorujú základné informácie o prevádzke servera, zaťažení RAM, CPU, I/O subsystéme atď. Okrem toho sú však potrebné jemnejšie analýzy:

  • výpočet času stráveného realizáciou obchodných scenárov;
  • sledovanie dynamiky výkonu systému a jeho zaťaženia;
  • hľadanie odchýlok komponentov systému od schválených nefunkčných požiadaviek.

11 rokov po zavedení LMS sa otázka proaktívnej reakcie na rôzne typy chýb stala obzvlášť akútnou. Vedenie banky si uvedomilo, že práca bez monitorov a životnej konzoly je hra s ohňom: najmenšie zlyhanie v obchodnom systéme tejto úrovne môže viesť k miliónovým stratám.

V roku 2016 sme začali zavádzať nástroje na rýchlu identifikáciu problémov vo fungovaní LMS, vrátane sledovania parametrov, ktoré nás zaujímajú v reálnom čase. Predtým bol aplikovaný monitorovací systém nasadený a testovaný v rámci infraštruktúry spoločnosti InterTrust.

Ako to všetko začalo

Dnes centralizovaný systém monitorovania aplikácií VTB LMS, založený na softvérových produktoch s otvoreným zdrojovým kódom, pomáha predchádzať väčšine chýb spojených s tokom dokumentov, rýchlo a presne klasifikovať problémy a pohotovo reagovať na akékoľvek incidenty. Zahŕňa dva subsystémy:

  • na monitorovanie IT infraštruktúry systémových služieb;
  • sledovať výskyt chýb v prevádzke LMS.

Všetko to začalo jedinou bezplatnou monitorovacou aplikáciou. Po prejdení niekoľkých možností sme sa rozhodli pre Zabbix – slobodný softvér, ktorý bol pôvodne napísaný pre bankové služby a vybavenie. Tento webový systém založený na PHP, ktorý dokáže ukladať dáta v MySQL, PostgreSQL, SQLite alebo Oracle Database, dokonale vyhovoval našim potrebám.

Zabbix prevádzkuje svojich agentov na každom serveri a zhromažďuje informácie o metrikách záujmu v reálnom čase do jednej databázy. Pomocou aplikácie je vhodné zbierať údaje o zaťažení procesorov a RAM, o využití siete a ďalších komponentov, kontrolovať dostupnosť a odozvu štandardných služieb (SMTP alebo HTTP), spúšťať externé programy a podporovať monitoring cez SNMP.

Po nasadení Zabbixu sme nakonfigurovali štandardné hardvérové ​​metriky a spočiatku to stačilo. VTB SDO sa však neustále vyvíja a rastie: v roku 2016 sa počet serverov výrazne zvýšil, objavili sa procesy migrácie, do systému sa pripojili Bank of Moscow, VTB Capital a VTB24. Už nie je dostatok štandardných metrík a naučili sme Zabbix sledovať informácie o prítomnosti frontov na každom zväzku pripojenom k ​​serveru (zabbix po vybalení odráža iba všeobecný diskový front), ako aj čas, ktorý to trvá. dokončiť konkrétny postup.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Okrem toho sme systém vybavili viacerými spúšťačmi – podmienkami, za ktorých je zaslaná notifikácia administrátorovi (správa v telegrame, SMS na telefónne číslo alebo email). Spúšťače je možné nakonfigurovať pre akúkoľvek sadu parametrov. Môžete napríklad zadať určité percento voľného miesta na disku a systém upozorní správcu, keď sa dosiahne stanovený prah, alebo vás bude informovať, ak procedúra na pozadí beží dlhšie ako zvyčajne.

Java konektivita a vizualizácia dát

Výrazne sme rozšírili rozsah analyzovaných údajov, čo však čoskoro na efektívne monitorovanie nestačilo. Využili sme skutočnosť, že LMS CompanyMedia je Java aplikácia, pripojili sme sa k Java Virtual Machine cez rozhranie JMX a mohli sme priamo prevziať metriky Java. A to nielen štandardné parametre životnej činnosti Java, ako je intenzita práce GC alebo spotreba haldy, ale aj špecifické testy súvisiace priamo s kódom spustiteľnej aplikácie.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

V roku 2017, približne rok po implementácii monitorovacieho systému, sa ukázalo, že na to, aby sa dalo normálne pracovať s kolosálnym množstvom dát zozbieraných v Zabbixe, chýbala vizualizácia – zložité obrazovky. Najlepším riešením tohto problému bol opäť bezplatný softvér - Grafana, pohodlný dashboard pre metriky, ktorý vám umožňuje agregovať všetky údaje na jednej obrazovke.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Rozhranie Grafana je interaktívne a pripomína systém OLAP. Subsystém zobrazuje údaje prijaté Zabbixom na jednej obrazovke a prezentuje informácie vo forme grafov a diagramov, ktoré sa dajú ľahko analyzovať. Správca môže ľahko prispôsobiť plátky, ktoré potrebuje.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Sledovanie a preventívne odstraňovanie chýb v LMS systéme

Open source softvérová platforma ELK vám pomáha filtrovať a analyzovať informácie prijaté počas monitorovania. Tento opensource produkt pozostáva z troch výkonných nástrojov na zhromažďovanie, ukladanie a analýzu údajov: Elasticsearch, Logstash a Kibana. Implementácia tohto subsystému umožňuje najmä v reálnom čase vidieť, koľko chýb sa v systéme vyskytlo, na ktorých serveroch a či sa tieto chyby opakujú.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Teraz môže správca odhaliť problém v počiatočnom štádiu, ešte skôr, ako sa s ním stretne používateľ. Takéto proaktívne monitorovanie vám umožňuje včasným odstraňovaním chýb predchádzať poruchám systému. Okrem toho môžeme pochopiť, ako sa zmenilo správanie systému po aktualizácii, ako aj odhaliť nové problémy, ak sa objavia.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Monitorovanie obchodných operácií

Okrem základných funkcií sledovania spotreby zdrojov má systém schopnosť analyzovať a kontrolovať obchodné operácie.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Monitorovanie celkového času vykonávania obchodných operácií vám umožňuje identifikovať nové faktory a pochopiť ich vplyv na fungovanie systému.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Sledovanie doby realizácie požiadaviek pre každú obchodnú službu umožňuje odhaliť operácie, ktoré sa vymykajú norme.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Snímka obrazovky vyššie je príkladom sledovania úlohy na pozadí z hľadiska jej odchýlky od normy.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Zoznam kontrolovaných úloh z hľadiska ich aktivity na konkrétnom serveri umožňuje identifikovať chyby - vrátane duplicitného vykonávania úloh - na všetkých serveroch.

Softvér s otvoreným zdrojovým kódom pre LMS: ako free soft pomáha spravovať kritické obchodné systémy vo VTB

Sledujú sa aj trendy v dobe vykonávania procedúr na pozadí.

Systém rastie, vyvíja sa a pomáha vyrovnať sa s problémami

Implementáciou opísaného systému sa výrazne zjednodušilo sledovanie prevádzky LMS serverov. Napriek tomu z času na čas vznikajú rôzne druhy konfliktov, ktoré ovplyvňujú rýchlosť toku dokumentov a spôsobujú sťažnosti používateľov. Uvedomili sme si teda, že je potrebné kontrolovať správanie samotnej aplikácie, nielen serverov.

Na vyriešenie tohto problému bol k monitorovaciemu systému cez API pripojený balancer, ktorý spolupracuje s klastrom aplikačných serverov. Vďaka tomu môže administrátor vidieť, ako dlho trvá serveru, kým odpovie na každú požiadavku používateľa.

Údaje o časoch odozvy servera boli k dispozícii na analýzu, čo umožnilo prepojiť spomalenie LMS s procesmi prebiehajúcimi na serveri. Predovšetkým vznikla zaujímavá situácia: server beží pomaly, aj keď momentálne nie je načítaný. Pri analýze anomálie sme objavili odchýlky v prevádzke Garbage Collector Java. Nakoniec sa ukázalo, že k tejto situácii viedlo nesprávne fungovanie tejto služby. Prevzatím kontroly nad Garbage Collector Java sme problém úplne odstránili.

Takto bezplatný softvér pomáha rozvíjať a rásť systému správy dokumentov v bankovom sektore. Dotkli sme sa len hlavných problémov týkajúcich sa monitorovacieho systému VTB SDO. Ak vás zaujímajú podrobnosti, pýtajte sa v komentároch, radi sa s vami podelíme o naše skúsenosti.

Zdroj: hab.com

Pridať komentár