Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

Ni rememoru, ke la Elasta Stako baziĝas sur la ne-rilata Elasticsearch-datumbazo, la interfaco de Kibana kaj datumkolektantoj kaj procesoroj (la plej famaj Logstash, diversaj Beats, APM kaj aliaj). Unu el la belaj aldonoj al la tuta listigita produktostako estas datuma analizo per maŝinlernado-algoritmoj. En la artikolo ni komprenas, kio estas ĉi tiuj algoritmoj. Bonvolu sub kato.

Maŝina lernado estas pagita trajto de la shareware Elastic Stack kaj estas inkluzivita en la X-Pack. Por komenci uzi ĝin, simple aktivigu la 30-tagan provon post instalado. Post kiam la provperiodo eksvalidiĝas, vi povas peti subtenon por etendi ĝin aŭ aĉeti abonon. La kosto de abono estas kalkulita ne surbaze de la volumo de datumoj, sed de la nombro da uzataj nodoj. Ne, la volumo de datumoj, kompreneble, influas la nombron da postulataj nodoj, sed tamen ĉi tiu aliro al licencado estas pli humana rilate al la buĝeto de la kompanio. Se ne bezonas altan produktivecon, vi povas ŝpari monon.

ML en la Elasta Stako estas skribita en C++ kaj funkcias ekster la JVM, en kiu Elasticsearch mem funkcias. Tio estas, la procezo (cetere, ĝi nomiĝas aŭtodetekto) konsumas ĉion, kion la JVM ne englutas. Sur demonstra stando ĉi tio ne estas tiel kritika, sed en produktadmedio gravas asigni apartajn nodojn por ML-taskoj.

Algoritmoj de maŝinlernado falas en du kategoriojn − kun la instruisto и sen instruisto. En la Elasta Stako, la algoritmo estas en la "nekontrolita" kategorio. De ĉi tiu ligo Vi povas vidi la matematikan aparaton de maŝinlernado-algoritmoj.

Por fari la analizon, la maŝinlernada algoritmo uzas datumojn konservitajn en Elasticsearch-indeksoj. Vi povas krei taskojn por analizo kaj de la Kibana interfaco kaj per la API. Se vi faras tion per Kibana, tiam vi ne bezonas scii iujn aferojn. Ekzemple, pliaj indeksoj kiujn la algoritmo uzas dum sia funkciado.

Pliaj indeksoj uzataj en la analiza procezo.ml-state — informoj pri statistikaj modeloj (analizaj agordoj);
.ml-anomalies-* — rezultoj de ML-algoritmoj;
.ml-notifications — agordoj por sciigoj bazitaj sur analizrezultoj.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

La datumstrukturo en la datumbazo Elasticsearch konsistas el indeksoj kaj dokumentoj stokitaj en ili. Se komparite kun rilata datumbazo, indekso povas esti komparita kun datumbaza skemo, kaj dokumento kun rekordo en tabelo. Ĉi tiu komparo estas kondiĉa kaj estas provizita por simpligi la komprenon de plia materialo por tiuj, kiuj nur aŭdis pri Elasticsearch.

La sama funkcieco disponeblas per la API kiel per la interreta interfaco, do por klareco kaj kompreno de la konceptoj, ni montros kiel agordi ĝin per Kibana. En la menuo maldekstre estas sekcio de Maŝinlernado, kie vi povas krei novan Laborpostenon. En la interfaco de Kibana ĝi aspektas kiel la suba bildo. Nun ni analizos ĉiun tipon de tasko kaj montros la specojn de analizo, kiuj povas esti konstruitaj ĉi tie.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

Single Metric - analizo de unu metriko, Multi Metric - analizo de du aŭ pli da metriko. En ambaŭ kazoj, ĉiu metriko estas analizita en izolita medio, t.e. la algoritmo ne enkalkulas la konduton de paralela analizita metriko, kiel ĝi povus ŝajni en la kazo de Multi Metric. Por efektivigi kalkulojn konsiderante la korelacion de diversaj metrikoj, vi povas uzi Populacian analizon. Kaj Advanced agordas la algoritmojn kun pliaj opcioj por certaj taskoj.

Ununura Metriko

Analizi ŝanĝojn en unu sola metriko estas la plej simpla afero, kiu povas esti farita ĉi tie. Post klako sur Krei Laborpostenon, la algoritmo serĉos anomaliojn.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

En kampo Agregacio vi povas elekti aliron por serĉi anomaliojn. Ekzemple, kiam min valoroj sub tipaj valoroj estos konsiderataj nenormalaj. Manĝu Maksimumo, Alta Meza, Malalta, Meza, Distinga kaj aliaj. Priskriboj de ĉiuj funkcioj troveblas ligilo.

