Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Atong hinumdoman nga ang Elastic Stack gibase sa non-relational Elasticsearch database, ang Kibana web interface ug mga data collectors ug processors (ang labing inila nga Logstash, nagkalain-laing Beats, APM ug uban pa). Usa sa nindot nga mga pagdugang sa tibuok nalista nga stack sa produkto mao ang pagtuki sa datos gamit ang mga algorithm sa pagkat-on sa makina. Sa artikulo nahibal-an namon kung unsa kini nga mga algorithm. Palihug sa ilawom sa iring.

Ang pagkat-on sa makina usa ka bayad nga bahin sa shareware Elastic Stack ug gilakip sa X-Pack. Sa pagsugod sa paggamit niini, i-aktibo lang ang 30 ka adlaw nga pagsulay pagkahuman sa pag-install. Pagkahuman sa panahon sa pagsulay, mahimo kang mohangyo og suporta aron madugangan kini o makapalit og suskrisyon. Ang gasto sa usa ka suskrisyon gikalkulo dili base sa gidaghanon sa datos, apan sa gidaghanon sa mga node nga gigamit. Dili, ang gidaghanon sa datos, siyempre, makaapekto sa gidaghanon sa gikinahanglan nga mga node, apan sa gihapon kini nga pamaagi sa paglilisensya mas tawhanon nga may kalabutan sa badyet sa kompanya. Kung dili kinahanglan ang taas nga pagka-produktibo, makatipig ka salapi.

Ang ML sa Elastic Stack gisulat sa C++ ug midagan sa gawas sa JVM, diin ang Elasticsearch mismo midagan. Kana mao, ang proseso (sa paagi, gitawag kini nga autodetect) nag-ut-ot sa tanan nga wala gilamoy sa JVM. Sa usa ka demo stand dili kaayo kini kritikal, apan sa usa ka palibot sa produksiyon importante ang paggahin ug bulag nga mga node alang sa mga buluhaton sa ML.

Ang mga algorithm sa pagkat-on sa makina nahulog sa duha ka mga kategorya βˆ’ uban sa magtutudlo ΠΈ walay magtutudlo. Sa Elastic Stack, ang algorithm naa sa kategorya nga "unsupervised". Pinaagi sa kini nga sumpay Imong makita ang mathematical apparatus sa machine learning algorithms.

Aron mahimo ang pagtuki, ang algorithm sa pagkat-on sa makina naggamit sa datos nga gitipigan sa mga indeks sa Elasticsearch. Makahimo ka og mga buluhaton alang sa pagtuki gikan sa Kibana interface ug pinaagi sa API. Kung buhaton nimo kini pinaagi sa Kibana, nan dili nimo kinahanglan mahibal-an ang pipila ka mga butang. Pananglitan, dugang nga mga indeks nga gigamit sa algorithm sa panahon sa operasyon niini.

Dugang nga mga indeks nga gigamit sa proseso sa pagtuki.ml-state β€” impormasyon bahin sa statistical models (analysis settings);
.ml-anomalies-* β€” resulta sa ML algorithm;
.ml-notifications β€” mga setting alang sa mga pahibalo base sa mga resulta sa pagtuki.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Ang istruktura sa datos sa database sa Elasticsearch naglangkob sa mga indeks ug mga dokumento nga gitipigan niini. Kung itandi sa usa ka relational database, ang usa ka indeks mahimong itandi sa usa ka database schema, ug usa ka dokumento sa usa ka rekord sa usa ka lamesa. Kini nga pagtandi adunay kondisyon ug gihatag aron mapasimple ang pagsabut sa dugang nga materyal alang sa mga nakadungog ra bahin sa Elasticsearch.

