Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Muistetaan, että Elastic Stack perustuu ei-relaatioon perustuvaan Elasticsearch-tietokantaan, Kibana-verkkoliittymään ja tiedonkerääjiin ja prosessoreihin (kuuluisimmat Logstash, erilaiset Beatit, APM ja muut). Yksi mukavista lisäyksistä koko listattuun tuotepinoon on tietojen analysointi koneoppimisalgoritmeilla. Artikkelissa ymmärrämme, mitä nämä algoritmit ovat. Ole hyvä ja alle kissa.

Koneoppiminen on jaettavan Elastic Stackin maksullinen ominaisuus, ja se sisältyy X-Packiin. Aloita sen käyttö aktivoimalla 30 päivän kokeiluversio asennuksen jälkeen. Kokeilujakson päätyttyä voit pyytää tukea sen jatkamiseksi tai tilauksen ostamiseksi. Tilauksen hintaa ei lasketa datamäärän, vaan käytettyjen solmujen määrän perusteella. Ei, tiedon määrä tietysti vaikuttaa tarvittavien solmujen määrään, mutta silti tämä lähestymistapa lisensointiin on inhimillisempi suhteessa yrityksen budjettiin. Jos korkeaa tuottavuutta ei tarvita, voit säästää rahaa.

Elastic Stackin ML on kirjoitettu C++:lla ja toimii JVM:n ulkopuolella, jossa Elasticsearch itse toimii. Toisin sanoen prosessi (muuten, sitä kutsutaan automaattiseksi havaitsemiseksi) kuluttaa kaiken, mitä JVM ei niele. Demoosastolla tämä ei ole niin kriittistä, mutta tuotantoympäristössä on tärkeää varata erilliset solmut ML-tehtäville.

Koneoppimisalgoritmit jaetaan kahteen luokkaan − opettajan kanssa и ilman opettajaa. Elastisessa pinossa algoritmi on "valvomaton" -kategoriassa. Tekijä: linkki Näet koneoppimisalgoritmien matemaattisen laitteiston.

Koneoppimisalgoritmi käyttää analyysin suorittamiseen Elasticsearch-indekseihin tallennettua dataa. Voit luoda tehtäviä analysoitavaksi sekä Kibana-rajapinnasta että API:n kautta. Jos teet tämän Kibanan kautta, sinun ei tarvitse tietää joitain asioita. Esimerkiksi lisäindeksit, joita algoritmi käyttää toimintansa aikana.

Analyysiprosessissa käytetyt lisäindeksit.ml-state — tiedot tilastollisista malleista (analyysiasetukset);
.ml-anomalies-* — ML-algoritmien tulokset;
.ml-notifications — analyysituloksiin perustuvien ilmoitusten asetukset.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Elasticsearch-tietokannan tietorakenne koostuu hakemistoista ja niihin tallennetuista asiakirjoista. Relaatiotietokantaan verrattuna indeksiä voidaan verrata tietokantaskeemaan ja dokumenttia taulukon tietueeseen. Tämä vertailu on ehdollinen, ja sen tarkoituksena on yksinkertaistaa lisämateriaalin ymmärtämistä niille, jotka ovat vain kuulleet Elasticsearchista.

Samat toiminnot ovat saatavilla API:n kautta kuin verkkokäyttöliittymän kautta, joten selkeyden ja käsitteiden ymmärtämisen vuoksi näytämme kuinka se konfiguroidaan Kibanan kautta. Vasemmalla olevassa valikossa on koneoppimisosio, jossa voit luoda uuden työn. Kibana-käyttöliittymässä se näyttää alla olevalta kuvalta. Nyt analysoimme jokaisen tehtävätyypin ja näytämme analyysityypit, jotka voidaan rakentaa tähän.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Single Metric - yhden mittarin analyysi, Multi Metric - kahden tai useamman mittarin analyysi. Molemmissa tapauksissa jokainen mittari analysoidaan erillisessä ympäristössä, ts. algoritmi ei ota huomioon rinnakkain analysoitujen mittareiden käyttäytymistä, kuten se saattaa vaikuttaa Multi Metricin tapauksessa. Voit suorittaa laskelmia eri mittareiden korrelaatioiden perusteella käyttämällä populaatioanalyysiä. Ja Advanced hienosäätää algoritmeja lisävaihtoehdoilla tiettyjä tehtäviä varten.

Yksittäinen mittari

Yhden mittarin muutosten analysointi on yksinkertaisin asia, mitä tässä voidaan tehdä. Kun olet napsauttanut Luo työ, algoritmi etsii poikkeavuuksia.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Kentällä aggregaatti voit valita lähestymistavan poikkeavuuksien etsimiseen. Esimerkiksi milloin Min tyypillisten arvojen alapuolella olevia arvoja pidetään poikkeavina. Syödä Max, High Mean, Low, Mean, Distinct ja muut. Kaikkien toimintojen kuvaukset löytyvät по ссылке.

