Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Iðnaðarþróun hugbúnaðarkerfa krefst mikillar athygli á bilanaþoli lokaafurðar, sem og skjótra viðbragða við bilunum og bilunum ef þær koma upp. Vöktun hjálpar að sjálfsögðu til að bregðast við mistökum og bilunum á skilvirkari og hraðari hátt, en ekki nóg. Í fyrsta lagi er mjög erfitt að halda utan um mikinn fjölda netþjóna - það þarf mikinn fjölda fólks. Í öðru lagi þarftu að hafa góðan skilning á því hvernig forritið virkar til að spá fyrir um ástand þess. Þess vegna þurfum við fullt af fólki sem hefur góðan skilning á kerfum sem við erum að þróa, frammistöðu þeirra og eiginleikum. Gerum ráð fyrir að jafnvel þótt þú finnir nógu marga tilbúna til að gera þetta, þá tekur það samt mikinn tíma að þjálfa þá.

Hvað skal gera? Þetta er þar sem gervigreind kemur okkur til hjálpar. Í greininni verður talað um forspárviðhald (forspárviðhald). Þessi nálgun nýtur virkan vinsælda. Mikill fjöldi greina hefur verið skrifaður, meðal annars um Habré. Stór fyrirtæki nýta sér þessa nálgun til fulls til að viðhalda afköstum netþjóna sinna. Eftir að hafa kynnt okkur mikinn fjölda greina ákváðum við að prófa þessa aðferð. Hvað kom út úr því?

Inngangur

Þróað hugbúnaðarkerfi fer fyrr eða síðar í notkun. Það er mikilvægt fyrir notandann að kerfið virki án bilana. Ef neyðarástand kemur upp ætti að leysa það með lágmarks töf.

Til að einfalda tæknilega aðstoð við hugbúnaðarkerfi, sérstaklega ef það eru margir netþjónar, eru vöktunarforrit venjulega notuð sem taka mælikvarða úr keyrandi hugbúnaðarkerfi, gera það mögulegt að greina ástand þess og hjálpa til við að ákvarða hvað nákvæmlega olli biluninni. Þetta ferli er kallað hugbúnaðarkerfiseftirlit.

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 1. Grafana vöktunarviðmót

Mælingar eru ýmsar vísbendingar um hugbúnaðarkerfi, framkvæmdarumhverfi þess eða líkamlega tölvuna sem kerfið er í gangi undir með tímastimpli fyrir augnablikið þegar mælingarnar voru mótteknar. Í kyrrstöðugreiningu eru þessar mælingar kallaðar tímaraðir. Til að fylgjast með ástandi hugbúnaðarkerfisins eru mælingar sýndar í formi línurita: tíminn er á X-ásnum og gildin eru meðfram Y-ásnum (mynd 1). Hægt er að taka nokkur þúsund mælikvarða úr keyrandi hugbúnaðarkerfi (frá hverjum hnút). Þeir mynda rými mælikvarða (fjölvíddar tímaraðir).

Þar sem miklum fjölda mæligilda er safnað fyrir flókin hugbúnaðarkerfi, verður handvirkt eftirlit erfitt verkefni. Til að draga úr magni gagna sem stjórnandinn greinir, innihalda vöktunartæki verkfæri til að bera kennsl á hugsanleg vandamál sjálfkrafa. Til dæmis geturðu stillt kveikju til að ræsa þegar laust pláss á diski fer undir tiltekinn þröskuld. Þú getur líka sjálfkrafa greint lokun netþjóns eða mikilvægan hægagang á þjónustuhraða. Í reynd gera eftirlitstæki gott starf við að greina bilanir sem þegar hafa átt sér stað eða bera kennsl á einföld einkenni framtíðarbilana, en almennt er erfitt að spá fyrir um hugsanlega bilun. Spá með handvirkri greiningu á mæligildum krefst þátttöku hæfra sérfræðinga. Það er lítil framleiðni. Flestar hugsanlegar bilanir kunna að fara óséður.

