ProgrammatÅ«ras sistÄmu rÅ«pnieciskÄ attÄ«stÄ«ba prasa lielu uzmanÄ«bu gala produkta kļūdu tolerancei, kÄ arÄ« Ätrai reaÄ£ÄÅ”anai uz kļūmÄm un kļūmÄm, ja tÄs rodas. UzraudzÄ«ba, protams, palÄ«dz efektÄ«vÄk un ÄtrÄk reaÄ£Ät uz kļūmÄm un kļūmÄm, bet ne pietiekami. PirmkÄrt, ir ļoti grÅ«ti izsekot lielam serveru skaitam ā nepiecieÅ”ams liels skaits cilvÄku. OtrkÄrt, jums ir labi jÄizprot lietojumprogrammas darbÄ«ba, lai prognozÄtu tÄs stÄvokli. TÄpÄc mums ir nepiecieÅ”ams daudz cilvÄku, kas labi izprot mÅ«su izstrÄdÄtÄs sistÄmas, to veiktspÄju un funkcijas. PieÅemsim, ka pat tad, ja atrodat pietiekami daudz cilvÄku, kas vÄlas to darÄ«t, viÅu apmÄcÄ«ba joprojÄm aizÅem daudz laika.
Ko darÄ«t? Å eit mums palÄ«gÄ nÄk mÄkslÄ«gais intelekts. RakstÄ tiks runÄts par
Ievads
IzstrÄdÄtÄ programmatÅ«ras sistÄma agri vai vÄlu sÄk darboties. LietotÄjam ir svarÄ«gi, lai sistÄma darbotos bez kļūmÄm. Ja rodas ÄrkÄrtas situÄcija, tÄ ir jÄatrisina ar minimÄlu kavÄÅ”anos.
Lai vienkÄrÅ”otu programmatÅ«ras sistÄmas tehnisko atbalstu, it Ä«paÅ”i, ja ir daudz serveru, parasti tiek izmantotas uzraudzÄ«bas programmas, kas Åem metriku no darbinÄtas programmatÅ«ras sistÄmas, ļauj diagnosticÄt tÄs stÄvokli un palÄ«dz noteikt, kas tieÅ”i izraisÄ«ja kļūmi. Å o procesu sauc par programmatÅ«ras sistÄmas uzraudzÄ«bu.
1. attÄls. Grafana uzraudzÄ«bas interfeiss
Metrika ir dažÄdi programmatÅ«ras sistÄmas, tÄs izpildes vides vai fiziskÄ datora, kurÄ sistÄma darbojas, indikatori ar metrikas saÅemÅ”anas brīža laikspiedolu. StatiskajÄ analÄ«zÄ Å”os rÄdÄ«tÄjus sauc par laikrindÄm. Lai pÄrraudzÄ«tu programmatÅ«ras sistÄmas stÄvokli, metrika tiek parÄdÄ«ta grafiku veidÄ: laiks ir uz X ass, un vÄrtÄ«bas ir gar Y asi (1. attÄls). VairÄkus tÅ«kstoÅ”us metrikas var iegÅ«t no darbojas programmatÅ«ras sistÄmas (no katra mezgla). Tie veido metriku telpu (daudzdimensiju laika rindas).
TÄ kÄ sarežģītÄm programmatÅ«ras sistÄmÄm tiek savÄkts liels skaits metrikas, manuÄla uzraudzÄ«ba kļūst par sarežģītu uzdevumu. Lai samazinÄtu administratora analizÄto datu apjomu, uzraudzÄ«bas rÄ«ki satur rÄ«kus, kas automÄtiski identificÄ iespÄjamÄs problÄmas. PiemÄram, varat konfigurÄt aktivizÄtÄju, lai tas tiktu aktivizÄts, ja brÄ«vÄ diska vieta nokrÄ«tas zem noteiktÄ sliekÅ”Åa. Varat arÄ« automÄtiski diagnosticÄt servera izslÄgÅ”anu vai kritisku pakalpojuma Ätruma samazinÄÅ”anos. PraksÄ uzraudzÄ«bas rÄ«ki labi palÄ«dz atklÄt jau notikuÅ”as kļūmes vai identificÄt vienkÄrÅ”us turpmÄko kļūmju simptomus, taÄu kopumÄ iespÄjamÄs kļūmes prognozÄÅ”ana tiem joprojÄm ir grÅ«ts rieksts. PrognozÄÅ”anai, izmantojot metriku manuÄlu analÄ«zi, ir jÄiesaista kvalificÄti speciÄlisti. TÄ ir zema produktivitÄte. LielÄkÄ daļa iespÄjamo kļūmju var palikt nepamanÄ«tas.
PÄdÄjÄ laikÄ lielo IT programmatÅ«ras izstrÄdes kompÄniju vidÅ« arvien populÄrÄka kļūst tÄ sauktÄ programmatÅ«ras sistÄmu prognozÄjoÅ”Ä apkope. Å Ä«s pieejas bÅ«tÄ«ba ir atrast problÄmas, kas izraisa sistÄmas degradÄciju agrÄ«nÄ stadijÄ, pirms tÄ neizdodas, izmantojot mÄkslÄ«go intelektu. Å Ä« pieeja pilnÄ«bÄ neizslÄdz sistÄmas manuÄlo uzraudzÄ«bu. Tas ir palÄ«glÄ«dzeklis uzraudzÄ«bas procesam kopumÄ.
Galvenais paredzamÄs apkopes ievieÅ”anas rÄ«ks ir uzdevums meklÄt anomÄlijas laikrindÄs, kopÅ” kad notiek anomÄlija datos pastÄv liela varbÅ«tÄ«ba, ka pÄc kÄda laika bÅ«s neveiksme vai neveiksme. AnomÄlija ir noteikta novirze programmatÅ«ras sistÄmas veiktspÄjÄ, piemÄram, viena veida pieprasÄ«juma izpildes Ätruma pasliktinÄÅ”anÄs identificÄÅ”ana vai apkalpoto pieprasÄ«jumu vidÄjÄ skaita samazinÄÅ”anÄs nemainÄ«gÄ klienta sesiju lÄ«menÄ«.
ProgrammatÅ«ras sistÄmu anomÄliju meklÄÅ”anas uzdevumam ir sava specifika. TeorÄtiski katrai programmatÅ«ras sistÄmai ir nepiecieÅ”ams izstrÄdÄt vai pilnveidot esoÅ”Äs metodes, jo anomÄliju meklÄÅ”ana ir ļoti atkarÄ«ga no datiem, kuros tÄ tiek veikta, un programmatÅ«ras sistÄmu dati ievÄrojami atŔķiras atkarÄ«bÄ no sistÄmas ievieÅ”anas rÄ«kiem. , atkarÄ«bÄ no tÄ, kurÄ datorÄ tas darbojas.
Metodes anomÄliju meklÄÅ”anai, prognozÄjot programmatÅ«ras sistÄmas kļūmes
PirmkÄrt, ir vÄrts teikt, ka ideja par neveiksmju prognozÄÅ”anu tika iedvesmota no raksta
Visi rÄdÄ«tÄji tiek Åemti no sistÄmas, izmantojot grafÄ«tu. SÄkotnÄji Äukstu datubÄze tika izmantota kÄ grafana standarta risinÄjums, taÄu, pieaugot klientu lokam, grafÄ«ts vairs netika galÄ, jo bija iztÄrÄjis lÄ«dzstrÄvas disku apakÅ”sistÄmas jaudu. PÄc tam tika nolemts rast efektÄ«vÄku risinÄjumu. IzvÄle tika izdarÄ«ta par labu
2. attÄls. Metrikas vÄkÅ”anas shÄma
Diagramma ir Åemta no iekÅ”ÄjÄs dokumentÄcijas. Tas parÄda saziÅu starp grafÄnu (mÅ«su izmantoto uzraudzÄ«bas lietotÄja interfeisu) un grafÄ«tu. Metrikas noÅemÅ”ana no lietojumprogrammas tiek veikta, izmantojot atseviŔķu programmatÅ«ru -
TÄ«mekļa konsolidÄcijas sistÄmai ir vairÄkas funkcijas, kas rada problÄmas kļūmju prognozÄÅ”anÄ:
- Tendence bieži mainÄs. Å ai programmatÅ«ras sistÄmai ir pieejamas dažÄdas versijas. Katrs no tiem ienes izmaiÅas sistÄmas programmatÅ«ras daļÄ. AttiecÄ«gi Å”ÄdÄ veidÄ izstrÄdÄtÄji tieÅ”i ietekmÄ noteiktÄs sistÄmas rÄdÄ«tÄjus un var izraisÄ«t tendences izmaiÅas;
- ievieÅ”anas funkcija, kÄ arÄ« mÄrÄ·i, kÄdiem klienti izmanto Å”o sistÄmu, bieži izraisa anomÄlijas bez iepriekÅ”Äjas degradÄcijas;
- anomÄliju procentuÄlais daudzums attiecÄ«bÄ pret visu datu kopu ir neliels (< 5%);
- Indikatoru saÅemÅ”anÄ no sistÄmas var bÅ«t nepilnÄ«bas. Dažos Ä«sos laika periodos uzraudzÄ«bas sistÄmai neizdodas iegÅ«t metriku. PiemÄram, ja serveris ir pÄrslogots. Tas ir ļoti svarÄ«gi, lai apmÄcÄ«tu neironu tÄ«klu. Ir nepiecieÅ”ams sintÄtiski aizpildÄ«t nepilnÄ«bas;
- GadÄ«jumi ar anomÄlijÄm bieži attiecas tikai uz konkrÄtu datumu/mÄnesi/laiku (sezonalitÄte). Å ai sistÄmai ir skaidri noteikumi par tÄs lietoÅ”anu lietotÄjiem. AttiecÄ«gi rÄdÄ«tÄji attiecas tikai uz noteiktu laiku. SistÄmu nevar izmantot pastÄvÄ«gi, bet tikai dažos mÄneÅ”os: selektÄ«vi atkarÄ«bÄ no gada. Rodas situÄcijas, kad viena un tÄ pati metrikas darbÄ«ba vienÄ gadÄ«jumÄ var izraisÄ«t programmatÅ«ras sistÄmas kļūmi, bet citÄ gadÄ«jumÄ ne.
SÄkumÄ tika analizÄtas programmatÅ«ras sistÄmu uzraudzÄ«bas datu anomÄliju noteikÅ”anas metodes. Rakstos par Å”o tÄmu, kad anomÄliju procentuÄlais daudzums salÄ«dzinÄjumÄ ar pÄrÄjo datu kopu ir neliels, visbiežÄk tiek piedÄvÄts izmantot neironu tÄ«klus.
Pamata loÄ£ika anomÄliju meklÄÅ”anai, izmantojot neironu tÄ«kla datus, ir parÄdÄ«ta 3. attÄlÄ:
3. attÄls. AnomÄliju meklÄÅ”ana, izmantojot neironu tÄ«klu
Pamatojoties uz paÅ”reizÄjÄs metrikas plÅ«smas loga prognozes vai atjaunoÅ”anas rezultÄtu, tiek aprÄÄ·inÄta novirze no esoÅ”Äs programmatÅ«ras sistÄmas. Ja ir liela atŔķirÄ«ba starp metriku, kas iegÅ«ta no programmatÅ«ras sistÄmas un neironu tÄ«kla, mÄs varam secinÄt, ka paÅ”reizÄjais datu segments ir anomÄls. Izmantojot neironu tÄ«klus, rodas Å”Ädas problÄmas:
- lai pareizi darbotos straumÄÅ”anas režīmÄ, neironu tÄ«klu modeļu apmÄcÄ«bas datos jÄietver tikai āparastieā dati;
- pareizai noteikÅ”anai ir nepiecieÅ”ams atjauninÄts modelis. Metrikas tendenÄu un sezonalitÄtes maiÅa modelÄ« var izraisÄ«t lielu skaitu kļūdaini pozitÄ«vu rezultÄtu. Lai to atjauninÄtu, ir skaidri jÄnosaka laiks, kad modelis ir novecojis. Ja modeli atjauninÄsit vÄlÄk vai agrÄk, visticamÄk, sekos liels skaits viltus pozitÄ«vu rezultÄtu.
MÄs nedrÄ«kstam aizmirst arÄ« par viltus pozitÄ«vu rezultÄtu biežu meklÄÅ”anu un novÄrÅ”anu. Tiek pieÅemts, ka tie visbiežÄk notiks ÄrkÄrtas situÄcijÄs. TomÄr tÄs var bÅ«t arÄ« neironu tÄ«kla kļūdas sekas nepietiekamas apmÄcÄ«bas dÄļ. Ir nepiecieÅ”ams lÄ«dz minimumam samazinÄt modeļa viltus pozitÄ«vu rezultÄtu skaitu. PretÄjÄ gadÄ«jumÄ nepatiesas prognozes tÄrÄs daudz administratora laika, kas paredzÄts sistÄmas pÄrbaudei. AgrÄk vai vÄlÄk administrators vienkÄrÅ”i pÄrtrauks reaÄ£Ät uz "paranojas" uzraudzÄ«bas sistÄmu.
AtkÄrtots neironu tÄ«kls
Lai noteiktu anomÄlijas laika rindÄs, varat izmantot
4. attÄls. AtkÄrtota neironu tÄ«kla piemÄrs ar LSTM atmiÅas ŔūnÄm
KÄ redzams 4. attÄlÄ, RNN LSTM Å”ajÄ laika periodÄ spÄja tikt galÄ ar anomÄliju meklÄÅ”anu. Ja rezultÄtam ir liela prognozÄÅ”anas kļūda (vidÄjÄ kļūda), faktiski ir notikusi rÄdÄ«tÄju anomÄlija. AcÄ«mredzot nepietiks ar viena RNN LSTM izmantoÅ”anu, jo tas ir piemÄrojams nelielam skaitam metrikas. Var izmantot kÄ palÄ«gmetodi anomÄliju meklÄÅ”anai.
Autoencoder kļūmes prognozÄÅ”anai
5. attÄls. Autoencoder darbÄ«bas piemÄrs
AutokodÄtÄji tiek apmÄcÄ«ti normÄliem datiem un pÄc tam modelim ievadÄ«tajos datos atrod kaut ko anomÄlu. TieÅ”i tas, kas nepiecieÅ”ams Å”im uzdevumam. Atliek tikai izvÄlÄties, kurÅ” automÄtiskais kodÄtÄjs ir piemÄrots Å”im uzdevumam. Arhitektoniski vienkÄrÅ”ÄkÄ automÄtiskÄ kodÄtÄja forma ir uz priekÅ”u neatgriežoÅ”s neironu tÄ«kls, kas ir ļoti lÄ«dzÄ«gs
TomÄr atŔķirÄ«bas starp automÄtiskajiem kodÄtÄjiem un MLP ir tÄdas, ka automÄtiskajÄ kodÄtÄjÄ izvades slÄnim ir tÄds pats mezglu skaits kÄ ievades slÄnim, un tÄ vietÄ, lai prognozÄtu mÄrÄ·a vÄrtÄ«bu Y, ko dod ievade X, automÄtiskais kodÄtÄjs tiek apmÄcÄ«ts. lai rekonstruÄtu savus X. TÄpÄc automÄtiskÄs kodÄÅ”anas ierÄ«ces ir neuzraudzÄ«ti mÄcÄ«bu modeļi.
AutokodÄtÄja uzdevums ir atrast ieejas vektorÄ X anomÄlajiem elementiem atbilstoÅ”os laika indeksus r0 ... rn. Å is efekts tiek panÄkts, meklÄjot kļūdu kvadrÄtÄ.
6. attÄls. Sinhronais automÄtiskais kodÄtÄjs
Tika izvÄlÄts automÄtiskais kodÄtÄjs
MehÄnisms viltus pozitÄ«vu rezultÄtu samazinÄÅ”anai
SakarÄ ar to, ka rodas dažÄdas anomÄlijas situÄcijas, kÄ arÄ« iespÄjama nepietiekama neironu tÄ«kla apmÄcÄ«ba, izstrÄdÄtajam anomÄliju noteikÅ”anas modelim tika nolemts, ka nepiecieÅ”ams izstrÄdÄt viltus pozitÄ«vu rezultÄtu minimizÄÅ”anas mehÄnismu. Å is mehÄnisms ir balstÄ«ts uz veidÅu bÄzi, ko klasificÄjis administrators.
Galvenais viltus pozitÄ«vu rezultÄtu samazinÄÅ”anas princips ir standartu datu bÄzes apkopoÅ”ana ar operatora palÄ«dzÄ«bu, kas klasificÄ aizdomÄ«gus gadÄ«jumus, kas atklÄti, izmantojot neironu tÄ«klus. PÄc tam klasificÄtais standarts tiek salÄ«dzinÄts ar gadÄ«jumu, ko sistÄma atklÄja, un tiek izdarÄ«ts secinÄjums par to, vai gadÄ«jums ir nepatiess vai noved pie kļūmes. TieÅ”i divu laikrindu salÄ«dzinÄÅ”anai tiek izmantots DTW algoritms. Galvenais samazinÄÅ”anas instruments joprojÄm ir klasifikÄcija. Paredzams, ka pÄc liela skaita atsauces gadÄ«jumu apkopoÅ”anas sistÄma operatoram sÄks jautÄt mazÄk, jo vairums gadÄ«jumu ir lÄ«dzÄ«gi un lÄ«dzÄ«gi gadÄ«jumi.
RezultÄtÄ, pamatojoties uz iepriekÅ” aprakstÄ«tajÄm neironu tÄ«kla metodÄm, tika izveidota eksperimentÄla programma, lai prognozÄtu āWeb-Consolidationā sistÄmas kļūmes. Å Ä«s programmas mÄrÄ·is bija, izmantojot esoÅ”o uzraudzÄ«bas datu arhÄ«vu un informÄciju par iepriekÅ”ÄjÄm kļūmÄm, novÄrtÄt Ŕīs pieejas kompetenci mÅ«su programmatÅ«ras sistÄmÄm. Programmas shÄma parÄdÄ«ta zemÄk 7. attÄlÄ.
7. attÄls. Atteices prognozÄÅ”anas shÄma, kuras pamatÄ ir metriskÄs telpas analÄ«ze
DiagrammÄ var izdalÄ«t divus galvenos blokus: anomÄlu laika periodu meklÄÅ”ana monitoringa datu plÅ«smÄ (metrikÄ) un viltus pozitÄ«vu rezultÄtu minimizÄÅ”anas mehÄnisms. PiezÄ«me. EksperimentÄliem nolÅ«kiem dati tiek iegÅ«ti, izmantojot JDBC savienojumu no datu bÄzes, kurÄ grafÄ«ts tos saglabÄs.
TÄlÄk ir sniegta izstrÄdes rezultÄtÄ iegÅ«tÄ monitoringa sistÄmas saskarne (8. attÄls).
8. attÄls. EksperimentÄlÄs uzraudzÄ«bas sistÄmas saskarne
Saskarne parÄda anomÄliju procentuÄlo daudzumu, pamatojoties uz saÅemtajiem rÄdÄ«tÄjiem. MÅ«su gadÄ«jumÄ kvÄ«ts tiek simulÄta. Mums jau ir visi dati par vairÄkÄm nedÄļÄm, un mÄs tos pakÄpeniski ielÄdÄjam, lai pÄrbaudÄ«tu anomÄlijas gadÄ«jumu, kas novedusi pie kļūmes. ApakÅ”ÄjÄ statusa joslÄ tiek parÄdÄ«ts kopÄjais datu anomÄlijas procentuÄlais daudzums noteiktÄ laikÄ, kas tiek noteikts, izmantojot automÄtisko kodÄtÄju. TÄpat tiek parÄdÄ«ta atseviŔķa procentuÄlÄ daļa prognozÄtajiem rÄdÄ«tÄjiem, ko aprÄÄ·ina RNN LSTM.
AnomÄliju noteikÅ”anas piemÄrs, pamatojoties uz CPU veiktspÄju, izmantojot RNN LSTM neironu tÄ«klu (9. attÄls).
9. attÄls. RNN LSTM atklÄjums
Izmantojot RNN LSTM, tika veiksmÄ«gi aprÄÄ·inÄts diezgan vienkÄrÅ”s gadÄ«jums, kas bÅ«tÄ«bÄ ir parasts izÅÄmums, bet noveda pie sistÄmas kļūmes. AnomÄlijas rÄdÄ«tÄjs Å”ajÄ laika periodÄ ir 85ā95%, viss, kas pÄrsniedz 80% (slieksnis noteikts eksperimentÄli), tiek uzskatÄ«ts par anomÄliju.
PiemÄrs anomÄlijas noteikÅ”anai, kad sistÄmu nevarÄja sÄknÄt pÄc atjauninÄÅ”anas. Å o situÄciju nosaka automÄtiskais kodÄtÄjs (10. attÄls).
10. attÄls. AutokodÄtÄja noteikÅ”anas piemÄrs
KÄ redzat attÄlÄ, PermGen ir iestrÄdzis vienÄ lÄ«menÄ«. AutokodÄtÄjam tas Ŕķita dÄ«vaini, jo tas nekad agrÄk neko tÄdu nebija redzÄjis. Å eit anomÄlija saglabÄjas 100%, lÄ«dz sistÄma atgriežas darba stÄvoklÄ«. VisÄm metrikÄm tiek parÄdÄ«ta anomÄlija. KÄ minÄts iepriekÅ”, automÄtiskais kodÄtÄjs nevar lokalizÄt anomÄlijas. Å Ädos gadÄ«jumos operators ir aicinÄts veikt Å”o funkciju.
SecinÄjums
PC "Web-Consolidation" tiek izstrÄdÄts vairÄkus gadus. SistÄma ir diezgan stabilÄ stÄvoklÄ«, un reÄ£istrÄto incidentu skaits ir neliels. TomÄr bija iespÄjams atrast anomÄlijas, kas noveda pie kļūmes 5ā10 minÅ«tes pirms kļūmes. Dažos gadÄ«jumos iepriekÅ”Äja paziÅoÅ”ana par atteici palÄ«dzÄtu ietaupÄ«t plÄnoto laiku, kas tiek atvÄlÄts āremontaā darbu veikÅ”anai.
Pamatojoties uz veiktajiem eksperimentiem, ir pÄragri izdarÄ«t galÄ«gos secinÄjumus. LÄ«dz Å”im rezultÄti ir pretrunÄ«gi. No vienas puses, ir skaidrs, ka algoritmi, kuru pamatÄ ir neironu tÄ«kli, spÄj atrast ānoderÄ«gasā anomÄlijas. No otras puses, saglabÄjas liels procents viltus pozitÄ«vu, un ne visas anomÄlijas, ko neironu tÄ«klÄ atklÄj kvalificÄts speciÄlists, ir iespÄjams atklÄt. TrÅ«kumi ietver faktu, ka tagad neironu tÄ«klam nepiecieÅ”ama apmÄcÄ«ba ar skolotÄju normÄlai darbÄ«bai.
Lai tÄlÄk attÄ«stÄ«tu atteices prognozÄÅ”anas sistÄmu un panÄktu to apmierinoÅ”Ä stÄvoklÄ«, var paredzÄt vairÄkus veidus. Å Ä« ir detalizÄtÄka to gadÄ«jumu analÄ«ze, kuros ir anomÄlijas, kas noved pie kļūmÄm, pateicoties Å”im papildinÄjumam svarÄ«gu rÄdÄ«tÄju sarakstam, kas lielÄ mÄrÄ ietekmÄ sistÄmas stÄvokli, un nevajadzÄ«go, kas to neietekmÄ, izmeÅ”anu. TurklÄt, ja mÄs virzÄmies Å”ajÄ virzienÄ, mÄs varam mÄÄ£inÄt specializÄt algoritmus tieÅ”i mÅ«su gadÄ«jumiem ar anomÄlijÄm, kas noved pie kļūmÄm. Ir arÄ« cits veids. Tas ir neironu tÄ«klu arhitektÅ«ras uzlabojums, tÄdÄjÄdi palielinot noteikÅ”anas precizitÄti, samazinot apmÄcÄ«bas laiku.
Es izsaku pateicÄ«bu saviem kolÄÄ£iem, kuri man palÄ«dzÄja uzrakstÄ«t un uzturÄt Ŕī raksta atbilstÄ«bu:
Avots: www.habr.com