Kentällä Kenttä osoittaa asiakirjan numeerisen kentän, jonka perusteella suoritamme analyysin.

Kentällä Kauhan jänneväli — analyysin suorittamisen aikajanalla olevien välien tarkkuutta. Voit luottaa automaatioon tai valita manuaalisesti. Alla oleva kuva on esimerkki liian alhaisesta tarkkuudesta - saatat unohtaa poikkeaman. Tällä asetuksella voit muuttaa algoritmin herkkyyttä poikkeavuuksille.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Kerätyn tiedon kesto on keskeinen tekijä, joka vaikuttaa analyysin tehokkuuteen. Analyysin aikana algoritmi tunnistaa toistuvat intervallit, laskee luottamusvälit (perusviivat) ja tunnistaa poikkeamat - epätyypilliset poikkeamat metriikan tavanomaisesta käyttäytymisestä. Vain esimerkiksi:

Lähtökohdat pienellä datalla:

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Kun algoritmilla on jotain opittavaa, perusviiva näyttää tältä:

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Tehtävän aloittamisen jälkeen algoritmi määrittää poikkeamat normista ja luokittelee ne poikkeaman todennäköisyyden mukaan (vastaavan etiketin väri on merkitty suluissa):

Varoitus (sininen): alle 25
Alaikäiset (keltainen): 25-50
Major (oranssi): 50-75
Kriittinen (punainen): 75-100

Alla oleva kaavio näyttää esimerkin löydetyistä poikkeavuuksista.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Tässä näkyy numero 94, joka ilmaisee poikkeaman todennäköisyyden. On selvää, että koska arvo on lähellä 100, se tarkoittaa, että meillä on poikkeama. Kaavion alapuolella oleva sarake näyttää 0.000063634 %:n pejoratiivisen pienen todennäköisyyden, että siinä näkyy metriarvo.

Poikkeamien etsimisen lisäksi voit suorittaa ennusteita Kibanassa. Tämä tehdään yksinkertaisesti ja samasta näkymästä poikkeavuuksien kanssa - painike Ennuste oikeassa yläkulmassa.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Ennuste tehdään enintään 8 viikkoa etukäteen. Vaikka todella haluaisi, se ei ole enää mahdollista suunnittelun perusteella.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Joissakin tilanteissa ennusteesta on paljon hyötyä, esimerkiksi kun seurataan käyttäjien kuormitusta infrastruktuurissa.

Monimetrinen

Siirrytään Elastic Stackin seuraavaan ML-ominaisuuteen - useiden mittareiden analysointiin yhdessä erässä. Mutta tämä ei tarkoita, että yhden mittarin riippuvuutta toisesta analysoidaan. Tämä on sama kuin yksittäinen mittari, mutta yhdellä näytöllä on useita mittareita, jotta niiden vaikutusta toiseen on helppo verrata. Puhumme yhden mittarin riippuvuuden analysoinnista toisesta Väestö-osiossa.

Kun olet napsauttanut neliötä Multi Metricillä, näkyviin tulee ikkuna asetusten kanssa. Katsotaanpa niitä tarkemmin.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Ensin sinun on valittava kentät analysointia ja tietojen yhdistämistä varten. Aggregointivaihtoehdot ovat samat kuin yksittäisen mittarin (Max, High Mean, Low, Mean, Distinct ja muut). Lisäksi haluttaessa tiedot jaetaan yhteen kentistä (kenttä Jaa tiedot). Esimerkissä teimme tämän alakohtaisesti OriginAirportID. Huomaa, että oikealla oleva metriikkakaavio esitetään nyt useana kaaviona.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Kenttä Avainkentät (vaikuttajat) vaikuttaa suoraan havaittuihin poikkeamiin. Oletusarvoisesti tässä on aina vähintään yksi arvo, ja voit lisätä muita. Algoritmi ottaa huomioon näiden kenttien vaikutuksen analysoidessaan ja näyttää "vaikuttavimmat" arvot.

Käynnistyksen jälkeen jotain tällaista ilmestyy Kibana-käyttöliittymään.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Tämä on ns lämpökartta poikkeavuuksista jokaiselle kentän arvolle OriginAirportID, jonka ilmoitimme Jaa tiedot. Kuten Single Metric, väri ilmaisee epänormaalin poikkeaman tason. Samanlainen analyysi on kätevää tehdä esimerkiksi työasemilla jäljittääkseen niitä, joilla on epäilyttävän suuri määrä valtuuksia jne. Kirjoitimme jo epäilyttävistä tapahtumista EventLog Windowsissa, joita voi myös kerätä ja analysoida täällä.

