Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Kujtojmë se thelbi i Elastic Stack përbëhet nga një bazë të dhënash jo-relacionale Elasticsearch, ndërfaqe web Kibana dhe mbledhës-përpunues të të dhënave (më i njohuri është Logstash, Beats të ndryshëm, APM dhe të tjerë). Një nga shtesat e këndshme të të gjithë këtij stoku produktesh është analiza e të dhënave përmes algoritmeve të mësimit të makinerisë. Në këtë artikull ne shpjegojmë se çfarë përfaqësojnë këta algoritme. Ju lutemi, ndiqni për më shumë.

Mësimi i makinerisë është një funksion me pagesë i Elastic Stack që është kushtimisht falas dhe përfshihet në paketën X-Pack. Për të filluar ta përdorni, mjafton pas instalimit të aktivizoni një provë 30-ditore. Pas skadimit të periudhës provuese, mund të kërkoni ndihmën për ta zgjatur atë ose të blini një abonim. Çmimi i abonimit llogaritet jo nga volumi i të dhënave, por nga numri i nodave në përdorim. Jo, volumi i të dhënave ndikon, padyshim, në numrin e nodave të nevojshme, por megjithatë ky qasje për licencim është më e humanizuar ndaj buxhetit të kompanisë. Nëse nuk keni nevojë për performancë të lartë — mund të kurseni.

ML në Elastic Stack është shkruar në C++ dhe funksionon jashtë JVM-së, ku ekzekutohet vetë Elasticsearch. Pra, procesi (i quajtur autodetect) konsumon gjithçka që JVM nuk e përpunon. Në një skenë demo kjo nuk është aq kritike, por në mjedis produktiv është e rëndësishme të përzgjedhësh node të veçanta për detyrat e ML.

Algoritmet e mësimit të makinerive ndahen në dy kategori — me mësues dhe pa mësues. Në Elastic Stack algoritmi bie në kategorinë "pa mësues". Mund të shihni kjo lidhje aparatin matematikor të algoritmeve të mësimit të makinerive.

Për të kryer analizën, algoritmi i mësimit të makinerive përdor të dhënat që ruhen në indekset Elasticsearch. Mund të krijoni detyra për analiza si nga ndërfaqja Kibana ashtu edhe përmes API-së. Nëse e bëni këtë përmes Kibana, disa gjëra nuk është e nevojshme t'i dini. Për shembull, indekset shtesë që përdor algoritmi gjatë funksionimit.

Indekset shtesë të përdorur gjatë analizës.ml-state — informacion mbi modelet statistikore (konfigurimet e analizës);
.ml-anomalies-* — rezultatet e punës së algoritmeve ML;
.ml-notifications — konfigurimet e njoftimeve për rezultatet e analizës.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Struktura e të dhënave në bazën Elasticsearch përbëhet nga indekset dhe dokumentet që ruhen në to. Nëse e krahasojmë me një bazë të dhënash relationale, indeksi mund të krahasohet me diagramin e bazës së dhënash, ndërsa dokumenti me një rekord në tabelë. Ky krahasim është i kushtezuar dhe është dhënë për të thjeshtuar kuptimin e materialeve të mëtejshme për ata që kanë dëgjuar vetëm për Elasticsearch.

Përmes API është i disponueshëm i njëjti funksionalitet si përmes ndërfaqes në ueb, prandaj për ilustërim dhe për të kuptuar konceptet do të tregojmë se si të konfigurojmë përmes Kibana. Në menunë e majtë ka një seksion Machine Learning, ku mund të krijoni një punë të re (Job). Në ndërfaqen Kibana, kjo duket si në imazhin më poshtë. Tani do të shqyrtojmë çdo tip punë dhe do të tregojmë llojet e analizave që mund të ndërtohen këtu.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Single Metric — analiza e një metrikë, Multi Metric — analiza e dy ose më shumë metrike. Në të dyja rastet, çdo metrikë analizohet në një mjedis të izoluar, pra algoritmi nuk merr parasysh sjelljen e metrikeve që analizohen paralelisht, siç mund të dukej në rastin e Multi Metric. Për të bërë llogaritjet duke marrë parasysh korrelacionin midis ndryshimeve të ndryshme, mund të aplikohet analiza e Popullatës. Ndërsa Advanced — është optimizimi i algoritmeve me mundësi të tjera për detyra të caktuara.

Single Metric

Analiza e ndryshimeve të një metrike të vetme — është diçka shumë e thjeshtë që mund të bëhet këtu. Pas klikimit në Create Job, algoritmi do të kërkojë anomalitë.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Në fushën Aggregation mund të zgjidhni qasjen për kërkimin e anomalive. Për shembull, në Min do të konsiderohen anomali vlerat që janë më të ulëta se tipiket. Ekzistojnë Max, High Mean, Low, Mean, Distinct dhe të tjera. Përshkrimin e të gjitha funksioneve mund ta shihni në lidhje.

