Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Xatırladaq ki, Elastic Stack-ın əsasını qeyri-relyasiya verilənlər bazası olan Elasticsearch, Kibana veb interfeysi və məlumat toplama və işləmə alətləri (ən məşhuru Logstash, müxtəlif Beats, APM və digərləri) təşkil edir. Bu məhsul paketinin bir zövqü isə maşın öyrənmə alqoritmləri vasitəsilə məlumatların təhlili imkanıdır. Bu məqalədə bu alqoritmlərin nə olduğu ilə tanış olacağıq. Rədd etmədən davam edin.

Maşın öyrənmə — şərti pulsuz Elastic Stack-in pullu funksiyasıdır və X-Pack paketinə daxildir. Ondan istifadə etməyə başlamaq üçün quraşdırmadan sonra 30 günlük sınaq müddətini aktivləşdirmək kifayətdir. Sınaq müddəti bitdikdən sonra onun uzadılması üçün dəstək tələb edə bilərsiniz və ya abunə satın ala bilərsiniz. Abunə haqqı verilənlər həcminə deyil, istifadə olunan düyünlərin sayına əsaslanır. Bəli, verilənlər həcmi əslində lazım olan düyünlərin sayına təsir edir, lakin hələ də belə bir lisenziya yanaşması şirkətin büdcəsini nəzərə alaraq daha insaflıdır. Yüksək məhsuldarlığa ehtiyac yoxdursa — qənaət edə bilərsiniz.

Elastic Stack-də ML C++ ilə yazılıb və Elasticsearch-un işlədiyi JVM-dən kənarda fəaliyyət göstərir. Yəni prosesi (bu, avtomatik aşkarlanma adlanır) JVM-in əyləcəyindən başqa hər şeyi istehlak edir. Demo dəstində bu o qədər də kritik deyil, lakin istehsal mühitində ML vəzifələri üçün xüsusi düyünlər ayırmaq vacibdir.

Maşın öyrənmə alqoritmləri iki kateqoriyaya bölünür - nəzarət altındanəzarət olmadan. Elastic Stack-də alqoritm «nəzarət olmadan» kateqoriyasından. Bu bağlantıya gedərək maşın öyrənmə alqoritmlərinin riyazi aparatını görə bilərsiniz.

Təhlil aparmaq üçün maşın öyrənmə alqoritmi, Elasticsearch indekslərində saxlanılan verilənlərdən istifadə edir. Təhlil üçün tapşırıqlar yaratmaq həm Kibana interfeysindən, həm də API vasitəsilə mümkündür. Kibana vasitəsilə edərkən bəzi şeyləri bilmək mütləq deyil. Məsələn, alqoritmin iş prosesində istifadə etdiyi əlavə indekslər.

Təhlil prosesində istifadə edilən əlavə indekslər.ml-state — statistik modellər (təhlil parametrləri) haqqında məlumat;
.ml-anomalies-* — ML alqoritmlərinin iş nəticələri;
.ml-notifications — təhlil nəticələri üzrə bildiriş parametrləri.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Elasticsearch bazasında verilənlərin strukturu indekslərdən və içərisində saxlanılan sənədlərdən ibarətdir. Relyasiya verilənlər bazası ilə müqayisə etsək, indeks verilənlər bazasının sxeminə, sənəd isə cədvəldəki qeyd ilə müqayisə oluna bilər. Bu müqayisə şərtidir və yalnız Elasticsearch haqqında eşidənlər üçün materialın daha aydın anlaşılması üçün sadələşdirilmişdir.

API üzərindən veb interfeys ilə eyni funksiyanı əldə etmək mümkündür, buna görə də konseptlərin başa düşülməsi və aydınlığı üçün Kibana vasitəsilə necə quraşdırılacağını göstərəcəyik. Sol menyuda Machine Learning bölməsi var, burada yeni bir iş (Job) yarada bilərsiniz. Kibana interfeysində bu aşağıdakı şəkildəkilər kimi görünür. İndi hər iş növünü araşdıracağıq və burada konstru edilə biləcək analiz növlərini göstərəcəyik.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Single Metric — bir metrikanın analizi, Multi Metric — iki və ya daha çox metrikanın analizi. Hər iki halda, hər bir metrika izolə edilmiş mühitdə analiz edilir, yəni algoritm, Multi Metric vəziyyətində görünə biləcəyi kimi eyni zamanda analiz edilən metrikaların davranışını nəzərə almır. Müxtəlif metrikalar arasındakı korrelyasiyanı hesablamaq üçün Population analizi tətbiq oluna bilər. Advanced isə müəyyən tapşırıqlar üçün əlavə seçimlərlə algoritmların incə tənzimlənməsidir.

Single Metric

