Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Pangembangan industri sistem parangkat lunak butuh perhatian anu hébat kana kasabaran kasalahan tina produk ahir, ogé réspon gancang pikeun gagal sareng gagal upami éta kajantenan. Ngawaskeun, tangtosna, ngabantosan ngabales kagagalan sareng kagagalan langkung éfisién sareng gancang, tapi henteu cekap. Anu mimiti, sesah pisan pikeun ngalacak sajumlah ageung server - peryogi sajumlah ageung jalma. Kadua, anjeun kedah gaduh pamahaman anu hadé ngeunaan cara aplikasina dianggo pikeun ngaduga kaayaanana. Ku alatan éta, urang peryogi seueur jalma anu gaduh pamahaman anu hadé ngeunaan sistem anu kami kembangkeun, kinerja sareng fiturna. Hayu urang nganggap yén sanajan anjeun mendakan cukup jalma anu daék ngalakukeun ieu, éta masih peryogi seueur waktos pikeun ngalatih aranjeunna.

Naon anu kedah dilakukeun? Ieu dimana kecerdasan jieunan datang ka bantuan urang. Artikel bakal ngobrol ngeunaan pangropéa prediktif (pangropéa prediktif). pendekatan ieu aktip gaining popularitas. Sajumlah ageung tulisan parantos ditulis, kalebet dina Habré. Perusahaan ageung ngamangpaatkeun pendekatan ieu pikeun ngajaga kinerja pangladénna. Saatos diajar sajumlah ageung tulisan, kami mutuskeun pikeun nyobian pendekatan ieu. Naon asalna tina eta?

perkenalan

Sistem parangkat lunak anu dikembangkeun engké atanapi engké bakal dianggo. Kadé pikeun pamaké yén sistem jalan tanpa gagal. Upami aya kaayaan darurat, éta kedah direngsekeun kalayan reureuh minimal.

Pikeun nyederhanakeun dukungan téknis tina sistem parangkat lunak, khususna upami aya seueur server, program ngawaskeun biasana dianggo anu nyandak métrik tina sistem parangkat lunak anu ngajalankeun, ngamungkinkeun pikeun ngadiagnosa kaayaanana sareng ngabantosan naon anu nyababkeun gagalna. Proses ieu disebut ngawaskeun sistem parangkat lunak.

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 1. Antarbeungeut ngawaskeun Grafana

Métrik nyaéta rupa-rupa indikator tina sistem parangkat lunak, lingkungan palaksanaanna, atanapi komputer fisik dimana sistemna jalan sareng cap waktu waktos nalika métrik ditampi. Dina analisis statik, métrik ieu disebut séri waktos. Pikeun ngawas kaayaan sistem parangkat lunak, métrik ditampilkeun dina bentuk grafik: waktos aya dina sumbu X, sareng nilaina sapanjang sumbu Y (Gambar 1). Sababaraha rébu métrik tiasa dicandak tina sistem parangkat lunak anu ngajalankeun (tina unggal titik). Éta ngabentuk rohangan métrik (runtuyan waktos multidimensional).

Kusabab sajumlah ageung métrik dikumpulkeun pikeun sistem parangkat lunak anu rumit, ngawaskeun manual janten tugas anu sesah. Pikeun ngirangan jumlah data anu dianalisis ku administrator, alat ngawaskeun ngandung alat pikeun ngaidentipikasi masalah anu mungkin sacara otomatis. Contona, anjeun tiasa ngonpigurasikeun pemicu pikeun seuneu nalika rohangan disk bébas turun di handap ambang anu ditangtukeun. Anjeun oge bisa otomatis nangtukeun jenis panyakitna pareum server atawa slowdown kritis dina speed layanan. Dina prakna, alat ngawaskeun ngalakukeun padamelan anu hadé pikeun ngadeteksi kagagalan anu parantos kajantenan atanapi ngaidentipikasi gejala saderhana tina kagagalan anu bakal datang, tapi sacara umum, ngaramalkeun kamungkinan gagal tetep janten masalah anu hésé pikeun aranjeunna. Prediksi ngaliwatan analisis manual metrics merlukeun involvement spesialis mumpuni. Ieu produktivitas low. Kaseueuran poténsi kagagalan tiasa teu ditingali.

