Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Эске сала кетсек, Elastic Stack реляциялык эмес Elasticsearch маалымат базасына, Kibana веб-интерфейсине жана маалымат жыйноочуларга жана процессорлорго (эң белгилүү Logstash, ар түрдүү Beats, APM жана башкалар) негизделген. Бүт тизмеленген продукт стекке жакшы толуктоолордун бири машина үйрөнүү алгоритмдерин колдонуу менен маалыматтарды талдоо болуп саналат. Макалада биз бул алгоритмдердин эмне экенин түшүнөбүз. Сураныч, мышыктын астына.

Машина үйрөнүү - бул эластик стектин акы төлөнүүчү өзгөчөлүгү жана X-Packке киргизилген. Аны колдонуу үчүн, орнотуудан кийин 30 күндүк сыноону жандырыңыз. Сыноо мөөнөтү аяктагандан кийин, сиз аны узартуу же жазылууну сатып алуу үчүн колдоо сурасаңыз болот. Жазылуунун баасы маалыматтардын көлөмүнө жараша эмес, колдонулган түйүндөрдүн санына жараша эсептелет. Жок, маалыматтардын көлөмү, албетте, талап кылынган түйүндөрдүн санына таасир этет, бирок дагы эле лицензиялоого мындай мамиле компаниянын бюджетине карата гумандуураак. Жогорку өндүрүмдүүлүктүн кереги жок болсо, акчаны үнөмдөөгө болот.

Elastic Stackтеги ML C++ тилинде жазылган жана Elasticsearch өзү иштеген JVMдин сыртында иштейт. Башкача айтканда, процесс (айтмакчы, ал автодетектор деп аталат) JVM жутпай турган нерселердин баарын жалмап кетет. Демо стендде бул анчалык деле маанилүү эмес, бирок өндүрүш чөйрөсүндө ML тапшырмалары үчүн өзүнчө түйүндөрдү бөлүштүрүү маанилүү.

Машина үйрөнүү алгоритмдери эки категорияга бөлүнөт - мугалим менен и мугалимсиз. Elastic Stack'те алгоритм "көзөмөлсүз" категориясында. By бул шилтеме Сиз машинаны үйрөнүү алгоритмдеринин математикалык аппаратын көрө аласыз.

Талдоо жүргүзүү үчүн машинаны үйрөнүү алгоритми Elasticsearch индекстеринде сакталган маалыматтарды колдонот. Сиз Kibana интерфейсинен да, API аркылуу да талдоо үчүн тапшырмаларды түзө аласыз. Эгер сиз муну Кибана аркылуу кылсаңыз, анда кээ бир нерселерди билүүнүн кереги жок. Мисалы, алгоритм иштөө учурунда колдонгон кошумча индекстер.

Талдоо процессинде колдонулган кошумча индекстер.ml-state — статистикалык моделдер жөнүндө маалымат (талдоо орнотуулары);
.ml-аномалиялар-* — ML алгоритмдеринин натыйжалары;
.ml-notifications — талдоо натыйжаларынын негизинде эскертмелерди орнотуу.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Elasticsearch маалымат базасындагы маалыматтар структурасы аларда сакталган индекстерден жана документтерден турат. Реляциялык маалымат базасы менен салыштырганда индексти маалымат базасынын схемасы менен, документти таблицадагы жазуу менен салыштырууга болот. Бул салыштыруу шарттуу жана Elasticsearch жөнүндө уккандар үчүн кийинки материалды түшүнүүнү жөнөкөйлөтүү үчүн берилген.