Nýlega hefur svokallað forspárviðhald hugbúnaðarkerfa orðið sífellt vinsælli meðal stórra upplýsingatæknihugbúnaðarþróunarfyrirtækja. Kjarninn í þessari nálgun er að finna vandamál sem leiða til kerfisrýrnunar á fyrstu stigum, áður en það mistekst, með því að nota gervigreind. Þessi aðferð útilokar ekki alveg handvirkt eftirlit með kerfinu. Það er aukaatriði við eftirlitsferlið í heild.

Helsta tólið til að innleiða forspárviðhald er það verkefni að leita að frávikum í tímaröðum, síðan þegar frávik eiga sér stað í gögnunum eru miklar líkur á að eftir nokkurn tíma það verður bilun eða bilun. Frávik er ákveðið frávik í frammistöðu hugbúnaðarkerfis, svo sem að auðkenna rýrnun á hraða framkvæmdar einnar tegundar beiðni eða lækkun á meðalfjölda þjónustubeiðna á föstu stigi viðskiptavinalota.

Verkefnið að leita að frávikum fyrir hugbúnaðarkerfi hefur sín sérstöðu. Í orði, fyrir hvert hugbúnaðarkerfi er nauðsynlegt að þróa eða betrumbæta núverandi aðferðir, þar sem leit að frávikum er mjög háð gögnunum sem hún er framkvæmd í og ​​gögn hugbúnaðarkerfa eru mjög mismunandi eftir tækjum til að innleiða kerfið , niður í hvaða tölvu það er að keyra á.

Aðferðir til að leita að frávikum þegar spáð er fyrir um bilanir í hugbúnaðarkerfum

Fyrst af öllu, það er þess virði að segja að hugmyndin um að spá fyrir um mistök var innblásin af greininni „Vélnám í upplýsingatæknivöktun“. Til að prófa virkni nálgunarinnar með sjálfvirkri leit að frávikum var Web-Consolidation hugbúnaðarkerfið valið sem er eitt af verkefnum NPO Krista fyrirtækisins. Áður var framkvæmt handvirkt eftirlit með því miðað við mótteknar mælitölur. Þar sem kerfið er nokkuð flókið er fjöldi mælikvarða tekinn fyrir það: JVM vísbendingar (sorphirðuálag), vísbendingar um stýrikerfið sem kóðinn er keyrður undir (sýndarminni, % OS CPU álag), netvísar (netálag) ), þjónninn sjálfur (CPU hleðsla, minni), villtflugsmælingar og eigin mæligildi forritsins fyrir öll mikilvæg undirkerfi.

Allar mælingar eru teknar úr kerfinu með grafíti. Upphaflega var hvíslagagnagrunnurinn notaður sem staðallausn fyrir grafana, en eftir því sem viðskiptavinahópurinn stækkaði gat grafít ekki lengur ráðið við, enda búið að tæma getu DC diska undirkerfisins. Eftir þetta var ákveðið að finna árangursríkari lausn. Valið var í hag grafít+smellhús, sem gerði það að verkum að hægt var að minnka álag á undirkerfi diska um stærðargráðu og minnka upptekið pláss um fimm til sexfalt. Hér að neðan er skýringarmynd af vélbúnaðinum til að safna mæligildum með því að nota grafít+smellhús (Mynd 2).

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 2. Skipulag til að safna mæligildum

Skýringarmyndin er tekin úr innri skjölum. Það sýnir samskipti grafana (vöktunarviðmótsins sem við notum) og grafít. Að fjarlægja mæligildi úr forriti er gert með sérstökum hugbúnaði - jmxtrans. Hann setur þær í grafít.
Web Consolidation kerfið hefur fjölda eiginleika sem skapa vandamál við að spá fyrir um bilanir:

  1. Stefnan breytist oft. Ýmsar útgáfur eru fáanlegar fyrir þetta hugbúnaðarkerfi. Hver þeirra kemur með breytingar á hugbúnaðarhluta kerfisins. Í samræmi við það, á þennan hátt, hafa verktaki bein áhrif á mælikvarða tiltekins kerfis og geta valdið stefnubreytingu;
  2. innleiðingareiginleikinn, sem og tilgangurinn sem viðskiptavinir nota þetta kerfi í, valda oft frávikum án fyrri niðurbrots;
  3. hlutfall frávika miðað við allt gagnasafnið er lítið (< 5%);
  4. Það geta verið eyður í móttöku vísbendinga frá kerfinu. Á stuttum tíma nær eftirlitskerfinu ekki að fá mæligildi. Til dæmis ef þjónninn er ofhlaðinn. Þetta er mikilvægt til að þjálfa taugakerfi. Það er þörf á að fylla í eyðurnar með tilbúnum hætti;
  5. Tilvik með frávik eiga oft aðeins við fyrir ákveðinn dag/mánuð/tíma (árstíðarsveiflu). Þetta kerfi hefur skýrar reglur um notkun þess fyrir notendur. Samkvæmt því eiga mælikvarðar aðeins við á tiltekinn tíma. Kerfið er ekki hægt að nota stöðugt, en aðeins í suma mánuði: valið eftir ártali. Aðstæður koma upp þegar sama hegðun mælinga í einu tilviki getur leitt til bilunar í hugbúnaðarkerfinu, en ekki í öðru.
    Til að byrja með voru greindar aðferðir til að greina frávik í vöktunargögnum hugbúnaðarkerfa. Í greinum um þetta efni, þegar hlutfall frávika er lítið miðað við restina af gagnasafninu, er oftast lagt til að nota taugakerfi.

