Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Recordem que Elastic Stack es basa en la base de dades no relacional Elasticsearch, la interfície web de Kibana i els col·lectors i processadors de dades (els més famosos Logstash, diversos Beats, APM i altres). Una de les bones addicions a tota la pila de productes llistada és l'anàlisi de dades mitjançant algorismes d'aprenentatge automàtic. A l'article entenem quins són aquests algorismes. Si us plau, sota el gat.

L'aprenentatge automàtic és una característica de pagament del shareware Elastic Stack i s'inclou a l'X-Pack. Per començar a utilitzar-lo, només cal que activeu la prova de 30 dies després de la instal·lació. Un cop expirat el període de prova, podeu sol·licitar assistència per ampliar-lo o comprar una subscripció. El cost d'una subscripció no es calcula en funció del volum de dades, sinó del nombre de nodes utilitzats. No, el volum de dades, per descomptat, afecta el nombre de nodes necessaris, però tot i així aquest enfocament de llicències és més humà en relació amb el pressupost de l'empresa. Si no cal una alta productivitat, podeu estalviar diners.

ML a Elastic Stack està escrit en C++ i s'executa fora de la JVM, en la qual s'executa Elasticsearch. És a dir, el procés (per cert, s'anomena autodetecció) consumeix tot allò que la JVM no s'empassa. En un estand de demostració, això no és tan crític, però en un entorn de producció és important assignar nodes separats per a les tasques de ML.

Els algorismes d'aprenentatge automàtic es divideixen en dues categories: − amb el professor и sense professor. A la pila elàstica, l'algoritme es troba a la categoria "sense supervisar". Per aquest enllaç Podeu veure l'aparell matemàtic dels algorismes d'aprenentatge automàtic.

Per dur a terme l'anàlisi, l'algoritme d'aprenentatge automàtic utilitza dades emmagatzemades als índexs Elasticsearch. Podeu crear tasques d'anàlisi tant des de la interfície de Kibana com a través de l'API. Si ho feu a través de Kibana, no cal que sàpigues algunes coses. Per exemple, índexs addicionals que utilitza l'algorisme durant el seu funcionament.

Índexs addicionals utilitzats en el procés d'anàlisi.ml-state — informació sobre models estadístics (configuració d'anàlisi);
.ml-anomalies-* — resultats dels algorismes de ML;
.ml-notifications: configuració de les notificacions basades en els resultats de l'anàlisi.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

L'estructura de dades de la base de dades Elasticsearch consta d'índexs i documents emmagatzemats en ells. Quan es compara amb una base de dades relacional, un índex es pot comparar amb un esquema de base de dades i un document amb un registre d'una taula. Aquesta comparació és condicional i es proporciona per simplificar la comprensió de material addicional per a aquells que només han sentit parlar d'Elasticsearch.

La mateixa funcionalitat està disponible a través de l'API que a través de la interfície web, de manera que per a la claredat i la comprensió dels conceptes, mostrarem com configurar-la a través de Kibana. Al menú de l'esquerra hi ha una secció d'aprenentatge automàtic on podeu crear un treball nou. A la interfície de Kibana s'assembla a la imatge següent. Ara analitzarem cada tipus de tasca i mostrarem els tipus d'anàlisi que es poden construir aquí.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Mètrica única: anàlisi d'una mètrica, Mètrica múltiple: anàlisi de dues o més mètriques. En ambdós casos, cada mètrica s'analitza en un entorn aïllat, és a dir. l'algoritme no té en compte el comportament de les mètriques analitzades en paral·lel, com podria semblar en el cas del Multi Metric. Per realitzar càlculs tenint en compte la correlació de diverses mètriques, podeu utilitzar l'anàlisi de població. I Advanced està afinant els algorismes amb opcions addicionals per a determinades tasques.

Mètrica única

Analitzar els canvis en una sola mètrica és el més senzill que es pot fer aquí. Després de fer clic a Crea feina, l'algoritme buscarà anomalies.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