Bir tək metrikanın dəyişikliklərinin analizi — burada edə biləcəyiniz ən sadə şeydir. Create Job düyməsinə basdıqdan sonra, algoritm anomaliləri axtaracaq.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Boşluqda Aggregation anı axtarış üçün yanaşma seçmək mümkündür. Məsələn, Min anomaliləri tipik dəyərlərin altındakı qiymətlər sayılacaq. Max, High Mean, Low, Mean, Distinct və başqa seçimlər də var. Bütün funksiyaların təsvirinə linkdən baxmaq mümkündür..

Boşluqda Field analiz aparacağımız sənədin sayısal sahəsini göstərər.

Boşluqda Bucket span — analiz ediləcək zaman intervalının dəqiqliyi. Avtomatik seçimi etibar edə bilər və ya əl ilə seçə bilərsiniz. Aşağıdakı şəkillərdə çox aşağı dəqiqliyin nümunəsi verilib — anomalinin keçməsi mümkündür. Bu tənzimləmə ilə algoritmin anomalilərə qarşı həssaslığını dəyişmək mümkündür.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Topladılan məlumatların müddəti — analiz effektivliyinə təsir edən əsas şeydir. Algoritm analiz edərkən təkrarlanan intervalları müəyyən edir, etibarlılıq intervalları (bəslənmə xəttləri) hesablayır və anomaliləri aşkar edir — metrikanın adi davranışından qeyri-adi sapmalar. Məsələn:

Kiçik bir məlumat hissəsi üçün bəslənmə xəttləri:

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Algoritmin öyrənmək üçün bir şeyləri olduqda — bəslənmə xəttləri belə görünür:

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

İşin işə salınmasından sonra, algoritm normalardan anomaliləri müəyyən edir və onları anomalinin ehtimalına görə sıralayır (müvafiq etiketin rəngi parantezdə göstərilir):

Warning (mavi): 25-dən az
Minor (sarı): 25-50
Major (narıncı): 50-75
Critical (qırmızı): 75-100

Aşağıdakı qrafikdə tapılan anomalilərin nümunəsi.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Burada 94 sayını görmək mümkündür ki, bu da anomalinin ehtimalını göstərir. Aydın olur ki, dəyərin 100-ə yaxın olması deməkdir ki, qarşıda anomalidir. Qrafikin altında olan sütunda metrikanın dəyərinin orada meydana gəlmə ehtimalı 0.000063634% olduğu kimi qeyd olunur.

Kibana'da anomalilərin axtarışı ilə yanaşı, proqnozlaşdırma da başlaya bilərsiniz. Bu, sadədir və eyni anomalilər təqdimatından — düymə ilə Forecast sağ üst köşede.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Tahmin en fazla 8 hafta ileriye oluşturulur. Çok istense bile, daha fazlası tasarım gereği mümkün değildir.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Bazı durumlarda tahmin çok faydalı olabilir; örneğin, altyapıya kullanıcı yükünün izlenmesi sırasında.

Çoklu Ölçüm

Elastic Stack'teki bir sonraki ML fırsatına geçiyoruz - birden fazla ölçümün bir arada analizi. Ancak bu, bir ölçümün diğerine olan bağımlılığının analiz edileceği anlamına gelmez. Bu, yalnızca bir ekran üzerinde çoklu ölçümle tekil ölçümün aynısıdır ve birinin diğerine olan etkilerini karşılaştırmak için kolaylık sağlar. Bir ölçümün diğerine olan bağımlılığının analizi, Population kısmında ele alınacaktır.

Çoklu Ölçümün karesine tıkladıktan sonra, ayarların bulunduğu bir pencere açılacaktır. Bunlara daha detaylı bakalım.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Öncelikle analiz edilecek alanları seçmek ve bu alanlara göre verileri birleştirmek gerekir. Buradaki birleştirme seçenekleri, Tek Ölçüm için olanlarla aynıdır (və başqa seçimlər də var. Bütün funksiyaların təsvirinə ve diğerleri). Daha sonra veriler, istenirse, alanlardan birine göre ayrılabilir (alan Verileri Ayır). Örnekte bunu OriginAirportIDalanına göre yaptık. Sağdaki ölçüm grafiğinin artık birden fazla grafik olarak sunulduğuna dikkat edin.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Alan Anahtar Alanlar (Etkileyiciler) bulunan anomalleri doğrudan etkiler. Varsayılan olarak burada her zaman en az bir değer olacaktır, ayrıca ek değerler ekleyebilirsiniz. Algoritma, analiz sırasında bu alanların etkisini dikkate alacak ve en "etkileyici" değerleri gösterecektir.

Başlatıldıktan sonra Kibana arayüzünde yaklaşık olarak şöyle bir görüntü ortaya çıkacak.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Bu, belirttiğimiz alanın her bir değeri için anomali sıcaklık haritasıdır, OriginAirportID. Tek Ölçüm durumundaki gibi, renk anormal sapma seviyesini belirtir. Sahada anormal derecede çok oturum açma gibi durumları izlemek için örneğin çalışma istasyonları üzerinden benzer bir analiz yapmak kolaydır. Zaten belirtmiş olduğumuz Verileri AyırOlay Günlüğü Windows'ta şüpheli olaylar , bunları burada toplayıp analiz etmek de mümkündür.Sıcaklık haritasının altında anomali listesidir; her birinden detaylı analiz için Tek Ölçüm görünümüne geçilebilir.

