Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Systém podpory dokumentace v naší bance se neustále vyvíjí a škáluje a požadavky na rychlost a chybovost se jen zvyšují. V určitém okamžiku se udržování LMS bez efektivního centralizovaného monitorování stalo příliš riskantním. Pro zabezpečení obchodních procesů ve VTB a zjednodušení práce administrátorů jsme implementovali řešení založené na hromadě otevřených technologií. S jeho pomocí můžeme proaktivně reagovat na incidenty a předcházet potenciálním problémům. Pod řezem je příběh o našich zkušenostech s používáním svobodného softwaru k monitorování rozsáhlých obchodních systémů.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Proč sledovat váš systém správy dokumentů?

Od roku 2005 je podpora dokumentace ve VTB Bank „řízena“ systémem CompanyMedia. LMS zaměstnává přes 60 tisíc uživatelů, kteří každý měsíc vytvoří více než milion nových dokumentů. Naše servery musí fungovat 24 hodin denně: téměř každou chvíli je v systému 2500–3000 lidí, kteří jsou připojeni po celé zemi, od Petropavlovska-Kamčatského po Kaliningrad. Každá sekunda provozu LMS znamená 10–15 změn.

Aby systém přesně plnil zadané úkoly, nasadili jsme infrastrukturu odolnou proti chybám využívající proxy servery, vyvažování požadavků, ochranu informací, fulltextové vyhledávání, integrační cesty a zálohování. Podpora a správa projektu takového rozsahu vyžaduje obrovské zdroje. Správci nepřetržitě monitorují základní informace o provozu serveru, zatížení paměti RAM, času CPU, I/O subsystému a tak dále. Kromě toho je však zapotřebí jemnější analýzy:

  • výpočet času stráveného prováděním obchodních scénářů;
  • sledování dynamiky výkonu systému a jeho zatížení;
  • hledání odchylek součástí systému od schválených nefunkčních požadavků.

11 let po zavedení LMS se otázka proaktivní reakce na různé typy chyb stala obzvláště akutní. Vedení banky si uvědomilo, že práce bez monitorů a konzole pro život systému je zahrávání si s ohněm: sebemenší selhání v obchodním systému této úrovně může vést k milionovým ztrátám.

V roce 2016 jsme začali zavádět nástroje pro rychlou identifikaci problémů ve fungování LMS, včetně sledování parametrů, které nás zajímají v reálném čase. Dříve byl aplikovaný monitorovací systém nasazen a testován v rámci podnikové infrastruktury InterTrust.

Jak to všechno začalo

Dnes centralizovaný systém monitorování aplikací VTB LMS, založený na softwarových produktech s otevřeným zdrojovým kódem, pomáhá předcházet většině chyb spojených s tokem dokumentů, rychle a přesně klasifikovat problémy a rychle reagovat na jakékoli incidenty. Zahrnuje dva subsystémy:

  • pro monitorování IT infrastruktury systémových služeb;
  • sledovat výskyt chyb v provozu LMS.

Všechno to začalo jedinou bezplatnou monitorovací aplikací. Po prozkoumání několika možností jsme se rozhodli pro Zabbix – svobodný software, který byl původně napsán pro bankovní služby a vybavení. Tento webový systém založený na PHP, který dokáže ukládat data v MySQL, PostgreSQL, SQLite nebo Oracle Database, dokonale vyhovoval našim potřebám.

Zabbix provozuje své agenty na každém serveru a shromažďuje informace o sledovaných metrikách v reálném čase do jediné databáze. Pomocí aplikace je vhodné sbírat data o vytížení procesorů a RAM, o využití sítě a dalších komponent, kontrolovat dostupnost a odezvu standardních služeb (SMTP nebo HTTP), spouštět externí programy a podporovat monitoring přes SNMP.

Po nasazení Zabbix jsme nakonfigurovali standardní hardwarové metriky a zpočátku to stačilo. VTB SDO se však neustále vyvíjí a roste: v roce 2016 se počet serverů znatelně zvýšil, objevily se procesy migrace, do systému se připojily Bank of Moscow, VTB Capital a VTB24. Již není dostatek standardních metrik a naučili jsme Zabbix sledovat informace o přítomnosti front na každém ze svazků připojených k serveru (zabbix po vybalení odráží pouze obecnou diskovou frontu) a také čas, který to trvá. k dokončení konkrétního postupu.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Kromě toho jsme systém vybavili více triggery - podmínkami, za kterých je zasláno upozornění administrátorovi (zpráva v Telegramu, SMS na telefonní číslo nebo email). Spouštěče lze nakonfigurovat pro jakoukoli sadu parametrů. Můžete například zadat určité procento volného místa na disku a systém upozorní správce, když je dosaženo zadané prahové hodnoty, nebo vás informuje, pokud procedura na pozadí běží déle než obvykle.

Java konektivita a vizualizace dat

Výrazně jsme rozšířili rozsah analyzovaných dat, ale brzy to nestačilo na efektivní sledování. Využili jsme toho, že LMS společnosti CompanyMedia je Java aplikace, připojili jsme se k Java Virtual Machine přes rozhraní JMX a mohli jsme přímo přebírat metriky Java. A to nejen standardní parametry vitální činnosti Java, jako je intenzita práce GC nebo spotřeba haldy, ale také specifické testy související přímo s kódem spustitelné aplikace.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

V roce 2017, zhruba rok po implementaci monitorovacího systému, se ukázalo, že k normální práci s kolosálním množstvím dat nasbíraných v Zabbixu nestačí vizualizace – složité obrazovky. Nejlepším řešením tohoto problému byl opět bezplatný software – Grafana, pohodlný dashboard pro metriky, který umožňuje agregovat všechna data na jedné obrazovce.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Rozhraní Grafana je interaktivní a připomíná systém OLAP. Subsystém zobrazuje data přijatá Zabbixem na jediné obrazovce a prezentuje informace ve formě grafů a diagramů, které lze snadno analyzovat. Správce si může snadno přizpůsobit řezy, které potřebuje.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Sledování a preventivní odstraňování chyb v LMS systému

Open source softwarová platforma ELK vám pomáhá filtrovat a analyzovat informace získané během monitorování. Tento opensource produkt se skládá ze tří výkonných nástrojů pro sběr, ukládání a analýzu dat: Elasticsearch, Logstash a Kibana. Implementace tohoto subsystému umožňuje zejména v reálném čase vidět, kolik chyb se v systému vyskytlo, na kterých serverech a zda se tyto chyby opakují.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Nyní může administrátor detekovat problém v rané fázi, ještě dříve, než na něj narazí uživatel. Takové proaktivní monitorování umožňuje včasným odstraňováním chyb předcházet poruchám systému. Kromě toho můžeme porozumět tomu, jak se změnilo chování systému po aktualizaci, a také detekovat nové problémy, pokud se objeví.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Monitorování obchodních operací

Kromě základních funkcí sledování spotřeby zdrojů má systém schopnost analyzovat a řídit obchodní operace.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Sledování celkové doby provádění obchodních operací vám umožňuje identifikovat nové faktory a pochopit jejich dopad na provoz systému.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Sledování doby provádění požadavků pro každou obchodní službu umožňuje odhalit operace, které se odchylují od normy.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Výše uvedený snímek obrazovky je příkladem sledování úlohy na pozadí z hlediska její odchylky od normy.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Seznam řízených úloh z hlediska jejich aktivity na konkrétním serveru umožňuje identifikovat chyby - včetně duplicitního provádění úloh - napříč všemi servery.

Software s otevřeným zdrojovým kódem pro LMS: jak free soft pomáhá spravovat kritické obchodní systémy ve VTB

Rovněž jsou sledovány trendy v době provádění procedur na pozadí.

Systém roste, vyvíjí se a pomáhá vyrovnat se s problémy

Implementací popsaného systému se výrazně zjednodušil monitoring provozu LMS serverů. Čas od času však vznikají různé druhy konfliktů, které ovlivňují rychlost toku dokumentů a způsobují stížnosti uživatelů. Uvědomili jsme si tedy, že je nutné řídit chování samotné aplikace a nejen serverů.

K vyřešení tohoto problému byl k monitorovacímu systému přes API připojen balancer, který spolupracuje s clusterem aplikačních serverů. Díky tomu může administrátor vidět, jak dlouho trvá serveru, než odpoví na každý požadavek uživatele.

Data o dobách odezvy serveru byla k dispozici pro analýzu, což umožnilo propojit zpomalení LMS s procesy probíhajícími na serveru. Zejména se objevila zajímavá situace: server běží pomalu, i když v tuto chvíli není načten. Při analýze anomálie jsme objevili odchylky ve fungování Garbage Collector Java. Nakonec se ukázalo, že k této situaci vedlo právě nesprávné fungování této služby. Převzetím kontroly nad Garbage Collector Java jsme problém zcela odstranili.

Takto bezplatný software pomáhá vyvíjet a růst systému správy dokumentů v bankovním odvětví. Dotkli jsme se pouze hlavních problémů souvisejících s monitorovacím systémem VTB SDO. Pokud vás zajímají podrobnosti, ptejte se v komentářích, rádi se s vámi podělíme o naše zkušenosti.

Zdroj: www.habr.com

Přidat komentář