Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Eslatib o'tamiz, Elastic Stack aloqador bo'lmagan Elasticsearch ma'lumotlar bazasiga, Kibana veb-interfeysiga va ma'lumotlar yig'uvchilar va protsessorlariga (eng mashhur Logstash, turli xil Beats, APM va boshqalar) asoslangan. Ro'yxatdagi mahsulotlar to'plamiga yaxshi qo'shimchalardan biri bu mashinani o'rganish algoritmlari yordamida ma'lumotlarni tahlil qilishdir. Maqolada biz ushbu algoritmlar nima ekanligini tushunamiz. Iltimos, mushuk ostida.

Mashinani o'rganish - bu Elastik stackning pullik xususiyati va X-Pack tarkibiga kiritilgan. Uni ishlatishni boshlash uchun o'rnatishdan so'ng 30 kunlik sinovni faollashtirish kifoya. Sinov muddati tugagandan so'ng, uni uzaytirish yoki obuna sotib olish uchun yordam so'rashingiz mumkin. Obuna narxi ma'lumotlar hajmiga qarab emas, balki ishlatilgan tugunlar soniga qarab hisoblanadi. Yo'q, ma'lumotlar hajmi, albatta, talab qilinadigan tugunlar soniga ta'sir qiladi, ammo baribir litsenziyalashga bunday yondashuv kompaniya byudjetiga nisbatan insonparvarroqdir. Agar yuqori mahsuldorlikka ehtiyoj bo'lmasa, siz pulni tejashingiz mumkin.

Elastic Stackdagi ML C++ da yozilgan va Elasticsearch o'zi ishlaydigan JVM dan tashqarida ishlaydi. Ya'ni, jarayon (Aytgancha, bu autodetect deb ataladi) JVM yuta olmaydigan hamma narsani iste'mol qiladi. Demo stendda bu unchalik muhim emas, lekin ishlab chiqarish muhitida ML vazifalari uchun alohida tugunlarni ajratish muhimdir.

Mashinani o'rganish algoritmlari ikki toifaga bo'linadi - o'qituvchi bilan и o'qituvchisiz. Elastik stackda algoritm "nazorat qilinmagan" toifasida. tomonidan Ushbu havola Siz mashinani o'rganish algoritmlarining matematik apparatini ko'rishingiz mumkin.

Tahlil qilish uchun mashinani o'rganish algoritmi Elasticsearch indekslarida saqlangan ma'lumotlardan foydalanadi. Siz Kibana interfeysidan ham, API orqali ham tahlil qilish uchun vazifalar yaratishingiz mumkin. Agar buni Kibana orqali qilsangiz, unda ba'zi narsalarni bilishingiz shart emas. Masalan, algoritm ishlashi davomida foydalanadigan qo'shimcha indekslar.

Tahlil jarayonida qo'llaniladigan qo'shimcha indekslar.ml-state — statistik modellar haqida ma'lumot (tahlil sozlamalari);
.ml-anomaliyalar-* — ML algoritmlari natijalari;
.ml-notifications — tahlil natijalari asosida bildirishnomalarni sozlash.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Elasticsearch ma'lumotlar bazasidagi ma'lumotlar strukturasi indekslar va ularda saqlanadigan hujjatlardan iborat. Relyatsion ma'lumotlar bazasi bilan taqqoslaganda, indeksni ma'lumotlar bazasi sxemasi bilan, hujjatni esa jadvaldagi yozuv bilan solishtirish mumkin. Ushbu taqqoslash shartli va faqat Elasticsearch haqida eshitganlar uchun keyingi materialni tushunishni soddalashtirish uchun taqdim etilgan.

