Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Да потсетиме дека Elastic Stack се базира на не-релациската база на податоци Elasticsearch, веб-интерфејсот Kibana и собирачи на податоци и процесори (најпознатиот Logstash, разни Beats, APM и други). Едно од убавите додатоци на целиот наведен куп производи е анализата на податоците со помош на алгоритми за машинско учење. Во написот разбираме што се овие алгоритми. Ве молам под мачка.

Машинското учење е платена карактеристика на shareware Elastic Stack и е вклучена во X-Pack. За да започнете да го користите, само активирајте го пробниот период од 30 дена по инсталацијата. По истекот на пробниот период, можете да побарате поддршка за да го продолжите или да купите претплата. Цената на претплатата не се пресметува врз основа на обемот на податоци, туку на бројот на користени јазли. Не, обемот на податоци, се разбира, влијае на бројот на потребните јазли, но сепак овој пристап за лиценцирање е похуман во однос на буџетот на компанијата. Ако нема потреба од висока продуктивност, можете да заштедите пари.

ML во Elastic Stack е напишан во C++ и работи надвор од JVM, во кој работи самиот Elasticsearch. Односно, процесот (патем, се нарекува автоматско откривање) троши сè што JVM не проголта. На демо штанд ова не е толку критично, но во производствената средина важно е да се распределат посебни јазли за задачите на ML.

Алгоритмите за машинско учење спаѓаат во две категории - со наставникот и без учител. Во Elastic Stack, алгоритмот е во категоријата „ненадгледуван“. Од страна на овој линк Можете да го видите математичкиот апарат на алгоритмите за машинско учење.

За да се изврши анализата, алгоритмот за машинско учење користи податоци складирани во индексите на Elasticsearch. Можете да креирате задачи за анализа и од интерфејсот Kibana и преку API. Ако го правите ова преку Кибана, тогаш не треба да знаете некои работи. На пример, дополнителни индекси кои алгоритмот ги користи за време на неговото работење.

Дополнителни индекси кои се користат во процесот на анализа.ml-state — информации за статистички модели (поставки за анализа);
.ml-anomalies-* — резултати од ML алгоритми;
.ml-notifications — поставки за известувања врз основа на резултатите од анализата.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Структурата на податоци во базата на податоци Elasticsearch се состои од индекси и документи складирани во нив. Кога се споредува со релациона база на податоци, индексот може да се спореди со шема на база на податоци, а документот со запис во табела. Оваа споредба е условена и е обезбедена за да се поедностави разбирањето на понатамошниот материјал за оние кои слушнале само за Elasticsearch.

Истата функционалност е достапна преку API како и преку веб-интерфејсот, па за јасност и разбирање на концептите, ќе покажеме како да ја конфигурираме преку Kibana. Во менито лево има дел Машинско учење каде што можете да креирате нова работа. Во интерфејсот Kibana изгледа како сликата подолу. Сега ќе го анализираме секој тип на задача и ќе ги прикажеме видовите на анализа што може да се конструираат овде.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Single Metric - анализа на една метрика, Multi Metric - анализа на две или повеќе метрика. Во двата случаи, секоја метрика се анализира во изолирана средина, т.е. алгоритмот не го зема предвид однесувањето на паралелно анализираните метрики, како што може да изгледа во случајот на Multi Metric. За да извршите пресметки земајќи ја предвид корелацијата на различни метрики, можете да ја користите анализата на населението. А Advanced ги дотерува алгоритмите со дополнителни опции за одредени задачи.

Единечна метрика

Анализирањето на промените во една единствена метрика е наједноставната работа што може да се направи овде. Откако ќе кликнете на Create Job, алгоритмот ќе бара аномалии.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Во областа Агрегација можете да изберете пристап за пребарување на аномалии. На пример, кога Мин вредностите под типичните вредности ќе се сметаат за аномални. Јадете Макс, висока средна вредност, ниска, средна, различна и други. Може да се најдат описи на сите функции по ссылке.

Во областа Поле го означува нумеричкото поле во документот на кој ќе ја спроведеме анализата.

Во областа Распон на кофата — грануларност на интервалите на временската линија по која ќе се врши анализата. Можете да верувате на автоматизацијата или да изберете рачно. Сликата подолу е пример за прениска грануларност - може да ја пропуштите аномалијата. Користејќи ја оваа поставка, можете да ја промените чувствителноста на алгоритмот на аномалии.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Времетраењето на собраните податоци е клучна работа што влијае на ефективноста на анализата. За време на анализата, алгоритмот идентификува интервали за повторување, пресметува интервали на доверба (основни линии) и идентификува аномалии - атипични отстапувања од вообичаеното однесување на метриката. Само на пример:

Основни линии со мал дел од податоци:

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Кога алгоритмот има од што да научи, основната линија изгледа вака:

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

По започнувањето на задачата, алгоритмот одредува аномални отстапувања од нормата и ги рангира според веројатноста за аномалија (бојата на соодветната ознака е означена во загради):

Предупредување (сино): помалку од 25
Мала (жолта): 25-50
Мајор (портокалова): 50-75
Критично (црвено): 75-100

Графиконот подолу покажува пример на пронајдените аномалии.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Овде можете да го видите бројот 94, што укажува на веројатност за аномалија. Јасно е дека бидејќи вредноста е блиску до 100, значи дека имаме аномалија. Колоната под графиконот ја прикажува пејоративно малата веројатност од 0.000063634% од метричката вредност да се појави таму.

Покрај пребарувањето за аномалии, можете да извршите прогнозирање во Кибана. Ова се прави едноставно и од истиот поглед со аномалии - копче Прогноза во горниот десен агол.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Прогнозата се прави за најмногу 8 недели однапред. Дури и ако навистина сакате, тоа веќе не е можно по дизајн.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Во некои ситуации, прогнозата ќе биде многу корисна, на пример, при следење на оптоварувањето на корисниците на инфраструктурата.