Population

Elastic Stack'te farklı metrikler arasındaki korelasyonlarda anomali aramak için özel bir Population analizi vardır. Bu, belirli bir sunucunun performansında olağandışı değerleri aramak için kullanılabilir; örneğin, hedef sisteme yönelik isteklerin artması durumunda.

Bu görselde, Population alanında analiz edilen metriklere referans alınacak bir değer belirtilmiştir. Bu, süreç adıdır. Sonuçta, her bir sürecin CPU yükünün birbirine olan etkisini göreceğiz.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Dikkat edin, analiz edilen veri grafiği Tek Ölçüm ve Çoklu Ölçüm durumlarından farklıdır. Bu, Kibana'da tasarım gereği, analiz edilen verilerin değer dağılımının daha iyi algılanması amacıyla yapılmıştır.

Grafikten, sürecin anormal bir şekilde davrandığı görünmektedir

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

stress stres (deyim ki, xüsusi bir proqramla yaradılıb) serverdə poipu, bu anomaliyanın yaranmasına təsir edən (və ya təsir edən) şəxs.

İrəliləmiş

Analitika incə tənzimləmə ilə. İrəliləmiş təhlil zamanı Kibana-da əlavə tənzimləmələr görünür. Yaradılması menyusunda İrəliləmiş düyməsinə basdıqdan sonra belə bir pəncərə açılır. İş Detalları , əsas tənzimləmələri ehtiva etmədiyinə görə bilərəkdən buraxılıb.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

İ summary_count_field_name istəyə bağlı olaraq, sənədlərdən toplanmış dəyərləri əhatə edən bir sahənin adını göstərə bilərsiniz. Bu nümunədə - dəqiqədəki hadisələrin sayı. categorization_field_name sənədin içərisində dəyişkən bir dəyər olan bir sahənin adını göstərir. Bu sahənin maskası analiz olunan məlumatları alt qruplara ayırmağa imkan verir. Nəzərdən qaçırmayın Detektor əlavə et ölçüsünü əvvəlki illüstrasiyada.

Elastic Stack (yəni Elasticsearch, yəni ELK) ilə Machine Learning-i araşdırırıq

Burada müəyyən bir tapşırıq üçün anomaliyanı aşkar etməyi tənzimləmək üçün əlavə tənzimləmə bloku var. Xüsusi istifadə hallarını (xüsusən təhlükəsizlik ilə bağlı) növbəti məqalələrdə müzakirə etməyi planlaşdırırıq. Nümunə üçün, baxın tədqiq edilmiş hallardan birinə. Bu, nadir hallarda görünən dəyərlərin axtarılması ilə bağlıdır və rare.

Boşluqda function anomalilary axtarmaq üçün müəyyən bir funksiyanı seçə bilərsiniz. Bunun yanında, rare, bir neçə maraqlı funksiya daha var - günün vaxtıhəftənin vaxtı. Onlar müvafiq olaraq gün və ya həftə ərzində metriklərin davranışındakı anomaliyaları aşkar edir. Digər analiz funksiyaları sənəddə var.

İ field_name analiz ediləcək sənədin sahəsini göstərir. By_field_name burada göstərilən sənəd sahəsinin hər bir ayrı dəyəri üzrə analiz nəticələrini ayırmaq üçün istifadə edilə bilər. Əgər over_field_name doldurulursa, o zaman əvvəlki analizini apardığımız population analizi hazırlanır. Əgər partition_field_namegöstərilirsə, bu sənəd sahəsinə əsaslanaraq hər dəyər üçün ayrı əsas xətlərin hesablanması həyata keçirilir (dəyər üçün nümunə, məsələn, serverin adı və ya serverdəki prosesin adı ola bilər). exclude_frequent seçim edə bilərsiniz hamısıheç biri, bu, sənəd sahələrinin tez-tez görünən dəyərlərinin istisna (və ya daxil edilməsi) olacağını ifadə edir.

Məqalədə Elastic Stack-da maşın öyrənməsinin imkanları haqqında maksimum qısa söyləməyə çalışdıq, hələ də bir çox detal boşda qaldı. Elastic Stack ilə hansı halları həll edə bildiyinizi və onu hansı tapşırıqlar üçün istifadə etdiyinizi şərhlərdə bizə bildirin. Bizimlə əlaqə saxlamaq üçün Habrda şəxsi mesajlardan və ya veb saytdakı əlaqə formalarından istifadə edə bilərsiniz..

Mənbə: habr.com

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster