Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Prisiminkime, kad Elastic Stack sukurtas remiantis nesusijusia Elasticsearch duomenų baze, Kibana žiniatinklio sąsaja ir duomenų rinkėjais bei procesoriais (žymiausiais Logstash, įvairūs Beats, APM ir kt.). Vienas iš gražių viso išvardytų produktų krūvos papildymų yra duomenų analizė naudojant mašininio mokymosi algoritmus. Straipsnyje mes suprantame, kas yra šie algoritmai. Prašome pagal katę.

Mašininis mokymasis yra mokama dalijimosi programinės įrangos Elastic Stack funkcija ir įtraukta į X-Pack. Norėdami pradėti jį naudoti, tiesiog suaktyvinkite 30 dienų bandomąją versiją po įdiegimo. Pasibaigus bandomajam laikotarpiui, galite paprašyti palaikymo, kad jį pratęstumėte arba įsigytumėte prenumeratą. Prenumeratos kaina skaičiuojama ne pagal duomenų kiekį, o pagal naudojamų mazgų skaičių. Ne, duomenų apimtis, žinoma, turi įtakos reikalingų mazgų skaičiui, tačiau toks požiūris į licencijavimą yra humaniškesnis, atsižvelgiant į įmonės biudžetą. Jei nereikia didelio našumo, galite sutaupyti pinigų.

Elastic Stack ML yra parašytas C++ ir veikia už JVM, kuriame veikia pats Elasticsearch. Tai yra, procesas (beje, jis vadinamas automatiniu aptikimu) sunaudoja viską, ko JVM nepraryja. Demonstraciniame stende tai nėra taip svarbu, tačiau gamybinėje aplinkoje svarbu ML užduotims skirti atskirus mazgus.

Mašininio mokymosi algoritmai skirstomi į dvi kategorijas – su mokytoju и be mokytojo. Elastic Stack algoritmas yra kategorijoje "neprižiūrimas". Autorius ši nuoroda Galite pamatyti mašininio mokymosi algoritmų matematinį aparatą.

Analizei atlikti mašininio mokymosi algoritmas naudoja duomenis, saugomus Elasticsearch indeksuose. Galite kurti užduotis analizei ir iš Kibana sąsajos, ir per API. Jei tai darote per Kibaną, jums nereikia žinoti kai kurių dalykų. Pavyzdžiui, papildomi indeksai, kuriuos algoritmas naudoja savo veikimo metu.

Analizės procese naudojami papildomi indeksai.ml-state — informacija apie statistinius modelius (analizės nustatymus);
.ml-anomalies-* — ML algoritmų rezultatai;
.ml-notifications – pranešimų nustatymai, pagrįsti analizės rezultatais.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Duomenų struktūra Elasticsearch duomenų bazėje susideda iš indeksų ir juose saugomų dokumentų. Palyginus su reliacine duomenų baze, indeksą galima palyginti su duomenų bazės schema, o dokumentą - su įrašu lentelėje. Šis palyginimas yra sąlyginis ir yra skirtas supaprastinti tolesnės medžiagos supratimą tiems, kurie tik girdėjo apie Elasticsearch.

Tos pačios funkcijos pasiekiamos per API kaip ir žiniatinklio sąsajoje, todėl aiškumo ir sąvokų supratimo dėlei parodysime, kaip ją sukonfigūruoti per „Kibana“. Kairėje esančiame meniu yra mašininio mokymosi skyrius, kuriame galite sukurti naują darbą. „Kibana“ sąsajoje atrodo kaip paveikslėlyje žemiau. Dabar analizuosime kiekvieną užduočių tipą ir parodysime analizės tipus, kuriuos čia galima sukurti.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Single Metric – vienos metrikos analizė, Multi Metric – dviejų ar daugiau metrikų analizė. Abiem atvejais kiekviena metrika analizuojama izoliuotoje aplinkoje, t.y. algoritmas neatsižvelgia į lygiagrečiai analizuojamų metrikų elgesį, kaip gali atrodyti Multi Metric atveju. Norėdami atlikti skaičiavimus, atsižvelgdami į įvairių metrikų koreliaciją, galite naudoti populiacijos analizę. O Advanced tikslina algoritmus su papildomomis parinktimis tam tikroms užduotims atlikti.

Viena metrika

Paprasčiausias dalykas, kurį čia galima padaryti, yra analizuoti vienos metrikos pokyčius. Paspaudus Sukurti darbą, algoritmas ieškos nukrypimų.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Srityje Agregacija galite pasirinkti būdą, kaip ieškoti anomalijų. Pavyzdžiui, kada Min vertės, mažesnės už tipines vertes, bus laikomos anomaliomis. Valgyk Maksimalus, didelis vidutinis, žemas, vidutinis, išskirtinis ir kiti. Galima rasti visų funkcijų aprašymus по ссылке.

