Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

Ricurdemu chì l'Elastic Stack hè basatu annantu à a basa di dati Elasticsearch non-relazionale, l'interfaccia web Kibana è i cullettori di dati è processori (u più famosu Logstash, vari Beats, APM è altri). Unu di i belli aghjunti à tutta a pila di prudutti listati hè l'analisi di dati utilizendu algoritmi d'apprendimentu automaticu. In l'articulu avemu capitu ciò chì sò sti algoritmi. Per piacè sottu cat.

L'apprendimentu automaticu hè una funzione pagata di u shareware Elastic Stack è hè inclusu in l'X-Pack. Per cumincià à aduprà, basta à attivà a prova di 30 ghjorni dopu a stallazione. Dopu chì u periodu di prova scade, pudete dumandà supportu per allargà o cumprà un abbonamentu. U costu di un abbunamentu hè calculatu micca basatu annantu à u voluminu di dati, ma nantu à u numeru di nodi utilizati. No, u voluminu di dati, sicuru, affetta u nùmeru di nodi necessarii, ma ancu questu approcciu di licenze hè più umanu in relazione à u budget di a cumpagnia. Se ùn ci hè micca bisognu di alta produtividade, pudete risparmià soldi.

ML in l'Elastic Stack hè scrittu in C++ è corre fora di a JVM, in quale Elasticsearch stessu corre. Questu hè, u prucessu (per via, hè chjamatu autodetect) cunsuma tuttu ciò chì a JVM ùn inghjustà. In un stand demo, questu ùn hè micca cusì criticu, ma in un ambiente di produzzione hè impurtante di assignà nodi separati per i travaglii ML.

L'algoritmi d'apprendimentu di a macchina sò in dui categurie - cù u maestru и senza un maestru. In l'Elastic Stack, l'algoritmu hè in a categuria "unsupervised". By stu ligame Pudete vede l'apparechju matematicu di l'algoritmi d'apprendimentu machine.

Per fà l'analisi, l'algoritmu d'apprendimentu di machine utilizeghja dati almacenati in indici Elasticsearch. Pudete creà attività per l'analisi sia da l'interfaccia Kibana sia attraversu l'API. Se fate questu attraversu Kibana, ùn avete micca bisognu di sapè alcune cose. Per esempiu, indici supplementari chì l'algoritmu usa durante u so funziunamentu.

Indici supplementari utilizati in u prucessu di analisi.ml-state - infurmazione nantu à mudelli statistichi (parametri di analisi);
.ml-anomalies-* - risultati di l'algoritmi ML;
.ml-notifications - paràmetri per notificazioni basati nantu à i risultati di l'analisi.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

A struttura di dati in a basa di dati Elasticsearch hè custituita da indici è documenti almacenati in elli. Quandu si compara à una basa di dati relazionale, un indice pò esse paragunatu à un schema di basa di dati, è un documentu à un registru in una tavula. Questa paraguna hè cundizionale è hè furnita per simplificà l'intelligenza di più materiale per quelli chì anu intesu solu parlà di Elasticsearch.

A listessa funziunalità hè dispunibule per l'API cum'è per l'interfaccia web, cusì per a clarità è a capiscitura di i cuncetti, vi mustraremu cumu cunfigurà cù Kibana. In u menù à manca ci hè una sezione di Machine Learning induve pudete creà un novu Job. In l'interfaccia Kibana s'assumiglia à l'imaghjini sottu. Avà analizà ogni tipu di compitu è ​​mostra i tipi di analisi chì ponu esse custruitu quì.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

Single Metric - analisi di una metrica, Multi Metric - analisi di duie o più metriche. In i dui casi, ogni metrica hè analizata in un ambiente isolatu, i.e. l'algoritmu ùn piglia micca in contu u cumpurtamentu di e metriche analizate parallele, cum'è puderia pare in u casu di Multi Metric. Per fà i calculi in cunsiderà a correlazione di diverse metriche, pudete aduprà l'analisi di a pupulazione. È Advanced hè fine-tuning l'algoritmi cù opzioni supplementari per certe attività.

Unica Metrica

Analizà i cambiamenti in una sola metrica hè a cosa più simplice chì pò esse fatta quì. Dopu à cliccà nant'à Create Job, l'algoritmu cercarà anomalie.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

