Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Программалык камсыздоо системаларынын өнөр жайлык өнүгүшү акыркы продукттун катачылыкка чыдамдуулугуна чоң көңүл бурууну, ошондой эле бузулууларга жана бузулууларга тез жооп берүүнү талап кылат. Мониторинг, албетте, кемчиликтерге жана кемчиликтерге натыйжалуу жана тез жооп берүүгө жардам берет, бирок жетиштүү эмес. Биринчиден, көп сандагы серверлерге көз салуу абдан кыйын - көп сандагы адамдар керек. Экинчиден, анын абалын алдын ала айтуу үчүн, колдонмонун кандай иштээрин жакшы түшүнүшүңүз керек. Ошондуктан, биз иштеп жаткан системаларды, алардын иштешин жана өзгөчөлүктөрүн жакшы түшүнгөн көптөгөн адамдар керек. Келгиле, сиз муну жасоону каалаган жетиштүү адамдарды тапсаңыз да, аларды окутуу үчүн дагы эле көп убакыт талап кылынат деп ойлойлу.

Эмне кылыш керек? Бул жерде бизге жасалма интеллект жардамга келет. Макалада сөз болот алдын ала тейлөө (болжолдуу тейлөө). Бул ыкма активдүү популярдуулукка ээ болууда. Көптөгөн макалалар, анын ичинде Хабре жөнүндө жазылган. Ири компаниялар серверлеринин иштешин колдоо үчүн бул ыкманы толук колдонушат. Көптөгөн макалаларды изилдеп чыккандан кийин, биз бул ыкманы колдонууну чечтик. Андан эмне келди?

тааныштыруу

Иштелип чыккан программалык камсыздоо системасы эртеби-кечпи ишке кирет. Колдонуучу үчүн системанын катасыз иштеши маанилүү. Эгер өзгөчө кырдаал пайда болсо, аны аз кечигүү менен чечүү керек.

Программалык камсыздоо тутумунун техникалык колдоосун жөнөкөйлөтүү үчүн, айрыкча серверлер көп болсо, мониторинг программалары адатта иштеп жаткан программалык тутумдан метрикаларды алып, анын абалын диагностикалоого жана бузулуунун так эмнеден келип чыкканын аныктоого жардам берет. Бул процесс программалык системанын мониторинги деп аталат.

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Сүрөт 1. Grafana мониторинг интерфейси

Метрикалар - бул программалык камсыздоо тутумунун, анын аткаруу чөйрөсүнүн же система иштеп жаткан физикалык компьютердин ар кандай көрсөткүчтөрү. Статикалык анализде бул көрсөткүчтөр убакыттык катар деп аталат. Программалык камсыздоо тутумунун абалын көзөмөлдөө үчүн метрика графиктер түрүндө көрсөтүлөт: убакыт X огунда, ал эми маанилер Y огу боюнча (1-сүрөт). Иштеп жаткан программалык тутумдан (ар бир түйүндөн) бир нече миң метрика алынышы мүмкүн. Алар метрика мейкиндигин түзөт (көп өлчөмдүү убакыт сериясы).

Татаал программалык камсыздоо тутумдары үчүн көп сандагы метрика чогултулгандыктан, кол менен мониторинг жүргүзүү татаал иш болуп калат. Администратор тарабынан талдоого алынган маалыматтардын көлөмүн азайтуу үчүн, мониторинг куралдары мүмкүн болгон көйгөйлөрдү автоматтык түрдө аныктоочу куралдарды камтыйт. Мисалы, сиз бош диск мейкиндиги белгиленген босогодон төмөн түшкөндө триггерди отко конфигурациялай аласыз. Ошондой эле сиз автоматтык түрдө сервердин өчүрүлүшүн же тейлөө ылдамдыгынын кескин төмөндөшүн аныктай аласыз. Иш жүзүндө, мониторинг куралдары мурунтан эле болуп өткөн мүчүлүштүктөрдү аныктоодо же келечектеги мүчүлүштүктөрдүн жөнөкөй белгилерин аныктоодо жакшы жумуш аткарат, бирок жалпысынан, мүмкүн болуучу каталарды алдын ала айтуу алар үчүн катаал жаңгак бойдон калууда. Метрикаларды кол менен талдоо аркылуу болжолдоо квалификациялуу адистерди тартууну талап кылат. Бул аз өндүрүмдүүлүк болуп саналат. Мүмкүн болгон кемчиликтердин көбү байкалбай калышы мүмкүн.