Anyar-anyar ieu, anu disebut pangropéa prédiksi sistem parangkat lunak parantos janten populer di antawis perusahaan pangembangan parangkat lunak IT ageung. Intina pendekatan ieu pikeun manggihan masalah ngarah kana degradasi sistem dina tahap awal, saméméh gagal, ngagunakeun kecerdasan jieunan. Pendekatan ieu henteu ngaleungitkeun ngawas sistem manual sacara lengkep. Éta bantu pikeun prosés ngawaskeun sacara gembleng.

Alat utama pikeun ngalaksanakeun pangropéa duga nyaéta tugas milarian anomali dina séri waktos, saprak nalika hiji anomali lumangsung dina data aya kamungkinan luhur yén sanggeus sababaraha waktu bakal aya kagagalan atawa kagagalan. Anomali mangrupikeun panyimpangan tinangtu dina kinerja sistem parangkat lunak, sapertos ngidentipikasi degradasi dina laju palaksanaan hiji jinis pamundut atanapi panurunan dina jumlah rata-rata pamundut anu dilayanan dina tingkat sési klien anu tetep.

Tugas milarian anomali pikeun sistem parangkat lunak ngagaduhan spésifikna sorangan. Sacara tiori, pikeun unggal sistem parangkat lunak perlu ngembangkeun atanapi nyaring metodeu anu tos aya, sabab milarian anomali gumantung pisan kana data dimana éta dilaksanakeun, sareng data sistem parangkat lunak variasina pisan gumantung kana alat pikeun ngalaksanakeun sistem. , turun ka komputer naon anu dijalankeunana.

Métode pikeun milarian anomali nalika ngaramal gagalna sistem parangkat lunak

Anu mimiti, éta patut nyebutkeun yén pamanggih ngaramal gagal ieu diideuan ku artikel "Mesin diajar dina ngawaskeun IT". Pikeun nguji éféktivitas pendekatan sareng milarian anomali otomatis, sistem parangkat lunak Web-Consolidation dipilih, anu mangrupikeun salah sahiji proyék perusahaan NPO Krista. Saméméhna, ngawaskeun manual dilaksanakeun pikeun éta dumasar kana métrik anu ditampi. Kusabab sistemna rada rumit, sajumlah ageung métrik dicandak pikeun éta: indikator JVM (beban kolektor sampah), indikator OS dimana kodeu dieksekusi (memori virtual,% beban CPU OS), indikator jaringan (beban jaringan). ), server sorangan (CPU beban, memori), metrics wildfly jeung metrics aplikasi sorangan pikeun sakabéh subsistem kritis.

Sadaya métrik dicandak tina sistem nganggo grafit. Dina awalna, database harewos ieu dipaké salaku solusi baku pikeun grafana, tapi sakumaha basis klien tumuwuh, grafit teu bisa Cope deui, exhausted kapasitas DC disk subsistem. Saatos ieu, éta mutuskeun pikeun milari solusi anu langkung efektif. Pilihan dijieun dina kahadean grafit + clickhouse, nu ngamungkinkeun pikeun ngurangan beban dina subsistem disk ku urutan gedena jeung ngurangan spasi disk nempatan ku lima nepi ka genep kali. Di handap ieu diagram mékanisme pikeun ngumpulkeun métrik ngagunakeun grafit + clickhouse (Gambar 2).

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 2. Skéma pikeun ngumpulkeun métrik

