Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Mari kita ingat bahawa Elastic Stack adalah berdasarkan pangkalan data Elasticsearch bukan perkaitan, antara muka web Kibana dan pengumpul data dan pemproses (Logstash yang paling terkenal, pelbagai Beats, APM dan lain-lain). Salah satu tambahan yang bagus kepada keseluruhan susunan produk yang disenaraikan ialah analisis data menggunakan algoritma pembelajaran mesin. Dalam artikel kami memahami apakah algoritma ini. Tolong di bawah kucing.

Pembelajaran mesin ialah ciri berbayar bagi perisian kongsi Elastic Stack dan disertakan dalam X-Pack. Untuk mula menggunakannya, hanya aktifkan percubaan 30 hari selepas pemasangan. Selepas tempoh percubaan tamat, anda boleh meminta sokongan untuk melanjutkannya atau membeli langganan. Kos langganan dikira bukan berdasarkan jumlah data, tetapi pada bilangan nod yang digunakan. Tidak, jumlah data, sudah tentu, mempengaruhi bilangan nod yang diperlukan, tetapi pendekatan pelesenan ini masih lebih berperikemanusiaan berhubung dengan belanjawan syarikat. Jika tidak perlu produktiviti yang tinggi, anda boleh menjimatkan wang.

ML dalam Elastic Stack ditulis dalam C++ dan berjalan di luar JVM, di mana Elasticsearch sendiri berjalan. Iaitu, proses (omong-omong, ia dipanggil autodetect) menggunakan semua yang tidak ditelan oleh JVM. Pada pendirian demo ini tidak begitu kritikal, tetapi dalam persekitaran pengeluaran adalah penting untuk memperuntukkan nod berasingan untuk tugasan ML.

Algoritma pembelajaran mesin terbahagi kepada dua kategori βˆ’ bersama guru ΠΈ tanpa guru. Dalam Tindanan Elastik, algoritma berada dalam kategori "tidak diawasi". Oleh pautan ini Anda boleh melihat radas matematik algoritma pembelajaran mesin.

Untuk melaksanakan analisis, algoritma pembelajaran mesin menggunakan data yang disimpan dalam indeks Elasticsearch. Anda boleh membuat tugasan untuk analisis kedua-dua dari antara muka Kibana dan melalui API. Jika anda melakukan ini melalui Kibana, maka anda tidak perlu mengetahui beberapa perkara. Contohnya, indeks tambahan yang digunakan oleh algoritma semasa operasinya.

Indeks tambahan yang digunakan dalam proses analisis.ml-state β€” maklumat tentang model statistik (tetapan analisis);
.ml-anomalies-* β€” keputusan algoritma ML;
.ml-notifications β€” tetapan untuk pemberitahuan berdasarkan hasil analisis.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Struktur data dalam pangkalan data Elasticsearch terdiri daripada indeks dan dokumen yang disimpan di dalamnya. Apabila dibandingkan dengan pangkalan data hubungan, indeks boleh dibandingkan dengan skema pangkalan data, dan dokumen dengan rekod dalam jadual. Perbandingan ini adalah bersyarat dan disediakan untuk memudahkan pemahaman bahan selanjutnya bagi mereka yang hanya mendengar tentang Elasticsearch.

Fungsi yang sama tersedia melalui API seperti melalui antara muka web, jadi untuk kejelasan dan pemahaman konsep, kami akan menunjukkan cara mengkonfigurasinya melalui Kibana. Dalam menu di sebelah kiri terdapat bahagian Pembelajaran Mesin di mana anda boleh membuat Kerja baharu. Dalam antara muka Kibana ia kelihatan seperti imej di bawah. Sekarang kita akan menganalisis setiap jenis tugas dan menunjukkan jenis analisis yang boleh dibina di sini.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Metrik Tunggal - analisis satu metrik, Berbilang Metrik - analisis dua atau lebih metrik. Dalam kedua-dua kes, setiap metrik dianalisis dalam persekitaran terpencil, i.e. algoritma tidak mengambil kira kelakuan metrik yang dianalisis selari, kerana ia mungkin kelihatan dalam kes Multi Metric. Untuk menjalankan pengiraan dengan mengambil kira korelasi pelbagai metrik, anda boleh menggunakan analisis Populasi. Dan Advanced sedang memperhalusi algoritma dengan pilihan tambahan untuk tugasan tertentu.

Metrik Tunggal

Menganalisis perubahan dalam satu metrik adalah perkara paling mudah yang boleh dilakukan di sini. Selepas mengklik Cipta Kerja, algoritma akan mencari anomali.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Dalam bidang pengagregatan anda boleh memilih pendekatan untuk mencari anomali. Sebagai contoh, apabila Min nilai di bawah nilai biasa akan dianggap sebagai anomali. makan Maks, Min Tinggi, Rendah, Min, Berbeza dan lain lain. Penerangan semua fungsi boleh didapati ΠΏΠΎ ссылкС.

