Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Elastic Stack'in ilişkisel olmayan Elasticsearch veritabanına, Kibana web arayüzüne ve veri toplayıcılara ve işlemcilere (en ünlü Logstash, çeşitli Beats, APM ve diğerleri) dayandığını hatırlayalım. Listelenen ürün yığınının tamamına yapılan güzel eklemelerden biri, makine öğrenimi algoritmalarını kullanan veri analizidir. Makalede bu algoritmaların ne olduğunu anlıyoruz. Lütfen kedinin altında.

Makine öğrenimi, paylaşılan yazılım Elastic Stack'in ücretli bir özelliğidir ve X-Pack'e dahildir. Kullanmaya başlamak için kurulumdan sonra 30 günlük deneme sürümünü etkinleştirmeniz yeterlidir. Deneme süresi sona erdikten sonra uzatmak için destek talep edebilir veya abonelik satın alabilirsiniz. Bir aboneliğin maliyeti, veri hacmine göre değil, kullanılan düğüm sayısına göre hesaplanır. Hayır, veri hacmi elbette gerekli düğüm sayısını etkiler, ancak yine de lisanslamaya yönelik bu yaklaşım, şirketin bütçesi açısından daha insancıldır. Yüksek üretkenliğe ihtiyacınız yoksa paradan tasarruf edebilirsiniz.

Elastic Stack'teki ML, C++ ile yazılmıştır ve Elasticsearch'ün çalıştığı JVM'nin dışında çalışır. Yani süreç (bu arada buna otomatik algılama denir) JVM'nin yutmadığı her şeyi tüketir. Demo standında bu o kadar kritik değildir ancak üretim ortamında makine öğrenimi görevleri için ayrı düğümler tahsis etmek önemlidir.

Makine öğrenimi algoritmaları iki kategoriye ayrılır: öğretmenle и öğretmen olmadan. Elastic Stack’te algoritma “denetimsiz” kategorisindedir. İle Bu linki Makine öğrenimi algoritmalarının matematiksel aparatlarını görebilirsiniz.

Analizi gerçekleştirmek için makine öğrenimi algoritması, Elasticsearch indekslerinde depolanan verileri kullanır. Hem Kibana arayüzünden hem de API aracılığıyla analiz için görevler oluşturabilirsiniz. Bunu Kibana üzerinden yaparsanız bazı şeyleri bilmenize gerek kalmaz. Örneğin, algoritmanın çalışması sırasında kullandığı ek indeksler.

Analiz sürecinde kullanılan ek endeksler.ml-state — istatistiksel modeller hakkında bilgi (analiz ayarları);
.ml-anomalies-* — ML algoritmalarının sonuçları;
.ml-notifications — analiz sonuçlarına dayalı bildirimlere ilişkin ayarlar.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Elasticsearch veritabanındaki veri yapısı, indekslerden ve bunların içinde saklanan belgelerden oluşur. İlişkisel bir veritabanıyla karşılaştırıldığında, bir dizin bir veritabanı şemasıyla, bir belge ise bir tablodaki kayıtla karşılaştırılabilir. Bu karşılaştırma koşulludur ve yalnızca Elasticsearch'ü duymuş olanlar için daha fazla materyalin anlaşılmasını kolaylaştırmak amacıyla sağlanmıştır.

Web arayüzünde olduğu gibi aynı işlevsellik API aracılığıyla da mevcuttur, bu nedenle kavramların netliği ve anlaşılması için Kibana aracılığıyla nasıl yapılandırılacağını göstereceğiz. Soldaki menüde yeni bir İş oluşturabileceğiniz Makine Öğrenimi bölümü bulunmaktadır. Kibana arayüzünde aşağıdaki görüntüye benzemektedir. Şimdi her görev türünü analiz edeceğiz ve burada oluşturulabilecek analiz türlerini göstereceğiz.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Tek Metrik - bir metriğin analizi, Çoklu Metrik - iki veya daha fazla metriğin analizi. Her iki durumda da her metrik yalıtılmış bir ortamda analiz edilir; Algoritma, Multi Metric durumunda göründüğü gibi, paralel analiz edilen metriklerin davranışını dikkate almaz. Çeşitli metriklerin korelasyonunu dikkate alarak hesaplamalar yapmak için Nüfus analizini kullanabilirsiniz. Gelişmiş, belirli görevler için ek seçeneklerle algoritmalara ince ayar yapıyor.

Tek Metrik

Değişiklikleri tek bir metrikte analiz etmek burada yapılabilecek en basit şeydir. İş Yarat'a tıkladıktan sonra algoritma anormallikleri arayacaktır.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

In toplama anormallikleri aramak için bir yaklaşım seçebilirsiniz. Örneğin, ne zaman min Tipik değerlerin altındaki değerler anormal kabul edilecektir. Yemek yemek Maksimum, Yüksek Ortalama, Düşük, Ortalama, Farklı ve diğerleri. Tüm fonksiyonların açıklamaları bulunabilir по ссылке.

In Alan analizi yapacağımız belgedeki sayısal alanı belirtir.

In Kova açıklığı - Analizin gerçekleştirileceği zaman çizelgesindeki aralıkların ayrıntı düzeyi. Otomasyona güvenebilir veya manuel olarak seçim yapabilirsiniz. Aşağıdaki resim ayrıntı düzeyinin çok düşük olduğuna bir örnektir; anormalliği gözden kaçırabilirsiniz. Bu ayarı kullanarak algoritmanın anormalliklere karşı duyarlılığını değiştirebilirsiniz.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Toplanan verilerin süresi analizin etkinliğini etkileyen önemli bir faktördür. Analiz sırasında, algoritma tekrarlanan aralıkları tanımlar, güven aralıklarını (taban çizgilerini) hesaplar ve anormallikleri (metriğin olağan davranışından atipik sapmalar) tanımlar. Örnek olarak:

Küçük bir veri parçası içeren taban çizgileri:

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Algoritmanın öğrenecek bir şeyi olduğunda temel şu şekilde görünür:

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Göreve başladıktan sonra, algoritma normdan anormal sapmaları belirler ve bunları bir anormallik olasılığına göre sıralar (ilgili etiketin rengi parantez içinde gösterilir):

Uyarı (mavi): 25'ten az
Küçük (sarı): 25-50
Majör (turuncu): 50-75
Kritik (kırmızı): 75-100

Aşağıdaki grafikte bulunan anormalliklerin bir örneği gösterilmektedir.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Burada bir anormallik olasılığını gösteren 94 sayısını görebilirsiniz. Değerin 100’e yakın olması bir anormallik olduğu anlamına geldiği açıktır. Grafiğin altındaki sütun, orada görünen metrik değerin %0.000063634'ünün aşağılayıcı derecede küçük olasılığını gösterir.

Anormallikleri aramanın yanı sıra Kibana'da tahmin çalıştırabilirsiniz. Bu basit bir şekilde ve anormalliklerle aynı görünümden yapılır - düğme Tahmin sağ üst köşede.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Tahmin maksimum 8 hafta önceden yapılır. Gerçekten isteseniz bile, bu artık tasarım gereği mümkün değil.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Bazı durumlarda tahmin, örneğin altyapıdaki kullanıcı yükünü izlerken çok faydalı olacaktır.

Çoklu Metrik

Elastik Yığındaki bir sonraki makine öğrenimi özelliğine geçelim: tek bir grupta birden fazla ölçümü analiz etmek. Ancak bu, bir metriğin diğerine bağımlılığının analiz edileceği anlamına gelmez. Bu, Tek Metrik ile aynıdır, ancak birinin diğeri üzerindeki etkisinin kolayca karşılaştırılabilmesi için bir ekranda birden fazla metrik bulunur. Nüfus bölümünde bir metriğin diğerine bağımlılığını analiz etmekten bahsedeceğiz.

Multi Metric ile kareye tıkladıktan sonra ayarların bulunduğu bir pencere açılacaktır. Onlara daha detaylı bakalım.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Öncelikle analiz ve veri toplama için alanları seçmeniz gerekir. Buradaki toplama seçenekleri Tek Metrik (Maksimum, Yüksek Ortalama, Düşük, Ortalama, Farklı ve diğerleri). Ayrıca istenirse veriler alanlardan birine bölünür (alan Veriyi Böl). Örnekte bunu alana göre yaptık MenşeHavaalanı Kimliği. Sağdaki metrik grafiğinin artık birden fazla grafik olarak sunulduğuna dikkat edin.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Tarla Anahtar Alanlar (Etkileyenler) Tespit edilen anormallikleri doğrudan etkiler. Varsayılan olarak burada her zaman en az bir değer olacaktır ve siz başka değerler de ekleyebilirsiniz. Algoritma, analiz sırasında bu alanların etkisini dikkate alacak ve en "etkili" değerleri gösterecektir.

Başlattıktan sonra Kibana arayüzünde buna benzer bir şey görünecek.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Bu sözde Her alan değeri için anormalliklerin ısı haritası MenşeHavaalanı Kimliğiiçinde belirttiğimiz Veriyi Böl. Tek Metrikte olduğu gibi renk, anormal sapmanın seviyesini gösterir. Benzer bir analizin, örneğin şüpheli derecede çok sayıda yetkiye sahip olanları vb. izlemek için iş istasyonlarında yapılması uygundur. zaten yazmıştık EventLog Windows'taki şüpheli olaylar hakkındabunlar da burada toplanıp analiz edilebilir.

