Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Hola a todos!

Gure enpresa softwarearen garapenean eta ondorengo laguntza teknikoan dihardu. Laguntza teknikoak akatsak konpontzeaz gain, gure aplikazioen errendimendua kontrolatzea eskatzen du.

Esate baterako, zerbitzuren bat huts egin bada, arazo hau automatikoki grabatu eta konpontzen hasi behar duzu, eta ez itxaron pozik ez dauden erabiltzaileek laguntza teknikoarekin harremanetan jartzeko.

Enpresa txikia dugu, ez dugu baliabiderik aplikazioak monitorizatzeko soluzio konplexuak aztertzeko eta mantentzeko, irtenbide sinple eta eraginkor bat bilatu behar genuen.

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Jarraipen estrategia

Ez da erraza aplikazio baten funtzionaltasuna egiaztatzea; zeregin hori ez da hutsala, sormena ere esan liteke. Batez ere zaila da lotura anitzeko sistema konplexu bat egiaztatzea.

Nola jan dezakezu elefante bat? Zatietan bakarrik! Ikuspegi hau aplikazioak kontrolatzeko erabiltzen dugu.

Gure jarraipen estrategiaren funtsa:

Banatu zure aplikazioa osagaietan.
Sortu kontrol-egiaztapenak osagai bakoitzarentzat.

Osagai bat operatibotzat hartzen da bere kontrol-egiaztapen guztiak akatsik gabe egiten badira. Aplikazio bat osasuntsutzat jotzen da bere osagai guztiak funtzionalak badira.

Horrela, edozein sistema osagaien zuhaitz gisa irudika daiteke. Osagai konplexuak sinpleagoetan banatzen dira. Osagai sinpleek egiaztapenak dituzte.

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Benchmarkek ez dute proba funtzionalak egiteko, ez dira unitateko probak. Kontrol-egiaztapenek osagaia unean unean nola sentitzen den egiaztatu behar dute, funtzionamendurako beharrezkoak diren baliabide guztiak dauden eta arazoren bat dagoen.

Ez dago miraririk; egiaztapen gehienak independentean garatu beharko dira. Baina ez izan beldurrik, kasu gehienetan egiaztapen batek 5-10 kode lerro hartzen dituelako, baina edozein logika inplementa dezakezu eta argi eta garbi ulertuko duzu egiaztapena nola funtzionatzen duen.

Jarraipen-sistema

Demagun aplikazioa osagaietan banatu, osagai bakoitzaren egiaztapenak sortu eta ezarri ditugula, baina zer egin egiaztapen horien emaitzekin? Nola dakigu egiaztapen batzuek huts egin duten ala ez?

Jarraipen sistema bat beharko dugu. Eginkizun hauek beteko ditu:

  • Testen emaitzak jaso eta osagaien egoera zehazteko erabili.
    Ikusmenean, osagaien zuhaitza nabarmentzea dirudi. Osagai funtzionalak berde bihurtzen dira, problematikoak gorri.
  • Egin egiaztapen orokorrak kutxatik kanpo.
    Jarraipen-sistemak berak egiaztapen batzuk egin ditzake. Zergatik berrasmatu gurpila, erabil ditzagun. Adibidez, webguneko orri bat irekitzen ari dela edo zerbitzariak ping egiten ari dela egiaztatu dezakezu.
  • Bidali arazoen jakinarazpenak interesdunei.
  • Jarraipen-datuen bistaratzea, txostenak, grafikoak eta estatistikak ematea.

ASMO sistemaren deskribapen laburra

Hobe da adibide batekin azaltzea. Ikus dezagun ASMO sistemaren errendimenduaren jarraipena nola antolatzen den.

