Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Dokumentatsiooni tugisüsteem meie pangas areneb ja skaleerub pidevalt ning nõuded kiirusele ja tõrketaluvusele ainult suurenevad. Mingil hetkel muutus LMS-i pidamine ilma tõhusa tsentraliseeritud jälgimiseta liiga riskantseks. VTB äriprotsesside turvamiseks ja administraatorite töö lihtsustamiseks juurutasime avatud tehnoloogiate virnal põhineva lahenduse. Tema abiga saame intsidentidele ennetavalt reageerida, ennetades võimalikke probleeme. Lõike all on lugu meie kogemusest tasuta tarkvara kasutamisel suuremahuliste ärisüsteemide jälgimiseks.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Miks jälgida oma dokumendihaldussüsteemi?

Alates 2005. aastast on VTB panga dokumentatsioonituge “haldanud” CompanyMedia süsteem. LMS-is töötab üle 60 tuhande kasutaja, kes loovad iga kuu üle miljoni uue dokumendi. Meie serverid peavad töötama 24 tundi ööpäevas: peaaegu igal hetkel on süsteemis 2500–3000 inimest, kes on ühenduses üle kogu riigi Petropavlovsk-Kamtšatskist Kaliningradini. Iga LMS-i töösekund tähendab 10–15 muudatust.

Süsteemi määratud ülesannete täpse täitmise tagamiseks oleme juurutanud tõrketaluva infrastruktuuri, mis kasutab puhverservereid, päringute tasakaalustamist, teabekaitset, täistekstiotsingut, integreerimismarsruute ja varundust. Sellise mastaabiga projekti toetamine ja haldamine nõuab tohutuid ressursse. Administraatorid jälgivad ööpäevaringselt põhiteavet serveri töö, RAM-i koormuse, CPU aja, I/O alamsüsteemi ja muu kohta. Kuid peale selle on vaja peenemat analüüsi:

  • äristsenaariumide täitmisele kulunud aja arvutamine;
  • süsteemi jõudluse ja selle koormuse dünaamika jälgimine;
  • süsteemi komponentide kõrvalekallete otsimine kinnitatud mittefunktsionaalsetest nõuetest.

11 aastat pärast LMS-i kasutuselevõttu on eri tüüpi vigadele proaktiivse reageerimise küsimus muutunud eriti teravaks. Panga juhtkond mõistis, et ilma monitoride ja süsteemi elukonsoolita töötamine on tulega mängimine: väikseimgi rike sellisel tasemel ärisüsteemis võib kaasa tuua miljoneid kahjusid.

2016. aastal alustasime tööriistade juurutamist LMS-i toimimise probleemide kiireks tuvastamiseks, sealhulgas meile huvipakkuvate parameetrite reaalajas jälgimiseks. Varem oli rakendatud seiresüsteem juurutatud ja testitud InterTrusti ettevõtte infrastruktuuri raames.

Kust see kõik alguse sai

Tänapäeval aitab avatud lähtekoodiga tarkvaratoodetel põhinev VTB LMS-i tsentraliseeritud rakenduste jälgimise süsteem ennetada enamikku dokumendivooga seotud vigu, klassifitseerida kiiresti ja täpselt probleeme ning reageerida viivitamatult juhtudele. See sisaldab kahte alamsüsteemi:

  • süsteemiteenuste IT infrastruktuuri jälgimiseks;
  • jälgida vigade esinemist LMS-i töös.

Kõik sai alguse ühest tasuta jälgimisrakendusest. Pärast mitme valiku läbimist otsustasime Zabbixi - tasuta tarkvaraga, mis oli algselt kirjutatud pangateenuste ja -seadmete jaoks. See PHP veebipõhine süsteem, mis suudab andmeid salvestada MySQL-i, PostgreSQL-i, SQLite'i või Oracle'i andmebaasi, sobis meie vajadustega suurepäraselt.

Zabbix käitab oma agente igas serveris ja kogub huvipakkuvate mõõdikute teavet reaalajas ühte andmebaasi. Rakenduse abil on mugav koguda andmeid protsessorite ja RAM-i koormuse, võrgu ja muude komponentide kasutamise kohta, kontrollida standardteenuste (SMTP või HTTP) saadavust ja reageerimist, käivitada väliseid programme ning toetada jälgimist. SNMP.

Pärast Zabbixi juurutamist konfigureerisime standardsed riistvaramõõdikud ja alguses piisas sellest. Kuid VTB SDO areneb ja kasvab pidevalt: 2016. aastal suurenes serverite arv märgatavalt, ilmusid migratsiooniprotsessid, süsteemiga liitusid Moskva Pank, VTB Capital ja VTB24. Standardseid mõõdikuid pole enam piisavalt ja me õpetasime Zabbixi jälgima teavet järjekordade olemasolu kohta igal serveriga ühendatud köitel (karbist väljas kajastab Zabbix ainult üldist kettajärjekorda) ja aega, mis kulub. konkreetse protseduuri lõpuleviimiseks.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Lisaks varustasime süsteemi mitme päästikuga – tingimustega, mille korral saadetakse teade administraatorile (sõnum Telegramis, SMS telefoninumbrile või e-kiri). Päästikuid saab konfigureerida mis tahes parameetrite komplekti jaoks. Näiteks saate määrata teatud protsendi vaba kettaruumist ja süsteem teavitab administraatorit, kui määratud lävi on saavutatud, või teavitab teid, kui taustaprotseduur töötab tavapärasest kauem.