Isı haritasının altında anormalliklerin bir listesi bulunur; her birinden ayrıntılı analiz için Tek Metrik görünümüne geçebilirsiniz.

nüfus

Farklı metrikler arasındaki korelasyonlar arasındaki anormallikleri aramak için Elastic Stack'in özel bir Nüfus analizi vardır. Örneğin, hedef sisteme yapılan isteklerin sayısı arttığında, bir sunucunun performansındaki diğerlerine kıyasla anormal değerleri arayabilmeniz onun yardımıyla sağlanır.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Bu çizimde Nüfus alanı, analiz edilen ölçümlerin ilişkili olacağı değeri gösterir. Bu durumda sürecin adıdır. Sonuç olarak her bir işlemin işlemci yükünün birbirini nasıl etkilediğini göreceğiz.

Analiz edilen verilerin grafiğinin Tek Metrik ve Çoklu Metrik durumlarından farklı olduğunu lütfen unutmayın. Bu, Kibana'da analiz edilen verilerin değerlerinin dağılımının daha iyi algılanması amacıyla tasarlandı.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Grafik sürecin anormal davrandığını gösteriyor stres (bu arada, özel bir yardımcı program tarafından oluşturulmuştur) sunucuda poipuBu anormalliğin ortaya çıkmasını etkileyen (veya etki sahibi olduğu ortaya çıkan).

gelişmiş

İnce ayarlı analitik. Gelişmiş analiz ile Kibana'da ek ayarlar görünür. Oluşturma menüsündeki Gelişmiş kutucuğuna tıkladıktan sonra sekmelerin bulunduğu bu pencere görüntülenir. Sekme iş Ayrıntıları Bunu bilerek atladık, analizin kurulumuyla doğrudan ilgili olmayan temel ayarlar var.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

В Summary_count_field_name İsteğe bağlı olarak, birleştirilmiş değerleri içeren belgelerden bir alanın adını belirtebilirsiniz. Bu örnekte dakika başına olay sayısı. İÇİNDE kategorizasyon_alanı_adı belgedeki bazı değişken değerleri içeren alanın adını ve değerini belirtir. Bu alandaki maskeyi kullanarak analiz edilen verileri alt kümelere bölebilirsiniz. Düğmeye dikkat edin Dedektör ekle önceki çizimde. Bu butona tıklamanın sonucu aşağıdadır.

Elastik Yığında Makine Öğrenimini Anlamak (diğer adıyla Elasticsearch, diğer adıyla ELK)

Burada anormallik dedektörünü belirli bir görev için yapılandırmaya yönelik ek bir ayar bloğu bulunmaktadır. Aşağıdaki makalelerde belirli kullanım örneklerini (özellikle güvenlikle ilgili olanları) tartışmayı planlıyoruz. Örneğin, bakmak demonte kasalardan biri. Nadiren görünen değerlerin aranmasıyla ilişkilendirilir ve uygulanır nadir fonksiyon.

In işlev Anormallikleri aramak için belirli bir işlevi seçebilirsiniz. Hariç nadir, birkaç ilginç fonksiyon daha var - günün zamanı и time_of_week. Sırasıyla gün veya hafta boyunca metriklerin davranışındaki anormallikleri tanımlarlar. Diğer analiz fonksiyonları belgelerde var.

В alan adı Analizin gerçekleştirileceği belgenin alanını belirtir. By_field_name Burada belirtilen belge alanının her bir değeri için analiz sonuçlarını ayırmak için kullanılabilir. Eğer doldurursan over_field_name Yukarıda tartıştığımız nüfus analizini elde edersiniz. İçinde bir değer belirtirseniz bölüm_alanı_adı, bu durumda belgenin bu alanı için her değer için ayrı temeller hesaplanacaktır (değer, örneğin sunucunun adı veya sunucudaki işlem olabilir). İÇİNDE hariç_sıklık seçebilmek herşey veya YokBu, sık sık oluşan belge alanı değerlerinin hariç tutulması (veya dahil edilmesi) anlamına gelir.

Bu yazımızda, Elastic Stack'teki makine öğrenmesinin yetenekleri hakkında mümkün olduğunca kısa ve öz bir fikir vermeye çalıştık; hala perde arkasında kalan birçok detay var. Yorumlarda bize Elastic Stack kullanarak hangi durumları çözmeyi başardığınızı ve onu hangi görevlerde kullandığınızı anlatın. Bizimle iletişime geçmek için Habré veya web sitesindeki geri bildirim formu.

Kaynak: habr.com

Yorum ekle