Dalam bidang Bidang menunjukkan medan angka dalam dokumen yang kami akan menjalankan analisis.

Dalam bidang Rentang baldi β€” butiran selang pada garis masa di mana analisis akan dijalankan. Anda boleh mempercayai automasi atau memilih secara manual. Imej di bawah ialah contoh butiran yang terlalu rendah - anda mungkin terlepas anomali. Menggunakan tetapan ini, anda boleh menukar sensitiviti algoritma kepada anomali.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Tempoh data yang dikumpul adalah perkara utama yang mempengaruhi keberkesanan analisis. Semasa analisis, algoritma mengenal pasti selang berulang, mengira selang keyakinan (garis dasar) dan mengenal pasti anomali - sisihan atipikal daripada gelagat biasa metrik. Sebagai contoh sahaja:

Garis dasar dengan sekeping kecil data:

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Apabila algoritma mempunyai sesuatu untuk dipelajari, garis dasar kelihatan seperti ini:

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Selepas memulakan tugas, algoritma menentukan sisihan anomali dari norma dan menyusunnya mengikut kebarangkalian anomali (warna label yang sepadan ditunjukkan dalam kurungan):

Amaran (biru): kurang daripada 25
Kecil (kuning): 25-50
Major (oren): 50-75
Kritikal (merah): 75-100

Graf di bawah menunjukkan contoh anomali yang ditemui.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Di sini anda boleh melihat nombor 94, yang menunjukkan kebarangkalian anomali. Adalah jelas bahawa kerana nilainya hampir 100, ini bermakna kita mempunyai anomali. Lajur di bawah graf menunjukkan kebarangkalian pejoratif kecil 0.000063634% daripada nilai metrik yang muncul di sana.

Selain mencari anomali, anda boleh menjalankan ramalan di Kibana. Ini dilakukan secara ringkas dan dari pandangan yang sama dengan anomali - butang Ramalan di sudut kanan atas.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Ramalan dibuat untuk maksimum 8 minggu lebih awal. Walaupun anda benar-benar mahu, ia tidak lagi boleh dilakukan dengan reka bentuk.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Dalam sesetengah situasi, ramalan akan sangat berguna, contohnya, apabila memantau beban pengguna pada infrastruktur.

Berbilang Metrik

Mari kita beralih kepada ciri ML seterusnya dalam Tindanan Elastik - menganalisis beberapa metrik dalam satu kelompok. Tetapi ini tidak bermakna bahawa pergantungan satu metrik pada yang lain akan dianalisis. Ini adalah sama seperti Metrik Tunggal, tetapi dengan berbilang metrik pada satu skrin untuk perbandingan mudah kesan satu metrik pada yang lain. Kita akan bercakap tentang menganalisis pergantungan satu metrik pada yang lain dalam bahagian Populasi.

Selepas mengklik pada segi empat sama dengan Berbilang Metrik, tetingkap dengan tetapan akan muncul. Mari kita lihat mereka dengan lebih terperinci.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Mula-mula anda perlu memilih medan untuk analisis dan pengagregatan data padanya. Pilihan pengagregatan di sini adalah sama seperti untuk Metrik Tunggal (Maks, Min Tinggi, Rendah, Min, Berbeza dan lain lain). Selanjutnya, jika dikehendaki, data dibahagikan kepada salah satu medan (field Data Pisah). Dalam contoh, kami melakukan ini mengikut medan OriginAirportID. Perhatikan bahawa graf metrik di sebelah kanan kini dibentangkan sebagai berbilang graf.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Bidang Medan Utama (Pengaruh) secara langsung memberi kesan kepada anomali yang dikesan. Secara lalai akan sentiasa ada sekurang-kurangnya satu nilai di sini dan anda boleh menambah nilai tambahan. Algoritma akan mengambil kira pengaruh medan ini apabila menganalisis dan menunjukkan nilai yang paling "berpengaruh".

Selepas pelancaran, sesuatu seperti ini akan muncul dalam antara muka Kibana.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Inilah yang dipanggil peta haba anomali bagi setiap nilai medan OriginAirportID, yang kami nyatakan dalam Data Pisah. Seperti Metrik Tunggal, warna menunjukkan tahap sisihan tidak normal. Adalah mudah untuk melakukan analisis yang serupa, sebagai contoh, pada stesen kerja untuk menjejaki mereka yang mempunyai bilangan kebenaran yang mencurigakan, dsb. Kami sudah menulis tentang peristiwa yang mencurigakan dalam EventLog Windows, yang juga boleh dikumpulkan dan dianalisis di sini.