Ошол эле функция API аркылуу веб-интерфейс аркылуу жеткиликтүү, андыктан түшүнүктөрдү так жана түшүнүү үчүн биз аны Kibana аркылуу кантип конфигурациялоону көрсөтөбүз. Сол жактагы менюда Machine Learning бөлүмү бар, анда сиз жаңы жумуш түзө аласыз. Кибана интерфейсинде ал төмөндөгү сүрөттөгүдөй көрүнөт. Эми биз тапшырманын ар бир түрүн талдап, бул жерде түзө турган анализдин түрлөрүн көрсөтөбүз.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Single Metric - бир метрикага анализ, Multi Metric - эки же андан көп метрикага талдоо. Эки учурда тең ар бир метрика обочолонгон чөйрөдө талданат, б.а. алгоритм параллелдүү анализделген метрикалардын жүрүм-турумун эсепке албайт, анткени ал Multi Metric учурундагыдай сезилиши мүмкүн. Ар кандай метрикалардын корреляциясын эске алуу менен эсептөөлөрдү жүргүзүү үчүн, Калктын анализин колдонсоңуз болот. Ал эми Advanced белгилүү бир тапшырмалар үчүн кошумча опциялар менен алгоритмдерди тактоодо.

Single Metric

Бир метрикадагы өзгөрүүлөрдү талдоо бул жерде жасала турган эң жөнөкөй нерсе. Жумушту түзүү басылгандан кийин, алгоритм аномалияларды издейт.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Талаада кошуу аномалияларды издөө ыкмасын тандай аласыз. Мисалы, качан Min типтүү маанилерден төмөн маанилер аномалдуу болуп эсептелет. же Макс, Жогорку Орто, Төмөн, Орто, Айрыкча жана башкалар. Бардык функциялардын сүрөттөмөлөрүн тапса болот байланыш.

Талаада талаа биз талдоо жүргүзө турган документтин сандык талаасын көрсөтөт.

Талаада Чака аралыгы — талдоо жүргүзүлө турган хронологиядагы интервалдардын гранулдуулугу. Сиз автоматташтырууга ишенип же кол менен тандасаңыз болот. Төмөндөгү сүрөт майда-чүйдөлүүлүктүн өтө төмөн экендигинин мисалы - аномалияны байкабай калышыңыз мүмкүн. Бул жөндөөнү колдонуу менен, сиз аномалияларга алгоритмдин сезгичтигин өзгөртө аласыз.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Чогултулган маалыматтардын узактыгы анализдин натыйжалуулугуна таасир этүүчү негизги нерсе. Талдоо учурунда алгоритм кайталануучу интервалдарды аныктайт, ишеним интервалдарын (базалык чектер) эсептейт жана аномалияларды - метриканын кадимки жүрүм-турумунан атиптик четтөөлөрдү аныктайт. Жөн эле мисалы:

Кичинекей маалымат менен базалык көрсөткүчтөр:

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Алгоритмде үйрөнө турган нерсе болгондо, базалык көрсөткүч төмөнкүдөй болот:

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Тапшырма башталгандан кийин, алгоритм нормадан аномалдык четтөөлөрдү аныктайт жана аларды аномалиянын ыктымалдуулугуна жараша даражага коет (тиешелүү белгинин түсү кашаада көрсөтүлгөн):

Эскертүү (көк): 25тен аз
Майда (сары): 25-50
Майор (кызгылт сары): 50-75
Критикалык (кызыл): 75-100

Төмөнкү график табылган аномалиялардын мисалын көрсөтөт.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Бул жерде сиз аномалиянын ыктымалдыгын көрсөткөн 94 санын көрө аласыз. Баасы 100гө жакын болгондуктан, бизде аномалия бар дегени түшүнүктүү. Графиктин астындагы тилке ал жерде пайда болгон метрикалык маанинин 0.000063634% төмөн ыктымалдыгын көрсөтөт.

Аномалияларды издөөдөн тышкары, сиз Кибанада болжолдоону иштете аласыз. Бул жөнөкөй жана аномалиялар менен бир эле көз карашта жасалат - баскыч божомол жогорку оң бурчунда.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Болжолдоо максимум 8 жума мурун жасалат. Эгер чындап кааласаңыз да, дизайн боюнча мындан ары мүмкүн эмес.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Кээ бир учурларда, болжолдоо абдан пайдалуу болот, мисалы, инфраструктурага колдонуучунун жүгүн көзөмөлдөөдө.