In lu campu di Aggregazione pudete sceglie un approcciu per a ricerca di anomalie. Per esempiu, quandu Min i valori sottu à i valori tipici seranu cunsiderati anomali. Manghja Max, Altu Mediu, Bassu, Mediu, Distintu è altri. Descrizzioni di tutte e funzioni ponu esse truvati Member.

In lu campu di campu indica u campu numericu in u documentu nantu à quale avemu da fà l'analisi.

In lu campu di Spanu di bucket - granularità di intervalli nantu à u timeline longu chì l'analisi serà realizatu. Pudete fiducia in l'automatizazione o sceglie manualmente. L'imaghjini sottu hè un esempiu di granularità troppu bassu - pudete missu l'anomalia. Utilizendu stu paràmetru, pudete cambià a sensibilità di l'algoritmu à anomalie.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

A durata di e dati raccolti hè una cosa chjave chì afecta l'efficacità di l'analisi. Durante l'analisi, l'algoritmu identifica intervalli ripetuti, calcula intervalli di cunfidenza (baseline) è identifica anomalie - deviazioni atipiche da u cumpurtamentu abituale di a metrica. Solu per esempiu:

Baseline cù un picculu pezzu di dati:

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

Quandu l'algoritmu hà qualcosa da amparà, a linea di basa hè cusì:

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

Dopu avè principiatu u compitu, l'algoritmu determina deviazioni anomali da a norma è li classifica secondu a probabilità di una anomalia (u culore di l'etichetta currispondente hè indicatu in parentesi):

Avvertimentu (blu): menu di 25
Minore (giallu): 25-50
Major (aranciu): 50-75
Critica (russu): 75-100

U graficu sottu mostra un esempiu di l'anomali truvati.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

Quì pudete vede u numeru 94, chì indica a probabilità di una anomalia. Hè chjaru chì postu chì u valore hè vicinu à 100, significa chì avemu una anomalia. A colonna sottu à u graficu mostra a probabilità pejoratively small di 0.000063634% di u valore metricu chì appare quì.

In più di a ricerca di anomalie, pudete eseguisce a previsione in Kibana. Questu hè fattu simplicemente è da a listessa vista cù anomalie - buttone Meteo in l'angulu superiore dirittu.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

A previsione hè fatta per un massimu di 8 settimane in anticipu. Ancu s'è vo vulete veramente, ùn hè più pussibule da u disignu.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

In certi casi, a previsione serà assai utile, per esempiu, quandu monitoreghja a carica di l'utilizatori nantu à l'infrastruttura.

Multi metrica

Passemu à a prossima funzione ML in l'Elastic Stack - analizendu parechje metriche in un batch. Ma questu ùn significa micca chì a dependenza di una metrica à l'altru serà analizata. Questu hè u listessu cum'è Single Metric, ma cù parechje metriche nantu à una schermu per fà un paragone faciule di l'impattu di l'una nantu à l'altru. Parleremu di analizà a dependenza di una metrica à l'altru in a sezione Populazione.

Dopu à cliccà nantu à u quadru cù Multi Metric, una finestra cù i paràmetri appariscerà. Fighjemu à elli in più detail.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

Prima avete bisognu di selezziunà i campi per l'analisi è l'agregazione di dati nantu à elli. L'opzioni di aggregazione quì sò listessi cum'è per Single Metric (Max, Altu Mediu, Bassu, Mediu, Distintu è altri). Inoltre, se vulete, i dati sò divisi in unu di i campi (campu Split Data). In l'esempiu, avemu fattu questu per campu ID di l'aeroportu d'origine. Avvisate chì u graficu di metrica à a diritta hè avà prisentatu cum'è grafici multipli.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

chjosu Campi chjave (Influencers) influenza direttamente l'anomali rilevate. Per automaticamente, ci sarà sempre almenu un valore quì, è pudete aghjunghje più. L'algoritmu hà da piglià in contu l'influenza di sti campi quandu analizà è mostra i valori più "influenti".

Dopu à u lanciu, qualcosa cum'è questu apparirà in l'interfaccia di Kibana.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

Questu hè u cusì chjamatu mappa di calore di anomalie per ogni valore di u campu ID di l'aeroportu d'origine, chì avemu indicatu in Split Data. Cum'è cù Single Metric, u culore indica u livellu di deviazione anormali. Hè cunvenutu per fà un analisi simili, per esempiu, nantu à stazioni di travagliu per seguità quelli chì anu un numeru suspiciously grande di autorizazioni, etc. Avemu digià scrittu circa l'avvenimenti sospetti in EventLog Windows, chì pò ancu esse recullatu è analizatu quì.