Ang parehas nga gamit magamit pinaagi sa API sama sa pinaagi sa web interface, busa alang sa katin-awan ug pagsabut sa mga konsepto, ipakita namon kung giunsa kini i-configure pinaagi sa Kibana. Sa menu sa wala adunay usa ka seksyon sa Pagkat-on sa Machine diin makahimo ka usa ka bag-ong Trabaho. Sa interface sa Kibana sama kini sa imahe sa ubos. Karon atong analisahon ang matag matang sa buluhaton ug ipakita ang mga matang sa pagtuki nga mahimong matukod dinhi.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Single Metric - pagtuki sa usa ka metric, Multi Metric - pagtuki sa duha o daghan pa nga metrics. Sa duha ka mga kaso, ang matag metric analisa sa usa ka nahilit nga palibot, i.e. ang algorithm wala magtagad sa kinaiya sa parallel analysed metrics, ingon nga kini daw sa kaso sa Multi Metric. Aron mahimo ang mga kalkulasyon nga gikonsiderar ang correlation sa lainlaing mga sukatan, mahimo nimong gamiton ang pagtuki sa populasyon. Ug ang Advanced mao ang pag-ayo sa mga algorithm nga adunay dugang nga mga kapilian alang sa pipila nga mga buluhaton.

Usa ka Sukatan

Ang pag-analisar sa mga pagbag-o sa usa ka metric mao ang pinakasimple nga butang nga mahimo dinhi. Pagkahuman sa pag-klik sa Paghimo Trabaho, ang algorithm mangita alang sa mga anomaliya.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Sa sa kapatagan Aggregation makapili ka ug pamaagi sa pagpangita sa mga anomaliya. Pananglitan, kanus-a Min ang mga kantidad nga ubos sa kasagarang mga kantidad isipon nga anomaloso. Kaon Max, High Mean, Low, Mean, Distinct ug uban pa. Ang mga paghulagway sa tanan nga mga gimbuhaton makita link.

Sa sa kapatagan Field nagpaila sa numeric field sa dokumento diin atong ipahigayon ang pagtuki.

Sa sa kapatagan Ang gitas-on sa balde - granularity sa mga agwat sa timeline diin ang pagtuki ipahigayon. Makasalig ka sa automation o mano-mano ang pagpili. Ang hulagway sa ubos usa ka pananglitan sa pagka-granularity nga ubos ra kaayo - basin masipyat ka sa anomaliya. Gamit kini nga setting, mahimo nimong usbon ang pagkasensitibo sa algorithm sa mga anomaliya.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Ang gidugayon sa mga datos nga nakolekta usa ka mahinungdanong butang nga makaapekto sa pagka-epektibo sa pagtuki. Atol sa pagtuki, ang algorithm nag-ila sa nagbalik-balik nga mga agwat, nagkalkula sa mga agwat sa pagsalig (baselines) ug nag-ila sa mga anomaliya - atypical deviations gikan sa naandan nga kinaiya sa metric. Pananglitan lang:

Mga baseline nga adunay gamay nga piraso sa datos:

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Kung ang algorithm adunay butang nga makat-unan, ang baseline ingon niini:

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Pagkahuman sa pagsugod sa buluhaton, ang algorithm nagtino sa mga anomaliya nga pagtipas gikan sa naandan ug giranggo kini sumala sa posibilidad sa usa ka anomaliya (ang kolor sa katugbang nga label gipakita sa mga parentesis):

Pasidaan (asul): ubos sa 25
Minor (dalag): 25-50
Major (kahel): 50-75
Kritikal (pula): 75-100

Ang graph sa ubos nagpakita sa usa ka pananglitan sa mga anomaliya nga nakit-an.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Dinhi imong makita ang numero 94, nga nagpakita sa kalagmitan sa usa ka anomaliya. Klaro nga kay duol ra man sa 100 ang kantidad, nagpasabot nga duna tay anomaliya. Ang kolum ubos sa graph nagpakita sa gamay nga posibilidad nga 0.000063634% sa metric value nga makita didto.

Dugang sa pagpangita alang sa mga anomaliya, mahimo nimong ipadagan ang pagtagna sa Kibana. Gihimo kini nga yano ug gikan sa parehas nga pagtan-aw sa mga anomaliya - buton forecast sa ibabaw nga tuo nga suok.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Ang forecast gihimo alang sa labing taas nga 8 ka semana nga abante. Bisan kung gusto nimo, dili na kini mahimo pinaagi sa disenyo.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Sa pipila ka mga sitwasyon, ang forecast mahimong mapuslanon kaayo, pananglitan, sa pag-monitor sa load sa user sa imprastraktura.