Di bawah peta haba ialah senarai anomali, daripada setiap satu anda boleh bertukar kepada paparan Metrik Tunggal untuk analisis terperinci.

Berdekatan NCER

Untuk mencari anomali antara korelasi antara metrik yang berbeza, Tindanan Elastik mempunyai analisis Populasi khusus. Dengan bantuannya anda boleh mencari nilai anomali dalam prestasi pelayan berbanding yang lain apabila, sebagai contoh, bilangan permintaan kepada sistem sasaran meningkat.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Dalam ilustrasi ini, medan Populasi menunjukkan nilai yang akan dikaitkan dengan metrik yang dianalisis. Dalam kes ini ia adalah nama proses. Akibatnya, kita akan melihat bagaimana beban pemproses setiap proses mempengaruhi satu sama lain.

Sila ambil perhatian bahawa graf data yang dianalisis berbeza daripada kes dengan Metrik Tunggal dan Berbilang Metrik. Ini dilakukan di Kibana dengan reka bentuk untuk persepsi yang lebih baik terhadap pengagihan nilai data yang dianalisis.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Graf menunjukkan bahawa proses itu berkelakuan tidak normal tekanan (dengan cara ini, dijana oleh utiliti khas) pada pelayan poipu, yang mempengaruhi (atau ternyata menjadi pengaruh) berlakunya anomali ini.

Maju

Analitis dengan penalaan halus. Dengan analisis Lanjutan, tetapan tambahan muncul dalam Kibana. Selepas mengklik pada jubin Lanjutan dalam menu penciptaan, tetingkap dengan tab ini muncul. Tab maklumat pekerjaan Kami melangkaunya dengan sengaja, terdapat tetapan asas yang tidak berkaitan langsung dengan penyediaan analisis.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Π’ summary_count_field_name Secara pilihan, anda boleh menentukan nama medan daripada dokumen yang mengandungi nilai agregat. Dalam contoh ini, bilangan acara seminit. DALAM pengkategorian_nama_bidang menunjukkan nama dan nilai medan daripada dokumen yang mengandungi beberapa nilai pembolehubah. Menggunakan topeng pada medan ini, anda boleh membahagikan data yang dianalisis kepada subset. Beri perhatian kepada butang Tambah pengesan dalam ilustrasi sebelumnya. Di bawah adalah hasil daripada mengklik butang ini.

Memahami Pembelajaran Mesin dalam Tindanan Elastik (aka Elasticsearch, aka ELK)

Berikut ialah blok tetapan tambahan untuk mengkonfigurasi pengesan anomali untuk tugas tertentu. Kami merancang untuk membincangkan kes penggunaan tertentu (terutamanya yang berkaitan keselamatan) dalam artikel berikut. Sebagai contoh, посмотритС salah satu kes yang dibongkar. Ia dikaitkan dengan pencarian nilai yang jarang muncul dan dilaksanakan fungsi yang jarang berlaku.

Dalam bidang fungsi Anda boleh memilih fungsi tertentu untuk mencari anomali. Kecuali jarang, terdapat beberapa lagi fungsi yang menarik - masa_hari ΠΈ masa_minggu. Mereka mengenal pasti anomali dalam kelakuan metrik sepanjang hari atau minggu, masing-masing. Fungsi analisis lain terdapat dalam dokumentasi.

Π’ nama_medan menunjukkan medan dokumen di mana analisis akan dijalankan. By_field_name boleh digunakan untuk memisahkan hasil analisis bagi setiap nilai individu bagi medan dokumen yang dinyatakan di sini. Jika anda mengisi over_field_name anda mendapat analisis populasi yang kita bincangkan di atas. Jika anda menentukan nilai dalam partition_field_name, maka untuk medan dokumen ini garis dasar berasingan akan dikira untuk setiap nilai (nilai boleh, sebagai contoh, nama pelayan atau proses pada pelayan). DALAM tidak termasuk_kerap boleh pilih semua atau tiada, yang bermaksud mengecualikan (atau memasukkan) nilai medan dokumen yang kerap berlaku.

Dalam artikel ini, kami cuba memberikan idea sependek yang mungkin tentang keupayaan pembelajaran mesin dalam Tindanan Elastik; masih terdapat banyak butiran yang tertinggal di belakang tabir. Beritahu kami dalam ulasan tentang kes yang anda berjaya selesaikan menggunakan Tindanan Elastik dan tugasan yang anda gunakan untuknya. Untuk menghubungi kami, anda boleh menggunakan mesej peribadi di HabrΓ© atau borang maklum balas di laman web.

Sumber: www.habr.com

Tambah komen