ASMO laguntza meteorologikorako sistema automatizatu bat da. Sistemak bide-zerbitzuko espezialistei ulertzen laguntzen die non eta noiz tratatu behar den errepidea desizozteko materialekin. Sistemak errepideak kontrolatzeko puntuetako datuak biltzen ditu. Errepideko kontrol puntua ekipamenduak instalatzen dituen errepideko lekua da: estazio meteorologikoa, bideokamera bat, etab. Egoera arriskutsuak aurreikusteko, sistemak kanpoko iturrietatik jasotzen ditu eguraldiaren iragarpenak.

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Beraz, sistemaren osaera nahiko tipikoa da: webgunea, agentea, ekipamendua. Hasi gaitezen monitorizazioa.

Sistema osagaietan banatzea

ASMO sisteman osagai hauek bereiz daitezke:

1. Kontu pertsonala
Hau web aplikazio bat da. Gutxienez, aplikazioa Interneten eskuragarri dagoela egiaztatu behar duzu.

2. Datu-basea
Datu-baseak txostenak egiteko garrantzitsuak diren datuak gordetzen ditu, eta datu-basearen babeskopiak behar bezala sortzen direla ziurtatu behar duzu.

3. Zerbitzaria
Zerbitzariarekin aplikazioak exekutatzen dituen hardwarea esan nahi dugu. Beharrezkoa da HDD, RAM, CPUren egoera egiaztatu.

4. Agentea
Hau programazio batean hainbat zeregin egiten dituen Windows zerbitzu bat da. Gutxienez, zerbitzua martxan dagoela egiaztatu behar duzu.

5. Agentearen zeregina
Agente bat lanean ari dela jakitea ez da nahikoa. Agente batek lan egin dezake, baina ez ditu esleitutako zereginak bete. Zati dezagun agentearen osagaia zereginetan eta egiaztatu agentearen ataza bakoitzak ondo funtzionatzen duen.

6. Errepideak kontrolatzeko puntuak (MPC guztien edukiontzia)
Errepideak kontrolatzeko puntu asko daude, beraz, konbina ditzagun MPC guztiak osagai batean. Horrela, erosoagoa izango da jarraipenaren datuak irakurtzea. β€œASMO sistema” osagaiaren egoera ikustean, berehala argituko da non dauden arazoak: aplikazioetan, hardwarean edo gehienezko kontrol sisteman.

7. Errepidea kontrolatzeko puntua (gehienezko muga bat)
Osagai hau erabilgarritzat joko dugu MPC honetako gailu guztiak erabilgarri badaude.

8. Gailua
Gehienezko kontzentrazio-mugan instalatuta dagoen bideo-kamera edo estazio meteorologikoa da. Beharrezkoa da gailua behar bezala funtzionatzen duela egiaztatu.

Jarraipen-sisteman, osagaien zuhaitza itxura hau izango du:

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Web aplikazioen jarraipena

Beraz, sistema osagaietan banatu dugu, orain osagai bakoitzaren egiaztapenak egin behar ditugu.

Web aplikazio bat monitorizatzeko honako egiaztapen hauek erabiltzen ditugu:

1. Orri nagusiaren irekiera egiaztatzea
Kontrol hori monitorizazio sistemak egiten du. Exekutatzeko, orriaren helbidea, espero den erantzun zatia eta eskaeraren exekuzio denbora maximoa adieraziko ditugu.

2. Domeinuaren ordainketa-epea egiaztatzea
Egiaztapen oso garrantzitsua. Domeinu bat ordaindu gabe geratzen denean, erabiltzaileek ezin dute webgunea ireki. Arazoa konpontzeak hainbat egun behar izan ditzake, zeren... DNS aldaketak ez dira berehala aplikatzen.

3. SSL ziurtagiria egiaztatzea
Gaur egun, ia webgune guztiek https protokoloa erabiltzen dute sartzeko. Protokoloak behar bezala funtziona dezan, baliozko SSL ziurtagiri bat behar duzu.

Jarraian, jarraipen-sistemako "Kontu pertsonala" osagaia dago:

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Goiko egiaztapen guztiek aplikazio gehienetarako funtzionatuko dute eta ez dute kodeketarik behar. Oso polita da, 5 minututan edozein web aplikazio kontrolatzen has zaitezkeelako. Jarraian web-aplikazio baterako egin daitezkeen egiaztapen osagarriak daude, baina haien ezarpena konplexuagoa eta aplikazioaren araberakoa da, beraz, ez ditugu artikulu honetan landuko.