Grunnrökfræðin til að leita að frávikum með gögnum um taugakerfi er sýnd á mynd 3:

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 3. Leit að frávikum með því að nota tauganet

Byggt á niðurstöðu spá eða endurheimt glugga núverandi mæligildisflæðis er frávik frá því sem berast frá keyrandi hugbúnaðarkerfinu reiknað. Ef það er mikill munur á mælingum sem fást úr hugbúnaðarkerfinu og taugakerfi, getum við ályktað að núverandi gagnahluti sé afbrigðilegur. Eftirfarandi röð vandamála koma upp við notkun tauganeta:

  1. til að virka rétt í streymisham verða gögnin fyrir þjálfun taugakerfislíkana aðeins að innihalda „venjuleg“ gögn;
  2. það er nauðsynlegt að hafa uppfært líkan fyrir rétta greiningu. Breytingar á straumum og árstíðabundnum mælingum geta valdið miklum fjölda rangra jákvæðra punkta í líkaninu. Til að uppfæra það er nauðsynlegt að greinilega ákvarða tímann þegar líkanið er úrelt. Ef þú uppfærir líkanið seinna eða fyrr, þá mun líklega mikill fjöldi rangra jákvæðra fylgja í kjölfarið.
    Við megum heldur ekki gleyma því að leita að og koma í veg fyrir að rangar jákvæðar séu tíðar. Gert er ráð fyrir að þær komi oftast fram í neyðartilvikum. Hins vegar geta þau einnig verið afleiðing af villu í tauganeti vegna ófullnægjandi þjálfunar. Nauðsynlegt er að lágmarka fjölda rangra jákvæða líkansins. Annars munu rangar spár eyða miklum tíma stjórnanda sem ætlað er að athuga kerfið. Fyrr eða síðar mun stjórnandinn einfaldlega hætta að bregðast við „paranoid“ eftirlitskerfinu.

Endurtekið tauganet

Til að greina frávik í tímaröðum geturðu notað endurtekið tauganet með LSTM minni. Eina vandamálið er að það er aðeins hægt að nota það fyrir spáð tímaraðir. Í okkar tilviki eru ekki allar mælingar fyrirsjáanlegar. Tilraun til að beita RNN LSTM á tímaröð er sýnd á mynd 4.

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 4. Dæmi um endurtekið taugakerfi með LSTM minnisfrumum

Eins og sést á mynd 4 tókst RNN LSTM að takast á við leit að frávikum á þessu tímabili. Þar sem niðurstaðan hefur mikla spávillu (meðalvilla) hefur í raun átt sér stað frávik í vísbendingunum. Það er greinilega ekki nóg að nota eitt RNN LSTM þar sem það á við um fáa mælikvarða. Hægt að nota sem hjálparaðferð til að leita að frávikum.

Sjálfvirkur kóðari fyrir bilunarspá

Sjálfvirkur kóðari - í raun gervi taugakerfi. Inntakslagið er kóðari, úttakslagið er afkóðari. Ókosturinn við öll taugakerfi af þessari gerð er að þau staðsetja frávik ekki vel. Samstilltur sjálfkóðunararkitektúr var valinn.

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 5. Dæmi um virkni sjálfkóðara