Multi Metric

Келгиле, Elastik стектеги кийинки ML өзгөчөлүгүнө өтөлү - бир партияда бир нече көрсөткүчтөрдү талдоо. Бирок бул бир метриканын экинчисине көз карандылыгы талданат дегенди билдирбейт. Бул Single Metric менен бирдей, бирок биринин экинчисине тийгизген таасирин оңой салыштыруу үчүн бир экранда бир нече метрика бар. Биз Калк бөлүмүндө бир көрсөткүчтүн экинчисине көз карандылыгын талдоо жөнүндө сүйлөшөбүз.

Multi Metric менен квадратты басканда, орнотуулары бар терезе пайда болот. Келгиле, аларды кененирээк карап көрөлү.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Адегенде алар боюнча талдоо жана маалыматтарды топтоо үчүн талааларды тандоо керек. Бул жерде топтоо параметрлери Бирдиктүү Метрикадагыдай (Макс, Жогорку Орто, Төмөн, Орто, Айрыкча жана башкалар). Андан ары, эгер кааласа, маалыматтар талаалардын бирине бөлүнөт (талаа Бөлүнүүчү дайындар). Мисалда биз муну талаа боюнча жасадык OriginAirportID. Оң жактагы метрика графиги азыр бир нече графиктер катары берилгенине көңүл буруңуз.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

талаа Негизги талаалар (Таасир кылуучулар) аныкталган аномалияларга түздөн-түз таасирин тийгизет. Демейки боюнча бул жерде ар дайым жок дегенде бир маани болот жана сиз кошумчаларын кошо аласыз. Алгоритм талдоодо бул талаалардын таасирин эске алып, эң “таасирдүү” маанилерди көрсөтөт.

Ишке киргизгенден кийин, Кибана интерфейсинде ушул сыяктуу бир нерсе пайда болот.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Бул деп аталган ар бир талаа мааниси үчүн аномалиялардын жылуулук картасы OriginAirportID, биз көрсөткөн Бөлүнүүчү дайындар. Single Metric сыяктуу эле, түс анормалдуу четтөөнүн деңгээлин көрсөтөт. Окшош талдоо жүргүзүү ыңгайлуу, мисалы, иш станцияларында шектүү көп сандагы авторизацияларга көз салуу үчүн ж.б. Биз буга чейин жазган EventLog Windows ичиндеги шектүү окуялар жөнүндө, бул жерде да чогултуп, талдоо болот.

Жылуулук картасынын ылдыйында аномалиялардын тизмеси келтирилген, алардын ар биринен деталдуу талдоо үчүн Бирдиктүү метрикалык көрүнүшкө өтсөңүз болот.

Калк

Ар кандай метрикалардын ортосундагы корреляциянын аномалияларын издөө үчүн, Elastic Stack атайын популяциялык анализге ээ. Анын жардамы менен, мисалы, максаттуу системага суроо-талаптардын саны көбөйгөндө, башкаларга салыштырмалуу сервердин иштешинде аномалдык маанилерди издей аласыз.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Бул иллюстрацияда Популяция талаасы талданган көрсөткүчтөр тиешелүү маанини көрсөтөт. Бул учурда бул процесстин аталышы. Натыйжада, биз ар бир процесстин процессордук жүгү бири-бирине кандай таасир эткенин көрөбүз.

Сураныч, талданган маалыматтардын графиги бир метрикалык жана көп метрикалык учурлардан айырмаланарын эске алыңыз. Бул талданган маалыматтардын баалуулуктарынын бөлүштүрүлүшүн жакшыртылган кабыл алуу үчүн долбоорлоо менен Кибанада жасалган.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

