{"id":53531,"date":"2019-12-04T00:00:00","date_gmt":"2019-12-03T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej"},"modified":"2020-02-18T14:01:26","modified_gmt":"2020-02-18T11:01:26","slug":"ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej","title":{"rendered":"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/476a74b4808c9991139bb0d3c02762c0.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Industrijska izrada softverskih sustava zahtijeva veliku pa\u017enju na otpornost kona\u010dnog proizvoda, kao i brzo reagiranje na kvarove i neuspjehe, ako se oni dogode. Pra\u0107enje, naravno, poma\u017ee u\u010dinkovitije i br\u017ee reagirati na kvarove i probleme, ali to nije dovoljno. Prvo, vrlo je te\u0161ko pratiti veliki broj poslu\u017eitelja \u2014 potrebno je puno ljudi. Drugo, potrebno je dobro razumjeti kako je aplikacija konstruirana kako bi se moglo predvidjeti njezino stanje. Stoga, potrebno je mnogo ljudi koji dobro razumiju sustave koje razvijamo, njihove pokazatelje i osobitosti. Pretpostavimo, \u010dak i ako prona\u0111emo dovoljan broj ljudi voljnih baviti se tim, potrebno je jo\u0161 puno vremena da ih obu\u010dimo.<\/p>\n<p><\/p>\n<p>\u0160to u\u010diniti? Tu nam u pomo\u0107 dolazi umjetna inteligencija. Ovaj \u010dlanak \u0107e govoriti o <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Predictive_maintenance\">prediktivnom odr\u017eavanju<\/a><\/noindex> (predictive maintenance). Ovaj pristup aktivno dobiva na popularnosti. Napisano je mnogo \u010dlanaka, uklju\u010duju\u0107i i na Habr-u. Velike tvrtke ve\u0107 koriste takav pristup za odr\u017eavanje operativnosti svojih poslu\u017eitelja. Nakon \u0161to smo prou\u010dili mnogo \u010dlanaka, odlu\u010dili smo isprobati ovaj pristup. \u0160to se od toga izrodilo? <\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Uvod<\/h2>\n<p><\/p>\n<p>Razvijeni softverski sustav prije ili kasnije ulazi u upotrebu. Korisniku je va\u017eno da sustav radi bez ikakvih problema. Ako se neo\u010dekivana situacija ipak dogodi, ona se mora rije\u0161iti s minimalnim ka\u0161njenjem. <\/p>\n<p><\/p>\n<p>Za pojednostavljenje tehni\u010dke podr\u0161ke softverskog sustava, posebno ako je poslu\u017eitelja mnogo, obi\u010dno se koriste programi za pra\u0107enje koji prikupljaju metrike s radnog softverskog sustava, omogu\u0107uju dijagnosticiranje njegovog stanja i poma\u017eu odrediti \u0161to je uzrokovalo kvar. Ovaj proces se naziva pra\u0107enjem softverskog sustava.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/545e45775f8fc72a26f387234484fffc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>Slika 1. Su\u010delje za pra\u0107enje grafane<\/em><\/p>\n<p>Metrike su razli\u010dite mjere softverskog sustava, okru\u017eenja u kojem se izvr\u0161ava ili fizi\u010dke ra\u010dunalne ma\u0161ine ispod sustava, uz vremensku oznaku trenutka kada su metri\u010dki podaci prikupljeni. U stati\u010dkoj analizi, podaci metrika nazivaju se vremenskim serijama. Za nadgledanje stanja softverskog sustava, metrike se prikazuju u obliku grafova: na X osi je vrijeme, a na Y osi su vrijednosti (slika 1). Iz funkcionalnog softverskog sustava mo\u017ee se prikupljati nekoliko tisu\u0107a metrika (sa svakog \u010dvora). One \u010dine prostor metrika (vi\u0161edimenzionalne vremenske serije). <\/p>\n<p><\/p>\n<p>Budu\u0107i da se kod slo\u017eenih softverskih sustava prikuplja veliki broj metrika, ru\u010dno nadgledanje postaje slo\u017een zadatak. Kako bi se smanjila koli\u010dina podataka koje administratori analiziraju, alati za nadgledanje sadr\u017ee alate za automatsko otkrivanje mogu\u0107ih problema. Na primjer, mo\u017ee se postaviti okida\u010d koji se aktivira kada slobodni prostor na disku padne ispod nazna\u010denog praga. Tako\u0111er, mo\u017ee se automatski dijagnosticirati zaustavljanje servera ili kriti\u010dno usporavanje brzine usluge. U praksi, alati za nadgledanje prili\u010dno dobro obavljaju otkrivanje ve\u0107 dogovorenih neuspjeha ili prepoznavanje jednostavnih simptoma budu\u0107ih neuspjeha, ali u cjelini, predvi\u0111anje mogu\u0107eg kvara ostaje te\u017eak zadatak. Predvi\u0111anje kroz ru\u010dnu analizu metrika zahtijeva uklju\u010divanje kvalificiranih stru\u010dnjaka. To je nedjelotvorno. Ve\u0107ina mogu\u0107ih neuspjeha mo\u017ee ostati neprimije\u0107ena.<\/p>\n<p><\/p>\n<p>U posljednje vrijeme me\u0111u velikim IT kompanijama koje se bave razvojem softvera, prediktivno odr\u017eavanje softverskih sustava stje\u010de sve ve\u0107u popularnost. Su\u0161tina ovog pristupa le\u017ei u pronala\u017eenju kvarova koji dovode do degradacije sustava u ranim fazama, prije nego \u0161to do\u0111e do kvara, koriste\u0107i umjetnu inteligenciju. Ovaj pristup ne isklju\u010duje potpuno ru\u010dno nadgledanje sustava. Ono je pomo\u0107no za proces nadgledanja u cjelini. <\/p>\n<p><\/p>\n<p>Glavni alat za implementaciju prediktivnog odr\u017eavanja je zadatak pretra\u017eivanja anomalija u vremenskim serijama, budu\u0107i da <strong>u slu\u010daju pojave anomalije<\/strong> u podacima postoji velika vjerojatnost da \u0107e nakon nekog vremena <strong>do\u0107i \u0107e do kvara ili gre\u0161ke<\/strong>. Anomalija je odstupanje u performansama softverskog sustava, kao \u0161to je otkrivanje degradacije brzine izvr\u0161avanja upita jednog tipa ili smanjenje prosje\u010dnog broja obra\u0111enih zahtjeva pri stalnoj razini korisni\u010dkih sesija.<\/p>\n<p><\/p>\n<p>Zadatak pronala\u017eenja anomalija u softverskim sustavima ima svoje specifi\u010dnosti. Ideja je da za svaki softverski sustav treba razviti ili doraditi postoje\u0107e metode, jer pronala\u017eenje anomalija u velikoj mjeri ovisi o podacima u kojima se provodi, a podaci softverskih sustava vrlo su raznoliki, ovisno o alatima implementacije sustava pa \u010dak i o hardverskoj platformi na kojoj je pokrenut.<\/p>\n<p><\/p>\n<h2>Metode pronala\u017eenja anomalija pri prognoziranju kvarova softverskih sustava<\/h2>\n<p><\/p>\n<p>Prije svega, treba re\u0107i da je ideja prognoziranja kvarova inspirirana \u010dlankom <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/netcracker\/blog\/442620\/\">\u201eStrojno u\u010denje u IT-monitoringu\u201c<\/a><\/noindex>. Za provjeru u\u010dinkovitosti pristupa automatiziranom pronala\u017eenju anomalija, izabran je softverski sustav \u201eWeb-Konsolidacija\u201c, koji je jedan od projekata tvrtke NPO \u201eKrista\u201c. Za njega se ranije provodio ru\u010dni nadzor temeljen na dobivenim metrima. Kako je sustav dovoljno slo\u017een, za njega se prikupljaju veliki brojevi metrika: pokazatelji JVM-a (optere\u0107enje sakuplja\u010da sme\u0107a), pokazatelji OS-a na kojem je kod izvr\u0161en (virtualna memorija, % optere\u0107enja CPU-a OS-a), pokazatelji mre\u017ee (optere\u0107enje mre\u017ee), samog servera (optere\u0107enje CPU-a, memorije), metri wildfly-a i vlastiti metri aplikacije po svim kriti\u010dnim podsustavima. <\/p>\n<p><\/p>\n<p>Sve metrike prikupljaju se iz sustava uz pomo\u0107 graphite-a. U po\u010detku je kori\u0161tena baza whisper kao standardno rje\u0161enje za grafanu, ali s rastom baze korisnika, graphite vi\u0161e nije mogao podnijeti, dosegnuv\u0161i propusnost diskovnog sustava DC-a. Nakon toga donesena je odluka o pronala\u017eenju u\u010dinkovitijeg rje\u0161enja. Odabir je pao na <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/avito\/blog\/343928\/\">graphite+clickhouse<\/a><\/noindex>, \u0161to je omogu\u0107ilo smanjenje optere\u0107enja na disku za red veli\u010dine i pet-\u0161est puta smanjenje zauze\u0107a diska. Ispod je prikazana shema mehanizma prikupljanja metrika uz kori\u0161tenje graphite+clickhouse (slika 2).<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/9b57d61a3e1e5e87922832ca2fc18d6e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><em>Slika 2. Shema prikupljanja metrika<\/em><\/p>\n<p>Shema je preuzeta iz interne dokumentacije. Na njoj je prikazana razmena podataka izme\u0111u grafane (korisni\u010dkog interfejsa za pra\u0107enje koji koristimo) i graphite. Merenje metrika iz aplikacije vr\u0161i poseban softver \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/jmxtrans\/jmxtrans\">jmxtrans<\/a><\/noindex>. On tako\u0111e \u010duva te podatke u graphite.<br \/>\nSistem 'Web-Konsolidacija' ima niz karakteristika koje stvaraju probleme u prognoziranju kvarova:<\/p>\n<p><\/p>\n<ol>\n<li>\u010desto dolazi do promene trenda. Na ovu softversku sistem izlaze razli\u010dite verzije. Svaka od njih donosi promene u softverskom delu sistema. Shodno tome, programeri direktno uti\u010du na metrike ovog sistema i mogu izazvati promenu trenda; <\/li>\n<li>karakteristike implementacije, kao i ciljevi kori\u0161\u0107enja od strane korisnika \u010desto izazivaju anomalije bez prethodne degradacije; <\/li>\n<li>procena anomalija u odnosu na celokupni skup podataka je mala (&lt; 5%); <\/li>\n<li>mogu se pojaviti prekidi u dobijanju pokazatelja iz sistema. U nekim kratkim vremenskim okvirima sistemu za pra\u0107enje ne uspeva da dobije metrike. Na primer, ako je server preoptere\u0107en. Za obu\u010davanje neuronske mre\u017ee ovo je kriti\u010dno. Pojavljuje se potreba za sinteti\u010dkim popunjavanjem praznina;<\/li>\n<li>Slu\u010dajevi s anomalijama \u010desto su relevantni samo za odre\u0111enu brojku\/mesece\/vreme (sezonalnost). Ovaj sistem ima jasne regulative kori\u0161\u0107enja od strane njegovih korisnika. Shodno tome, metrike su relevantne samo za odre\u0111eno vreme. Sistem se mo\u017ee koristiti neprekidno, ve\u0107 samo u odre\u0111enim mesecima: selektivno, zavisno od godine. Pojavljuju se situacije kada isto pona\u0161anje metrika mo\u017ee dovesti do kvara softverskog sistema, dok u drugom slu\u010daju ne.<br \/>\nU po\u010detku su analizirane metode otkrivanja anomalija u podacima pra\u0107enja softverskih sistema. U \u010dlancima na ovu temu se pri malim procentima anomalija u odnosu na ostatak skupa podataka naj\u010de\u0161\u0107e predla\u017ee kori\u0161\u0107enje neuronskih mre\u017ea. <\/li>\n<\/ol>\n<p><\/p>\n<p>Osnovna logika za pretragu anomalija koriste\u0107i podatke neuronskih mre\u017ea prikazana je na slici 3:<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/4d636fae327bf2e66a4c90728e2de0ea.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><em>Slika 3. Pretraga anomalija kori\u0161\u0107enjem neuronske mre\u017ee<\/em><\/p>\n<p>Na rezultatu prognoze ili obnove prozora trenutnog toka metrika izra\u010dunava se odstupanje od dobivenog s radnog programskog sustava. U slu\u010daju velike razlike izme\u0111u dobivenih metrika iz programskog sustava i neuronske mre\u017ee, mo\u017ee se donijeti zaklju\u010dak o anomalnosti trenutnog dijela podataka. Pojavljuje se sljede\u0107i niz problema za kori\u0161tenje neuronskih mre\u017ea:<\/p>\n<p><\/p>\n<ol>\n<li>za ispravno funkcioniranje u streaming re\u017eimu podaci za obuku modela neuronskih mre\u017ea trebaju uklju\u010divati samo \"normalne\" podatke; <\/li>\n<li>neophodno je imati a\u017eurirani model za to\u010dno otkrivanje. Promjena trenda i sezonalnosti u metrikama mo\u017ee uzrokovati veliki broj la\u017enih pozitivnih nalaza modela. Za njegovo a\u017euriranje potrebno je jasno odrediti vrijeme kada model postaje zastario. Ako se model a\u017eurira prekasno ili prerano, vjerojatno \u0107e uslijediti veliki broj la\u017enih pozitivnih nalaza.<br \/>\nTako\u0111er se ne smije zaboraviti na pronala\u017eenje i spre\u010davanje \u010destog nastanka la\u017enih pozitivnih nalaza. Pretpostavlja se da \u0107e se oni naj\u010de\u0161\u0107e pojavljivati u izvanrednim situacijama. Me\u0111utim, mogu biti i posljedica gre\u0161ke neuronske mre\u017ee zbog nedovoljnog treniranja. Potrebno je minimizirati broj la\u017enih pozitivnih nalaza modela. U suprotnom, la\u017ene prognoze \u0107e oduzeti puno vremena administratoru, koje je namijenjeno provjeri sustava. Pr sooner ili kasnije zavr\u0161it \u0107e tako da administrator jednostavno prestane reagirati na \"paranoi\u010dan\" sustav nadzora.<\/li>\n<\/ol>\n<p><\/p>\n<h2>Rekurentna neuronska mre\u017ea<\/h2>\n<p><\/p>\n<p>Za otkrivanje anomalija u vremenskim serijama mo\u017ee se primijeniti <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%A0%D0%B5%D0%BA%D1%83%D1%80%D1%80%D0%B5%D0%BD%D1%82%D0%BD%D0%B0%D1%8F_%D0%BD%D0%B5%D0%B9%D1%80%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8C\">rekurentna neuronska mre\u017ea <\/a><\/noindex>s LSTM memorijom. Problem je samo u tome \u0161to se mo\u017ee koristiti samo za predvi\u0111ene vremenske serije. U na\u0161em slu\u010daju nisu sve metrike predvidive. Poku\u0161aj primjene RNN LSTM za vremensku seriju prikazan je na slici 4.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/d1a79122bf1c98f20b5d8795e6a666fe.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><em>Slika 4. Primjer rada rekurentne neuronske mre\u017ee s LSTM memorijskim \u0107elijama<\/em><\/p>\n<p>Kao \u0161to je prikazano na slici 4, RNN LSTM uspjela je prepoznati anomalije u ovom vremenskom razdoblju. Tamo gdje je rezultat imao visoku prediktivnu pogre\u0161ku (mean error), zapravo je do\u0161lo do anomalije u pokazateljima. Kori\u0161tenje samo jedne RNN LSTM o\u010dito ne\u0107e biti dovoljno, jer se primjenjuje na malom broju metrika. Mo\u017ee se koristiti kao pomo\u0107na metoda za otkrivanje anomalija. <\/p>\n<p><\/p>\n<h2>Autoenkoder za predvi\u0111anje kvarova<\/h2>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%B2%D1%82%D0%BE%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D1%89%D0%B8%D0%BA\">Autoenkoder<\/a><\/noindex> \u2013 su\u0161tinski umjetna neuronska mre\u017ea. Ulazni sloj \u2013 encoder, izlazni sloj \u2013 decoder. Nedostatak svih neuronskih mre\u017ea ovog tipa je lo\u0161a lokalizacija anomalija. Odabrana je arhitektura sinkronog autoenkodera.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/bdec355107f1e22a7b608fcf7dcb0cf7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<p><em>Slika 5. Primjer rada autoenkodera<\/em><\/p>\n<p>Autoenkoderi se treniraju na normalnim podacima, a zatim pronalaze ne\u0161to anomalno u podacima koji se unose u model. To je upravo ono \u0161to je potrebno za ovaj zadatak. Ostaje samo odabrati koji autoenkoder odgovara ovom zadatku. Arhitektonski najjednostavniji oblik autoenkodera predstavlja direktnu, jednokratnu neuronsku mre\u017eu koja vrlo sli\u010di <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%BD%D0%BE%D0%B3%D0%BE%D1%81%D0%BB%D0%BE%D0%B9%D0%BD%D1%8B%D0%B9_%D0%BF%D0%B5%D1%80%D1%86%D0%B5%D0%BF%D1%82%D1%80%D0%BE%D0%BD_%D0%A0%D1%83%D0%BC%D0%B5%D0%BB%D1%8C%D1%85%D0%B0%D1%80%D1%82%D0%B0\">vi\u0161eslojnim perceptronu<\/a><\/noindex> (multilayer perceptron, MLP), s ulaznim slojem, izlaznim slojem i jednim ili vi\u0161e skrivenih slojeva koji ih povezuju.<br \/>\nMe\u0111utim, razlike izme\u0111u autoenkodera i MLP-a le\u017ee u tome \u0161to u autoenkoderu izlazni sloj ima isti broj \u010dvorova kao i ulazni, i \u0161to se umjesto predikcije ciljne vrijednosti Y, zadane ulazom X, autoenkoder trenira da rekonstrui\u0161e vlastite X. Stoga su autoenkoderi modeli za u\u010denje bez nadzora. <\/p>\n<p><\/p>\n<p>Zadatak autoenkodera je prona\u0107i vremenske indekse r0 \u2026 rn, koji odgovaraju anomalnim elementima u ulaznom vektoru X. Ovaj u\u010dinak posti\u017ee se pretra\u017eivanjem kvadratne pogre\u0161ke.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/f03800c42eb1998603c0ae217208d40a.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><em>Slika 6. Sinkroni autoenkoder<\/em><\/p>\n<p>Za autoenkoder je odabrana <noindex><a rel=\"nofollow\" href=\"https:\/\/www.highload.ru\/2017\/abstracts\/2938.html\">sinkrona arhitektura<\/a><\/noindex>. Njezine prednosti: mogu\u0107nost kori\u0161tenja struje podataka i relativno manji broj parametara neuronske mre\u017ee u odnosu na druge arhitekture.<\/p>\n<p><\/p>\n<h2>Mehanizam minimizacije la\u017enih alarma<\/h2>\n<p><\/p>\n<p>S obzirom na to da se javljaju razli\u010dite nepredvi\u0111ene situacije, kao i mogu\u0107nost nedovoljnog treniranja neuronske mre\u017ee, odlu\u010deno je o potrebi razvoja mehanizma za minimiziranje la\u017enih uzbuna za razvijeni model otkrivanja anomalija. Ovaj mehanizam temelji se na bazi obrazaca koju klasificira administrator. <\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%90%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC_%D0%B4%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B9_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%B8_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%BE%D0%B9_%D1%88%D0%BA%D0%B0%D0%BB%D1%8B\">Algoritam dinami\u010dke transformacije vremenske osi<\/a><\/noindex> (DTW-algoritam, od eng. dynamic time warping) omogu\u0107uje pronala\u017eenje optimalnog uskla\u0111enja izme\u0111u vremenskih nizova. Prvi put je primijenjen u prepoznavanju govora: kori\u0161ten je za odre\u0111ivanje kako dva govorna signala predstavljaju istu izvorno izgovorenu frazu. Kasnije je prona\u0111ena primjena i u drugim podru\u010djima.<\/p>\n<p><\/p>\n<p>Osnovni princip minimizacije la\u017enih uzbuna je prikupljanje baze uzoraka uz pomo\u0107 operatora koji klasificira sumnjive slu\u010dajeve otkrivene pomo\u0107u neuronskih mre\u017ea. Slijedi usporedba klasificiranog uzorka s onim slu\u010dajem koji je sustav otkrio, te se donosi zaklju\u010dak o pripadnosti slu\u010daja la\u017enom uzbuni ili onom koji uzrokuje kvar. Upravo za usporedbu dva vremenska niza koristi se algoritam DTW. Glavni alat minimizacije i dalje ostaje klasifikacija. Pretpostavlja se da \u0107e nakon prikupljanja velikog broja uzoraka sustav po\u010deti manje tra\u017eiti od operatora zbog sli\u010dnosti ve\u0107ine slu\u010dajeva i pojave sli\u010dnih.<\/p>\n<p><\/p>\n<p>Na osnovu gore opisanih metoda neuronskih mre\u017ea izgra\u0111en je eksperimentalni program za predikciju kvarova sustava 'Web-Konsolidacija'. Cilj ovog programa bio je, koriste\u0107i postoje\u0107i arhiv podataka o nadzoru i informacije o ve\u0107 nastalim kvarovima, procijeniti u\u010dinkovitost pristupa za na\u0161e softverske sustave. Shema rada programa prikazana je u nastavku, na slici 7.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/08ad00dc7f8bd9463c786ce3d7469ed0.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><em>Slika 7. Shema predikcije kvarova na temelju analize prostora metrika<\/em><\/p>\n<p>Na shemi se mogu izdvojiti dva osnovna bloka: pronalazak anomalnih vremenskih segmenata u protoku podataka o nadzoru (metrikama) i mehanizam minimiziranja la\u017enih uzbuna. Napomena: u eksperimentalne svrhe podaci se dobivaju putem JDBC veze iz baze podataka u koju ih pohranjuje graphite.<br \/>\nNastavlja se s prikazom su\u010delja razvijenog sustava za pra\u0107enje (slika 8).<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/e1123edf91c368a38151388a459514f4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>Slika 8. Su\u010delje eksperimentalnog sustava za pra\u0107enje<\/em><\/p>\n<p>Na su\u010delju se prikazuje postotak anomalije temeljen na primljenim metrikanama. U na\u0161em slu\u010daju, to se modelira. Ve\u0107 imamo sve podatke za nekoliko tjedana i postupno ih u\u010ditavamo kako bismo provjerili slu\u010daj s anomalijom koja dovodi do zastoja. U donjoj statusnoj traci prikazan je ukupni postotak anomalije podataka u tom trenutku, koji se odre\u0111uje pomo\u0107u autoenkodera. Tako\u0111er, za predvi\u0111ene metrike prikazuje se zaseban postotak koji izra\u010dunava RNN LSTM.<\/p>\n<p><\/p>\n<p>Primjer otkrivanja anomalije prema pokazateljima CPU-a pomo\u0107u neuronske mre\u017ee RNN LSTM (slika 9).<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/b77517f01cb13031b28ae2ac7464fe19.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>Slika 9. Otkrivanje RNN LSTM<\/em><\/p>\n<p>Prili\u010dno jednostavan slu\u010daj, zapravo obi\u010dan izlet, ali dovodi do zastoja sustava, uspje\u0161no je identificiran pomo\u0107u RNN LSTM. Postotak anomalije u ovom vremenskom okviru iznosi 85 \u2013 95%, sve \u0161to je iznad 80% (prag je eksperimentalno utvr\u0111en) smatra se anomalijom.<br \/>\nPrimjer otkrivanja anomalije kada sustav nije mogao pokrenuti nakon a\u017euriranja. Ovu situaciju detektira autoenkoder (slika 10).<\/p>\n<p>\n<img decoding=\"async\" alt=\"Tra\u017eenje anomalija i predvi\u0111anje kvarova uz pomo\u0107 neuronskih mre\u017ea\" src=\"\/wp-content\/uploads\/2019\/12\/cf2e38fc569b3a4f8a3f150b396853cc.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><em>Slika 10. Primjer otkrivanja od strane autoenkodera<\/em><\/p>\n<p>Kao \u0161to se mo\u017ee vidjeti na slici, PermGen je ostao na jednoj razini. Autoenkoder je to smatrao \u010dudnim jer ranije nije vidio ni\u0161ta sli\u010dno. Anomalija se zadr\u017eava na 100% do povratka sustava u radno stanje. Anomalija se prikazuje za sve metrike. Kao \u0161to je ranije spomenuto, autoenkoder ne mo\u017ee lokalizirati anomalije. Operater ima zada\u0107u izvr\u0161iti ovu funkciju u takvim situacijama.<\/p>\n<p><\/p>\n<h2>Zaklju\u010dak<\/h2>\n<p><\/p>\n<p>Projekt \"Web-Konsolidacija\" se razvija ve\u0107 nekoliko godina. Sustav je u prili\u010dno stabilnom stanju, a broj registriranih incidenata je mali. Ipak, uspje\u0161no su prona\u0111ene anomalije koje su dovele do zastoja 5 \u2013 10 minuta prije nego \u0161to je do\u0161lo do zastoja. U nekim slu\u010dajevima, pravovremeno obavje\u0161tavanje o zastoju pomoglo bi u\u0161tedjeti vrijeme koje je dodijeljeno za izvo\u0111enje \"popravnih\" radova.<\/p>\n<p><\/p>\n<p>Na temelju eksperimenata koje smo proveli, jo\u0161 je prerano donositi kona\u010dne zaklju\u010dke. Trenutni rezultati su kontradiktorni. S jedne strane, vidljivo je da algoritmi temeljeni na neuronskim mre\u017eama mogu prona\u0107i \"korisne\" anomalije. S druge strane, postoji veliki postotak la\u017enih uzbuna, a ne uspijevamo otkriti sve anomalije koje kvalificirani stru\u010dnjak mo\u017ee identificirati neuronskom mre\u017eom. Me\u0111u nedostacima je i to \u0161to trenutna neuronska mre\u017ea zahtijeva u\u010denje pod nadzorom za normalan rad.<\/p>\n<p><\/p>\n<p>Za daljnji razvoj sustava predikcije kvarova i njegovog dovo\u0111enja do zadovoljavaju\u0107e razine, mogu se razmotriti nekoliko putova. To je detaljnija analiza slu\u010dajeva s anomalijama koje dovode do kvara, nadogradnjom popisa va\u017enih metrika koje zna\u010dajno utje\u010du na stanje sustava, te odbacivanje onih koje nemaju utjecaja. Tako\u0111er, ako krenemo u tom smjeru, mo\u017eemo poku\u0161ati specijalizirati algoritme konkretno za na\u0161e slu\u010dajeve s anomalijama koje dovode do kvarova. Postoji i drugi put. To je unapre\u0111enje arhitektura neuronskih mre\u017ea i pove\u0107anje to\u010dnosti otkrivanja uz smanjenje vremena potrebnog za u\u010denje.<\/p>\n<p><\/p>\n<p>Izra\u017eavam zahvalnost kolegama koji su mi pomagali u pisanju i odr\u017eavanju a\u017eurnosti ovog \u010dlanka: <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/vektory79\/\">Viktoru Verbickom<\/a><\/noindex> i Sergiju Finogenovu.<\/p>\n<p>Izvor: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/krista\/blog\/478392\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0442\u0440\u0435\u0431\u0443\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u043e\u0433\u043e \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f \u043a \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0431\u044b\u0441\u0442\u0440\u043e\u0433\u043e \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043e\u0442\u043a\u0430\u0437\u044b \u0438 \u0441\u0431\u043e\u0438, \u0435\u0441\u043b\u0438 \u043e\u043d\u0438 \u0432\u0441\u0435-\u0442\u0430\u043a\u0438 \u0441\u043b\u0443\u0447\u0430\u044e\u0442\u0441\u044f. \u041c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0436\u0435, \u043f\u043e\u043c\u043e\u0433\u0430\u0435\u0442 \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u043e\u0442\u043a\u0430\u0437\u044b \u0438 \u0441\u0431\u043e\u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0438 \u0431\u044b\u0441\u0442\u0440\u0435\u0435, \u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043e\u0447\u0435\u043d\u044c \u0441\u043b\u043e\u0436\u043d\u043e \u0443\u0441\u043b\u0435\u0434\u0438\u0442\u044c \u0437\u0430 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u2013 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043b\u044e\u0434\u0435\u0439. \u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u043d\u0443\u0436\u043d\u043e \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u043a\u0430\u043a [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53531","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0418\u0449\u0435\u043c \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u0431\u043e\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-03T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Istra\u017eujemo anomalije i predvi\u0111amo kvarove pomo\u0107u neuronskih mre\u017ea | ProHoster","description":"Industrijski razvoj.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0418\u0449\u0435\u043c \u0430\u043d\u043e\u043c\u0430\u043b\u0438\u0438 \u0438 \u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u0441\u0431\u043e\u0438 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u0435\u0439 | ProHoster","og:description":"\u041f\u0440\u043e\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430.","og:url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ishhem-anomalii-i-predskazyvaem-sboi-s-pomoshhyu-nejrosetej","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-03T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53531","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 07:46:24","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:23:55","updated":"2026-01-24 07:46:24","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/53531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=53531"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/53531\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=53531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=53531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=53531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}