En kampo Kampo indikas la nombran kampon en la dokumento, sur kiu ni faros la analizon.

En kampo Sitelo span — granulareco de intervaloj sur la templinio laŭ kiu la analizo estos farita. Vi povas fidi la aŭtomatigon aŭ elekti permane. La suba bildo estas ekzemplo de granulareco tro malalta - vi povas maltrafi la anomalion. Uzante ĉi tiun agordon, vi povas ŝanĝi la sentemon de la algoritmo al anomalioj.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

La daŭro de la kolektitaj datumoj estas ŝlosila afero, kiu influas la efikecon de la analizo. Dum analizo, la algoritmo identigas ripetantajn intervalojn, kalkulas konfidajn intervalojn (bazlinioj), kaj identigas anomaliojn - maltipaj deviojn de la normala konduto de la metriko. Nur ekzemple:

Bazlinioj kun malgranda datumo:

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

Kiam la algoritmo havas ion por lerni, la bazlinio aspektas jene:

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

Post komenci la taskon, la algoritmo determinas anomaliajn deviojn de la normo kaj vicigas ilin laŭ la probablo de anomalio (la koloro de la responda etikedo estas indikita en krampoj):

Averto (blua): malpli ol 25
Malgranda (flava): 25-50
Majoro (oranĝa): 50-75
Kritika (ruĝa): 75-100

La suba grafikaĵo montras ekzemplon de la trovitaj anomalioj.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

Ĉi tie vi povas vidi la numeron 94, kiu indikas la probablon de anomalio. Estas klare, ke ĉar la valoro estas proksima al 100, tio signifas, ke ni havas anomalion. La kolumno sub la grafikaĵo montras la pejorative malgrandan probablecon de 0.000063634% de la metrika valoro aperanta tie.

Krom serĉi anomaliojn, vi povas ruli prognozon en Kibana. Ĉi tio estas farita simple kaj de la sama vido kun anomalioj - butono Antaŭvido en la supra dekstra angulo.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

La prognozo estas farita por maksimume 8 semajnoj anticipe. Eĉ se vi vere volas, ĝi ne plu eblas laŭ dezajno.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

En iuj situacioj, la prognozo estos tre utila, ekzemple, kiam vi kontrolas uzantŝarĝon sur la infrastrukturo.

Multimetriko

Ni transiru al la sekva ML-trajto en la Elasta Stako - analizante plurajn metrikojn en unu aro. Sed ĉi tio ne signifas, ke la dependeco de unu metriko de alia estos analizita. Ĉi tio estas la sama kiel Single Metric, sed kun multoblaj metrikoj sur unu ekrano por facila komparo de la efiko de unu sur la alia. Ni parolos pri analizado de la dependeco de unu metriko de alia en la sekcio Loĝantaro.

Post klako sur la kvadrato kun Multimetriko, fenestro kun agordoj aperos. Ni rigardu ilin pli detale.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

Unue vi devas elekti la kampojn por analizo kaj datuma agregado pri ili. La agregaj opcioj ĉi tie estas la samaj kiel por Ununura Metriko (Maksimumo, Alta Meza, Malalta, Meza, Distinga kaj aliaj). Plue, se vi deziras, la datumoj estas dividitaj en unu el la kampoj (kampo Split Datumoj). En la ekzemplo, ni faris tion laŭ kampo Origina FlughavenoID. Rimarku, ke la metrika grafeo dekstre nun estas prezentita kiel multoblaj grafeoj.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

kampo Ŝlosilkampoj (influantoj) rekte influas la detektitajn anomaliojn. Defaŭlte ĉiam estos almenaŭ unu valoro ĉi tie, kaj vi povas aldoni pliajn. La algoritmo konsideros la influon de ĉi tiuj kampoj kiam oni analizas kaj montros la plej "influajn" valorojn.

Post lanĉo, io tia aperos en la interfaco de Kibana.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

Ĉi tio estas la tiel nomata varmomapo de anomalioj por ĉiu kampovaloro Origina FlughavenoID, kiun ni indikis en Split Datumoj. Kiel kun Single Metric, koloro indikas la nivelon de nenormala devio. Estas oportune fari similan analizon, ekzemple, sur laborstacioj por spuri tiujn kun suspektinde granda nombro da rajtigoj, ktp. Ni jam skribis pri suspektindaj eventoj en EventLog Windows, kiuj ankaŭ povas esti kolektitaj kaj analizitaj ĉi tie.