Diagram dicokot tina dokuméntasi internal. Éta nunjukkeun komunikasi antara grafana (UI ngawaskeun anu kami anggo) sareng grafit. Ngahapus métrik tina aplikasi dilakukeun ku parangkat lunak anu misah - jmxtrans. Anjeunna nempatkeun aranjeunna dina grafit.
Sistem Konsolidasi Wéb gaduh sababaraha fitur anu nyiptakeun masalah pikeun ngaramal gagal:

  1. Tren sering robih. Rupa-rupa versi sadia pikeun sistem software ieu. Tiap di antarana mawa parobahan kana bagian software sistem. Sasuai, ku cara ieu, pamekar langsung mangaruhan métrik tina sistem anu dipasihkeun sareng tiasa nyababkeun parobihan tren;
  2. fitur palaksanaan, kitu ogé tujuan nu klien ngagunakeun sistem ieu, mindeng ngabalukarkeun anomali tanpa degradasi saméméhna;
  3. perséntase anomali relatif ka sakabéh set data leutik (<5%);
  4. Meureun aya sela dina narima indikator tina sistem. Dina sababaraha waktos anu pondok, sistem ngawaskeun gagal nampi métrik. Contona, upami server overloaded. Ieu penting pikeun ngalatih jaringan saraf. Aya kabutuhan pikeun ngeusian celah sacara sintétis;
  5. Kasus anu anomali sering relevan ngan pikeun tanggal/bulan/waktu (musim). Sistem ieu gaduh aturan anu jelas pikeun dianggo ku pangguna. Sasuai, métrik ngan ukur relevan pikeun waktos anu khusus. Sistim nu teu bisa dipaké terus-terusan, tapi ngan dina sababaraha bulan: selektif gumantung kana taun. Situasi timbul nalika paripolah métrik anu sami dina hiji hal tiasa nyababkeun gagalna sistem parangkat lunak, tapi henteu dina anu sanés.
    Pikeun mimitian, metode pikeun ngadeteksi anomali dina ngawaskeun data sistem parangkat lunak dianalisis. Dina artikel ngeunaan topik ieu, nalika persentase anomali leutik relatif ka sesa set data, mangka paling mindeng diusulkeun ngagunakeun jaringan neural.

Logika dasar pikeun milarian anomali nganggo data jaringan saraf dipidangkeun dina Gambar 3:

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 3. Maluruh anomali ngagunakeun jaringan saraf

Dumasar kana hasil ramalan atanapi pamulihan tina jandela aliran métrik ayeuna, panyimpangan tina anu ditampi tina sistem parangkat lunak anu ngajalankeun diitung. Upami aya bédana ageung antara métrik anu dicandak tina sistem parangkat lunak sareng jaringan saraf, urang tiasa nyimpulkeun yén bagéan data ayeuna anomali. Runtuyan di handap ieu masalah timbul pikeun pamakéan jaringan saraf:

  1. pikeun berpungsi leres dina modeu streaming, data pikeun latihan model jaringan saraf kedah ngawengku ukur "normal" data;
  2. perlu boga model up-to-date pikeun deteksi bener. Ngarobih tren sareng musiman dina métrik tiasa nyababkeun sajumlah positip palsu dina modél éta. Pikeun ngapdet éta, perlu jelas nangtukeun waktu model geus luntur. Upami anjeun ngamutahirkeun modél engké atanapi sateuacana, teras, paling dipikaresep, sajumlah ageung positip palsu bakal nuturkeun.
    Urang ogé henteu kedah hilap milarian sareng nyegah sering kajadian positip palsu. Hal ieu dianggap yén aranjeunna bakal paling sering lumangsung dina kaayaan darurat. Nanging, éta ogé tiasa janten akibat tina kasalahan jaringan saraf kusabab latihan anu henteu cekap. Ieu diperlukeun pikeun ngaleutikan jumlah positip palsu model. Upami teu kitu, prediksi palsu bakal miceunan loba waktu administrator dimaksudkeun pikeun pariksa sistem. Moal lami deui, administrator ngan saukur bakal ngeureunkeun ngaréspon kana sistem ngawaskeun "paranoid".

Jaringan saraf recurrent

Pikeun ngadeteksi anomali dina séri waktos, anjeun tiasa nganggo jaringan saraf recurrent kalawan memori LSTM. Hiji-hijina masalah nyaéta ngan ukur tiasa dianggo pikeun séri waktos anu diramalkeun. Dina hal urang, henteu sadayana métrik tiasa diprediksi. Usaha pikeun nerapkeun RNN LSTM kana séri waktos dipidangkeun dina Gambar 4.

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 4. Conto jaringan saraf recurrent kalawan sél memori LSTM

Sapertos anu katingal tina Gambar 4, RNN LSTM mampuh ngungkulan pamilarian anomali dina waktos ieu. Dimana hasilna boga kasalahan prediksi tinggi (mean error), hiji anomali dina indikator sabenerna lumangsung. Ngagunakeun RNN LSTM tunggal jelas moal cukup, saprak éta lumaku pikeun sajumlah leutik metrics. Bisa dipaké salaku métode bantu pikeun maluruh anomali.

Autoencoder pikeun prediksi gagal

Autoencoder - dasarna jaringan saraf jieunan. Lapisan input nyaéta encoder, lapisan kaluaran nyaéta decoder. Karugian sadaya jaringan saraf tina jinis ieu nyaéta aranjeunna henteu ngalokalkeun anomali kalayan saé. Arsitéktur autoencoder sinkron dipilih.

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 5. Conto operasi autoencoder