Sjálfkóðarar eru þjálfaðir á venjulegum gögnum og finna síðan eitthvað afbrigðilegt í gögnunum sem eru færð í líkanið. Einmitt það sem þú þarft fyrir þetta verkefni. Allt sem er eftir er að velja hvaða sjálfkóðari hentar fyrir þetta verkefni. Byggingarfræðilega einfaldasta form sjálfkóðara er framvirkt tauganet sem ekki skilar sér aftur, sem er mjög svipað og fjöllaga skynjari (multilayer perceptron, MLP), með inntakslagi, úttakslagi og einu eða fleiri földum lögum sem tengja þau saman.
Hins vegar er munurinn á sjálfkóðara og MLP að í sjálfkóðara hefur úttakslagið sama fjölda hnúta og inntakslagið og að í stað þess að vera þjálfað til að spá fyrir um markgildi Y gefið af inntak X, þá er sjálfkóðarinn þjálfaður til að endurbyggja eigin Xs. Þess vegna eru sjálfkóðunartæki án eftirlits námslíkön.

Verkefni sjálfkóðarans er að finna tímavísitölurnar r0 ... rn sem samsvara afbrigðilegu þáttunum í inntaksvigrinum X. Þessi áhrif næst með því að leita að veldisvillu.

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 6. Samstilltur sjálfkóðari

Fyrir sjálfvirkan kóðara var valinn samstilltur arkitektúr. Kostir þess: hæfileikinn til að nota streymisvinnsluham og tiltölulega færri færibreytur taugakerfis samanborið við aðra arkitektúr.

Vélbúnaður til að lágmarka rangar jákvæðar

Vegna þess að ýmsar óeðlilegar aðstæður koma upp, sem og hugsanlega ófullnægjandi þjálfun taugakerfisins, fyrir fráviksgreiningarlíkanið sem verið er að þróa, var ákveðið að nauðsynlegt væri að þróa kerfi til að lágmarka rangar jákvæðar niðurstöður. Þetta fyrirkomulag er byggt á sniðmátsgrunni sem er flokkaður af stjórnanda.

Reiknirit fyrir kraftmikla umbreytingu á tímalínu (DTW reiknirit, frá enska dynamic time warping) gerir þér kleift að finna bestu samsvörun milli tímaraðar. Fyrst notað í talgreiningu: notað til að ákvarða hvernig tvö talmerki tákna sama upprunalega talaða setningu. Í kjölfarið fannst umsókn um það á öðrum sviðum.

Meginreglan um að lágmarka rangar jákvæðar niðurstöður er að safna gagnagrunni yfir staðla með aðstoð rekstraraðila sem flokkar grunsamleg tilvik sem fundist hafa með taugakerfi. Því næst er flokkaður staðall borinn saman við tilvikið sem kerfið uppgötvaði og niðurstaða er gerð um hvort málið sé rangt eða leiði til bilunar. DTW reikniritið er notað nákvæmlega til að bera saman tvær tímaraðir. Helsta lágmarkstækið er enn flokkun. Gert er ráð fyrir að eftir að hafa safnað miklum fjölda viðmiðunartilvika fari kerfið að spyrja rekstraraðila minna vegna líkt flestra mála og tilvika svipaðra mála.

Fyrir vikið, byggt á tauganetsaðferðum sem lýst er hér að ofan, var smíðað tilraunaforrit til að spá fyrir um bilanir í „Web-Consolidation“ kerfinu. Markmiðið með þessu forriti var, með því að nota núverandi skjalasafn fyrir vöktunargögn og upplýsingar um fyrri bilanir, að meta hæfni þessarar aðferðar fyrir hugbúnaðarkerfi okkar. Áætlun áætlunarinnar er sýnd hér að neðan á mynd 7.

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 7. Bilunarspákerfi byggt á mælingarrýmisgreiningu

Á skýringarmyndinni er hægt að greina á milli tveggja meginblokka: leitina að óeðlilegum tímabilum í vöktunargagnastraumnum (mælingar) og aðferðin til að lágmarka rangar jákvæðar niðurstöður. Athugið: Í tilraunaskyni eru gögnin fengin með JDBC tengingu úr gagnagrunninum sem grafít mun vista þau í.
Eftirfarandi er viðmót vöktunarkerfisins sem fæst vegna þróunar (mynd 8).

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 8. Viðmót tilraunaeftirlitskerfisins