Мулти метрички

Ајде да преминеме на следната ML функција во Elastic Stack - анализирајќи неколку метрики во една серија. Но, тоа не значи дека ќе се анализира зависноста на една метрика од друга. Ова е исто како Single Metric, но со повеќе метрики на еден екран за лесна споредба на влијанието на една на друга. Ќе зборуваме за анализа на зависноста на една метрика од друга во делот Популација.

Откако ќе кликнете на квадратот со Multi Metric, ќе се појави прозорец со поставки. Да ги погледнеме подетално.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Прво треба да ги изберете полињата за анализа и собирање податоци на нив. Опциите за собирање овде се исти како и за единечна метрика (Макс, висока средна вредност, ниска, средна, различна и други). Понатаму, по желба, податоците се поделени на едно од полињата (поле Сплит податоци). Во примерот, го направивме ова по поле ИД на потекло на аеродромот. Забележете дека графикот за метрика на десната страна сега е претставен како повеќе графикони.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

столб Клучни полиња (инфлуенсери) директно влијае на откриените аномалии. Стандардно, тука секогаш ќе има барем една вредност, а можете да додадете дополнителни. Алгоритмот ќе го земе предвид влијанието на овие полиња при анализата и ќе ги покаже највлијателните вредности.

По лансирањето, вакво нешто ќе се појави во интерфејсот на Kibana.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Ова е т.н топлинска карта на аномалии за секоја вредност на полето ИД на потекло на аеродромот, што го посочивме во Сплит податоци. Како и кај Single Metric, бојата го означува нивото на абнормално отстапување. Удобно е да се направи слична анализа, на пример, на работни станици за да се следат оние со сомнително голем број овластувања итн. Веќе напишавме за сомнителни настани во EventLog Windows, кој исто така може да се собере и анализира овде.

Под топлинската карта е листа на аномалии, од секоја може да се префрлите на Single Metric приказ за детална анализа.

Популација

За да се бараат аномалии меѓу корелациите помеѓу различните метрики, Elastic Stack има специјализирана анализа на населението. Со негова помош можете да барате аномални вредности во перформансите на серверот во споредба со другите кога, на пример, се зголемува бројот на барања до целниот систем.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

На оваа илустрација, полето Популација ја означува вредноста на која ќе се однесуваат анализираните метрики. Во овој случај тоа е името на процесот. Како резултат на тоа, ќе видиме како оптоварувањето на процесорот на секој процес влијаело еден на друг.

Ве молиме имајте предвид дека графикот на анализираните податоци се разликува од случаите со Single Metric и Multi Metric. Ова беше направено во Кибана со дизајн за подобрена перцепција на распределбата на вредностите на анализираните податоци.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Графиконот покажува дека процесот се однесувал ненормално стресот (патем, генерирана од специјална алатка) на серверот поипу, кој влијаел (или испаднало дека е инфлуенсер) на појавата на оваа аномалија.

Напредно

Анализа со фино подесување. Со Напредна анализа, дополнителните поставки се појавуваат во Kibana. Откако ќе кликнете на плочката Advanced во менито за креирање, се појавува овој прозорец со јазичиња. Таб детали за работа Намерно го прескокнавме, има основни поставки кои не се директно поврзани со поставувањето на анализата.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

В summary_count_field_name Изборно, можете да го наведете името на полето од документите што содржат збирни вредности. Во овој пример, бројот на настани во минута. ВО categorization_pole_name го означува името и вредноста на полето од документот што содржи одредена вредност на променливата. Користејќи ја маската на ова поле, можете да ги поделите анализираните податоци во подмножества. Обрнете внимание на копчето Додадете детектор во претходната илустрација. Подолу е резултатот од кликнување на ова копче.

Разбирање на машинското учење во Elastic Stack (познато како Elasticsearch, ака ELK)

Еве дополнителен блок на поставки за конфигурирање на детекторот за аномалии за одредена задача. Планираме да разговараме за конкретни случаи на употреба (особено безбедносни) во следните написи. На пример, погледнете еден од расклопените кутии. Поврзан е со пребарување на вредности кои ретко се појавуваат и се спроведува ретка функција.

Во областа функција Можете да изберете одредена функција за да пребарувате за аномалии. Освен ретки, има уште неколку интересни функции - време од денот и време_на_недела. Тие идентификуваат аномалии во однесувањето на метриката во текот на денот или неделата, соодветно. Други функции за анализа е во документацијата.

В име на полето го означува полето на документот на кој ќе се изврши анализата. По_поле_име може да се користи за одвојување на резултатите од анализата за секоја поединечна вредност на полето за документ наведено овде. Ако пополните над_поле_име ја добивате анализата на населението што ја разгледавме погоре. Ако наведете вредност во партиција_поле_име, тогаш за ова поле од документот ќе се пресметуваат посебни основни линии за секоја вредност (вредноста може да биде, на пример, името на серверот или процесот на серверот). ВО исклучува_често може да избере сите или никој, што ќе значи исклучување (или вклучување) на вредностите на полињата за документи кои често се појавуваат.

Во оваа статија, се обидовме да дадеме што е можно попрецизна идеја за можностите на машинското учење во Elastic Stack сè уште има многу детали оставени зад сцената. Кажете ни во коментарите кои случаи успеавте да ги решите користејќи Elastic Stack и за какви задачи го користите. За да не контактирате, можете да користите лични пораки на Habré или формулар за повратни информации на веб-страницата.

Извор: www.habr.com

Додадете коментар