Autoencoders dilatih dina data normal lajeng manggihan hal anomali dina data fed kana modél. Ngan naon nu peryogi pikeun tugas ieu. Anu tetep nyaéta milih autoencoder mana anu cocog pikeun tugas ieu. Bentuk arsitéktur pangbasajanna autoencoder nyaéta jaringan saraf maju, henteu balik deui, anu mirip pisan sareng perceptron multilayer (perceptron multilayer, MLP), kalawan lapisan input, lapisan kaluaran, sarta hiji atawa leuwih lapisan disumputkeun nyambungkeun aranjeunna.
Tapi, bédana antara autoencoders sareng MLPs nyaéta yén dina autoencoder, lapisan kaluaran ngagaduhan jumlah titik anu sami sareng lapisan input, sareng sanés dilatih pikeun ngaduga nilai target Y anu dipasihkeun ku input X, autoencoder dilatih. pikeun ngarekonstruksikeun Xs sorangan. Ku alatan éta, Autoencoders mangrupakeun modél pangajaran unsupervised.

Tugas autoencoder nyaéta pikeun milarian indéks waktos r0 ... rn pakait sareng unsur anomali dina vektor input X. Éfék ieu dihontal ku milarian kasalahan kuadrat.

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 6. Autoencoder sinkron

Pikeun autoencoder dipilih arsitéktur sinkron. Kauntungannana: kamampuan ngagunakeun mode pamrosésan streaming sareng sajumlah parameter jaringan saraf anu langkung alit dibandingkeun sareng arsitéktur sanés.

Mékanisme pikeun ngaminimalkeun positip palsu

Alatan kanyataan yén rupa-rupa kaayaan abnormal timbul, kitu ogé situasi mungkin tina latihan cukup tina jaringan neural, pikeun modél deteksi anomali keur dimekarkeun, ieu mutuskeun yén éta téh perlu ngamekarkeun mékanisme pikeun ngaminimalkeun positip palsu. Mékanisme ieu dumasar kana dasar template anu digolongkeun ku administrator.

Algoritma pikeun transformasi timeline dinamis (Algoritma DTW, tina basa Inggris dinamis waktos warping) ngidinan Anjeun pikeun manggihan susuratan optimal antara urutan waktu. Mimiti dipaké dina pangakuan ucapan: dipaké pikeun nangtukeun kumaha dua sinyal ucapan ngagambarkeun frase diucapkeun aslina sarua. Salajengna, aplikasi ieu kapanggih di wewengkon séjén.

Prinsip utama ngaminimalkeun positip palsu nyaéta ngumpulkeun database standar kalayan bantosan operator anu ngagolongkeun kasus anu curiga anu dideteksi nganggo jaringan saraf. Salajengna, standar anu digolongkeun dibandingkeun sareng kasus anu dideteksi ku sistem, sareng kacindekan dilakukeun ngeunaan naha pasualan éta palsu atanapi nuju gagal. Algoritma DTW dianggo pikeun ngabandingkeun dua séri waktos. Alat ngaminimalkeun utama masih klasifikasi. Diperkirakeun yén saatos ngumpulkeun sajumlah kasus rujukan, sistem bakal mimiti naroskeun ka operator kirang kusabab kasaruaan kalolobaan kasus sareng kajadian anu sami.

Hasilna, dumasar kana metode jaringan saraf anu dijelaskeun di luhur, program ékspérimén diwangun pikeun ngaduga gagalna sistem "Web-Consolidation". Tujuan tina program ieu nya éta, ngagunakeun arsip anu aya pikeun ngawaskeun data sareng inpormasi ngeunaan kagagalan saméméhna, pikeun ngévaluasi kompeténsi pendekatan ieu pikeun sistem parangkat lunak urang. Skéma program dipidangkeun di handap dina Gambar 7.

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 7. Skéma prediksi gagalna dumasar kana analisis spasi métrik

Dina diagram, dua blok utama tiasa dibédakeun: milarian période anomali dina aliran data ngawaskeun (métrik) sareng mékanisme pikeun ngaminimalkeun positip palsu. Catetan: Pikeun tujuan ékspérimén, data dicandak ku sambungan JDBC tina pangkalan data dimana grafit bakal disimpen.
Di handap ieu panganteur tina sistem monitoring diala salaku hasil tina ngembangkeun (Gambar 8).

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 8. Antarmuka sistem ngawaskeun ékspérimén