Xuddi shu funksionallik API orqali veb-interfeys orqali mavjud, shuning uchun tushunchalarni ravshanlik va tushunish uchun biz uni Kibana orqali qanday sozlashni ko'rsatamiz. Chapdagi menyuda yangi ish yaratishingiz mumkin bo'lgan Machine Learning bo'limi mavjud. Kibana interfeysida u quyidagi rasmga o'xshaydi. Endi biz har bir vazifa turini tahlil qilamiz va bu erda tuzilishi mumkin bo'lgan tahlil turlarini ko'rsatamiz.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Yagona metrik - bir ko'rsatkichni tahlil qilish, Multi Metric - ikki yoki undan ortiq ko'rsatkichlarni tahlil qilish. Ikkala holatda ham har bir ko'rsatkich izolyatsiya qilingan muhitda tahlil qilinadi, ya'ni. algoritm parallel tahlil qilingan ko'rsatkichlarning xatti-harakatlarini hisobga olmaydi, chunki Multi Metric misolida ko'rinishi mumkin. Turli ko'rsatkichlarning o'zaro bog'liqligini hisobga olgan holda hisob-kitoblarni amalga oshirish uchun siz Aholi tahlilidan foydalanishingiz mumkin. Va Advanced algoritmlarni muayyan vazifalar uchun qo'shimcha imkoniyatlar bilan yaxshi sozlaydi.

Yagona metrik

Bitta metrikada o'zgarishlarni tahlil qilish bu erda amalga oshirilishi mumkin bo'lgan eng oddiy narsadir. "Ish yaratish" tugmasini bosgandan so'ng, algoritm anomaliyalarni qidiradi.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Dalada Aggregatsiya anomaliyalarni qidirish uchun yondashuvni tanlashingiz mumkin. Masalan, qachon min odatdagi qiymatlardan past qiymatlar anomaliya hisoblanadi. Yemoq Maks, yuqori o'rtacha, past, o'rtacha, alohida va boshqalar. Barcha funktsiyalarning tavsiflarini topish mumkin aloqa.

Dalada dala biz tahlil o'tkazadigan hujjatdagi raqamli maydonni ko'rsatadi.

Dalada Paqir oralig'i - tahlil o'tkaziladigan vaqt jadvalidagi intervallarning granularligi. Siz avtomatlashtirishga ishonishingiz yoki qo'lda tanlashingiz mumkin. Quyidagi rasmda granularlikning juda pastligiga misol bo'ladi - siz anomaliyani o'tkazib yuborishingiz mumkin. Ushbu sozlamadan foydalanib, siz algoritmning anomaliyalarga nisbatan sezgirligini o'zgartirishingiz mumkin.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Yig'ilgan ma'lumotlarning davomiyligi tahlil samaradorligiga ta'sir qiluvchi asosiy narsadir. Tahlil davomida algoritm takroriy intervallarni aniqlaydi, ishonch oraliqlarini (asosiy chiziqlar) hisoblaydi va anomaliyalarni - metrikaning odatiy xatti-harakatlaridan atipik og'ishlarni aniqlaydi. Misol uchun:

Kichik ma'lumotlarga ega bo'lgan asosiy ko'rsatkichlar:

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Algoritm o'rganish uchun biror narsaga ega bo'lsa, asosiy chiziq quyidagicha ko'rinadi:

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Vazifani boshlagandan so'ng, algoritm me'yordan anomal og'ishlarni aniqlaydi va ularni anomaliya ehtimoli bo'yicha tartiblaydi (tegishli yorliqning rangi qavs ichida ko'rsatilgan):

Ogohlantirish (ko'k): 25 dan kam
Kichik (sariq): 25-50
Mayor (apelsin): 50-75
Kritik (qizil): 75-100

Quyidagi grafikda topilgan anomaliyalarga misol keltirilgan.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Bu erda siz 94 raqamini ko'rishingiz mumkin, bu anomaliya ehtimolini ko'rsatadi. Ko'rinib turibdiki, qiymat 100 ga yaqin bo'lganligi sababli, bu bizda anomaliya borligini anglatadi. Grafik ostidagi ustun, u erda paydo bo'ladigan metrik qiymatning 0.000063634% ga teng past ehtimolini ko'rsatadi.

Anomaliyalarni qidirishdan tashqari, siz Kibana-da prognozlashni ishga tushirishingiz mumkin. Bu oddiygina va anomaliyalar bilan bir xil ko'rinishda amalga oshiriladi - tugma havo ma'lumoti yuqori o'ng burchakda.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Prognoz ko'pi bilan 8 hafta oldin tuziladi. Agar chindan ham xohlasangiz ham, endi dizayn bo'yicha bu mumkin emas.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Ba'zi hollarda, prognoz, masalan, infratuzilmaga foydalanuvchi yukini kuzatishda juda foydali bo'ladi.

Ko'p metrik

Keling, Elastik stackdagi keyingi ML xususiyatiga o'tamiz - bir partiyada bir nechta ko'rsatkichlarni tahlil qilish. Ammo bu bir ko'rsatkichning boshqasiga bog'liqligi tahlil qilinadi degani emas. Bu Yagona metrika bilan bir xil, lekin birining boshqasiga ta'sirini oson taqqoslash uchun bir ekranda bir nechta ko'rsatkichlar mavjud. Bir ko‘rsatkichning boshqasiga bog‘liqligini tahlil qilish haqida aholi bo‘limida gaplashamiz.

Multi Metric bilan kvadratni bosgandan so'ng, sozlamalar bilan oyna paydo bo'ladi. Keling, ularni batafsil ko'rib chiqaylik.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Avval tahlil qilish va ular bo'yicha ma'lumotlarni yig'ish uchun maydonlarni tanlashingiz kerak. Bu yerdagi jamlash opsiyalari Yagona metrik (Maks, yuqori o'rtacha, past, o'rtacha, alohida va boshqalar). Bundan tashqari, agar so'ralsa, ma'lumotlar maydonlardan biriga bo'linadi (maydon Ma'lumotlarni ajratish). Misolda, biz buni maydon bo'yicha qildik OriginAirportID. E'tibor bering, o'ngdagi ko'rsatkichlar grafigi endi bir nechta grafiklar sifatida taqdim etilgan.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

dala Asosiy maydonlar (ta'sir qiluvchilar) aniqlangan anomaliyalarga bevosita ta'sir qiladi. Odatiy bo'lib, bu erda har doim kamida bitta qiymat bo'ladi va siz qo'shimcha qiymatlarni qo'shishingiz mumkin. Algoritm tahlil qilishda ushbu maydonlarning ta'sirini hisobga oladi va eng "ta'sirli" qiymatlarni ko'rsatadi.

Ishga tushgandan so'ng, Kibana interfeysida shunga o'xshash narsa paydo bo'ladi.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Bu deb ataladigan narsa har bir maydon qiymati uchun anomaliyalarning issiqlik xaritasi OriginAirportID, biz ko'rsatganmiz Ma'lumotlarni ajratish. Yagona metrikada bo'lgani kabi, rang g'ayritabiiy og'ish darajasini ko'rsatadi. Shunga o'xshash tahlilni o'tkazish qulay, masalan, ish stantsiyalarida shubhali ko'p ruxsatnomalarga ega bo'lganlarni kuzatish uchun va hokazo. Biz allaqachon yozdik EventLog Windows-dagi shubhali hodisalar haqida, bu erda ham to'planishi va tahlil qilinishi mumkin.

Issiqlik xaritasi ostida anomaliyalar ro'yxati keltirilgan, ularning har biridan batafsil tahlil qilish uchun Yagona metrik ko'rinishga o'tishingiz mumkin.

Aholi

Turli ko'rsatkichlar o'rtasidagi korrelyatsiyalar o'rtasidagi anomaliyalarni izlash uchun Elastic Stack maxsus Populyatsiya tahliliga ega. Aynan uning yordami bilan, masalan, maqsadli tizimga so'rovlar soni ko'payganda, boshqalarga nisbatan serverning ishlashida anomal qiymatlarni qidirishingiz mumkin.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Ushbu rasmda Aholi maydoni tahlil qilingan ko'rsatkichlar tegishli bo'lgan qiymatni ko'rsatadi. Bunday holda, bu jarayonning nomi. Natijada, har bir jarayonning protsessor yuki bir-biriga qanday ta'sir qilganini ko'rib chiqamiz.

E'tibor bering, tahlil qilingan ma'lumotlarning grafigi bitta metrik va ko'p metrikli holatlardan farq qiladi. Bu tahlil qilingan ma'lumotlarning qiymatlarini taqsimlashni yaxshilash uchun Kibana dizayni bo'yicha amalga oshirildi.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Grafik jarayonning g'ayritabiiy harakat qilganligini ko'rsatadi stress (Aytgancha, maxsus yordamchi dastur tomonidan yaratilgan) serverda poipu, bu anomaliyaning paydo bo'lishiga kim ta'sir qilgan (yoki ta'sir qiluvchi bo'lgan).

ilg'or

Nozik sozlash bilan tahlil. Kengaytirilgan tahlil bilan Kibanada qoʻshimcha sozlamalar paydo boʻladi. Yaratish menyusidagi Kengaytirilgan kafelni bosgandan so'ng, yorliqlari bo'lgan ushbu oyna paydo bo'ladi. Tab Ish haqida ma'lumot Biz uni ataylab o'tkazib yubordik, tahlilni o'rnatish bilan bevosita bog'liq bo'lmagan asosiy sozlamalar mavjud.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

В summary_count_field_name Ixtiyoriy ravishda, jamlangan qiymatlarni o'z ichiga olgan hujjatlardan maydon nomini belgilashingiz mumkin. Ushbu misolda daqiqada sodir bo'lgan voqealar soni. IN kategoriyalash_maydon_nomi ba'zi o'zgaruvchan qiymatni o'z ichiga olgan hujjatdagi maydon nomi va qiymatini ko'rsatadi. Ushbu maydondagi niqob yordamida siz tahlil qilingan ma'lumotlarni kichik to'plamlarga bo'lishingiz mumkin. Tugmachaga e'tibor bering Detektor qo'shing oldingi rasmda. Quyida ushbu tugmani bosish natijasi keltirilgan.

Elastik stackda mashinani o'rganishni tushunish (aka Elasticsearch, aka ELK)

Bu erda ma'lum bir vazifa uchun anomaliya detektorini sozlash uchun qo'shimcha sozlamalar bloki mavjud. Biz keyingi maqolalarda maxsus foydalanish holatlarini (ayniqsa, xavfsizlikni) muhokama qilishni rejalashtirmoqdamiz. Misol uchun, bir ko'z tashlang demontaj qilingan holatlardan biri. Bu kamdan-kam uchraydigan qiymatlarni qidirish bilan bog'liq va amalga oshiriladi kamdan-kam funktsiya.

Dalada Funktsiyasi Anomaliyalarni qidirish uchun ma'lum bir funktsiyani tanlashingiz mumkin. Bundan tashqari kam uchraydigan, yana bir nechta qiziqarli funktsiyalar mavjud - kunning_vaqti и haftaning_vaqti. Ular mos ravishda kun yoki hafta davomida o'lchovlarning xatti-harakatlaridagi anomaliyalarni aniqlaydi. Boshqa tahlil funktsiyalari hujjatlarda mavjud.

В maydon_nomi tahlil o'tkaziladigan hujjatning maydonini ko'rsatadi. Maydon_nomi bo'yicha bu erda ko'rsatilgan hujjat maydonining har bir alohida qiymati uchun tahlil natijalarini ajratish uchun ishlatilishi mumkin. To'ldirsangiz ustidan_maydon_nomi Siz yuqorida muhokama qilgan aholi tahlilini olasiz. Agar qiymatni belgilasangiz bo'lim_maydon_nomi, keyin hujjatning ushbu maydoni uchun har bir qiymat uchun alohida bazaviy chiziqlar hisoblab chiqiladi (qiymat, masalan, server nomi yoki serverdagi jarayon bo'lishi mumkin). IN istisno_tez-tez tanlashi mumkin hamma yoki hech qaysi, bu tez-tez uchraydigan hujjat maydoni qiymatlarini istisno qilishni (yoki qo'shishni) anglatadi.

Ushbu maqolada biz Elastic Stack-da mashinani o'rganish imkoniyatlari haqida iloji boricha qisqacha ma'lumot berishga harakat qildik; sahna ortida hali ko'p tafsilotlar qolmoqda. Izohlarda Elastic Stack yordamida qanday vaziyatlarni hal qilganingizni va undan qanday vazifalar uchun foydalanayotganingizni ayting. Biz bilan bog'lanish uchun Habré yoki shaxsiy xabarlaridan foydalanishingiz mumkin veb-saytdagi fikr-mulohaza shakli.

Manba: www.habr.com

a Izoh qo'shish