Zer gehiago egiaztatu dezakezu?

Zure web aplikazioa hobeto kontrolatzeko, egiaztapen hauek egin ditzakezu:

  • JavaScript akats kopurua aldi bakoitzeko
  • Web-aplikazioaren aldean (back-end) akats kopurua aldirako
  • Arrakastarik gabeko web aplikazioen erantzun kopurua (erantzun-kodea 404, 500, etab.)
  • Kontsulten exekuzio denbora batez bestekoa

Windows zerbitzu baten jarraipena (agentea)

ASMO sisteman, agenteak zereginen programatzaile baten papera betetzen du, programatutako zereginak atzeko planoan exekutatzen dituena.

Agentearen zeregin guztiak ondo betetzen badira, agentea behar bezala dabil. Bihurtzen da agente bat kontrolatzeko, bere zereginak kontrolatu behar dituzula. Hori dela eta, "Agentea" osagaia zereginetan banatzen dugu. Zeregin bakoitzeko, osagai bereizi bat sortuko dugu monitorizazio sisteman, non "Agentea" osagaia "gurasoa" izango den.

Agentearen osagaia haurren osagaietan banatu dugu (zereginak):

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Beraz, osagai konplexu bat hainbat sinpletan banatu dugu. Orain osagai sinple bakoitzaren egiaztapenak egin behar ditugu. Kontuan izan "Agente" osagai nagusiak ez duela inolako egiaztapenik izango, monitorizazio-sistemak bere egoera independentean kalkulatuko duelako bere osagai semeen egoeraren arabera. Beste era batera esanda, zeregin guztiak behar bezala betetzen badira, agentea behar bezala exekutatzen ari da.

ASMO sisteman ehun zeregin baino gehiago daude, benetan beharrezkoa al da zeregin bakoitzerako egiaztapen bakarrak egitea? Noski, kontrola hobea izango da agente-zeregin bakoitzerako gure egiaztapen bereziak planteatzen eta ezartzen baditugu, baina kasu gehienetan nahikoa da egiaztapen unibertsalak erabiltzea.

ASMO sistemak egiaztapen unibertsalak soilik erabiltzen ditu zereginetarako eta nahikoa da sistemaren errendimendua kontrolatzeko.

Aurrerapena egiaztatzen
Egiaztapen errazena eta eraginkorrena exekuzio egiaztapena da. Egiaztapenak egiaztatzen du zeregina akatsik gabe amaitu dela. Zeregin guztiek dute egiaztapen hau.

Balidazio algoritmoa

Zeregin bakoitzaren exekuzioaren ondoren, ARRAKASTA egiaztapenaren emaitza bidali behar duzu monitorizazio-sistemara ataza exekuzioa arrakastatsua izan bada, edo ERROREA exekuzioa akats batekin amaitu bada.

Egiaztapen honek arazo hauek hauteman ditzake:

  1. Ataza exekutatzen da baina huts egiten du errore batekin.
  2. Zereginak martxan jartzeari utzi dio, adibidez, izoztu egin da.

Ikus dezagun nola konpontzen diren arazo hauek zehatzago.

1. arazoa - Zereginak exekutatzen da baina huts egiten du errore batekin
Jarraian, zeregina 14:00etatik 16:00etara bitartean exekutatzen den baina huts egiten duen kasu bat dago.

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Irudiak erakusten du zeregin batek huts egiten duenean seinale bat berehala bidaltzen dela monitorizazio-sistemara eta kontrol-sisteman dagokion egiaztapenaren egoera alarma bihurtzen dela.

Kontuan izan jarraipen-sisteman osagaiaren egoera egiaztapen-egoeraren araberakoa dela. Egiaztapenaren alarma-egoerak goi-mailako osagai guztiak alarmara aldatuko ditu, ikusi beheko irudia.

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