Në fushën Field është e specifikuar një fushë numerike në dokument, mbi të cilën do të bëjmë analizën.

Në fushën Bucket span — granulariteti i intervaleve në linjën e kohës, mbi të cilët do të bëhet analiza. Mund të besoni automatizimin ose të zgjidhni manualisht. Në figurën më poshtë tregohet një shembull i granularitetit shumë të ulët — mund të kaloni një anomalie. Me këtë cilësim mund të ndryshoni ndjeshmërinë e algoritmit ndaj anomaliave.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Kohëzgjatja e të dhënave të mbledhura është një faktor kyç që ndikon në efikasitetin e analizës. Gjatë analizës, algoritmi përcakton intervalet e përsëritura, llogarit intervalin e besimit (bazat) dhe zbulon anomali — devijime të pazakonta nga sjellja normale e metrikës. Për një shembull:

Bazat për një interval të vogël të dhënash:

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Kur algoritmi ka me çfarë të mësojë — bazat duken kështu:

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Pas nisjes së detyrës, algoritmi përcakton devijimet anomale nga norma dhe i rendit ato sipas probabilitetit të anomalisë (në paranteza është ngjyra e etiketës përkatëse):

Warning (blu): më pak se 25
Minor (yellow): 25-50
Major (orange): 50-75
Critical (red): 75-100

Në grafikun më poshtë është një shembull me anomali të gjetura.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Këtu shikohet numri 94, i cili tregon probabilitetin e një anomali. Natyrisht, nëse vlera është afër 100, kjo tregon se kemi të bëjmë me një anomalitë. Në kolonën poshtë grafikëve shënohet një probabilitet shumë i vogël prej 0.000063634% për të pasur një vlerë të metrikës atje.

Përveç kërkimit të anomali në Kibana, mund të nisni parashikimin. Kjo është shumë e thjeshtë dhe bëhet nga e njëjta pamje me anomali — butoni Forecast në këndin e sipërm të djathtë.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Parashikimi ndërtohet maksimumi 8 javë përpara. Edhe pse dëshira për më shumë është e madhe — më shumë nuk lejohet sipas dizajnit.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Në disa situata, parashikimi do të jetë shumë i dobishëm, për shembull, kur monitorohet ngarkesa e përdoruesve në infrastrukturë.

Multi Metric

Të kalojmë te mundësia tjetër ML në Elastic Stack — analiza e disa metrikave në një grup. Por kjo nuk do të thotë se do të analizohet varësia e një metrike nga tjetra. Ky është njësoj si Single Metric, vetëm me shumë metrika në një ekran për të lehtësuar krahasimin e ndikimit të njëra-tjetrës. Do të flasim për analizën e varësisë së një metrike nga tjetra në pjesën e Population.

Pas klikimit në katrorin me Multi Metric, do të shfaqet një dritare me cilësimet. Do t'i ndalem më në detaje atyre.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

për të filluar, nevojitet të zgjidhni fushat për analizë dhe aggregimin e të dhënave në to. Opsionet e agregimit këtu janë ato që janë përdorur për Metrikën e Vetme (Max, High Mean, Low, Mean, Distinct dhe të tjera). Më pas, të dhënat mund të ndahen sipas njërit nga fushat (fusha Ndarja e të Dhënave). Në këtë shembull, ne e bëmë këtë sipas fushës OriginAirportID. Vini re se grafiku i metrikeve të djathtas tani paraqitet si një sërë grafiku.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Fusha Fushat Kyçe (Influencers) ka një ndikim të drejtpërdrejtë në anomali që janë gjetur. Në mënyrë të parazgjedhur, do të ketë gjithmonë të paktën një vlerë këtu, dhe ju mund të shtoni të tjera. Algoritmi do të marrë parasysh ndikimin e këtyre fushave gjatë analizës dhe do të tregojë vlerat më 'të ndikueshme'.

Pas nisjes, në ndërfaqen Kibana do të shfaqet një pamje si kjo.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Kjo është e ashtuquajtura hartë e nxehtësisë së anomali për çdo vlerë të fushës OriginAirportID, e cila është shënuar në Ndarja e të Dhënave. Ashtu si në rastin e Metrikës së Vetme, ngjyra tregon nivelin e devijimit anormal. Një analizë e ngjashme është e përshtatshme të bëhet, për shembull, për stacionet e punës për të ndjekur ato, ku ka një sasi të dyshimtë të autorizimeve etj. Ne kemi shkruar më parë për ngjarjet e dyshimta në EventLog Windows, të cilat gjithashtu mund të mblidhen dhe analizohen këtu.