Акыркы убакта программалык камсыздоо тутумдарын болжолдоочу тейлөө деп аталган IT программалык камсыздоону иштеп чыгуучу ири компаниялар арасында барган сайын популярдуу болуп калды. Бул ыкманын маңызы жасалма интеллект аркылуу системанын бузулушуна алып келүүчү көйгөйлөрдү алгачкы этаптарда, ал ишке ашпай калганга чейин табуу болуп саналат. Бул ыкма системага кол менен мониторинг жүргүзүүнү толугу менен жокко чыгарбайт. Ал жалпысынан мониторинг процессине көмөкчү болуп саналат.

Болжолдуу тейлөөнү ишке ашыруунун негизги куралы болуп убакыттын катарындагы аномалияларды издөө милдети болуп саналат, бери аномалия пайда болгондо маалыматтарда бир нече убакыт өткөндөн кийин жогорку ыктымалдыгы бар ийгиликсиздик же ийгиликсиздик болот. Аномалия – бул программалык камсыздоо тутумунун иштөөсүндөгү белгилүү бир четтөө, мисалы, суроо-талаптын бир түрүнүн аткарылышынын ылдамдыгынын начарлашы же кардар сессияларынын туруктуу деңгээлинде тейленүүчү сурамдардын орточо санынын азайышы.

Программалык системалардын аномалияларын издөө милдети өзүнүн өзгөчөлүктөргө ээ. Теориялык жактан алганда, ар бир программалык камсыздоо системасы үчүн учурдагы ыкмаларды иштеп чыгуу же тактоо зарыл, анткени аномалияларды издөө ал аткарылган маалыматтарга абдан көз каранды, ал эми программалык камсыздоо тутумдарынын маалыматтары системаны ишке ашыруу куралдарына жараша абдан өзгөрүп турат. , ал кайсы компьютерде иштеп жатканына чейин.

Программалык камсыздоо тутумдарынын бузулууларын болжолдоодо аномалияларды издөө ыкмалары

Баарынан мурда, каталарды алдын ала айтуу идеясы макаланын жетеги менен жазылган деп айтууга болот "IT мониторингинде машинаны үйрөнүү". Аномалияларды автоматтык түрдө издөө менен ыкманын натыйжалуулугун текшерүү үчүн Krista NPO компаниясынын долбоорлорунун бири болуп саналган Web-Consolidation программалык системасы тандалды. Буга чейин алынган көрсөткүчтөрдүн негизинде ага кол менен мониторинг жүргүзүлүп келген. Система абдан татаал болгондуктан, ал үчүн көптөгөн көрсөткүчтөр алынат: JVM индикаторлору (таштанды жыйноочу жүк), код аткарылган ОСтин индикаторлору (виртуалдык эстутум, OS CPU жүгү %), тармак индикаторлору (тармак жүктөөсү). ), сервердин өзү (CPU жүгү , эс тутум), Wildfly көрсөткүчтөрү жана бардык критикалык подсистемалар үчүн колдонмонун өзүнүн көрсөткүчтөрү.

Бардык көрсөткүчтөр графиттин жардамы менен системадан алынат. Башында шыбырап маалымат базасы графана үчүн стандарттуу чечим катары колдонулган, бирок кардар базасы көбөйгөн сайын графит DC дискинин подсистемасынын кубаттуулугун түгөтүп, туруштук бере албай калды. Андан кийин, бир кыйла натыйжалуу чечим табуу чечими кабыл алынган. Тандоо пайдасына жасалды графит+кликхаус, бул дисктин подсистемасына жүктү чоңдуктун тартиби менен азайтууга жана дисктин ээлеген мейкиндигин беш-алты эсеге кыскартууга мүмкүндүк берди. Төмөндө graphite+clickhouse аркылуу метрикаларды чогултуу механизминин диаграммасы келтирилген (2-сүрөт).

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Сүрөт 2. Метрикаларды чогултуу схемасы