Sub la varmomapo estas listo de anomalioj, de ĉiu vi povas ŝanĝi al la Ununura Metriko-vido por detala analizo.

loĝantaro

Por serĉi anomaliojn inter korelacioj inter malsamaj metrikoj, la Elasta Stako havas specialan Populacian analizon. Ĝuste kun ĝia helpo vi povas serĉi anomaliajn valorojn en la agado de servilo kompare kun aliaj kiam, ekzemple, la nombro da petoj al la cela sistemo pliiĝas.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

En ĉi tiu ilustraĵo, la kampo Loĝantaro indikas la valoron al kiu rilatos la analizitaj metrikoj. En ĉi tiu kazo ĝi estas la nomo de la procezo. Kiel rezulto, ni vidos kiel la procesoro-ŝarĝo de ĉiu procezo influis unu la alian.

Bonvolu noti, ke la grafikaĵo de la analizitaj datumoj diferencas de la kazoj kun Ununura Metriko kaj Multimetriko. Ĉi tio estis farita en Kibana laŭ dezajno por plibonigita percepto de la distribuo de valoroj de la analizitaj datumoj.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

La grafikaĵo montras, ke la procezo kondutis nenormale premo (cetere, generita de speciala ilo) sur la servilo poipu, kiu influis (aŭ montriĝis esti influanto) la okazon de ĉi tiu anomalio.

Altnivelaj

Analitiko kun fajna agordo. Kun Altnivela analizo, pliaj agordoj aperas en Kibana. Post klako sur la Altnivela kahelo en la krea menuo, aperas ĉi tiu fenestro kun langetoj. Tab Laboraj Detaloj Ni preterlasis ĝin, ekzistas bazaj agordoj ne rekte rilataj al agordo de la analizo.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

В resumo_nombra_kampa_nomo Laŭvole, vi povas specifi la nomon de kampo de dokumentoj enhavantaj agregitajn valorojn. En ĉi tiu ekzemplo, la nombro da eventoj por minuto. EN kategoriigo_kampa_nomo indikas la nomon kaj valoron de kampo el la dokumento, kiu enhavas iun varian valoron. Uzante la maskon sur ĉi tiu kampo, vi povas dividi la analizitajn datumojn en subarojn. Atentu la butonon Aldonu detektilon en la antaŭa ilustraĵo. Malsupre estas la rezulto de klakado de ĉi tiu butono.

Kompreni Maŝinlernadon en la Elasta Stako (alinome Elasticsearch, alinome ELK)

Jen plia bloko de agordoj por agordi la anomaliodetektilon por specifa tasko. Ni planas diskuti specifajn uzkazojn (precipe sekurecajn) en la sekvaj artikoloj. Ekzemple, rigardu unu el la malmuntitaj kazoj. Ĝi estas asociita kun la serĉo de malofte aperantaj valoroj kaj estas efektivigita malofta funkcio.

En kampo funkcio Vi povas elekti specifan funkcion por serĉi anomaliojn. Krom malofta, estas kelkaj pli interesaj funkcioj - tempo_de_tago и tempo_de_semajno. Ili identigas anomaliojn en la konduto de metriko dum la tago aŭ semajno, respektive. Aliaj analizaj funkcioj estas en la dokumentado.

В kampo_nomo indikas la kampon de la dokumento sur kiu la analizo estos farita. Laŭ_kampa_nomo povas esti uzata por apartigi la analizrezultojn por ĉiu individua valoro de la dokumentkampo specifita ĉi tie. Se vi plenigas super_kampa_nomo vi ricevas la populacio-analizon, kiun ni diskutis supre. Se vi specifas valoron en diskparto_kampo_nomo, tiam por ĉi tiu kampo de la dokumento apartaj bazlinioj estos kalkulitaj por ĉiu valoro (la valoro povas esti, ekzemple, la nomo de la servilo aŭ procezo sur la servilo). EN ekskludi_oftaj povas elekti ĉiujneniu, kio signifos ekskludi (aŭ inkluzivi) oftajn dokumentkampajn valorojn.

En ĉi tiu artikolo, ni provis doni kiel eble plej koncizan ideon pri la kapabloj de maŝinlernado en la Elasta Stako; ankoraŭ restas multaj detaloj malantaŭ la scenoj. Diru al ni en la komentoj, kiajn kazojn vi sukcesis solvi uzante Elastic Stack kaj por kiaj taskoj vi uzas ĝin. Por kontakti nin, vi povas uzi personajn mesaĝojn ĉe Habré aŭ reago formularo en la retejo.

fonto: www.habr.com

Aldoni komenton