Эске сала кетсек, Elastic Stack реляциялык эмес Elasticsearch маалымат базасына, Kibana веб-интерфейсине жана маалымат жыйноочуларга жана процессорлорго (эң белгилүү Logstash, ар түрдүү Beats, APM жана башкалар) негизделген. Бүт тизмеленген продукт стекке жакшы толуктоолордун бири машина үйрөнүү алгоритмдерин колдонуу менен маалыматтарды талдоо болуп саналат. Макалада биз бул алгоритмдердин эмне экенин түшүнөбүз. Сураныч, мышыктын астына.
Машина үйрөнүү - бул эластик стектин акы төлөнүүчү өзгөчөлүгү жана X-Packке киргизилген. Аны колдонуу үчүн, орнотуудан кийин 30 күндүк сыноону жандырыңыз. Сыноо мөөнөтү аяктагандан кийин, сиз аны узартуу же жазылууну сатып алуу үчүн колдоо сурасаңыз болот. Жазылуунун баасы маалыматтардын көлөмүнө жараша эмес, колдонулган түйүндөрдүн санына жараша эсептелет. Жок, маалыматтардын көлөмү, албетте, талап кылынган түйүндөрдүн санына таасир этет, бирок дагы эле лицензиялоого мындай мамиле компаниянын бюджетине карата гумандуураак. Жогорку өндүрүмдүүлүктүн кереги жок болсо, акчаны үнөмдөөгө болот.
Elastic Stackтеги ML C++ тилинде жазылган жана Elasticsearch өзү иштеген JVMдин сыртында иштейт. Башкача айтканда, процесс (айтмакчы, ал автодетектор деп аталат) JVM жутпай турган нерселердин баарын жалмап кетет. Демо стендде бул анчалык деле маанилүү эмес, бирок өндүрүш чөйрөсүндө ML тапшырмалары үчүн өзүнчө түйүндөрдү бөлүштүрүү маанилүү.
Машина үйрөнүү алгоритмдери эки категорияга бөлүнөт -
Талдоо жүргүзүү үчүн машинаны үйрөнүү алгоритми Elasticsearch индекстеринде сакталган маалыматтарды колдонот. Сиз Kibana интерфейсинен да, API аркылуу да талдоо үчүн тапшырмаларды түзө аласыз. Эгер сиз муну Кибана аркылуу кылсаңыз, анда кээ бир нерселерди билүүнүн кереги жок. Мисалы, алгоритм иштөө учурунда колдонгон кошумча индекстер.
Талдоо процессинде колдонулган кошумча индекстер.ml-state — статистикалык моделдер жөнүндө маалымат (талдоо орнотуулары);
.ml-аномалиялар-* — ML алгоритмдеринин натыйжалары;
.ml-notifications — талдоо натыйжаларынын негизинде эскертмелерди орнотуу.
Elasticsearch маалымат базасындагы маалыматтар структурасы аларда сакталган индекстерден жана документтерден турат. Реляциялык маалымат базасы менен салыштырганда индексти маалымат базасынын схемасы менен, документти таблицадагы жазуу менен салыштырууга болот. Бул салыштыруу шарттуу жана Elasticsearch жөнүндө уккандар үчүн кийинки материалды түшүнүүнү жөнөкөйлөтүү үчүн берилген.
Ошол эле функция API аркылуу веб-интерфейс аркылуу жеткиликтүү, андыктан түшүнүктөрдү так жана түшүнүү үчүн биз аны Kibana аркылуу кантип конфигурациялоону көрсөтөбүз. Сол жактагы менюда Machine Learning бөлүмү бар, анда сиз жаңы жумуш түзө аласыз. Кибана интерфейсинде ал төмөндөгү сүрөттөгүдөй көрүнөт. Эми биз тапшырманын ар бир түрүн талдап, бул жерде түзө турган анализдин түрлөрүн көрсөтөбүз.
Single Metric - бир метрикага анализ, Multi Metric - эки же андан көп метрикага талдоо. Эки учурда тең ар бир метрика обочолонгон чөйрөдө талданат, б.а. алгоритм параллелдүү анализделген метрикалардын жүрүм-турумун эсепке албайт, анткени ал Multi Metric учурундагыдай сезилиши мүмкүн. Ар кандай метрикалардын корреляциясын эске алуу менен эсептөөлөрдү жүргүзүү үчүн, Калктын анализин колдонсоңуз болот. Ал эми Advanced белгилүү бир тапшырмалар үчүн кошумча опциялар менен алгоритмдерди тактоодо.
Single Metric
Бир метрикадагы өзгөрүүлөрдү талдоо бул жерде жасала турган эң жөнөкөй нерсе. Жумушту түзүү басылгандан кийин, алгоритм аномалияларды издейт.
Талаада кошуу аномалияларды издөө ыкмасын тандай аласыз. Мисалы, качан Min типтүү маанилерден төмөн маанилер аномалдуу болуп эсептелет. же Макс, Жогорку Орто, Төмөн, Орто, Айрыкча жана башкалар. Бардык функциялардын сүрөттөмөлөрүн тапса болот
Талаада талаа биз талдоо жүргүзө турган документтин сандык талаасын көрсөтөт.
Талаада
Чогултулган маалыматтардын узактыгы анализдин натыйжалуулугуна таасир этүүчү негизги нерсе. Талдоо учурунда алгоритм кайталануучу интервалдарды аныктайт, ишеним интервалдарын (базалык чектер) эсептейт жана аномалияларды - метриканын кадимки жүрүм-турумунан атиптик четтөөлөрдү аныктайт. Жөн эле мисалы:
Кичинекей маалымат менен базалык көрсөткүчтөр:
Алгоритмде үйрөнө турган нерсе болгондо, базалык көрсөткүч төмөнкүдөй болот:
Тапшырма башталгандан кийин, алгоритм нормадан аномалдык четтөөлөрдү аныктайт жана аларды аномалиянын ыктымалдуулугуна жараша даражага коет (тиешелүү белгинин түсү кашаада көрсөтүлгөн):
Эскертүү (көк): 25тен аз
Майда (сары): 25-50
Майор (кызгылт сары): 50-75
Критикалык (кызыл): 75-100
Төмөнкү график табылган аномалиялардын мисалын көрсөтөт.
Бул жерде сиз аномалиянын ыктымалдыгын көрсөткөн 94 санын көрө аласыз. Баасы 100гө жакын болгондуктан, бизде аномалия бар дегени түшүнүктүү. Графиктин астындагы тилке ал жерде пайда болгон метрикалык маанинин 0.000063634% төмөн ыктымалдыгын көрсөтөт.
Аномалияларды издөөдөн тышкары, сиз Кибанада болжолдоону иштете аласыз. Бул жөнөкөй жана аномалиялар менен бир эле көз карашта жасалат - баскыч божомол жогорку оң бурчунда.
Болжолдоо максимум 8 жума мурун жасалат. Эгер чындап кааласаңыз да, дизайн боюнча мындан ары мүмкүн эмес.
Кээ бир учурларда, болжолдоо абдан пайдалуу болот, мисалы, инфраструктурага колдонуучунун жүгүн көзөмөлдөөдө.
Multi Metric
Келгиле, Elastik стектеги кийинки ML өзгөчөлүгүнө өтөлү - бир партияда бир нече көрсөткүчтөрдү талдоо. Бирок бул бир метриканын экинчисине көз карандылыгы талданат дегенди билдирбейт. Бул Single Metric менен бирдей, бирок биринин экинчисине тийгизген таасирин оңой салыштыруу үчүн бир экранда бир нече метрика бар. Биз Калк бөлүмүндө бир көрсөткүчтүн экинчисине көз карандылыгын талдоо жөнүндө сүйлөшөбүз.
Multi Metric менен квадратты басканда, орнотуулары бар терезе пайда болот. Келгиле, аларды кененирээк карап көрөлү.
Адегенде алар боюнча талдоо жана маалыматтарды топтоо үчүн талааларды тандоо керек. Бул жерде топтоо параметрлери Бирдиктүү Метрикадагыдай (Макс, Жогорку Орто, Төмөн, Орто, Айрыкча жана башкалар). Андан ары, эгер кааласа, маалыматтар талаалардын бирине бөлүнөт (талаа Бөлүнүүчү дайындар). Мисалда биз муну талаа боюнча жасадык OriginAirportID. Оң жактагы метрика графиги азыр бир нече графиктер катары берилгенине көңүл буруңуз.
талаа Негизги талаалар (Таасир кылуучулар) аныкталган аномалияларга түздөн-түз таасирин тийгизет. Демейки боюнча бул жерде ар дайым жок дегенде бир маани болот жана сиз кошумчаларын кошо аласыз. Алгоритм талдоодо бул талаалардын таасирин эске алып, эң “таасирдүү” маанилерди көрсөтөт.
Ишке киргизгенден кийин, Кибана интерфейсинде ушул сыяктуу бир нерсе пайда болот.
Бул деп аталган ар бир талаа мааниси үчүн аномалиялардын жылуулук картасы OriginAirportID, биз көрсөткөн Бөлүнүүчү дайындар. Single Metric сыяктуу эле, түс анормалдуу четтөөнүн деңгээлин көрсөтөт. Окшош талдоо жүргүзүү ыңгайлуу, мисалы, иш станцияларында шектүү көп сандагы авторизацияларга көз салуу үчүн ж.б. Биз буга чейин жазган
Жылуулук картасынын ылдыйында аномалиялардын тизмеси келтирилген, алардын ар биринен деталдуу талдоо үчүн Бирдиктүү метрикалык көрүнүшкө өтсөңүз болот.
Калк
Ар кандай метрикалардын ортосундагы корреляциянын аномалияларын издөө үчүн, Elastic Stack атайын популяциялык анализге ээ. Анын жардамы менен, мисалы, максаттуу системага суроо-талаптардын саны көбөйгөндө, башкаларга салыштырмалуу сервердин иштешинде аномалдык маанилерди издей аласыз.
Бул иллюстрацияда Популяция талаасы талданган көрсөткүчтөр тиешелүү маанини көрсөтөт. Бул учурда бул процесстин аталышы. Натыйжада, биз ар бир процесстин процессордук жүгү бири-бирине кандай таасир эткенин көрөбүз.
Сураныч, талданган маалыматтардын графиги бир метрикалык жана көп метрикалык учурлардан айырмаланарын эске алыңыз. Бул талданган маалыматтардын баалуулуктарынын бөлүштүрүлүшүн жакшыртылган кабыл алуу үчүн долбоорлоо менен Кибанада жасалган.
График процесстин анормалдуу болгонун көрсөтүп турат басым (Айтмакчы, атайын утилита тарабынан түзүлгөн) серверде poipu, бул аномалиянын пайда болушуна ким таасир эткен (же таасир этүүчү болуп чыкты).
алдынкы
Жакшы жөндөө менен аналитика. Өркүндөтүлгөн талдоо менен, Кибанада кошумча жөндөөлөр пайда болот. Түзүү менюсунда Өркүндөтүлгөн плитканы чыкылдаткандан кийин, бул өтмөктөр менен терезе пайда болот. Таб Аюб маалыматтар Биз аны атайын өткөрүп жибердик, анализди орнотууга түздөн-түз тиешеси жок негизги жөндөөлөр бар.
В корутунду_саноо_талаанын_аты Кошумча, сиз топтолгон маанилерди камтыган документтерден талаанын атын белгилей аласыз. Бул мисалда мүнөтүнө окуялардын саны. IN
Бул жерде белгилүү бир тапшырма үчүн аномалия детекторун конфигурациялоо үчүн орнотуулардын кошумча блогу. Биз кийинки макалаларда колдонуунун конкреттүү учурларын (айрыкча коопсуздукту) талкуулоону пландап жатабыз. Мисалга,
Талаада милдети Сиз аномалияларды издөө үчүн белгилүү бир функцияны тандай аласыз. кошпогондо сейрек, дагы бир нече кызыктуу функциялар бар -
В талаа_аты талдоо жүргүзүлө турган документтин талаасын көрсөтөт. Талаанын_аты боюнча бул жерде көрсөтүлгөн документ талаасынын ар бир жеке мааниси боюнча талдоо натыйжаларын бөлүү үчүн колдонулушу мүмкүн. толтурсаң ашык_талаанын_аты Сиз жогоруда талкуулаган калктын анализин аласыз. Эгерде сиз бир маанини көрсөтсөңүз бөлүмдүн_талаанын_аты, анда документтин бул талаасы үчүн ар бир маани үчүн өзүнчө базалык сызыктар эсептелет (маани, мисалы, сервердин аталышы же сервердеги процесс болушу мүмкүн). IN четтетүү тандай алат бардык же эч ким, бул көп кездешүүчү документ талаасынын маанилерин алып салуу (же кошуу) дегенди билдирет.
Бул макалада биз Elastic Stackтеги машинаны үйрөнүүнүн мүмкүнчүлүктөрү жөнүндө мүмкүн болушунча кыскача түшүнүк берүүгө аракет кылдык; көшөгө артында дагы деле көп деталдар бар. Бизге комментарийлерде Elastic Stack аркылуу кандай учурларды чечкениңизди жана аны кандай тапшырмалар үчүн колдонгонуңузду айтыңыз. Биз менен байланышуу үчүн, Habré же жеке билдирүүлөрдү колдоно аласыз
Source: www.habr.com