2. arazoa - Zereginak exekutatzen utzi zuen (izoztuta)
Nola ulertuko du jarraipen-sistemak zeregin bat trabatuta dagoela?

Egiaztapenaren emaitzak balio-epea du, adibidez, ordu 1. Ordu bat pasatzen bada eta probaren emaitza berririk ez badago, monitorizazio sistemak probaren egoera alarma ezarriko du.

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Goiko irudian, argiak itzali zituzten 14:00etan. 15:00etan, kontrol sistemak probaren emaitza (14:00etatik aurrera) ustelduta dagoela detektatuko du, izan ere Garrantzizko denbora iraungi da (ordubete), baina ez dago emaitza berririk, eta egiaztapena alarma egoerara aldatuko du.

16:00etan argiak berriro piztu ziren, programak zeregina beteko du eta exekuzioaren emaitza kontrol-sistemara bidaliko du, probaren egoera berriro arrakastatsua izango da.

Zein kontrol-eguneko denbora erabili behar dut?

Garrantzia-denborak zeregina gauzatzeko epea baino handiagoa izan behar du. Garrantzi-denbora ataza exekutatzeko epea baino 2-3 aldiz handiagoa ezartzea gomendatzen dut. Hori beharrezkoa da jakinarazpen faltsuak jasotzea saihesteko, adibidez, zeregin batek ohi baino denbora gehiago behar duenean edo norbaitek programa berriro kargatu duenean.

Aurrerapena egiaztatzen

ASMO sistemak "Kargatu iragarpena" zeregina du, eta kanpoko iturri batetik iragarpen berri bat deskargatzen saiatzen da orduan behin. Kanpoko sisteman iragarpen berri bat agertzen den ordu zehatza ez da ezagutzen, baina jakina da hori egunean 2 aldiz gertatzen dela. Bihurtzen da hainbat ordutan iragarpen berririk ez badago, hori normala da, baina egun bat baino gehiagorako iragarpen berririk ez badago, zerbait hautsi da nonbait. Esaterako, kanpoko iragarpen-sistema bateko datu-formatua alda daiteke, horregatik ASMOk ez du iragarpen berririk ikusiko.

Balidazio algoritmoa

Zereginak SUCCESS egiaztapenaren emaitza monitorizazio sistemara bidaltzen du aurrerapena lortzen duenean (eguraldi iragarpen berri bat deskargatuz). Aurrerapenik ez badago edo akatsik gertatzen bada, ez da ezer bidaliko monitorizazio sistemara.

Egiaztapenak garrantzia-tarte bat izan behar du, denbora horretan aurrerapen berriak jasoko dituela bermatzeko.

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Kontuan izan atzerapenarekin arazoaren berri izango dugula, monitorizazio-sistemak azken eskanearen emaitzaren balio-epea iraungi arte itxaroten duelako. Beraz, txekearen balio-epea ez da luzeegia egin behar.

Datu-basearen jarraipena

ASMO sisteman datu-basea kontrolatzeko, egiaztapen hauek egiten ditugu:

  1. Babeskopia sortzea egiaztatzea
  2. Disko libreko espazioa egiaztatzen

Babeskopia sortzea egiaztatzea
Aplikazio gehienetan, garrantzitsua da datu-basearen babeskopiak eguneratuta edukitzea, zerbitzariak huts egiten badu, programa zerbitzari berri batera zabaldu ahal izateko.

ASMOk babeskopia bat sortzen du astean behin eta biltegira bidaltzen du. Prozedura hau arrakastaz amaitzen denean, arrakastaren egiaztapenaren emaitza monitorizazio sistemara bidaltzen da. Egiaztapenaren emaitzak 9 egunetarako balio du. Horiek. Segurtasun-kopien sorrera kontrolatzeko, "aurrerapena egiaztatzeko" mekanismoa erabiltzen da, goian aipatu duguna.