Srityje Laukas nurodo skaitinį dokumento lauką, kuriame atliksime analizę.

Srityje Kaušo tarpatramis — intervalų detalumas laiko juostoje, pagal kurią bus atliekama analizė. Galite pasitikėti automatika arba pasirinkti rankiniu būdu. Toliau pateiktame paveikslėlyje pateiktas per mažo detalumo pavyzdys – galite nepastebėti anomalijos. Naudodami šį nustatymą galite pakeisti algoritmo jautrumą nukrypimams.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Renkamų duomenų trukmė yra pagrindinis dalykas, turintis įtakos analizės efektyvumui. Analizės metu algoritmas identifikuoja pasikartojančius intervalus, apskaičiuoja pasikliautinuosius intervalus (bazines linijas) ir identifikuoja anomalijas – netipinius nukrypimus nuo įprastos metrikos elgsenos. Tiesiog pvz:

Bazinės linijos su nedideliu duomenų fragmentu:

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Kai algoritmas turi iš ko pasimokyti, pradinė linija atrodo taip:

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Pradėjus užduotį, algoritmas nustato anomalius nukrypimus nuo normos ir surikiuoja juos pagal anomalijos tikimybę (skliausteliuose nurodoma atitinkamos etiketės spalva):

Įspėjimas (mėlyna): mažiau nei 25
Mažoji (geltona): 25-50
Pagrindinis (oranžinė): 50–75
Kritinis (raudonas): 75-100

Žemiau esančioje diagramoje parodytas rastų anomalijų pavyzdys.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Čia galite pamatyti skaičių 94, kuris rodo anomalijos tikimybę. Aišku, kad kadangi vertė yra arti 100, tai reiškia, kad turime anomaliją. Po diagrama esančiame stulpelyje rodoma labai maža 0.000063634 % tikimybė, kad ten atsiras metrikos reikšmė.

Be anomalijų paieškos, Kibanoje galite vykdyti prognozes. Tai daroma paprastai ir iš to paties vaizdo su anomalijomis - mygtukas Prognozė viršutiniame dešiniajame kampe.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Prognozė sudaroma daugiausiai prieš 8 savaites. Net jei labai nori, tai nebeįmanoma pagal dizainą.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Kai kuriose situacijose prognozė bus labai naudinga, pavyzdžiui, stebint vartotojo apkrovą infrastruktūroje.

Daugiametrinis

Pereikime prie kitos ML funkcijos Elastic Stack – analizuojame keletą metrikų vienoje partijoje. Bet tai nereiškia, kad bus analizuojama vienos metrikos priklausomybė nuo kitos. Tai tas pats, kas viena metrika, tačiau viename ekrane yra kelios metrikos, kad būtų lengva palyginti vienos metrikos poveikį kitam. Apie vienos metrikos priklausomybės nuo kitos analizę kalbėsime skiltyje Gyventojų skaičius.

Paspaudus kvadratą su Multi Metric, atsiras langas su nustatymais. Pažvelkime į juos išsamiau.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Pirmiausia turite pasirinkti laukus analizei ir jų duomenų kaupimui. Apibendrinimo parinktys čia yra tokios pačios kaip ir vienos metrikos (Maksimalus, didelis vidutinis, žemas, vidutinis, išskirtinis ir kiti). Be to, jei pageidaujama, duomenys suskirstomi į vieną iš laukų (laukas Išskaidyti duomenis). Pavyzdyje tai padarėme pagal lauką OriginAirportID. Atkreipkite dėmesį, kad metrikos diagrama dešinėje dabar pateikiama kaip kelios diagramos.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Laukas Pagrindinės sritys (influencers) tiesiogiai veikia aptiktas anomalijas. Pagal numatytuosius nustatymus čia visada bus bent viena reikšmė ir galite pridėti papildomų. Algoritmas atsižvelgs į šių laukų įtaką analizuodamas ir parodys „įtakingiausias“ reikšmes.

Po paleidimo kažkas panašaus pasirodys „Kibana“ sąsajoje.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Tai yra vadinamasis kiekvienos lauko vertės anomalijų šilumos žemėlapis OriginAirportID, kurį nurodėme Išskaidyti duomenis. Kaip ir naudojant vieną metriką, spalva rodo nenormalaus nuokrypio lygį. Panašią analizę patogu atlikti, pavyzdžiui, darbo stotyse, kad būtų galima sekti tas, kuriose yra įtartinai daug leidimų ir pan. Jau rašėme apie įtartinus įvykius sistemoje EventLog Windows, kurią taip pat galima surinkti ir analizuoti čia.

Po šilumos žemėlapiu yra anomalijų sąrašas, iš kurių galite pereiti į vienos metrikos rodinį, kad galėtumėte išsamiai analizuoti.

Gyventojų skaičius

Norint ieškoti anomalijų tarp skirtingų metrikų koreliacijų, Elastic Stack turi specializuotą populiacijos analizę. Būtent su jo pagalba galite ieškoti anomalių serverio našumo verčių, palyginti su kitais, kai, pavyzdžiui, padidėja užklausų į tikslinę sistemą skaičius.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Šioje iliustracijoje lauke Populiacija nurodoma reikšmė, su kuria bus susijusi analizuojama metrika. Šiuo atveju tai yra proceso pavadinimas. Dėl to pamatysime, kaip kiekvieno proceso procesoriaus apkrova paveikė vienas kitą.

Atkreipkite dėmesį, kad analizuojamų duomenų grafikas skiriasi nuo vienos ir kelių metrikos atvejų. Tai buvo padaryta Kibanoje, siekiant geriau suvokti analizuojamų duomenų verčių pasiskirstymą.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Diagrama rodo, kad procesas elgėsi neįprastai stresas (beje, sugeneruotas specialios programos) serveryje poipu, kurie turėjo įtakos (arba pasirodė esąs įtakos) šios anomalijos atsiradimui.

pažangus

Analizė su koregavimu. Naudojant Išplėstinę analizę, Kibana rodomi papildomi nustatymai. Kūrimo meniu spustelėjus plytelę Išplėstinė, pasirodo šis langas su skirtukais. Skirtukas darbo Išsamiau Mes jį praleidome tyčia, yra pagrindiniai nustatymai, tiesiogiai nesusiję su analizės nustatymu.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

В suvestinės_skaitos_lauko_pavadinimas Pasirinktinai galite nurodyti lauko pavadinimą iš dokumentų, kuriuose yra apibendrintų reikšmių. Šiame pavyzdyje įvykių skaičius per minutę. IN kategorizavimo_lauko_pavadinimas nurodo dokumento lauko, kuriame yra tam tikra kintamoji reikšmė, pavadinimą ir reikšmę. Naudodami šio lauko kaukę galite padalyti analizuojamus duomenis į pogrupius. Atkreipkite dėmesį į mygtuką Pridėti detektorių ankstesnėje iliustracijoje. Žemiau pateikiamas šio mygtuko paspaudimo rezultatas.

Mašininio mokymosi supratimas elastiniame krūvoje (dar žinomas kaip Elasticsearch, dar žinomas kaip ELK)

Čia yra papildomas nustatymų blokas, skirtas konfigūruoti anomalijų detektorių konkrečiai užduočiai atlikti. Mes planuojame aptarti konkrečius naudojimo atvejus (ypač saugumo atvejus) tolesniuose straipsniuose. Pavyzdžiui, atrodo vienas iš išardytų dėklų. Jis siejamas su retai pasirodančių vertybių paieška ir yra įgyvendinamas reta funkcija.

Srityje funkcija Norėdami ieškoti anomalijų, galite pasirinkti konkrečią funkciją. Išskyrus retas, yra dar pora įdomių funkcijų - dienos laikas и savaitės_laikas. Jie nustato metrikų elgesio anomalijas atitinkamai per dieną ar savaitę. Kitos analizės funkcijos yra dokumentacijoje.

В lauko pavadinimas nurodo dokumento lauką, kuriame bus atliekama analizė. Pagal_lauko_pavadinimą gali būti naudojamas atskirti kiekvienos čia nurodytos dokumento lauko vertės analizės rezultatus. Jei užpildysite per_lauko_pavadinimas gausite populiacijos analizę, kurią aptarėme aukščiau. Jei nurodysite reikšmę skirsnio_lauko_pavadinimas, tada šiam dokumento laukui kiekvienai reikšmei bus skaičiuojamos atskiros bazinės linijos (reikšmė gali būti, pavyzdžiui, serverio arba serveryje esančio proceso pavadinimas). IN neįtraukti_dažnas gali pasirinkti visi arba nė vienas, o tai reiškia, kad bus neįtrauktos (arba įtraukiamos) dažnai pasitaikančios dokumento lauko reikšmės.

Šiame straipsnyje mes stengėmės pateikti kuo glaustesnę idėją apie mašininio mokymosi galimybes Elastic Stack; užkulisiuose vis dar liko daug smulkmenų. Papasakokite komentaruose, kokius atvejus jums pavyko išspręsti naudojant Elastic Stack ir kokioms užduotims ją naudojate. Norėdami susisiekti su mumis, galite naudoti asmenines žinutes Habré arba atsiliepimų forma svetainėje.

Šaltinis: www.habr.com

Добавить комментарий