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 −
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.
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.
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.
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ä
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:
Kun algoritmilla on jotain opittavaa, perusviiva näyttää tältä:
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.
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.
Ennuste tehdään enintään 8 viikkoa etukäteen. Vaikka todella haluaisi, se ei ole enää mahdollista suunnittelun perusteella.
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.
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.
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.
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
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.
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.
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.
В 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
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,
Kentällä toiminto Voit valita tietyn toiminnon poikkeamien etsimiseen. Paitsi harvinainen, on pari muuta mielenkiintoista toimintoa -
В 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
Lähde: will.com