Sottu à a mappa di u calore hè una lista di anomalie, da ognuna pudete cambià à a vista Metrica unica per un analisi detallatu.

Population

Per circà anomalie trà e correlazioni trà e diverse metriche, l'Elastic Stack hà un analisi di Populazione specializatu. Hè cù u so aiutu chì pudete cercà i valori anomali in u funziunamentu di un servitore cumparatu cù l'altri quandu, per esempiu, u numeru di richieste à u sistema di destinazione aumenta.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

In questa illustrazione, u Campu Populazione indica u valore à quale e metriche analizate seranu in relazione. In questu casu, hè u nome di u prucessu. In u risultatu, avemu da vede cumu a carica di processore di ogni prucessu hà influenzatu l'altru.

Per piacè nutate chì u graficu di e dati analizati difiere da i casi cù Metric Single è Multi Metric. Questu hè statu fattu in Kibana da u disignu per una percepzione mejorata di a distribuzione di i valori di i dati analizati.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

U graficu mostra chì u prucessu si cumpurtava anormalmente ddoi (per via, generatu da una utilità speciale) nantu à u servitore poipu, chì hà influenzatu (o hè diventatu un influenzatore) l'occurrence di sta anomalia.

Advanced

Analitiche cù fine tuning. Cù l'analisi avanzata, i paràmetri supplementari appariscenu in Kibana. Dopu à cliccà nant'à u tile Avanzate in u menù di creazione, sta finestra cù tabulazioni appare. Tab Dettagli di u Job L'avemu saltatu apposta, ci sò paràmetri di basa micca direttamente ligati à a creazione di l'analisi.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

В summary_count_field_name Opcionalmente, pudete specificà u nome di un campu da documenti chì cuntenenu valori aggregati. In questu esempiu, u numeru di avvenimenti per minutu. IN nome_campu_categorizazione indica u nome è u valore di un campu da u documentu chì cuntene un valore variabile. Utilizendu a maschera nantu à questu campu, pudete sparte e dati analizati in sottogruppi. Attenti à u buttone Aggiungi detector in l'illustrazione precedente. Quì sottu hè u risultatu di cliccà stu buttone.

Capisce l'Apprendimentu di Machine in l'Elastic Stack (aka Elasticsearch, aka ELK)

Eccu un bloccu supplementu di paràmetri per cunfigurà u detector di anomalie per un compitu specificu. Pensemu à discutiri casi d'usu specifichi (in particulare quelli di sicurità) in l'articuli seguenti. Per esempiu, dà un ochju unu di i casi disassemblati. Hè assuciatu cù a ricerca di valori raramenti apparsu è hè implementatu funzione rara.

In lu campu di funziunava Pudete selezziunate una funzione specifica per circà anomalie. Eccettu raru, ci sò parechje funzioni più interessanti - tempu_di_ghjornu и tempu_di_settimana. Identificanu anomalie in u cumpurtamentu di e metriche in tuttu u ghjornu o a settimana, rispettivamente. Altre funzioni di analisi hè in a documentazione.

В nome_campu indica u campu di u documentu nantu à quale l'analisi serà realizatu. By_field_name pò esse usatu per separà i risultati di l'analisi per ogni valore individuale di u campu di documentu specificatu quì. Sè vo riempite over_field_name avete l'analisi di a pupulazione chì avemu discututu sopra. Se specificate un valore in partition_field_name, dopu per questu campu di u documentu basamenti separati seranu calculati per ogni valore (u valore pò esse, per esempiu, u nome di u servitore o prucessu nantu à u servitore). IN escludi_frequenti pò sceglie tuttu o mancunu, chì significarà escludendu (o includendu) i valori di u campu di documentu chì si trovanu spessu.

In questu articulu, avemu pruvatu à dà una idea succinta quant'è pussibule nantu à e capacità di l'apprendimentu automaticu in l'Elastic Stack; ci sò sempre assai dettagli lasciati daretu à e scene. Diteci in i cumenti chì casi avete riisciutu à risolve cù Elastic Stack è per quali compiti l'utilizate. À cuntattateci, vi ponu aduprà missaghji persunale nant'à Habré o forma di feedback nantu à u situ web.

Source: www.habr.com

Add a comment