{"id":35274,"date":"2019-10-31T22:03:22","date_gmt":"2019-10-31T19:03:22","guid":{"rendered":"https:\/\/prohoster.info\/blog\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk\/"},"modified":"2019-10-31T22:03:22","modified_gmt":"2019-10-31T19:03:22","slug":"razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk","title":{"rendered":"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/8fe88b798a64e2ed8e77dbbc89558827.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u0159ipom\u00edn\u00e1me, \u017ee z\u00e1klad Elastic Stack tvo\u0159\u00ed nerela\u010dn\u00ed datab\u00e1ze Elasticsearch, webov\u00e9 rozhran\u00ed Kibana a sb\u011bra\u010di-zpracovatel\u00e9 dat (nejzn\u00e1m\u011bj\u0161\u00ed je Logstash, r\u016fzn\u00e9 Beats, APM a dal\u0161\u00ed). Jednou z p\u0159\u00edjemn\u00fdch dopl\u0148k\u016f cel\u00e9ho uveden\u00e9ho produktu je anal\u00fdza dat pomoc\u00ed algoritm\u016f strojov\u00e9ho u\u010den\u00ed. V \u010dl\u00e1nku se zab\u00fdv\u00e1me t\u00edm, co tyto algoritmy vy\u017eaduj\u00ed. Pros\u00edme, pokra\u010dujte ve \u010dten\u00ed.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nStrojov\u00e9 u\u010den\u00ed je placen\u00e1 funkce podm\u00edn\u011bn\u011b bezplatn\u00e9ho Elastic Stack a je sou\u010d\u00e1st\u00ed bal\u00ed\u010dku X-Pack. Abyste za\u010dali pou\u017e\u00edvat tuto funkci, sta\u010d\u00ed po instalaci aktivovat 30denn\u00ed zku\u0161ebn\u00ed verzi. Po uplynut\u00ed zku\u0161ebn\u00ed doby m\u016f\u017eete po\u017e\u00e1dat o prodlou\u017een\u00ed p\u0159edplatn\u00e9ho nebo si zakoupit p\u0159edplatn\u00e9. Cena p\u0159edplatn\u00e9ho se nevypo\u010d\u00edt\u00e1v\u00e1 podle objemu dat, ale podle po\u010dtu pou\u017eit\u00fdch uzl\u016f. Ano, objem dat samoz\u0159ejm\u011b ovliv\u0148uje po\u010det pot\u0159ebn\u00fdch uzl\u016f, ale tento p\u0159\u00edstup k licencov\u00e1n\u00ed je k rozpo\u010dtu spole\u010dnosti \u0161etrn\u011bj\u0161\u00ed. Pokud nen\u00ed pot\u0159eba vysok\u00fd v\u00fdkon, je mo\u017en\u00e9 tak\u00e9 u\u0161et\u0159it.<\/p>\n<p>ML v Elastic Stack je naps\u00e1n v C++ a funguje mimo JVM, ve kter\u00e9 b\u011b\u017e\u00ed samotn\u00fd Elasticsearch. To znamen\u00e1, \u017ee proces (tento proces se mimochodem naz\u00fdv\u00e1 autodetect) spot\u0159ebov\u00e1v\u00e1 v\u0161e, co JVM neabsorbuje. Na demo st\u00e1nku to nen\u00ed tak kritick\u00e9, ale ve v\u00fdrobn\u00edm prost\u0159ed\u00ed je d\u016fle\u017eit\u00e9 vy\u010dlenit samostatn\u00e9 uzly pro \u00fakoly ML.<\/p>\n<p>Algoritmy strojov\u00e9ho u\u010den\u00ed se d\u011bl\u00ed do dvou kategori\u00ed \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D0%B5%D0%BC\">s u\u010ditelem<\/a><\/noindex> a <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9E%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B1%D0%B5%D0%B7_%D1%83%D1%87%D0%B8%D1%82%D0%B5%D0%BB%D1%8F\">bez u\u010ditele<\/a><\/noindex>. V Elastic Stack algoritmus pat\u0159\u00ed do kategorie \u201ebez u\u010ditele\u201c. Pomoc\u00ed <noindex><a rel=\"nofollow\" href=\"http:\/\/www.ijmlc.org\/papers\/398-LC018.pdf\">tento odkaz<\/a><\/noindex> m\u016f\u017eete prozkoumat matematickou z\u00e1kladnu algoritm\u016f strojov\u00e9ho u\u010den\u00ed.<\/p>\n<p>Pro prov\u00e1d\u011bn\u00ed anal\u00fdzy pou\u017e\u00edv\u00e1 algoritmus strojov\u00e9ho u\u010den\u00ed data ulo\u017een\u00e1 v indexech Elasticsearch. \u00dakoly pro anal\u00fdzu m\u016f\u017eete vytv\u00e1\u0159et jak z rozhran\u00ed Kibana, tak prost\u0159ednictv\u00edm API. Pokud to d\u011bl\u00e1te p\u0159es Kibana, nen\u00ed nutn\u00e9 zn\u00e1t n\u011bkter\u00e9 v\u011bci. Nap\u0159\u00edklad dodate\u010dn\u00e9 indexy, kter\u00e9 algoritmus vyu\u017e\u00edv\u00e1 v pr\u016fb\u011bhu sv\u00e9ho fungov\u00e1n\u00ed. <\/p>\n<p><b class=\"spoiler_title\">Dodate\u010dn\u00e9 indexy, kter\u00e9 se pou\u017e\u00edvaj\u00ed v pr\u016fb\u011bhu anal\u00fdzy<\/b>.ml-state \u2014 informace o statistick\u00fdch modelech (nastaven\u00ed anal\u00fdzy);<br \/>\n.ml-anomalies-* \u2014 v\u00fdsledky pr\u00e1ce algoritm\u016f ML;<br \/>\n.ml-notifications \u2014 nastaven\u00ed upozorn\u011bn\u00ed na v\u00fdsledky anal\u00fdzy.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/a6a67b0c05c6650a158d99010c2872f1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nStruktura dat v datab\u00e1zi Elasticsearch se skl\u00e1d\u00e1 z index\u016f a dokument\u016f, kter\u00e9 v nich jsou ulo\u017eeny. Pokud to porovn\u00e1me s rela\u010dn\u00ed datab\u00e1z\u00ed, m\u016f\u017eeme index p\u0159irovnat ke sch\u00e9matu datab\u00e1ze a dokument k z\u00e1pisu v tabulce. Toto srovn\u00e1n\u00ed je zjednodu\u0161uj\u00edc\u00ed a je uvedeno pro usnadn\u011bn\u00ed pochopen\u00ed dal\u0161\u00edho materi\u00e1lu pro ty, kte\u0159\u00ed o Elasticsearch sly\u0161eli poprv\u00e9.<\/p>\n<p>P\u0159es API je dostupn\u00e1 stejn\u00e1 funk\u010dnost jako p\u0159es webov\u00e9 rozhran\u00ed, proto pro p\u0159ehlednost a pochopen\u00ed koncept\u016f budeme ukazovat, jak nastavit prost\u0159ednictv\u00edm Kibany. V lev\u00e9m menu je sekce Machine Learning, kde m\u016f\u017eete vytvo\u0159it novou \u00falohu (Job). V rozhran\u00ed Kibany to vypad\u00e1 jak na obr\u00e1zku n\u00ed\u017ee. Nyn\u00ed si rozebereme ka\u017ed\u00fd typ \u00falohy a uk\u00e1\u017eeme typy anal\u00fdz, kter\u00e9 lze zde konstruovat.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/c0c0bede29fbe38a72270d2128926122.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSingle Metric \u2014 anal\u00fdza jedn\u00e9 metriky, Multi Metric \u2014 anal\u00fdza dvou a v\u00edce metrik. V obou p\u0159\u00edpadech se ka\u017ed\u00e1 metrika analyzuje v izolovan\u00e9m prost\u0159ed\u00ed, tj. algoritmus nezohled\u0148uje chov\u00e1n\u00ed sou\u010dasn\u011b analyzovan\u00fdch metrik, jak by se mohlo zd\u00e1t v p\u0159\u00edpad\u011b Multi Metric. Pro proveden\u00ed v\u00fdpo\u010dtu se zohledn\u011bn\u00edm korelace r\u016fzn\u00fdch metrik lze pou\u017e\u00edt Population-anal\u00fdzu. Advanced \u2014 to je jemn\u00e9 nastaven\u00ed algoritm\u016f pomoc\u00ed dal\u0161\u00edch mo\u017enost\u00ed pro ur\u010dit\u00e9 \u00fakoly. <\/p>\n<h2>Single Metric<\/h2>\n<p>\nAnal\u00fdza zm\u011bn jedin\u00e9 metriky \u2014 to je nejjednodu\u0161\u0161\u00ed, co lze zde ud\u011blat. Po kliknut\u00ed na Create Job algoritmus vyhled\u00e1 anom\u00e1lie.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/d84d29539c3b97be7a15aac8708bc3be.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV poli <i>Aggregation<\/i> m\u016f\u017eete vybrat p\u0159\u00edstup k vyhled\u00e1v\u00e1n\u00ed anom\u00e1li\u00ed. Nap\u0159\u00edklad, p\u0159i <i>Min<\/i> anomaly will be considered values below typical. There are also <i>Max, High Mean, Low, Mean, Distinct<\/i> and others. A description of all functions can be viewed <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/current\/ml-functions.html\">na odkazu<\/a><\/noindex>.<\/p>\n<p>V poli <i>Field<\/i> uv\u00e1d\u00ed \u010d\u00edseln\u00e9 pole v dokumentu, podle kter\u00e9ho provedeme anal\u00fdzu.<\/p>\n<p>V poli <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/blog\/explaining-the-bucket-span-in-machine-learning-for-elasticsearch\"><i>Bucket span<\/i><\/a><\/noindex> \u2014 granularita interval\u016f na \u010dasov\u00e9 ose, podle kter\u00e9 bude anal\u00fdza vedena. M\u016f\u017eete se spolehnout na automatiku nebo vybrat ru\u010dn\u011b. Na obr\u00e1zku n\u00ed\u017ee je uveden p\u0159\u00edklad p\u0159\u00edli\u0161 n\u00edzk\u00e9 granularity \u2014 m\u016f\u017eete zme\u0161kat anom\u00e1lii. Pomoc\u00ed tohoto nastaven\u00ed lze m\u011bnit citlivost algoritmu na anom\u00e1lie.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/a2808c0b451703a50d74f7737332ea8b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nD\u00e9lka shrom\u00e1\u017ed\u011bn\u00fdch dat \u2014 kl\u00ed\u010dov\u00e1 v\u011bc, kter\u00e1 ovliv\u0148uje efektivitu anal\u00fdzy. P\u0159i anal\u00fdze algoritmus ur\u010duje opakuj\u00edc\u00ed se intervaly, vypo\u010d\u00edt\u00e1v\u00e1 interval spolehlivosti (z\u00e1kladn\u00ed linie) a odhaluje anom\u00e1lie \u2014 netypick\u00e1 odchylky od b\u011b\u017en\u00e9ho chov\u00e1n\u00ed metriky. Jen pro p\u0159\u00edklad:<\/p>\n<p>Z\u00e1kladn\u00ed linie p\u0159i mal\u00e9m mno\u017estv\u00ed dat:<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/2a3cbeaa8cf08a2a5dec87071be27db8.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKdy\u017e m\u00e1 algoritmus co u\u010dit, z\u00e1kladn\u00ed linie vypadaj\u00ed takto:<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/13d636ab405a85d89e2ae4ebfe8bb6bd.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPo spu\u0161t\u011bn\u00ed \u00fakolu algoritmus ur\u010duje anom\u00e1ln\u00ed odchylky od normy a t\u0159\u00edd\u00ed je podle pravd\u011bpodobnosti anom\u00e1lie (v z\u00e1vork\u00e1ch je uvedena barva odpov\u00eddaj\u00edc\u00edho \u0161t\u00edtku):<\/p>\n<p>Warning (modr\u00e1): m\u00e9n\u011b ne\u017e 25<br \/>\nMinor (\u017elut\u00e1): 25-50<br \/>\nMajor (oran\u017eov\u00e1): 50-75<br \/>\nCritical (\u010derven\u00e1): 75-100<\/p>\n<p>Na grafu n\u00ed\u017ee je p\u0159\u00edklad s nalezen\u00fdmi anom\u00e1liemi.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/ed87198f99f0cc93ffc16ce458054a9f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZde je vid\u011bt \u010d\u00edslo 94, kter\u00e9 ozna\u010duje pravd\u011bpodobnost anom\u00e1lie. Je jasn\u00e9, \u017ee vzhledem k tomu, \u017ee je hodnota bl\u00edzk\u00e1 100, m\u00e1me p\u0159ed sebou anom\u00e1lii. Ve sloupci pod grafem je uvedena zanedbateln\u00e1 pravd\u011bpodobnost 0.000063634 % v\u00fdskytu t\u00e9to hodnoty metriky.<\/p>\n<p>Krom\u011b hled\u00e1n\u00ed anom\u00e1li\u00ed v Kibana lze spustit tak\u00e9 progn\u00f3zov\u00e1n\u00ed. D\u011bl\u00e1 se to velmi jednodu\u0161e a z toho sam\u00e9ho zobrazen\u00ed s anom\u00e1liemi \u2014 tla\u010d\u00edtko <i>Forecast<\/i> v prav\u00e9m horn\u00edm rohu.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/73429a947befb8834972ebbfe48c2d48.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nProgn\u00f3za se vytv\u00e1\u0159\u00ed maxim\u00e1ln\u011b na 8 t\u00fddn\u016f dop\u0159edu. I kdy\u017e si velmi p\u0159ejete \u2014 v\u00edce to nejde, a to z\u00e1m\u011brn\u011b.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/7622608e4b952be741be486f89d1bc43.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV n\u011bkter\u00fdch situac\u00edch bude progn\u00f3za velmi u\u017eite\u010dn\u00e1, nap\u0159\u00edklad kdy\u017e se sleduje u\u017eivatelsk\u00e1 z\u00e1t\u011b\u017e na infrastruktu\u0159e.<\/p>\n<h2>Multi Metric<\/h2>\n<p>\nP\u0159ejd\u011bme k dal\u0161\u00ed funkci ML v Elastic Stack \u2014 anal\u00fdze n\u011bkolika metrik najednou. Ale to neznamen\u00e1, \u017ee se bude analyzovat z\u00e1vislost jedn\u00e9 metriky na druh\u00e9. To je tot\u00e9\u017e co Single Metric, jen s v\u00edce metrikami na jedn\u00e9 obrazovce pro snadn\u00e9 srovn\u00e1n\u00ed vlivu jedn\u00e9 na druhou. O anal\u00fdze z\u00e1vislosti jedn\u00e9 metriky na druh\u00e9 si pov\u00edme v \u010d\u00e1sti Population.<\/p>\n<p>Po kliknut\u00ed na \u010dtvere\u010dek s Multi Metric se otev\u0159e okno s nastaven\u00edm. Na n\u011bm se zastav\u00edme podrobn\u011bji.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/eaa06c8b24b393209ef1fb5ba9cfbd62.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNejprve je t\u0159eba vybrat pole pro anal\u00fdzu a agregaci dat podle nich. Mo\u017enosti agregace jsou zde stejn\u00e9 jako pro Single Metric (<i>Max, High Mean, Low, Mean, Distinct<\/i> a dal\u0161\u00ed). D\u00e1le se data, pokud si to p\u0159ejete, d\u011bl\u00ed podle jednoho z pol\u00ed (pole <i>Split Data<\/i>). V p\u0159\u00edkladu jsme to ud\u011blali podle pole <i>OriginAirportID<\/i>. V\u0161imn\u011bte si, \u017ee graf metrik vpravo je nyn\u00ed zobrazen ve form\u011b mnoha graf\u016f.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/746a91b28a010a037c66a569fcf47a1b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPole <i>Key Fields (Influencers)<\/i> p\u0159\u00edmo ovliv\u0148uje nalezen\u00e9 anom\u00e1lie. Ve v\u00fdchoz\u00edm nastaven\u00ed tu v\u017edy bude alespo\u0148 jedna hodnota, ale vy m\u016f\u017eete p\u0159idat dal\u0161\u00ed. Algoritmus bude p\u0159i anal\u00fdze br\u00e1t v \u00favahu vliv t\u011bchto pol\u00ed a uk\u00e1\u017ee nejv\u00edce 'vlivn\u00e9' hodnoty.<\/p>\n<p>Po spu\u0161t\u011bn\u00ed se v rozhran\u00ed Kibana objev\u00ed p\u0159ibli\u017en\u011b takov\u00fd obr\u00e1zek.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/c6efd8f4815ad150b046c82780c36574.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo je tzv. tepeln\u00e1 mapa anom\u00e1li\u00ed podle ka\u017ed\u00e9 hodnoty pole <i>OriginAirportID<\/i>, kter\u00e9 jsme uvedli v <i>Split Data<\/i>. Stejn\u011b jako v p\u0159\u00edpad\u011b Single Metric barva ozna\u010duje \u00farove\u0148 anom\u00e1ln\u00edho odchylov\u00e1n\u00ed. Podobnou anal\u00fdzu je pohodln\u00e9 prov\u00e1d\u011bt nap\u0159\u00edklad na pracovn\u00edch stanic\u00edch, abychom sledovali ty, kde je podez\u0159ele velk\u00e9 mno\u017estv\u00ed autorizac\u00ed atd. Ji\u017e jsme psali <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/galssoftware\/blog\/447522\/\">o podez\u0159el\u00fdch ud\u00e1lostech v EventLog Windows<\/a><\/noindex>, kter\u00e9 m\u016f\u017eete tak\u00e9 sb\u00edrat a analyzovat zde.<\/p>\n<p>Pod tepelnou mapou je seznam anom\u00e1li\u00ed, z ka\u017ed\u00e9 m\u016f\u017eete p\u0159ej\u00edt na zobrazen\u00ed Single Metric pro podrobnou anal\u00fdzu.<\/p>\n<h2>Population<\/h2>\n<p>\nAby bylo mo\u017en\u00e9 hledat anom\u00e1lie mezi korelacemi mezi r\u016fzn\u00fdmi metrikami, existuje v Elastic Stack specializovan\u00e1 anal\u00fdza Population. Pomoc\u00ed n\u00ed m\u016f\u017eete hledat anom\u00e1ln\u00ed hodnoty v v\u00fdkonu n\u011bjak\u00e9ho serveru ve srovn\u00e1n\u00ed s ostatn\u00edmi, nap\u0159\u00edklad p\u0159i zv\u00fd\u0161en\u00ed po\u010dtu po\u017eadavk\u016f na c\u00edlov\u00fd syst\u00e9m.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/00542d57f2a937d424b2db5e692a6289.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa tomto obr\u00e1zku je v poli Population uvedena hodnota, k n\u00ed\u017e se budou analyzovan\u00e9 metriky vztahovat. V tomto p\u0159\u00edpad\u011b je to n\u00e1zev procesu. V\u00fdsledkem bude, \u017ee uvid\u00edme, jak zat\u00ed\u017een\u00ed procesoru ka\u017ed\u00fdm z proces\u016f vz\u00e1jemn\u011b ovliv\u0148ovalo.<\/p>\n<p>V\u0161imn\u011bte si, \u017ee graf analyzovan\u00fdch dat se li\u0161\u00ed od p\u0159\u00edpad\u016f se Single Metric a Multi Metric. To bylo v Kibana navr\u017eeno pro lep\u0161\u00ed vn\u00edm\u00e1n\u00ed distribuce hodnot analyzovan\u00fdch dat.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/4af704044bf544ca6cd221404288e6c4.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZ grafu je vid\u011bt, \u017ee proces <i>stress<\/i> ve skute\u010dnosti, vytvo\u0159en\u00fd speci\u00e1ln\u00edm n\u00e1strojem, se na serveru <i>poipu<\/i>, kter\u00fd m\u011bl vliv (nebo byl influencerem) na vznik t\u00e9to anom\u00e1lie.<\/p>\n<h2>Advanced<\/h2>\n<p>\nAnalytika s jemn\u00fdm nastaven\u00edm. P\u0159i pokro\u010dil\u00e9 anal\u00fdze se v Kibana objev\u00ed dal\u0161\u00ed nastaven\u00ed. Po kliknut\u00ed v menu vytvo\u0159en\u00ed na dla\u017edici Advanced se objev\u00ed takov\u00e9 okno se z\u00e1lo\u017ekami. Z\u00e1lo\u017eku <i>Job Details<\/i> jsme z\u00e1m\u011brn\u011b vynechali, obsahuje z\u00e1kladn\u00ed nastaven\u00ed, kter\u00e9 se p\u0159\u00edmo net\u00fdk\u00e1 nastaven\u00ed anal\u00fdzy.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/abe7941ad56acf3ee7ab992fa5fe7b94.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV <i>summary_count_field_name<\/i> p\u0159\u00edpadn\u011b m\u016f\u017eete uv\u00e9st n\u00e1zev pole z dokument\u016f, kter\u00e9 obsahuje agregovan\u00e9 hodnoty. V tomto p\u0159\u00edkladu \u2014 po\u010det ud\u00e1lost\u00ed za minutu. V <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/current\/ml-configuring-categories.html\"><i>categorization_field_name<\/i><\/a><\/noindex> je uveden n\u00e1zev hodnoty pole z dokumentu, kter\u00e9 obsahuje ur\u010ditou prom\u011bnnou hodnotu. Pomoc\u00ed masky na toto pole lze rozd\u011blit analyzovan\u00e1 data na podmno\u017einy. V\u0161imn\u011bte si tla\u010d\u00edtka <i>Add detector<\/i> na p\u0159edchoz\u00edm obr\u00e1zku. N\u00ed\u017ee je v\u00fdsledek stisknut\u00ed tohoto tla\u010d\u00edtka.<\/p>\n<p><img decoding=\"async\" alt=\"Zkoum\u00e1me Machine Learning v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, ELK)\" src=\"\/wp-content\/uploads\/2019\/06\/cce9a6401d6baa72c68b8e0c3c6ab209.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZde je dal\u0161\u00ed blok nastaven\u00ed pro p\u0159izp\u016fsoben\u00ed detektoru anom\u00e1li\u00ed pro konkr\u00e9tn\u00ed \u00fakol. Konkr\u00e9tn\u00ed p\u0159\u00edpady pou\u017eit\u00ed (zejm\u00e9na v oblasti bezpe\u010dnosti) pl\u00e1nujeme probrat v n\u00e1sleduj\u00edc\u00edch \u010dl\u00e1nc\u00edch. Nap\u0159\u00edklad, <noindex><a rel=\"nofollow\" href=\"https:\/\/discuss.elastic.co\/t\/dec-4th-2018-en-ml-rarity-analysis-with-machine-learning\/158979\">pod\u00edvejte se na<\/a><\/noindex> jeden z probran\u00fdch p\u0159\u00edpad\u016f. Ten se t\u00fdk\u00e1 vyhled\u00e1v\u00e1n\u00ed vz\u00e1cn\u011b se vyskytuj\u00edc\u00edch hodnot a realizuje se <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/7.1\/ml-rare-functions.html\">funkc\u00ed rare<\/a><\/noindex>.<\/p>\n<p>V poli <i>function<\/i> m\u016f\u017eete si vybrat konkr\u00e9tn\u00ed funkci pro vyhled\u00e1v\u00e1n\u00ed anom\u00e1li\u00ed. Krom\u011b <i>rare<\/i>, existuj\u00ed je\u0161t\u011b dal\u0161\u00ed zaj\u00edmav\u00e9 funkce \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/7.1\/ml-time-functions.html\"><i>time_of_day<\/i> a <i>time_of_week<\/i><\/a><\/noindex>. Tyto funkce odhaluj\u00ed anom\u00e1lie v chov\u00e1n\u00ed metrik b\u011bhem dne nebo t\u00fddne. Ostatn\u00ed funkce anal\u00fdzy <noindex><a rel=\"nofollow\" href=\"https:\/\/www.elastic.co\/guide\/en\/elastic-stack-overview\/7.1\/ml-functions.html\">existuj\u00ed v dokumentaci<\/a><\/noindex>.<\/p>\n<p>V <i>field_name<\/i> uv\u00e1d\u00ed pole dokumentu, podle kter\u00e9ho bude prob\u00edhat anal\u00fdza. <i>By_field_name<\/i> m\u016f\u017ee b\u00fdt pou\u017eito pro rozd\u011blen\u00ed v\u00fdsledk\u016f anal\u00fdzy podle ka\u017ed\u00e9 jednotliv\u00e9 hodnoty zde uveden\u00e9ho pole dokumentu. Pokud vypln\u00edte <i>over_field_name<\/i> z\u00edsk\u00e1te population-anal\u00fdzu, kterou jsme probrali v\u00fd\u0161e. Pokud uvedete hodnotu v <i>partition_field_name<\/i>, budou podle tohoto pole dokumentu po\u010d\u00edt\u00e1ny jednotliv\u00e9 z\u00e1kladn\u00ed linie pro ka\u017edou hodnotu (v roli hodnoty mohou b\u00fdt nap\u0159\u00edklad n\u00e1zvy server\u016f nebo proces\u016f na serveru). V <i>exclude_frequent<\/i> si m\u016f\u017eete vybrat <i>all<\/i> nebo <i>none<\/i>, co\u017e bude znamenat vylou\u010den\u00ed (nebo zahrnut\u00ed) \u010dasto se vyskytuj\u00edc\u00edch hodnot pol\u00edch dokument\u016f.<\/p>\n<p>V \u010dl\u00e1nku jsme se sna\u017eili co nejv\u00edce stru\u010dn\u011b p\u0159ibl\u00ed\u017eit mo\u017enosti strojov\u00e9ho u\u010den\u00ed v Elastic Stack, mnoh\u00e9 podrobnosti v\u0161ak z\u016fstaly mimo. Sd\u011blte n\u00e1m v koment\u00e1\u0159\u00edch, jak\u00e9 p\u0159\u00edpady se v\u00e1m poda\u0159ilo vy\u0159e\u0161it pomoc\u00ed Elastic Stack a pro jak\u00e9 \u00fakoly jej pou\u017e\u00edv\u00e1te. Pro kontakt s n\u00e1mi m\u016f\u017eete vyu\u017e\u00edt soukrom\u00e9 zpr\u00e1vy na Habr nebo <noindex><a rel=\"nofollow\" href=\"https:\/\/gals.software\/solutions\/elasticstack\">kontaktn\u00ed formul\u00e1\u0159 na webu<\/a><\/noindex>.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/galssoftware\/blog\/455387\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c, \u0447\u0442\u043e \u0432 \u043e\u0441\u043d\u043e\u0432\u0435 Elastic Stack \u043b\u0435\u0436\u0430\u0442 \u043d\u0435\u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0431\u0430\u0437\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 Elasticsearch, \u0432\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 Kibana \u0438 \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0438-\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u0430\u043c\u044b\u0439 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 Logstash, \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 Beats, APM \u0438 \u0434\u0440\u0443\u0433\u0438\u0435). \u041e\u0434\u043d\u043e \u0438\u0437 \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0439 \u0432\u0441\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u2014 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u043e\u0432 \u043c\u0430\u0448\u0438\u043d\u043d\u043e\u0433\u043e \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u044f. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u044b \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0447\u0442\u043e \u0438\u0437 \u0441\u0435\u0431\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u044d\u0442\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u044b. \u041f\u0440\u043e\u0441\u0438\u043c \u043f\u043e\u0434 \u043a\u0430\u0442. \u041c\u0430\u0448\u0438\u043d\u043d\u043e\u0435 \u043e\u0431\u0443\u0447\u0435\u043d\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":26487,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-35274","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0441 Machine Learning \u0432 Elastic Stack (\u043e\u043d \u0436\u0435 Elasticsearch, \u043e\u043d \u0436\u0435 ELK) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:03:22+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:03:22+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Zab\u00fdv\u00e1me se strojov\u00fdm u\u010den\u00edm v Elastic Stack (tak\u00e9 zn\u00e1m\u00fd jako Elasticsearch, tak\u00e9 zn\u00e1m\u00fd jako ELK) | ProHoster","description":"P\u0159ipom\u00edn\u00e1me.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c\u0441\u044f \u0441 Machine Learning \u0432 Elastic Stack (\u043e\u043d \u0436\u0435 Elasticsearch, \u043e\u043d \u0436\u0435 ELK) | ProHoster","og:description":"\u041d\u0430\u043f\u043e\u043c\u043d\u0438\u043c.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/razbiraemsya-s-machine-learning-v-elastic-stack-on-zhe-elasticsearch-on-zhe-elk","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:03:22+00:00","article:modified_time":"2019-10-31T19:03:22+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"35274","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 22:37:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:07:28","updated":"2026-01-21 22:37:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/35274","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=35274"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/35274\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/26487"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=35274"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=35274"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=35274"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}