Viðmótið sýnir hlutfall fráviks byggt á mótteknum mæligildum. Í okkar tilviki er kvittunin hermuð. Við höfum nú þegar öll gögnin í nokkrar vikur og erum að hlaða þeim smám saman til að athuga hvort um frávik sé að ræða sem leiðir til bilunar. Neðri stöðustikan sýnir heildarhlutfall gagnaafbrigða á tilteknum tíma, sem er ákvarðað með sjálfvirkum kóða. Einnig er sérstakt hlutfall sýnt fyrir spáð mæligildi, sem er reiknað út af RNN LSTM.

Dæmi um greiningu frávika byggt á frammistöðu örgjörva með því að nota RNN LSTM taugakerfi (Mynd 9).

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 9. RNN LSTM uppgötvun

Tiltölulega einfalt tilvik, í rauninni venjulegt útlæg, en sem leiddi til kerfisbilunar, var reiknað út með RNN LSTM. Fráviksvísirinn á þessu tímabili er 85–95%; allt yfir 80% (þröskuldurinn var ákvarðaður með tilraunum) telst frávik.
Dæmi um fráviksgreiningu þegar kerfið gat ekki ræst sig eftir uppfærslu. Þetta ástand er greint af sjálfvirkum kóðara (Mynd 10).

Við leitum að frávikum og spáum fyrir um bilanir með því að nota taugakerfi

Mynd 10. Dæmi um sjálfkóðunarskynjun

Eins og þú sérð á myndinni er PermGen fastur á einu stigi. Sjálfvirkum kóðara fannst þetta skrítið því hann hafði aldrei séð annað eins. Hér helst frávikið 100% þar til kerfið fer aftur í virkt ástand. Frávik birtist fyrir allar mælingar. Eins og fyrr segir getur sjálfkóðari ekki staðfært frávik. Rekstraraðili er kallaður til að framkvæma þessa aðgerð við þessar aðstæður.

Ályktun

PC "Web-Consolidation" hefur verið í þróun í nokkur ár. Kerfið er í nokkuð stöðugu ástandi og fjöldi skráðra atvika er lítill. Hins vegar var hægt að finna frávik sem leiddu til bilunar 5 - 10 mínútum áður en bilunin kom upp. Í sumum tilfellum myndi tilkynning um bilun fyrirfram hjálpa til við að spara þann tíma sem er úthlutað til að framkvæma „viðgerð“.

Miðað við þær tilraunir sem gerðar voru er of snemmt að draga endanlegar ályktanir. Enn sem komið er eru niðurstöðurnar misvísandi. Annars vegar er ljóst að reiknirit sem byggir á tauganetum geta fundið „gagnlegar“ frávik. Á hinn bóginn er enn stórt hlutfall af fölskum jákvæðum og ekki er hægt að greina öll frávik sem greind eru af hæfum sérfræðingi í taugakerfi. Ókostirnir felast meðal annars í því að nú þarf tauganetið þjálfun hjá kennara fyrir eðlilega starfsemi.

Til að þróa bilunarspákerfið enn frekar og koma því í viðunandi ástand má íhuga nokkrar leiðir. Þetta er ítarlegri greining á tilfellum með frávik sem leiða til bilunar, vegna þessarar viðbótar við listann yfir mikilvægar mælikvarða sem hafa mikil áhrif á stöðu kerfisins, og farga óþarfa sem hafa ekki áhrif á það. Einnig, ef við förum í þessa átt, getum við gert tilraunir til að sérhæfa reiknirit sérstaklega fyrir tilvik okkar með frávik sem leiða til bilana. Það er önnur leið. Þetta er framför í taugakerfisarkitektúr og eykur þar með greiningarnákvæmni með styttri þjálfunartíma.

Ég þakka samstarfsmönnum mínum sem hjálpuðu mér að skrifa og viðhalda mikilvægi þessarar greinar: Victor Verbitsky og Sergei Finogenov.

Heimild: www.habr.com

Bæta við athugasemd