En camp Aggregation podeu triar un enfocament per cercar anomalies. Per exemple, quan Min els valors per sota dels valors típics es consideraran anòmals. Menja Màxim, Alt Mitjana, Baixa, Mitjana, Distint i altres. Es poden trobar descripcions de totes les funcions по ссылке.

En camp Camp indica el camp numèric del document sobre el qual realitzarem l'anàlisi.

En camp Espai de la galleda — granularitat dels intervals en la línia de temps al llarg de la qual es durà a terme l'anàlisi. Podeu confiar en l'automatització o triar manualment. La imatge següent és un exemple de granularitat massa baixa; és possible que us perdeu l'anomalia. Amb aquesta configuració, podeu canviar la sensibilitat de l'algorisme a anomalies.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

La durada de les dades recollides és un element clau que afecta l'eficàcia de l'anàlisi. Durant l'anàlisi, l'algoritme identifica intervals repetits, calcula intervals de confiança (línies de base) i identifica anomalies: desviacions atípiques del comportament habitual de la mètrica. Només per exemple:

Línies de base amb una petita dada:

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Quan l'algoritme té alguna cosa de què aprendre, la línia de base té aquest aspecte:

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Després d'iniciar la tasca, l'algoritme determina desviacions anòmales de la norma i les classifica segons la probabilitat d'una anomalia (el color de l'etiqueta corresponent s'indica entre parèntesis):

Avís (blau): menys de 25
Menor (groc): 25-50
Major (taronja): 50-75
Crític (vermell): 75-100

El gràfic següent mostra un exemple de les anomalies trobades.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Aquí podeu veure el número 94, que indica la probabilitat d'una anomalia. És evident que com que el valor és proper al 100, vol dir que tenim una anomalia. La columna de sota del gràfic mostra la probabilitat pejorativament petita que hi aparegui el 0.000063634% del valor mètric.

A més de cercar anomalies, podeu executar previsions a Kibana. Això es fa simplement i des de la mateixa vista amb anomalies - botó Forecast a la cantonada superior dreta.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

La previsió es fa amb un màxim de 8 setmanes d'antelació. Fins i tot si realment ho voleu, ja no és possible per disseny.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

En algunes situacions, la previsió serà molt útil, per exemple, quan es controla la càrrega dels usuaris a la infraestructura.

Multimètrica

Passem a la següent funció de ML a Elastic Stack: analitzant diverses mètriques en un sol lot. Però això no vol dir que s'analitzarà la dependència d'una mètrica d'una altra. És el mateix que la mètrica única, però amb múltiples mètriques en una pantalla per comparar fàcilment l'impacte d'una sobre una altra. Parlarem de l'anàlisi de la dependència d'una mètrica sobre una altra a l'apartat Població.

Després de fer clic al quadrat amb mètrica múltiple, apareixerà una finestra amb la configuració. Vegem-los amb més detall.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Primer heu de seleccionar els camps per a l'anàlisi i l'agregació de dades sobre ells. Les opcions d'agregació aquí són les mateixes que per a la mètrica única (Màxim, Alt Mitjana, Baixa, Mitjana, Distint i altres). A més, si es desitja, les dades es divideixen en un dels camps (camp Dades dividides). A l'exemple, ho hem fet per camp OrigenAirportID. Observeu que el gràfic de mètriques de la dreta es presenta ara com a gràfics múltiples.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Camp Camps clau (influenciadors) afecta directament les anomalies detectades. De manera predeterminada, sempre hi haurà almenys un valor aquí i podeu afegir-ne de addicionals. L'algorisme tindrà en compte la influència d'aquests camps a l'hora d'analitzar i mostrar els valors més "influents".

Després del llançament, apareixerà alguna cosa com aquesta a la interfície de Kibana.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Això és l'anomenat Mapa de calor d'anomalies per a cada valor de camp OrigenAirportID, que hem indicat a Dades dividides. Igual que amb la mètrica única, el color indica el nivell de desviació anormal. És convenient fer una anàlisi similar, per exemple, a les estacions de treball per fer un seguiment d'aquelles amb un nombre sospitós d'autoritzacions, etc. Ja hem escrit sobre esdeveniments sospitosos a EventLog Windows, que també es poden recollir i analitzar aquí.