Диаграмма ички документтерден алынган. Бул графана (биз колдонгон мониторинг UI) менен графиттин ортосундагы байланышты көрсөтөт. Колдонмодон көрсөткүчтөрдү алып салуу өзүнчө программалык камсыздоо менен ишке ашырылат - jmxtrans. Ал аларды графитке салат.
Web Consolidation тутумунда каталарды алдын ала айтуу үчүн көйгөйлөрдү жараткан бир катар өзгөчөлүктөр бар:

  1. Тренд көп учурда өзгөрүп турат. Бул программалык камсыздоо системасы үчүн ар кандай версиялары бар. Алардын ар бири системанын программалык бөлүгүнө өзгөртүүлөрдү киргизет. Демек, ушундай жол менен, иштеп чыгуучулар түздөн-түз берилген системанын метрикасына таасир этет жана тренддин өзгөрүшүнө алып келиши мүмкүн;
  2. ишке ашыруу өзгөчөлүгү, ошондой эле кардарлар бул системаны колдонуу максаттары, көп учурда мурунку деградациясы жок аномалияларды жаратат;
  3. бүт маалымат топтомуна салыштырмалуу аномалиялардын пайызы аз (< 5%);
  4. Системадан көрсөткүчтөрдү алууда кемчиликтер болушу мүмкүн. Кээ бир кыска убакыттын ичинде мониторинг системасы метрикаларды ала албай калат. Мисалы, сервер ашыкча жүктөлсө. Бул нейрон тармагын окутуу үчүн абдан маанилүү болуп саналат. боштуктарды синтетикалык жол менен толтуруу зарыл;
  5. Аномалиялары бар учурлар көбүнчө белгилүү бир дата/ай/убакыт (сезондук) үчүн гана тиешелүү. Бул система колдонуучулар тарабынан аны колдонуу үчүн ачык-айкын эрежелерге ээ. Демек, көрсөткүчтөр белгилүү бир убакытка гана тиешелүү. Системаны тынымсыз колдонуу мүмкүн эмес, бирок айрым айларда гана: жылга жараша тандалып алынат. Кырдаалдар бир учурда көрсөткүчтөрдүн бирдей жүрүм-туруму программалык камсыздоо тутумунун бузулушуна алып келиши мүмкүн, бирок экинчисинде эмес.
    Баштоо үчүн программалык камсыздоо тутумдарынын маалыматтарын мониторингдөөдөгү аномалияларды аныктоо ыкмалары талданды. Бул темадагы макалаларда аномалиялардын пайызы маалымат топтомунун калган бөлүгүнө салыштырмалуу аз болгондо, көбүнчө нейрон тармактарын колдонуу сунушталат.

Нейрондук тармактын маалыматтарын колдонуу менен аномалияларды издөөнүн негизги логикасы 3-сүрөттө көрсөтүлгөн:

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

3-сүрөт. Нейрондук тармактын жардамы менен аномалияларды издөө