Java-ühenduvus ja andmete visualiseerimine

Täiendasime oluliselt analüüsitavate andmete valikut, kuid peagi sellest tõhusaks seireks ei piisanud. Kasutades ära asjaolu, et CompanyMedia LMS on Java-rakendus, ühendasime JMX-liidese kaudu Java virtuaalmasinaga ja saime Java mõõdikuid otse võtta. Ja mitte ainult Java elutähtsa tegevuse standardparameetrid, nagu GC töö intensiivsus või kuhja tarbimine, vaid ka konkreetsed testid, mis on otseselt seotud käivitatava rakenduse koodiga.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

2017. aastal, umbes aasta pärast seiresüsteemi juurutamist, selgus, et Zabbixisse kogutud kolossaalse andmehulgaga normaalseks töötamiseks ei olnud piisavalt visualiseerimist – keerukaid ekraane. Parim lahendus sellele probleemile oli jällegi tasuta tarkvara – Grafana, mugav mõõdikute armatuurlaud, mis võimaldab koondada kõik andmed ühele ekraanile.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Grafana liides on interaktiivne, meenutades OLAP-süsteemi. Alamsüsteem kuvab Zabbixi saadud andmed ühel ekraanil, esitades teabe graafikute ja diagrammide kujul, mida on lihtne analüüsida. Administraator saab vajalikke lõike hõlpsalt kohandada.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

LMS-süsteemi vigade jälgimine ja ennetav kõrvaldamine

ELK avatud lähtekoodiga tarkvaraplatvorm aitab teil monitooringu käigus saadud infot filtreerida ja analüüsida. See avatud lähtekoodiga toode koosneb kolmest võimsast tööriistast andmete kogumiseks, salvestamiseks ja analüüsimiseks: Elasticsearch, Logstash ja Kibana. Antud alamsüsteemi juurutamine võimaldab eelkõige reaalajas näha, kui palju tõrkeid süsteemis esines, millistel serveritel ja kas need vead korduvad.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Nüüd saab administraator tuvastada probleemi varajases staadiumis, isegi enne, kui kasutaja sellega kokku puutub. Selline ennetav jälgimine võimaldab ennetada süsteemi tõrkeid, kõrvaldades vead õigeaegselt. Lisaks saame aru, kuidas süsteemi käitumine on pärast värskendust muutunud, ning avastada uusi probleeme nende ilmnemisel.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Äritegevuse jälgimine

Lisaks ressursitarbimise jälgimise põhifunktsioonidele on süsteemil võimalus analüüsida ja juhtida äritegevust.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Äritegevuse üldise täitmise aja jälgimine võimaldab tuvastada uusi tegureid ja mõista nende mõju süsteemi toimimisele.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Iga äriteenuse päringu täitmisaja jälgimine võimaldab tuvastada normist kõrvalekalduvaid toiminguid.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Ülaltoodud ekraanipilt on näide taustaülesande jälgimisest selle normist kõrvalekaldumise osas.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Kontrollitud ülesannete loend nende aktiivsuse järgi konkreetses serveris võimaldab tuvastada kõigis serverites vigu, sealhulgas ülesande täitmise dubleerimist.

Avatud lähtekoodiga tarkvara LMS-i jaoks: kuidas tasuta tarkvara aitab hallata VTB kriitilisi ärisüsteeme

Samuti jälgitakse taustaprotseduuride läbiviimise aja suundumusi.

Süsteem kasvab, areneb ja aitab probleemidega toime tulla

Kirjeldatud süsteemi juurutamisega on oluliselt lihtsustatud LMS-serverite töö jälgimine. Sellegipoolest tekivad aeg-ajalt erinevad konfliktid, mis mõjutavad dokumentide liikumise kiirust ja põhjustavad kasutajate kaebusi. Nii mõistsime, et on vaja kontrollida rakenduse enda, mitte ainult serverite käitumist.

Selle probleemi lahendamiseks ühendati API kaudu jälgimissüsteemiga tasakaalustaja, mis töötab koos rakendusserverite klastriga. Tänu sellele näeb administraator, kui kaua kulub serveril igale kasutajapäringule vastamine.

Analüüsiks said kättesaadavaks andmed serveri reageerimisaegade kohta, mis võimaldas siduda LMS-i aeglustumist serveris toimuvate protsessidega. Eelkõige tekkis huvitav olukord: server töötab aeglaselt, kuigi praegu seda ei laadita. Anomaaliat analüüsides avastasime kõrvalekaldeid Garbage Collector Java töös. Lõpuks selgus, et selle olukorra põhjustas selle teenuse ebaõige toimimine. Võttes kontrolli Garbage Collector Java üle, kõrvaldasime probleemi täielikult.

Nii aitab tasuta tarkvara pangandussektori dokumendihaldussüsteemil areneda ja kasvada. Oleme käsitlenud ainult VTB SDO seiresüsteemiga seotud põhiprobleeme. Kui olete huvitatud üksikasjadest, küsige kommentaarides, jagame teiega hea meelega oma kogemusi.

Allikas: www.habr.com

Lisa kommentaar