Lämpökartan alla on luettelo poikkeavuuksista, joista jokaisesta voit siirtyä Yksittäinen metriikka -näkymään yksityiskohtaista analysointia varten.

väestö

Eri mittareiden välisten korrelaatioiden poikkeavuuksien etsimiseksi Elastic Stackissa on erikoistunut populaatioanalyysi. Sen avulla voit etsiä poikkeavia arvoja palvelimen suorituskyvystä muihin verrattuna, kun esimerkiksi pyyntöjen määrä kohdejärjestelmään kasvaa.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Tässä kuvassa Populaatio-kenttä osoittaa arvon, johon analysoidut mittarit liittyvät. Tässä tapauksessa se on prosessin nimi. Tuloksena näemme, kuinka kunkin prosessin prosessorikuorma vaikutti toisiinsa.

Huomaa, että analysoitujen tietojen kaavio eroaa yhden metrin ja monimetrisen tapauksista. Tämä tehtiin Kibanassa, jotta analysoitujen tietojen arvojen jakautuminen olisi entistä parempi.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Kaavio osoittaa, että prosessi toimi epänormaalisti stressi (muuten, erityisen apuohjelman luoma) palvelimella poipu, joka vaikutti (tai osoittautui vaikuttajaksi) tämän poikkeaman esiintymiseen.

Lisää

Analyysi hienosäädöllä. Tarkennetun analyysin avulla lisäasetukset näkyvät Kibanassa. Kun olet napsauttanut Lisäasetukset-ruutua luontivalikossa, tämä välilehtien ikkuna tulee näkyviin. Tab työ tiedot Ohitimme sen tarkoituksella, siinä on perusasetuksia, jotka eivät suoraan liity analyysin tekemiseen.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

В summary_count_field_name Valinnaisesti voit määrittää kentän nimen koostearvoja sisältävistä asiakirjoista. Tässä esimerkissä tapahtumien määrä minuutissa. SISÄÄN kategorisointikentän_nimi ilmaisee jonkin muuttujaarvon sisältävän dokumentin kentän nimen ja arvon. Tämän kentän maskin avulla voit jakaa analysoidut tiedot osajoukkoihin. Kiinnitä huomiota painikkeeseen Lisää ilmaisin edellisessä kuvassa. Alla on tämän painikkeen napsautuksen tulos.

Koneoppimisen ymmärtäminen elastisessa pinossa (alias Elasticsearch, alias ELK)

Tässä on ylimääräinen asetuslohko poikkeamatunnistimen määrittämiseksi tiettyä tehtävää varten. Aiomme keskustella erityisistä käyttötapauksista (erityisesti tietoturvaan liittyvistä) seuraavissa artikkeleissa. Esimerkiksi, katso yksi puretuista koteloista. Se liittyy harvoin esiintyvien arvojen etsimiseen ja toteutetaan harvinainen toiminto.

Kentällä toiminto Voit valita tietyn toiminnon poikkeamien etsimiseen. Paitsi harvinainen, on pari muuta mielenkiintoista toimintoa - vuorokaudenaika и viikon_aika. Ne tunnistavat poikkeavuuksia mittareiden käyttäytymisessä koko päivän tai viikon ajan. Muut analyysitoiminnot on dokumentaatiossa.

В kenttä nimi osoittaa asiakirjan kentän, jolle analyysi suoritetaan. By_field_name voidaan käyttää erottamaan analyysitulokset jokaiselle tässä määritetyn asiakirjakentän yksittäiselle arvolle. Jos täytät over_field_name saat väestöanalyysin, josta keskustelimme edellä. Jos määrität arvon osion_kentän_nimi, silloin tälle asiakirjan kenttään jokaiselle arvolle lasketaan erilliset perusviivat (arvo voi olla esimerkiksi palvelimen tai palvelimen prosessin nimi). SISÄÄN poissulje_usein voi valita kaikki tai ei mitään, mikä tarkoittaa usein esiintyvien asiakirjakenttäarvojen poissulkemista (tai sisällyttämistä).

Tässä artikkelissa yritimme antaa mahdollisimman ytimekkäästi käsityksen koneoppimisen mahdollisuuksista Elastic Stackissa, kulissien taakse on vielä paljon yksityiskohtia. Kerro meille kommenteissa, mitä tapauksia onnistuit ratkaisemaan Elastic Stackilla ja mihin tehtäviin käytät sitä. Voit ottaa meihin yhteyttä käyttämällä henkilökohtaisia ​​viestejä Habré tai palautelomake verkkosivuilla.

Lähde: will.com

Lisää kommentti