Метрикалардын учурдагы агымынын терезесин болжолдоонун же калыбына келтирүүнүн натыйжасы боюнча иштеп жаткан программалык тутумдан алынгандан четтөө эсептелет. Эгерде программалык камсыздоо тутумунан жана нейрондук тармактан алынган өлчөмдөрдүн ортосунда чоң айырмачылык бар болсо, анда биз учурдагы маалымат сегменти аномалдуу деп тыянак чыгарууга болот. Нейрондук тармактарды колдонууда төмөнкүдөй көйгөйлөр пайда болот:

  1. агымдык режимде туура иштөө үчүн нейрондук тармак моделдерин окутуу үчүн маалыматтар "нормалдуу" гана маалыматтарды камтышы керек;
  2. туура аныктоо үчүн заманбап үлгүгө ээ болуу зарыл. Метрикадагы тенденцияларды жана сезондукту өзгөртүү моделде көптөгөн жалган позитивдерди пайда кылышы мүмкүн. Аны жаңылоо үчүн моделдин эскирген убактысын так аныктоо керек. Эгер сиз моделди кийинчерээк же эртерээк жаңыртсаңыз, анда, балким, көп сандагы жалган позитивдер пайда болот.
    Биз ошондой эле жалган позитивдердин тез-тез пайда болушун издөө жана алдын алуу жөнүндө унутпашыбыз керек. Алар көбүнчө өзгөчө кырдаалдарда пайда болот деп болжолдонууда. Бирок, алар жетишсиз окутуудан улам нейрондук тармак катасынын кесепети болушу мүмкүн. Бул моделдин жалган позитивдүү санын азайтуу зарыл. Болбосо, жалган божомолдор системаны текшерүү үчүн администратордун көп убактысын текке кетирет. Эртеби-кечпи администратор жөн гана "параноиддик" мониторинг системасына жооп бербей калат.

Кайталануучу нейрондук тармак

убакыт катар аномалияларды аныктоо үчүн, сиз колдоно аласыз кайталануучу нейрон тармагы LSTM эс тутуму менен. Бир гана көйгөй, ал болжолдонгон убакыт сериялары үчүн гана колдонулушу мүмкүн. Биздин учурда бардык көрсөткүчтөрдү алдын ала айтуу мүмкүн эмес. RNN LSTMди убакыттык катарга колдонуу аракети 4-сүрөттө көрсөтүлгөн.

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Сүрөт 4. LSTM эс тутум клеткалары менен кайталануучу нейрон тармагынын мисалы

4-сүрөттөн көрүнүп тургандай, RNN LSTM бул убакыт аралыгында аномалияларды издөө менен күрөшө алган. Натыйжада болжолдоо катасы жогору болсо (орто ката), индикаторлордо аномалия чындыгында пайда болду. Жалгыз RNN LSTM колдонуу, албетте, жетишсиз болот, анткени ал аз сандагы метрикага тиешелүү. Аномалияларды издөө үчүн көмөкчү ыкма катары колдонулушу мүмкүн.

Катачылыкты алдын ала айтуу үчүн автокодер

Автокодер – негизинен жасалма нейрон тармагы. Киргизүү катмары - коддоочу, чыгуучу катмар - декодер. Бул типтеги бардык нейрондук тармактардын кемчилиги – алар аномалияларды жакшы локализациялабайт. Синхрондук автокодер архитектурасы тандалды.

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Сүрөт 5. Автокодердун иштешинин мисалы

Автокодерлер кадимки маалыматтар боюнча окутулат, андан кийин моделге берилген маалыматтарда аномалдуу нерсени табышат. Бул иш үчүн эмне керек. Бул тапшырмага кайсы автокодер ылайыктуу экенин тандоо гана калды. Автокодерлордун архитектуралык жактан эң жөнөкөй түрү - бул алдыга, артка кайтпаган нейрондук тармак, ал көп катмарлуу кабылдоочу (көп катмарлуу кабылдоочу, MLP), кириш катмары, чыгуу катмары жана аларды бириктирген бир же бир нече жашыруун катмарлар.
Бирок, автокодерлор менен MLPs ортосундагы айырмачылыктар, автокодерлерде чыгуу катмары кириш катмарындагыдай түйүндөргө ээ жана X киргизүү аркылуу берилген максаттуу Y маанисин алдын ала айтууга үйрөтүлгөндүн ордуна, автокодер үйрөтүлгөн. өзүнүн Xs реконструкциясы үчүн. Ошондуктан, Autoencoders көзөмөлсүз окутуу моделдери болуп саналат.

Автокодердин милдети X кириш векторундагы аномалдык элементтерге туура келген r0 ... rn убакыт индекстерин табуу. Бул эффект квадраттык катаны издөө аркылуу ишке ашат.

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Сүрөт 6. Синхрондук автокодер

Автокодер үчүн тандалган синхрондуу архитектура. Анын артыкчылыктары: башка архитектураларга салыштырмалуу агымдык иштетүү режимин жана нейрон тармагынын параметрлеринин салыштырмалуу азыраак санын колдонуу мүмкүнчүлүгү.

Жалган позитивдерди азайтуу механизми

Ар кандай анормалдуу кырдаалдардын келип чыгышына, ошондой эле нейротармактын жетишсиз машыгуусунун мүмкүн болгон жагдайына байланыштуу, иштелип жаткан аномалияны аныктоо модели үчүн жалган позитивдерди минималдаштыруу механизмин иштеп чыгуу зарыл деген чечим кабыл алынды. Бул механизм администратор тарабынан классификацияланган шаблондук базага негизделген.

Динамикалык убакыт тилкесин өзгөртүү үчүн алгоритм (DTW алгоритми, англис тилиндеги динамикалык убакыт бурмалоосунан) убакыт ырааттуулугу ортосундагы оптималдуу дал келүүнү табууга мүмкүндүк берет. Кепти таанууда биринчи жолу колдонулган: эки кеп сигналы бир эле оригиналдуу айтылган сөз айкашын кантип билдирерин аныктоо үчүн колдонулат. Кийинчерээк, башка аймактарда ага өтүнмө табылган.

Жалган позитивдерди минималдаштыруунун негизги принциби нейрондук тармактардын жардамы менен аныкталган шектүү учурларды классификациялаган оператордун жардамы менен стандарттардын маалымат базасын чогултуу болуп саналат. Андан кийин классификацияланган стандарт система аныктаган учур менен салыштырылат жана иштин жалган же катага алып келгендиги жөнүндө корутунду чыгарылат. DTW алгоритми эки убакыт сериясын салыштыруу үчүн так колдонулат. Негизги минималдаштыруу куралы дагы эле классификация болуп саналат. Көп сандаган маалымдама иштерди чогулткандан кийин, система көпчүлүк учурлардын окшоштугунан жана окшош учурлардын пайда болушунан улам оператордон азыраак сурай баштайт деп күтүлүүдө.

Натыйжада, жогоруда сүрөттөлгөн нейрондук тармак ыкмаларынын негизинде, "Web-Consolidation" системасынын бузулууларын алдын ала айтуу үчүн эксперименталдык программа курулган. Бул программанын максаты, мониторинг маалыматтарынын болгон архивин жана мурунку каталар жөнүндө маалыматты колдонуу менен, биздин программалык системалар үчүн бул ыкманын компетенттүүлүгүн баалоо болгон. Программанын схемасы төмөндө 7-сүрөттө берилген.

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

7-сүрөт. Метрикалык мейкиндикти анализдөөнүн негизинде каталарды алдын ала айтуу схемасы

Диаграммада эки негизги блокту бөлүп көрсөтүүгө болот: мониторинг маалыматынын агымында (метрика) аномалдуу мезгилдерди издөө жана жалган позитивдерди минималдаштыруу механизми. Эскертүү: Эксперименттик максаттар үчүн маалыматтар JDBC байланышы аркылуу графит сактай турган маалымат базасынан алынат.
Иштеп чыгуунун натыйжасында алынган мониторинг системасынын интерфейси төмөндө келтирилген (8-сүрөт).

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Сүрөт 8. Эксперименталдык мониторинг системасынын интерфейси

Интерфейс алынган көрсөткүчтөрдүн негизинде аномалиянын пайызын көрсөтөт. Биздин учурда квитанция симуляцияланган. Бизде бир нече жума бою бардык маалыматтар бар жана катага алып келген аномалияны текшерүү үчүн аларды акырындык менен жүктөп жатабыз. Төмөнкү абал тилкеси берилген убакыттагы маалымат аномалиясынын жалпы пайызын көрсөтөт, ал автокодер аркылуу аныкталат. Ошондой эле, RNN LSTM тарабынан эсептелген болжолдонгон көрсөткүчтөр үчүн өзүнчө пайыз көрсөтүлөт.

