Meenutagem, et Elastic Stack põhineb mitterelatsioonilisel Elasticsearch andmebaasil, Kibana veebiliidesel ning andmekogujatel ja -protsessoritel (kuulsaimad Logstash, erinevad Beatid, APM jt). Üks toredaid täiendusi kogu loetletud toodete virnale on andmeanalüüs masinõppe algoritme kasutades. Artiklis mõistame, mis need algoritmid on. Palun kassi alla.
Masinõpe on jagamisvara Elastic Stack tasuline funktsioon ja see sisaldub X-Packis. Selle kasutamise alustamiseks aktiveerige pärast installimist 30-päevane prooviversioon. Pärast prooviperioodi lõppemist saate selle pikendamiseks või tellimuse ostmiseks taotleda tuge. Tellimuse maksumus arvutatakse mitte andmemahu, vaid kasutatud sõlmede arvu järgi. Ei, andmemaht mõjutab loomulikult vajalike sõlmede arvu, kuid siiski on selline lähenemine litsentsimisele ettevõtte eelarve suhtes inimlikum. Kui pole vaja suurt tootlikkust, saate raha säästa.
Elastic Stacki ML on kirjutatud C++ keeles ja jookseb väljaspool JVM-i, milles töötab Elasticsearch ise. See tähendab, et protsess (muide, seda nimetatakse automaatseks tuvastamiseks) tarbib kõike, mida JVM ei neela. Demostendil pole see nii kriitiline, kuid tootmiskeskkonnas on oluline eraldada ML-ülesannete jaoks eraldi sõlmed.
Masinõppe algoritmid jagunevad kahte kategooriasse
Analüüsi läbiviimiseks kasutab masinõppe algoritm Elasticsearchi indeksitesse salvestatud andmeid. Analüüsiks saate luua ülesandeid nii Kibana liidesest kui ka API kaudu. Kui teete seda Kibana kaudu, ei pea te mõnda asja teadma. Näiteks täiendavad indeksid, mida algoritm oma töö ajal kasutab.
Analüüsiprotsessis kasutatavad lisaindeksid.ml-state — teave statistiliste mudelite kohta (analüüsi seaded);
.ml-anomalies-* — ML-algoritmide tulemused;
.ml-notifications — analüüsitulemustel põhinevate teadete seadistused.
Andmestruktuur andmebaasis Elasticsearch koosneb indeksitest ja neisse salvestatud dokumentidest. Võrreldes relatsiooniandmebaasiga, saab indeksit võrrelda andmebaasi skeemiga ja dokumenti tabelis oleva kirjega. See võrdlus on tingimuslik ja mõeldud selleks, et lihtsustada edasise materjali mõistmist neile, kes on Elasticsearchist vaid kuulnud.
API kaudu on saadaval samad funktsioonid kui veebiliidese kaudu, nii et selguse ja mõistete mõistmise huvides näitame, kuidas seda Kibana kaudu konfigureerida. Vasakpoolses menüüs on masinõppe jaotis, kus saate luua uue töö. Kibana liideses näeb see välja nagu alloleval pildil. Nüüd analüüsime igat tüüpi ülesandeid ja näitame analüüsi tüüpe, mida saab siin koostada.
Single Metric – ühe mõõdiku analüüs, Multi Metric – kahe või enama mõõdiku analüüs. Mõlemal juhul analüüsitakse iga mõõdikut isoleeritud keskkonnas, s.t. Algoritm ei võta arvesse paralleelselt analüüsitud mõõdikute käitumist, nagu võib tunduda Multi Metric puhul. Arvutuste tegemiseks, võttes arvesse erinevate mõõdikute korrelatsiooni, saate kasutada rahvastikuanalüüsi. Ja Advanced peenhäälestab algoritme teatud ülesannete jaoks lisavõimalustega.
Üks mõõdik
Ühe mõõdiku muudatuste analüüsimine on kõige lihtsam asi, mida siin teha saab. Pärast nupul Loo töö klõpsamist otsib algoritm kõrvalekaldeid.
Valdkonnas Liitmine saate valida lähenemisviisi kõrvalekallete otsimiseks. Näiteks millal min väärtusi, mis jäävad alla tüüpilistest väärtustest, loetakse anomaalseteks. Sööma Max, kõrge keskmine, madal, keskmine, eristatav ja teised. Kõigi funktsioonide kirjeldused leiate
Valdkonnas Väli tähistab dokumendis numbrivälja, mille põhjal analüüsi teostame.
Valdkonnas
Kogutud andmete kestus on võtmetegur, mis mõjutab analüüsi tõhusust. Analüüsi käigus tuvastab algoritm korduvad intervallid, arvutab usaldusintervallid (alusjooned) ja tuvastab kõrvalekalded – ebatüüpilised kõrvalekalded mõõdiku tavapärasest käitumisest. Lihtsalt näiteks:
Väikse andmekilduga lähtealused:
Kui algoritmil on millestki õppida, näeb lähtejoon välja järgmine:
Pärast ülesande käivitamist määrab algoritm anomaalsed kõrvalekalded normist ja järjestab need anomaaliate tõenäosuse järgi (sulgudes on märgitud vastava sildi värv):
Hoiatus (sinine): vähem kui 25
Minor (kollane): 25-50
Major (oranž): 50-75
Kriitiline (punane): 75-100
Allolev graafik näitab leitud kõrvalekallete näidet.
Siin näete numbrit 94, mis näitab anomaalia tõenäosust. On selge, et kuna väärtus on 100 lähedal, tähendab see, et meil on anomaalia. Graafiku all olev veerg näitab pejoratiivselt väikest tõenäosust 0.000063634% mõõdiku väärtusest.
Lisaks anomaaliate otsimisele saate Kibanas käivitada prognoosi. Seda tehakse lihtsalt ja samast vaatest anomaaliatega - nupp Ennustus paremas ülanurgas.
Prognoos tehakse maksimaalselt 8 nädalat ette. Isegi kui sa tõesti tahad, pole see disaini järgi enam võimalik.
Mõnes olukorras on prognoos väga kasulik, näiteks kasutajate koormuse jälgimisel infrastruktuuril.
Mitmemeetriline
Liigume edasi elastse virna järgmise ML-funktsiooni juurde – mitme mõõdiku analüüsimine ühes partiis. Kuid see ei tähenda, et analüüsitaks ühe mõõdiku sõltuvust teisest. See on sama, mis üksikmõõdik, kuid ühel ekraanil on mitu mõõdikut, et hõlpsasti võrrelda nende mõju teisele. Ühe mõõdiku sõltuvuse analüüsist teisest räägime jaotises Rahvaarv.
Pärast Multi Metricga ruudu klõpsamist ilmub seadetega aken. Vaatame neid üksikasjalikumalt.
Esmalt tuleb valida analüüsimiseks ja nende kohta andmete koondamiseks väljad. Siin on koondamisvalikud samad, mis ühe mõõdiku (Max, kõrge keskmine, madal, keskmine, eristatav ja teised). Lisaks jagatakse andmed soovi korral ühte väljadest (väli Andmete jagamine). Näites tegime seda valdkondade kaupa OriginAirportID. Pange tähele, et paremal olev mõõdikute graafik on nüüd esitatud mitme graafikuna.
Väli Võtmevaldkonnad (mõjutajad) mõjutab otseselt avastatud kõrvalekaldeid. Vaikimisi on siin alati vähemalt üks väärtus ja saate lisada täiendavaid väärtusi. Algoritm võtab analüüsimisel arvesse nende väljade mõju ja näitab kõige "mõjukamaid" väärtusi.
Pärast käivitamist ilmub Kibana liidesesse midagi sellist.
See on nn iga välja väärtuse anomaaliate soojuskaart OriginAirportID, mille me märkisime Andmete jagamine. Nagu ka ühe meetri puhul, näitab värv ebanormaalse kõrvalekalde taset. Sarnast analüüsi on mugav teha näiteks tööjaamades, et jälgida neid, millel on kahtlaselt palju volitusi jne. Me juba kirjutasime
Kuumakaardi all on anomaaliate loend, millest igaühelt saate üksikasjaliku analüüsi jaoks lülituda ühe meetri vaatele.
Elanikkond
Erinevate mõõdikute vaheliste korrelatsioonide anomaaliate otsimiseks on elastsel virnal spetsiaalne populatsioonianalüüs. Just selle abiga saate otsida serveri jõudluses teistega võrreldes anomaalseid väärtusi, kui näiteks sihtsüsteemile suunatud päringute arv suureneb.
Sellel joonisel näitab väli Populatsioon väärtust, millega analüüsitud mõõdikud seostuvad. Sel juhul on see protsessi nimi. Selle tulemusena näeme, kuidas iga protsessi protsessori koormus üksteist mõjutas.
Pange tähele, et analüüsitud andmete graafik erineb ühe meetri ja mitme meetri graafikutest. Seda tehti Kibanas, et analüüsitud andmete väärtuste jaotust paremini tajuda.
Graafik näitab, et protsess käitus ebanormaalselt stress (muide, spetsiaalse utiliidi poolt loodud) serveris poipu, kes selle anomaalia tekkimist mõjutas (või osutus mõjutajaks).
edasijõudnud
Analüütika peenhäälestusega. Täpsema analüüsi abil kuvatakse Kibanas lisaseaded. Pärast loomismenüüs paanil Täpsemalt klõpsamist ilmub see vahekaartidega aken. Tab töö üksikasjad Jätsime selle meelega vahele, seal on põhiseaded, mis ei ole analüüsi seadistamisega otseselt seotud.
В kokkuvõtte_loenduse_välja_nimi Soovi korral saate koondväärtusi sisaldavatest dokumentidest määrata välja nime. Selles näites sündmuste arv minutis. IN
Siin on täiendav seadete plokk anomaaliadetektori konfigureerimiseks konkreetse ülesande jaoks. Konkreetseid kasutusjuhtumeid (eriti turvalisusega seotud) kavatseme käsitleda järgmistes artiklites. Näiteks,
Valdkonnas funktsioon Anomaaliate otsimiseks saate valida kindla funktsiooni. Välja arvatud harv, on veel paar huvitavat funktsiooni -
В välja_nimi tähistab dokumendi välja, mille kohta analüüs tehakse. Välja_nime järgi saab kasutada siin määratud dokumendivälja iga üksiku väärtuse analüüsitulemuste eraldamiseks. Kui täidate üle_välja_nimi saate rahvastikuanalüüsi, mida eespool käsitlesime. Kui määrate väärtuse sisse partitsiooni_välja_nimi, siis arvutatakse selle dokumendivälja jaoks iga väärtuse jaoks eraldi lähtejooned (väärtuseks võib olla näiteks serveri või serveris oleva protsessi nimi). IN välista_sagedane saab valida kõik või mitte ükski, mis tähendab sageli esinevate dokumendivälja väärtuste välistamist (või kaasamist).
Püüdsime selles artiklis anda võimalikult napisõnalise ettekujutuse elastse virna masinõppe võimalustest; kulisside taha on jäänud veel palju detaile. Rääkige meile kommentaarides, milliseid juhtumeid teil õnnestus Elastic Stacki abil lahendada ja millisteks ülesanneteks te seda kasutate. Meiega ühenduse võtmiseks võite kasutada isiklikke sõnumeid Habré või
Allikas: www.habr.com