Antarbeungeut nampilkeun persentase anomali dumasar kana métrik anu ditampi. Dina hal urang, resi ieu simulated. Kami parantos gaduh sadaya data salami sababaraha minggu sareng ngamuat sacara bertahap pikeun mariksa kasus anomali anu nyababkeun gagal. Bar status handap mintonkeun persentase sakabéh anomali data dina waktu nu tangtu, nu ditangtukeun maké autoencoder. Ogé, persentase misah dipintonkeun pikeun métrik diprediksi, nu diitung ku RNN LSTM.

Conto deteksi anomali dumasar kana kinerja CPU ngagunakeun jaringan neural RNN LSTM (Gambar 9).

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 9. kapanggihna RNN LSTM

Kasus anu cukup saderhana, dasarna mangrupikeun outlier biasa, tapi ngarah kana gagalna sistem, hasil diitung nganggo RNN LSTM. Indikator anomali dina jangka waktu ieu nyaéta 85-95%; sadayana di luhur 80% (ambangna ditangtukeun sacara ékspériméntal) dianggap anomali.
Conto deteksi anomali nalika sistem teu tiasa boot saatos pembaruan. Kaayaan ieu dideteksi ku autoencoder (Gambar 10).

Kami milarian anomali sareng ngaduga gagalna nganggo jaringan saraf

Gambar 10. Conto deteksi autoencoder

Sakumaha anjeun tiasa tingali tina gambar, PermGen nyangkut dina hiji tingkat. Autoencoder mendakan ieu aneh sabab henteu kantos ningali anu sapertos kitu sateuacanna. Di dieu anomali tetep 100% dugi sistem balik deui ka kaayaan kerja. Anomali ditampilkeun pikeun sadaya métrik. Salaku disebutkeun tadi, autoencoder teu bisa localize anomali. Operator ditelepon pikeun ngalakukeun fungsi ieu dina kaayaan ieu.

kacindekan

PC "Web-Consolidation" parantos dikembangkeun sababaraha taun. Sistemna aya dina kaayaan anu cukup stabil, sareng jumlah kajadian anu kacatet sakedik. Sanajan kitu, éta mungkin pikeun manggihan anomali ngarah kana gagalna 5 - 10 menit saméméh gagalna lumangsung. Dina sababaraha kasus, béwara ngeunaan kagagalan sateuacanna bakal ngabantosan waktos anu dijadwalkeun anu dialokasikeun pikeun ngalaksanakeun "perbaikan".

Dumasar kana ékspérimén anu dilaksanakeun, teuing awal pikeun narik kacindekan ahir. Sajauh ieu, hasil anu conflicting. Di hiji sisi, jelas yén algoritma dumasar kana jaringan saraf sanggup mendakan anomali "mangpaat". Di sisi anu sanésna, tetep aya persentase ageung positip palsu, sareng henteu sadayana anomali anu dideteksi ku spesialis anu mumpuni dina jaringan saraf tiasa dideteksi. Kakurangan kalebet kanyataan yén ayeuna jaringan saraf peryogi latihan sareng guru pikeun operasi normal.

Pikeun langkung ngembangkeun sistem prediksi gagalna sareng nyangking kaayaan anu nyugemakeun, sababaraha cara tiasa dibayangkeun. Ieu mangrupikeun analisa anu langkung detil ngeunaan kasus anomali anu nyababkeun kagagalan, kusabab tambihan ieu kana daptar métrik penting anu mangaruhan pisan kana kaayaan sistem, sareng ngaleungitkeun anu teu perlu anu henteu mangaruhanana. Ogé, upami urang ngalih ka arah ieu, urang tiasa nyobian ngahususkeun algoritma khusus pikeun kasus urang kalayan anomali anu nyababkeun gagal. Aya jalan sejen. Ieu mangrupikeun paningkatan dina arsitéktur jaringan saraf sareng ningkatkeun akurasi deteksi kalayan pangurangan waktos latihan.

Kuring nganyatakeun rasa syukur ka kolega kuring anu ngabantosan kuring nyerat sareng ngajaga relevansi tulisan ieu: Victor Verbitsky jeung Sergei Finogenov.

sumber: www.habr.com

Tambahkeun komentar