Nën hartën termike është lista e anomalive, nga e cila çdo një mund të çojë në pamjen Single Metric për një analizë të detajuar.

Popullata

Për të kërkuar anomalitë midis korelacionëve të metrikave të ndryshme në Elastic Stack, ka një analizë të specializuar Popullata. Pikërisht me ndihmën e saj mund të kërkohen vlera anomale në performancën e ndonjë serveri në krahasim me të tjerët, për shembull, gjatë rritjes së numrit të kërkesave ndaj sistemit të synuar.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Në këtë ilustrim, në fushën Popullata tregohet vlera ndaj të cilës do të referohen metrikat që po analizohet. Në këtë rast, është emri i procesit. Si rezultat, ne do të shohim se si ngarkesa e procesorit nga secili prej procesëve ka ndikuar njëri te tjetri.

Vini re se grafiku i të dhënave të analizuara është ndryshe nga rastet me Single Metric dhe Multi Metric. Kjo u bë në Kibana për të përmirësuar perceptimin e shpërndarjes së vlerave të të dhënave të analizuara.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Nga grafiku tregohet se procesi stress (për ta thënë, i gjeneruar nga një utilitar të veçantë) në serverin poipu, i cili ndikoi (apo u bë influencues) në shfaqjen e kësaj anomalie.

Advanced

Analitika me përshtatje të hollësishme. Në analizën Advanced në Kibana shfaqen cilësime shtesë. Pasi të klikoni në menunë e krijimit mbi pllakën Advanced, gjithashtu shfaqet një dritare e tillë me skeda. Skeda Detajet e Punës e kemi lënë qëllimisht mënjanë, aty janë cilësimet bazë që nuk i përkasin drejtpërdrejt për konfigurimin e analizës.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

summary_count_field_name opsionale mund të specifikoni emrin e fushës nga dokumentet që përmban vlera të agreguara. Në këtë shembull — numri i ngjarjeve për minutë. Në categorization_field_name jysh specifikohet emri i fushës në dokument që përmban një vlerë të caktuar. Në përputhje me këtë fushë, të dhënat e analizuar mund të ndahen në nëngrupe. Vëreni butonin Shto detektor në iluztrimin e mëparshëm. Më poshtë është rezultati i klikimit mbi këtë buton.

Të kuptojmë Machine Learning në Elastic Stack (njësoj Elasticsearch, njësoj ELK)

Këtu është një bllok shtesë cilësimesh për konfigurimin e detektorit të anomalive për një detyrë të caktuar. Raste të caktuara përdorimi (veçanërisht për sigurinë) ne planifikojmë t'i shqyrtojmë në artikujt e ardhshëm. Për shembull, shikoni një nga rastet e shqyrtuara. Ai lidhet me kërkimin e vlerave të rralla dhe realizohet funksioni rare.

Në fushën function mund të zgjidhet një funksion specifik për kërkimin e anomali. Përveç të ralla, ka edhe disa funksione interesante — koha_e_ditës dhe koha_e_javës. Ato zbulojnë anomali në sjelljen e metrikeve gjatë ditës ose javës përkatësisht. Funkcioni tjetër i analizës gjendet në dokumentacion.

emri_i_fushës specifikon fushën e dokumentit sipas së cilës do të kryhet analiza. Nga_emri_i_fushës mund të përdoret për të ndarë rezultatet e analizës sipas çdo vlerë të veçantë të caktuar këtu në fushën e dokumentit. Nëse plotëson përmes_emrit_të_fushës do të përfitohet një analizë populations, siç shqyrtuam më lart. Nëse specifikohet një vlerë në fusha_partition, atëherë për këtë fushë dokumenti do të llogariten linja bazë të ndryshme për çdo vlerë (si vlera mund të shërbejë, për shembull, emri i serverit ose procesit në server). Në përjashto_të_frekuentat mund të zgjidhet all ose none, që do të thotë përjashtim (ose përfshirje) e vlerave të zakonshme të fushave të dokumente.

Në këtë artikull, përpiqemi të japim një përmbledhje sa më të saktë të mundësive të mësimit të makinerive në Elastic Stack, duke lënë shumë detaje pas skenës. Na tregoni në komentet se cilat raste keni arritur të zgjidhni me ndihmën e Elastic Stack dhe për cilat detyra e përdorni atë. Për t'u lidhur me ne, mund të përdorni mesazhet personale në Habr ose formën e kontaktit në faqen e internetit.

Burimi: habr.com

Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS 🔥 Bleni hostim të besueshëm për faqe me mbrojtje nga DDoS, serverë VPS VDS | ProHoster