RNN LSTM нейрон тармагын колдонуу менен CPU иштешинин негизинде аномалияны аныктоонун мисалы (9-сүрөт).

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Сүрөт 9. RNN LSTM ачылышы

Жеткиликтүү жөнөкөй жагдай, негизинен, кадимки чектен чыккан, бирок системанын бузулушуна алып келген RNN LSTM аркылуу ийгиликтүү эсептелген. Бул убакыт аралыгында аномалия индикатору 85-95% түзөт, 80%дан жогорулардын баары (босого эксперименталдык түрдө аныкталган) аномалия болуп эсептелет.
Жаңыртуудан кийин система жүктөй албай калганда аномалияны аныктоонун мисалы. Бул абал автокодер тарабынан аныкталат (10-сүрөт).

Нейрондук тармактарды колдонуп, аномалияларды издеп, каталарды алдын ала айтабыз

Сүрөт 10. Автокодерлорду аныктоонун мисалы

Сүрөттөн көрүнүп тургандай, PermGen бир деңгээлде тыгылып калган. Автокодер бул кызыктай көрүндү, анткени ал буга чейин мындай нерсени көргөн эмес. Бул жерде аномалия система жумушчу абалына кайтканга чейин 100% бойдон кала берет. Бардык көрсөткүчтөр үчүн аномалия көрсөтүлөт. Жогоруда айтылгандай, автокодер аномалияларды локализациялай албайт. Бул жагдайларда оператор бул функцияны аткарууга чакырылат.

жыйынтыктоо

ЖК "Web-Consolidation" бир нече жылдан бери иштеп келе жатат. Система жетишээрлик туруктуу абалда жана катталган окуялардын саны аз. Бирок, бузулууга 5 - 10 мүнөт калганда, бузулууга алып келген аномалияларды табууга мүмкүн болгон. Кээ бир учурларда, бузулуу жөнүндө алдын ала билдирүү "оңдоо" иштерин жүргүзүү үчүн бөлүнгөн убакытты үнөмдөөгө жардам берет.

Жүргүзүлгөн эксперименттердин негизинде акыркы тыянак чыгарууга али эрте. Азырынча жыйынтыктар карама-каршы. Бир жагынан алганда, нейрондук тармактарга негизделген алгоритмдер "пайдалуу" аномалияларды табууга жөндөмдүү экени түшүнүктүү. Башка жагынан алганда, жалган позитивдердин чоң пайызы калууда жана нейрон тармагында квалификациялуу адис тарабынан аныкталган бардык аномалияларды аныктоо мүмкүн эмес. Кемчиликтери азыр нейрондук тармактын нормалдуу иштеши үчүн мугалим менен машыгууну талап кылгандыгын камтыйт.

Мүчүлүштүктөрдү болжолдоо тутумун андан ары өнүктүрүү жана аны канааттандырарлык абалга келтирүү үчүн бир нече жолдор каралышы мүмкүн. Бул системанын абалына чоң таасир этүүчү маанилүү метрикалардын тизмесине кошулгандыктан жана ага таасир этпеген керексиздерди жокко чыгаруунун эсебинен иштен чыгууга алып келген аномалиялар менен болгон иштердин деталдуу талдоосу. Ошондой эле, эгерде биз бул багытта бара турган болсок, анда биз ийгиликсиздикке алып келген аномалиялар менен биздин учурлар үчүн атайын алгоритмдерди адистештирүүгө аракет кыла алабыз. Башка жол бар. Бул нейрон тармактарынын архитектурасынын жакшырышы жана ошону менен окутуу убактысынын кыскарышы менен аныктоонун тактыгын жогорулатуу.

Бул макаланы жазууга жана актуалдуулугун сактоого жардам берген кесиптештериме ыраазычылык билдирем: Виктор Вербицкий жана Сергей Финогенов.

Source: www.habr.com

Комментарий кошуу