A sota del mapa de calor hi ha una llista d'anomalies, de cadascuna podeu canviar a la vista de mètrica única per a una anàlisi detallada.

Població

Per buscar anomalies entre les correlacions entre diferents mètriques, Elastic Stack disposa d'una anàlisi de població especialitzada. És amb la seva ajuda que podeu buscar valors anòmals en el rendiment d'un servidor en comparació amb altres quan, per exemple, augmenta el nombre de peticions al sistema objectiu.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

En aquesta il·lustració, el camp Població indica el valor al qual es relacionaran les mètriques analitzades. En aquest cas és el nom del procés. Com a resultat, veurem com la càrrega del processador de cada procés es va influir mútuament.

Tingueu en compte que el gràfic de les dades analitzades difereix dels casos amb mètrica única i mètrica múltiple. Això es va fer a Kibana per disseny per millorar la percepció de la distribució de valors de les dades analitzades.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

El gràfic mostra que el procés es va comportar de manera anormal estrès (per cert, generat per una utilitat especial) al servidor poipu, que va influir (o va resultar ser un influencer) en l'aparició d'aquesta anomalia.

Avançat

Anàlisis amb afinació fina. Amb l'anàlisi avançada, apareixen paràmetres addicionals a Kibana. Després de fer clic a la fitxa Avançada al menú de creació, apareix aquesta finestra amb pestanyes. Tab detalls de l'oferta Ho hem saltat a propòsit, hi ha configuracions bàsiques que no estan directament relacionades amb la configuració de l'anàlisi.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

В summary_count_field_name Opcionalment, podeu especificar el nom d'un camp a partir de documents que contenen valors agregats. En aquest exemple, el nombre d'esdeveniments per minut. EN nom_camp_categorització indica el nom i el valor d'un camp del document que conté algun valor variable. Amb la màscara d'aquest camp, podeu dividir les dades analitzades en subconjunts. Fixeu-vos en el botó Afegeix un detector a la il·lustració anterior. A continuació es mostra el resultat de fer clic en aquest botó.

Comprendre l'aprenentatge automàtic a la pila elàstica (també conegut com Elasticsearch, també conegut com ELK)

Aquí hi ha un bloc addicional de paràmetres per configurar el detector d'anomalies per a una tasca específica. Tenim previst parlar de casos d'ús específics (especialment els de seguretat) als articles següents. Per exemple, mirar un dels estoigs desmuntats. S'associa amb la cerca de valors que apareixen rarament i s'implementa funció rara.

En camp function Podeu seleccionar una funció específica per cercar anomalies. Excepte rar, hi ha un parell de funcions més interessants - hora del dia и temps_de_setmana. Identifiquen anomalies en el comportament de les mètriques al llarg del dia o de la setmana, respectivament. Altres funcions d'anàlisi està a la documentació.

В nom_camp indica el camp del document sobre el qual es realitzarà l'anàlisi. Per_nom_camp es pot utilitzar per separar els resultats de l'anàlisi per a cada valor individual del camp del document especificat aquí. Si omples over_field_name obteniu l'anàlisi de població que hem comentat anteriorment. Si especifiqueu un valor a nom_camp_partició, llavors per a aquest camp del document es calcularan línies de base separades per a cada valor (el valor pot ser, per exemple, el nom del servidor o del procés al servidor). EN excloure_freqüent pot triar tots o cap, que significarà excloure (o incloure) els valors dels camps del document que es produeixen amb freqüència.

En aquest article, hem intentat donar una idea tan succinta com sigui possible sobre les capacitats de l'aprenentatge automàtic a Elastic Stack; encara queden molts detalls enrere. Expliqueu-nos als comentaris quins casos heu aconseguit resoldre amb Elastic Stack i per a quines tasques l'utilitzeu. Per contactar amb nosaltres, podeu utilitzar missatges personals a Habré o formulari de comentaris al lloc web.

Font: www.habr.com

Afegeix comentari