Disko libreko espazioa egiaztatzen
Diskoan leku libre nahikorik ez badago, datu-baseak ezin izango du behar bezala funtzionatu, beraz, garrantzitsua da leku librearen kopurua kontrolatzea.

Zenbakizko parametroak egiaztatzeko metrikak erabiltzea komeni da.

Metrikak zenbakizko aldagai bat da, zeinaren balioa monitorizazio sistemara transmititzen den. Jarraipen-sistemak atalasearen balioak egiaztatzen ditu eta egoera metrikoa kalkulatzen du.

Jarraian, "Datu-basea" osagaiak monitorizazio-sisteman duen itxuraren irudia dago:

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Zerbitzariaren jarraipena

Zerbitzaria monitorizatzeko honako egiaztapen eta metrika hauek erabiltzen ditugu:

1. Diskoko espazio librea
Diskoko tokia agortzen bada, aplikazioak ezin izango du funtzionatu. 2 atalase-balio erabiltzen ditugu: lehenengo maila ABISUA da, bigarren maila ALARMA.

2. Batez besteko RAM balioa orduko ehunekotan
Orduko batez bestekoa erabiltzen dugu, zeren... lasterketa arraroak ez zaizkigu interesatzen.

3. Batez besteko CPU ehunekoa orduko
Orduko batez bestekoa erabiltzen dugu, zeren... lasterketa arraroak ez zaizkigu interesatzen.

4. Ping egiaztapena
Zerbitzaria konektatuta dagoela egiaztatzen du. Jarraipen-sistemak egiaztapen hori egin dezake; ez dago kodea idatzi beharrik.

Jarraian, "Zerbitzaria" osagaiak monitorizazio-sisteman duen itxuraren irudia dago:

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Ekipoen jarraipena

Datuak nola lortzen diren esango dizut. Errepide-kontrol-puntu bakoitzeko (MPC) zeregin bat dago ataza-planifikatzailean, adibidez, "Inkesta MPC M2 km 200". Zereginak MPC gailu guztietako datuak jasotzen ditu 30 minuturo.

Komunikazio kanalaren arazoa
Ekipamendu gehiena hiritik kanpo dago; datuen transmisiorako GSM sare bat erabiltzen da, eta horrek ez du funtzionatzen egonkorrik (sare bat dago, edo ez dago).

Sareko hutsegiteen ondorioz, hasiera batean, MPC inkesta monitorizazioan egiaztatzea honelakoa zen:

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Argi geratu zen hau ez zela lan aukera bat, arazoei buruzko jakinarazpen faltsu asko zeudelako. Orduan erabaki zen gailu bakoitzerako β€œaurrerapen-egiaztapena” erabiltzea, hau da. Arrakasta-seinalea bakarrik bidaltzen da monitorizazio sistemara gailua akatsik gabe galdetzen denean. Garrantziaren denbora 5 ordutan ezarri zen.

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Orain monitorizazioak arazoei buruzko jakinarazpenak bidaltzen ditu gailua 5 ordu baino gehiagotan galdeketa egin ezin denean soilik. Probabilitate handiarekin, hauek ez dira alarma faltsuak, benetako arazoak baizik.

Jarraian, ekipamenduak monitorizazio sisteman duen itxuraren argazkia dago:

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Garrantzitsua da!
GSM sareak funtzionatzeari uzten dionean, MDC gailu guztiak ez dira galdetzen. Monitorizazio sistemaren mezu elektronikoen kopurua murrizteko, gure ingeniariek osagaien arazoei buruzko jakinarazpenetara harpidetzen dute "MPC" motako "Gailua" baino. Honi esker, MPC bakoitzeko jakinarazpen bat jaso dezakezu, gailu bakoitzeko jakinarazpen bat jaso beharrean.

Azken ASMO jarraipen-eskema

Ea dena elkartu eta ea zer nolako jarraipen-eskema dugun.

Elefantea zatika jaten dugu. Aplikazioaren osasuna kontrolatzeko estrategia adibideekin

Ondorioa

Laburtu dezagun.
Zer eman digu ASMOren errendimenduaren jarraipenak?

1. Akatsak kentzeko denbora gutxitu egin da
Erabiltzaileen aurrean akatsen berri izan dugu, baina erabiltzaile guztiek ez dute akatsen berri ematen. Gertatu zen sistemaren osagai baten matxura baten berri izan genuela, agertu eta astebetera. Orain monitorizazio sistemak arazoen berri ematen digu arazoren bat detektatu bezain laster.

2. Sistemaren egonkortasuna handitu da
Akatsak lehenago kentzen hasi zirenez, sistema osoa askoz egonkorrago funtzionatzen hasi zen.

3. Laguntza teknikorako dei kopurua murriztea
Arazo asko erabiltzaileek haien berri izan baino lehen konpontzen dira. Erabiltzaileak gutxiagotan hasi ziren laguntza teknikoarekin harremanetan jartzen. Horrek guztiak eragin ona du gure ospean.

4. Bezeroen eta erabiltzaileen leialtasuna areagotzea
Bezeroak aldaketa positiboak nabaritu zituen sistemaren egonkortasunean. Erabiltzaileek arazo gutxiago aurkitzen dituzte sistema erabiliz.

5. Laguntza teknikoaren kostuak murriztea
Eskuzko egiaztapenak egiteari utzi diogu. Orain egiaztapen guztiak automatizatuta daude. Aurretik, erabiltzaileengandik arazoen berri izan genuen; askotan zaila zen ulertzea zer arazotaz ari zen erabiltzailea. Orain, arazo gehienak monitorizazio sistemak salatzen ditu; jakinarazpenek datu teknikoak dituzte, eta horrek beti argi uzten du zer gertatu den gaizki eta non.

Garrantzitsua da!
Ezin duzu monitorizazio-sistema instalatu zure aplikazioak exekutatzen diren zerbitzari berean. Zerbitzaria jaisten bada, aplikazioak funtzionatzeari utziko dio eta ez da inor egongo horren berri emateko.

Jarraipen-sistemak beste datu-zentro bateko zerbitzari batean exekutatu behar du.

Datu-zentro berri batean zerbitzari dedikatu bat erabili nahi ez baduzu, hodeiko monitorizazio sistema erabil dezakezu. Gure enpresak Zidium hodeiko monitorizazio sistema erabiltzen du, baina beste edozein monitorizazio sistema erabil dezakezu. Hodeiko monitorizazio sistema baten kostua zerbitzari berri bat alokatzea baino txikiagoa da.

Gomendioak:

  1. Aplikazioak eta sistemak osagaien zuhaitz moduan zatitu ahalik eta xehetasun gehienetan, beraz, komenigarria izango da non eta zer hautsi den ulertzea, eta kontrola osatuagoa izango da.
  2. Osagai baten funtzionaltasuna egiaztatzeko, erabili probak. Hobe da egiaztapen sinple asko erabiltzea konplexu bat baino.
  3. Konfiguratu atalase metrikoak monitorizazio-sistemaren alboan, kodean idatzi beharrean. Honek aplikazioa berriro konpilatu, birkonfiguratu edo berrabiarazi beharrik izango ez duzu.
  4. Egiaztapen pertsonalizatuetarako, erabili garrantzia-denbora-tarte bat jakinarazpen faltsurik ez jasotzeko, egiaztapen batzuk ohi baino denbora pixka bat gehiago behar izan dutelako.
  5. Saiatu monitorizazio-sistemako osagaiak gorri bihurtzen arazo behin betiko dagoenean soilik. Ezerren truke gorri bihurtzen badira, jarraipen-sistemaren jakinarazpenei arreta jartzeari utziko diozu, bere esanahia galduko da.

Oraindik monitorizazio sistemarik erabiltzen ari ez bazara, hasi! Ez da dirudien bezain zaila. Jarri zaitez zuk zeuk hazitako osagai berdearen zuhaitzari begiratzea.

Zorte on.

Iturria: www.habr.com

Gehitu iruzkin berria