График процесстин анормалдуу болгонун көрсөтүп турат басым (Айтмакчы, атайын утилита тарабынан түзүлгөн) серверде poipu, бул аномалиянын пайда болушуна ким таасир эткен (же таасир этүүчү болуп чыкты).

алдынкы

Жакшы жөндөө менен аналитика. Өркүндөтүлгөн талдоо менен, Кибанада кошумча жөндөөлөр пайда болот. Түзүү менюсунда Өркүндөтүлгөн плитканы чыкылдаткандан кийин, бул өтмөктөр менен терезе пайда болот. Таб Аюб маалыматтар Биз аны атайын өткөрүп жибердик, анализди орнотууга түздөн-түз тиешеси жок негизги жөндөөлөр бар.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

В корутунду_саноо_талаанын_аты Кошумча, сиз топтолгон маанилерди камтыган документтерден талаанын атын белгилей аласыз. Бул мисалда мүнөтүнө окуялардын саны. IN категориялаштыруу_талаанын_аты кандайдыр бир өзгөрмө маанини камтыган документтеги талаанын атын жана маанисин көрсөтөт. Бул талаадагы масканы колдонуу менен, сиз талданган маалыматтарды чакан топтомдорго бөлсөңүз болот. Баскычка көңүл буруңуз Детектор кошуу мурунку сүрөттө. Төмөндө бул баскычты басуунун натыйжасы болуп саналат.

Эластикалык стектеги машинаны үйрөнүүнү түшүнүү (aka Elasticsearch, ELK)

Бул жерде белгилүү бир тапшырма үчүн аномалия детекторун конфигурациялоо үчүн орнотуулардын кошумча блогу. Биз кийинки макалаларда колдонуунун конкреттүү учурларын (айрыкча коопсуздукту) талкуулоону пландап жатабыз. Мисалга, кароо демонтаждалган корпустардын бири. Бул сейрек пайда болгон баалуулуктарды издөө менен байланышкан жана ишке ашырылат сейрек функция.

Талаада милдети Сиз аномалияларды издөө үчүн белгилүү бир функцияны тандай аласыз. кошпогондо сейрек, дагы бир нече кызыктуу функциялар бар - күндүн_убагы и жуманын_убагы. Алар тиешелүүлүгүнө жараша күн же жума бою метрикалардын жүрүм-турумундагы аномалияларды аныктайт. Башка талдоо функциялары документацияда бар.

В талаа_аты талдоо жүргүзүлө турган документтин талаасын көрсөтөт. Талаанын_аты боюнча бул жерде көрсөтүлгөн документ талаасынын ар бир жеке мааниси боюнча талдоо натыйжаларын бөлүү үчүн колдонулушу мүмкүн. толтурсаң ашык_талаанын_аты Сиз жогоруда талкуулаган калктын анализин аласыз. Эгерде сиз бир маанини көрсөтсөңүз бөлүмдүн_талаанын_аты, анда документтин бул талаасы үчүн ар бир маани үчүн өзүнчө базалык сызыктар эсептелет (маани, мисалы, сервердин аталышы же сервердеги процесс болушу мүмкүн). IN четтетүү тандай алат бардык же эч ким, бул көп кездешүүчү документ талаасынын маанилерин алып салуу (же кошуу) дегенди билдирет.

Бул макалада биз Elastic Stackтеги машинаны үйрөнүүнүн мүмкүнчүлүктөрү жөнүндө мүмкүн болушунча кыскача түшүнүк берүүгө аракет кылдык; көшөгө артында дагы деле көп деталдар бар. Бизге комментарийлерде Elastic Stack аркылуу кандай учурларды чечкениңизди жана аны кандай тапшырмалар үчүн колдонгонуңузду айтыңыз. Биз менен байланышуу үчүн, Habré же жеке билдирүүлөрдү колдоно аласыз веб-сайттагы пикир формасы.

Source: www.habr.com

Комментарий кошуу