Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Sistem dokumentacijske podrške u našoj banci se stalno razvija i skalira, a zahtjevi za brzinom i tolerancijom grešaka se samo povećavaju. U nekom trenutku, održavanje LMS-a bez efikasnog centralizovanog nadzora postalo je previše rizično. Da bismo obezbedili poslovne procese u VTB-u i pojednostavili rad administratora, implementirali smo rešenje zasnovano na nizu otvorenih tehnologija. Uz njegovu pomoć možemo proaktivno reagirati na incidente, sprječavajući potencijalne probleme. Ispod reza je priča o našem iskustvu u korišćenju besplatnog softvera za praćenje velikih poslovnih sistema.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Zašto nadgledati svoj sistem za upravljanje dokumentima?

Od 2005. godine, dokumentacionom podrškom u VTB banci „upravlja“ sistem CompanyMedia. LMS zapošljava preko 60 hiljada korisnika koji kreiraju više od milion novih dokumenata svakog mjeseca. Naši serveri moraju funkcionisati 24 sata dnevno: skoro u svakom trenutku u sistemu je 2500-3000 ljudi koji su povezani širom zemlje, od Petropavlovska Kamčatskog do Kalinjingrada. Svaka sekunda rada LMS-a znači 10-15 promjena.

Kako bismo osigurali da sistem tačno ispunjava svoje dodijeljene zadatke, postavili smo infrastrukturu otpornu na greške koristeći proxy servere, balansiranje zahtjeva, zaštitu informacija, pretraživanje punog teksta, integracijske rute i sigurnosne kopije. Da bi se podržao i upravljao projektom ovog obima potrebni su ogromni resursi. Administratori neprestano prate osnovne informacije o radu servera, opterećenju RAM-a, CPU vremenu, I/O podsistemu i tako dalje. Ali osim ovoga, potrebna je suptilnija analitika:

  • izračunavanje vremena utrošenog na izvođenje poslovnih scenarija;
  • praćenje dinamike performansi sistema i opterećenja na njemu;
  • traženje odstupanja u komponentama sistema od odobrenih nefunkcionalnih zahtjeva.

11 godina nakon uvođenja LMS-a, pitanje proaktivnog odgovora na različite vrste grešaka postalo je posebno akutno. Rukovodstvo banke shvatilo je da se rad bez monitora i sistemske konzole igra vatrom: najmanji kvar u poslovnom sistemu ovog nivoa može rezultirati milionskim gubicima.

U 2016. godini počeli smo sa uvođenjem alata za brzo prepoznavanje problema u funkcionisanju LMS-a, uključujući praćenje parametara koji nas zanimaju u realnom vremenu. Prethodno je primijenjeni sistem nadzora raspoređen i testiran u okviru infrastrukture kompanije InterTrust.

Kako je sve počelo

Danas, centralizovani sistem za praćenje aplikacija VTB LMS-a, zasnovan na softverskim proizvodima otvorenog koda, pomaže u sprečavanju većine grešaka povezanih sa protokom dokumenata, brzo i precizno klasifikuje probleme i blagovremeno reaguje na bilo kakve incidente. Uključuje dva podsistema:

  • za praćenje IT infrastrukture sistemskih usluga;
  • za praćenje pojave grešaka u radu LMS-a.

Sve je počelo s jednom besplatnom aplikacijom za praćenje. Nakon što smo prošli kroz nekoliko opcija, odlučili smo se za Zabbix - besplatni softver koji je prvobitno napisan za bankarske usluge i opremu. Ovaj PHP web-bazirani sistem, koji može pohraniti podatke u MySQL, PostgreSQL, SQLite ili Oracle Database, savršeno je odgovarao našim potrebama.

Zabbix pokreće svoje agente na svakom serveru i prikuplja informacije o metrikama od interesa u realnom vremenu u jednu bazu podataka. Koristeći aplikaciju, zgodno je prikupljati podatke o opterećenju procesora i RAM-a, o korištenju mreže i ostalih komponenti, provjeriti dostupnost i odziv standardnih servisa (SMTP ili HTTP), pokrenuti eksterne programe i podržati praćenje putem SNMP.

Nakon što smo implementirali Zabbix, konfigurisali smo standardne hardverske metrike, i to je u početku bilo dovoljno. Ali VTB SDO se stalno razvija i raste: 2016. godine broj servera se značajno povećao, pojavili su se procesi migracije, Moskovska banka, VTB Capital i VTB24 su se pridružili sistemu. Više nema dovoljno standardnih metrika, a naučili smo Zabbix da prati informacije o prisutnosti redova na svakom od volumena povezanih na server (izvan kutije Zabbix odražava samo opći red na disku), kao i vrijeme koje je potrebno da završi određenu proceduru.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Osim toga, opremili smo sistem sa više trigera - uslova pod kojima se administratoru šalje obavijest (poruka u Telegramu, SMS na broj telefona ili e-mail). Okidači se mogu konfigurirati za bilo koji skup parametara. Na primjer, možete odrediti određeni postotak slobodnog prostora na disku, a sistem će upozoriti administratora kada se dostigne navedeni prag ili vas obavijestiti ako pozadinska procedura traje duže nego inače.

Java povezivanje i vizualizacija podataka

Značajno smo proširili spektar analiziranih podataka, ali ubrzo to nije bilo dovoljno za efikasno praćenje. Koristeći činjenicu da je CompanyMedia LMS Java aplikacija, povezali smo se sa Java virtuelnom mašinom preko JMX interfejsa i bili u mogućnosti da direktno preuzmemo Java metriku. I ne samo standardni parametri Java vitalne aktivnosti, kao što su intenzitet rada GC-a ili potrošnja hepa, već i specifični testovi koji se direktno odnose na izvršni kod aplikacije.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

U 2017. godini, otprilike godinu dana nakon implementacije sistema za praćenje, postalo je jasno da za normalan rad sa kolosalnom količinom podataka prikupljenih u Zabbix-u nije bilo dovoljno vizualizacije – složenih ekrana. Najbolje rješenje za ovaj problem opet je bio besplatni softver - Grafana, zgodna kontrolna tabla za metriku koja vam omogućava da agregirate sve podatke na jednom ekranu.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Grafana interfejs je interaktivan, podseća na OLAP sistem. Podsistem prikazuje podatke koje je primio Zabbix na jednom ekranu, predstavljajući informacije u obliku grafikona i dijagrama koje je lako analizirati. Administrator može lako prilagoditi rezove koji su mu potrebni.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Praćenje i preventivno otklanjanje grešaka u LMS sistemu

ELK softverska platforma otvorenog koda pomaže vam da filtrirate i analizirate informacije primljene tokom nadgledanja. Ovaj proizvod otvorenog koda sastoji se od tri moćna alata za prikupljanje, skladištenje i analizu podataka: Elasticsearch, Logstash i Kibana. Implementacija ovog podsistema omogućava, posebno, da se u realnom vremenu vidi koliko se grešaka dogodilo u sistemu, na kojim serverima i da li se te greške ponavljaju.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Sada administrator može otkriti problem u ranoj fazi, čak i prije nego što se korisnik s njim susreće. Takvo proaktivno praćenje omogućava vam da spriječite kvarove u sistemu blagovremenom eliminacijom grešaka. Osim toga, možemo razumjeti kako se ponašanje sistema promijenilo nakon ažuriranja, kao i otkriti nove probleme ako se pojave.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Praćenje poslovnih operacija

Pored osnovnih funkcija praćenja potrošnje resursa, sistem ima mogućnost analize i kontrole poslovanja.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Praćenje ukupnog vremena izvršenja poslovnih operacija omogućava vam da identifikujete nove faktore i razumete uticaj koji oni imaju na rad sistema.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Praćenje vremena izvršenja zahtjeva za svaku poslovnu uslugu omogućava otkrivanje operacija koje odstupaju od norme.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Gornji snimak ekrana je primjer praćenja pozadinskog zadatka u smislu njegovog odstupanja od norme.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Lista kontrolisanih zadataka u smislu njihove aktivnosti na određenom serveru omogućava vam da identifikujete greške - uključujući dupliranje izvršenja zadataka - na svim serverima.

Softver otvorenog koda za LMS: kako besplatni softver pomaže u administriranju kritičnih poslovnih sistema u VTB-u

Takođe se prate trendovi u vremenu izvršenja pozadinskih procedura.

Sistem raste, razvija se i pomaže u rješavanju problema

Implementacijom opisanog sistema praćenje rada LMS servera je značajno pojednostavljeno. Ipak, s vremena na vrijeme dolazi do raznih vrsta sukoba, koji utiču na brzinu protoka dokumenata i izazivaju pritužbe korisnika. Tako smo shvatili da je potrebno kontrolirati ponašanje same aplikacije, a ne samo servera.

Da bi se riješio ovaj problem, balanser je povezan na sistem za nadzor preko API-ja, koji radi sa klasterom aplikacijskih servera. Zahvaljujući tome, administrator može vidjeti koliko dugo serveru treba da odgovori na svaki zahtjev korisnika.

Podaci o vremenu odziva servera postali su dostupni za analizu, što je omogućilo povezivanje usporavanja LMS-a sa procesima koji se dešavaju na serveru. Posebno se pojavila zanimljiva situacija: server radi sporo, iako u ovom trenutku nije učitan. Analizirajući anomaliju, otkrili smo odstupanja u radu Garbage Collector Java. Na kraju se ispostavilo da je do ove situacije doveo neispravan rad ove službe. Preuzimanjem kontrole nad Javom Garbage Collector, u potpunosti smo eliminisali problem.

Na ovaj način besplatni softver pomaže razvoju i rastu sistema za upravljanje dokumentima u bankarskoj industriji. Dotakli smo se samo glavnih pitanja vezanih za VTB SDO sistem praćenja. Ako vas zanimaju detalji, pitajte u komentarima, rado ćemo podijeliti naše iskustvo s vama.

izvor: www.habr.com

Dodajte komentar