Daghang Sukatan

Mopadayon kita sa sunod nga bahin sa ML sa Elastic Stack - pag-analisar sa daghang mga sukatan sa usa ka batch. Apan wala kini magpasabot nga ang pagsalig sa usa ka metric sa lain pagatukion. Parehas kini sa Single Metric, apan adunay daghang sukatan sa usa ka screen alang sa dali nga pagtandi sa epekto sa usa sa usa. Maghisgot kami bahin sa pag-analisar sa pagsalig sa usa ka sukatan sa lain sa seksyon sa Populasyon.

Pagkahuman sa pag-klik sa square nga adunay Multi Metric, usa ka bintana nga adunay mga setting ang makita. Atong tan-awon sila sa mas detalyado.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Una kinahanglan nimo nga pilion ang mga natad alang sa pag-analisar ug paghiusa sa datos sa kanila. Ang mga kapilian sa aggregation dinhi parehas sa para sa Single Metric (Max, High Mean, Low, Mean, Distinct ug uban pa). Dugang pa, kung gusto, ang datos gibahin sa usa sa mga uma (field Gibahin nga Data). Sa pananglitan, gibuhat namo kini pinaagi sa uma OriginAirportID. Matikdi nga ang metrics graph sa tuo gipresentar karon isip multiple graphs.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

uma Key Fields (Mga Influencer) direkta nga makaapekto sa nakita nga mga anomaliya. Sa kasagaran adunay kanunay nga labing menos usa ka kantidad dinhi, ug mahimo nimong idugang ang mga dugang. Ang algorithm mag-isip sa impluwensya niini nga mga natad kung mag-analisar ug magpakita sa labing "impluwensyal" nga mga kantidad.

Pagkahuman sa paglansad, usa ka butang nga sama niini ang makita sa interface sa Kibana.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Kini mao ang gitawag nga mapa sa init sa mga anomaliya alang sa matag bili sa uma OriginAirportID, nga among gipakita sa Gibahin nga Data. Sama sa Single Metric, ang kolor nagpakita sa lebel sa abnormal nga pagtipas. Kombenyente nga maghimo usa ka susama nga pagtuki, pananglitan, sa mga workstation aron masubay ang mga adunay kadudahang daghang mga pagtugot, ug uban pa. Nagsulat na kami mahitungod sa mga kadudahang panghitabo sa EventLog Windows, nga mahimo usab nga kolektahon ug analisahon dinhi.

Ubos sa mapa sa kainit usa ka lista sa mga anomaliya, gikan sa matag usa mahimo ka magbalhin sa pagtan-aw sa Single Metric alang sa detalyado nga pagtuki.

Populasyon

Aron sa pagpangita sa mga anomaliya taliwala sa mga correlation tali sa lain-laing mga metrics, ang Elastic Stack adunay usa ka espesyal nga Population analysis. Uban sa tabang niini nga mahimo nimong pangitaon ang mga anomaliya nga kantidad sa paghimo sa usa ka server kumpara sa uban kung, pananglitan, ang gidaghanon sa mga hangyo sa target nga sistema nagdugang.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Niini nga ilustrasyon, ang natad sa Populasyon nagpaila sa bili diin ang gi-analisa nga mga sukatan adunay kalabutan. Sa kini nga kaso kini ang ngalan sa proseso. Ingon usa ka sangputanan, atong makita kung giunsa ang pagkarga sa processor sa matag proseso nakaimpluwensya sa usag usa.

Palihug timan-i nga ang graph sa naanalisa nga datos lahi sa mga kaso nga adunay Single Metric ug Multi Metric. Gibuhat kini sa Kibana pinaagi sa laraw alang sa usa ka gipaayo nga panan-aw sa pag-apod-apod sa mga kantidad sa na-analisar nga datos.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Gipakita sa graph nga dili normal ang paggawi sa proseso kapit-os (sa dalan, namugna sa usa ka espesyal nga utility) sa server poipu, nga nag-impluwensya (o nahimo nga usa ka influencer) sa panghitabo niini nga anomaliya.

advanced

Analitiko nga adunay maayong pag-tune. Uban sa Advanced nga pagtuki, dugang nga mga setting makita sa Kibana. Pagkahuman sa pag-klik sa Advanced nga tile sa menu sa paghimo, kini nga bintana nga adunay mga tab makita. Tab Mga Detalye sa Job Gilaktawan namon kini sa katuyoan, adunay mga sukaranan nga mga setting nga dili direktang may kalabutan sa pag-set up sa pagtuki.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Π’ summary_count_field_name Opsyonal, mahimo nimong ipiho ang ngalan sa usa ka uma gikan sa mga dokumento nga adunay sulud nga mga kantidad. Niini nga pananglitan, ang gidaghanon sa mga panghitabo matag minuto. SA categorization_field_name nagpaila sa ngalan ug bili sa usa ka field gikan sa dokumento nga adunay pipila ka variable value. Gamit ang maskara sa kini nga uma, mahimo nimong bahinon ang na-analisar nga datos sa mga subset. Hatagi'g pagtagad ang buton Idugang ang detector sa miaging ilustrasyon. Sa ubos mao ang resulta sa pag-klik niini nga buton.

Pagsabot sa Machine Learning sa Elastic Stack (aka Elasticsearch, aka ELK)

Ania ang usa ka dugang nga bloke sa mga setting alang sa pag-configure sa anomaliya detector alang sa usa ka piho nga buluhaton. Nagplano kami nga hisgotan ang piho nga mga kaso sa paggamit (labi na ang mga seguridad) sa mosunod nga mga artikulo. Pananglitan, tan-awa usa sa gibungkag nga mga kaso. Nalambigit kini sa pagpangita alang sa panagsa ra nga makita nga mga kantidad ug gipatuman talagsaon nga function.

Sa sa kapatagan function Makapili ka og usa ka piho nga function aron pangitaon ang mga anomaliya. Gawas talagsaon, adunay usa ka magtiayon nga mas makapaikag nga mga gimbuhaton - oras sa adlaw ΠΈ panahon_sa_semana. Gipaila nila ang mga anomaliya sa pamatasan sa mga sukatan sa tibuok adlaw o semana, matag usa. Uban pang mga function sa pag-analisar naa sa dokumentasyon.

Π’ field_name nagpaila sa natad sa dokumento diin ipahigayon ang pagtuki. Pinaagi sa_field_name mahimong gamiton sa pagbulag sa mga resulta sa pagtuki alang sa matag indibidwal nga bili sa natad sa dokumento nga gipiho dinhi. Kung pun-an nimo over_field_name makuha nimo ang pagtuki sa populasyon nga among gihisgutan sa ibabaw. Kung imong gitakda ang usa ka kantidad sa partition_field_name, unya alang niini nga natad sa dokumento bulag nga mga baseline ang kalkulado alang sa matag bili (ang bili mahimong, pananglitan, ang ngalan sa server o proseso sa server). SA iapil_masubsob makapili sa tanan nga mga o walay bisan kinsa nga, nga nagpasabut nga dili iapil (o lakip) ang kanunay nga nahitabo nga mga kantidad sa field sa dokumento.

Sa kini nga artikulo, gisulayan namon nga mahatagan ang usa ka mubo nga ideya kutob sa mahimo bahin sa mga kapabilidad sa pagkat-on sa makina sa Elastic Stack; adunay daghang mga detalye nga nahabilin sa luyo sa mga talan-awon. Isulti kanamo sa mga komento kung unsang mga kaso ang imong nasulbad gamit ang Elastic Stack ug kung unsang mga buluhaton ang imong gigamit niini. Aron makontak kami, mahimo nimong gamiton ang mga personal nga mensahe sa HabrΓ© o feedback nga porma sa website.

Source: www.habr.com

Idugang sa usa ka comment