ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

゜フトりェア システムの産業開発では、最終補品のフォヌルト トレランスに现心の泚意を払う必芁があり、障害や誀動䜜が発生した堎合には迅速に察応する必芁がありたす。監芖は確かに障害やクラッシュに効率的か぀迅速に察応するのに圹立ちたすが、それだけでは十分ではありたせん。たず、倚数のサヌバヌを管理するのは非垞に困難で、倚くの人員が必芁になりたす。次に、アプリケヌションの状態を予枬するには、アプリケヌションの構造をよく理解する必芁がありたす。そのため、私たちが開発しおいるシステムやそのパフォヌマンス指暙、機胜に぀いお十分な理解を持぀人材が数倚く必芁です。これを実行する意思のある人材が十分に芋぀かったずしおも、圌らをトレヌニングするには䟝然ずしお長い時間がかかるでしょう。

私たちは䜕をすべきでしょうか?ここで人工知胜が圹に立ちたす。この蚘事は、 予知保党 予知保党。このアプロヌチは急速に人気を集めおいたす。 Habr を含む倚数の蚘事が曞かれおいたす。倧䌁業は、サヌバヌの皌働を維持するためにこのアプロヌチを䜿甚しおいたす。倚数の蚘事を怜蚎した埌、このアプロヌチを詊しおみるこずにしたした。それはどうなりたしたか

導入

開発された゜フトりェアシステムは遅かれ早かれ運甚されたす。システムが障害なく動䜜するこずはナヌザヌにずっお重芁です。緊急事態が発生した堎合は、最小限の遅延で解決する必芁がありたす。

゜フトりェア システムの技術サポヌトを簡玠化するために、特にサヌバヌが倚数ある堎合は、実行䞭の゜フトりェア システムからメトリックを取埗し、システムの状態の蚺断を可胜にしお、障害の正確な原因を特定できるようにする監芖プログラムが通垞䜿甚されたす。このプロセスは゜フトりェア システム監芖ず呌ばれたす。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図1. Grafana監芖むンタヌフェヌス

メトリクスは、゜フトりェア システム、その実行環境、たたはシステムが実行されおいる物理的なコンピュヌティング マシンのさたざたな指暙であり、メトリクスが取埗された瞬間のタむムスタンプが付いおいたす。静的分析では、メトリック デヌタは時系列ず呌ばれたす。゜フトりェア システムの状態を監芖するために、メトリックはグラフの圢匏で衚瀺されたす。X 軞に時間、Y 軞に倀が衚瀺されたす (図 1)。実行䞭の゜フトりェア システム (各ノヌド) からは数千のメトリックを取埗できたす。それらはメトリックス倚次元時系列の空間を圢成したす。

耇雑な゜フトりェア システムは倧量のメトリックを収集するため、手動での監芖は困難な䜜業になりたす。管理者が分析しなければならないデヌタの量を枛らすために、監芖ツヌルには朜圚的な問題を自動的に識別するツヌルが含たれおいたす。たずえば、空きディスク容量が指定したしきい倀たで䜎䞋したずきに起動するトリガヌを蚭定できたす。サヌバヌのシャットダりンやサヌビス速床の重倧な䜎䞋を自動的に蚺断するこずも可胜です。実際には、監芖ツヌルは、すでに発生した障害を怜出したり、将来の障害の単玔な症状を特定したりするのは非垞に優れおいたすが、䞀般的に、起こりうる障害を予枬するのは䟝然ずしお難しい問題です。指暙の手動分析による予枬には、資栌のある専門家の関䞎が必芁です。生産性が䜎いです。朜圚的な障害のほずんどは気付かれない可胜性がありたす。

最近、゜フトりェア システムのいわゆる予枬保守が、゜フトりェアを開発する倧手 IT 䌁業の間でたすたす普及しおいたす。このアプロヌチの本質は、人工知胜を䜿甚しお、システムが故障する前に、システムの劣化に぀ながる障害を早い段階で発芋するこずです。このアプロヌチでは、システムの手動監芖が完党に排陀されるわけではありたせん。これは監芖プロセス党䜓の補助的なものです。

予知保党を実斜するための䞻なツヌルは、時系列で異垞を怜玢するタスクです。 異垞が発生したずき デヌタでは、しばらくするず 故障や䞍具合が発生する。異垞ずは、ある皮類のリク゚ストの実行速床の䜎䞋の怜出や、䞀定レベルのクラむアント セッションで凊理されるリク゚ストの平均数の枛少など、゜フトりェア システムのパフォヌマンスにおける䜕らかの逞脱のこずです。

゜フトりェア システムの異垞を芋぀けるタスクには、独自の特城がありたす。理論的には、異垞の探玢は実行されるデヌタに倧きく䟝存し、゜フトりェア システムのデヌタは、システムを実行するために䜿甚されるツヌル、さらにはシステムが実行されおいるコンピュヌタヌによっお倧きく異なるため、各゜フトりェア システムでは既存の方法の開発たたは改良が必芁です。

゜フトりェアシステムの障害を予枬するための異垞探玢手法

たず第䞀に、故障予枬のアむデアは、次の蚘事から着想を埗たものであるず蚀う䟡倀がある。 「IT監芖における機械孊習」。異垞の自動怜玢によるアプロヌチの有効性をテストするために、NPO「Krista」瀟のプロゞェクトの 1 ぀である゜フトりェア システム「Web-Consolidation」が遞択されたした。以前は、受信したメトリックに基づいお手動で監芖を実行しおいたした。システムは非垞に耇雑なため、JVM メトリック (ガベヌゞ コレクタヌの負荷)、コヌドが実行される OS メトリック (仮想メモリ、% OS CPU 負荷)、ネットワヌク メトリック (ネットワヌク負荷)、サヌバヌ自䜓 (CPU 負荷、メモリ)、ワむルドフラむ メトリック、およびすべおの重芁なサブシステムのアプリケヌション独自のメトリックなど、倚数のメトリックが取埗されたす。

すべおのメトリックは、グラファむトを䜿甚しおシステムから取埗されたす。圓初、Grafana の暙準゜リュヌションずしお Whisper ベヌスが䜿甚されおいたしたが、クラむアント ベヌスが拡倧するに぀れお、Graphite では察応できなくなり、DC のディスク サブシステムのスルヌプットが枯枇したした。この埌、より効果的な解決策を芋぀ける決断が䞋されたした。遞択は グラファむト+クリックハりスこれにより、ディスク サブシステムの負荷を 2 桁軜枛し、占有ディスク領域を XNUMX  XNUMX 倍削枛するこずが可胜になりたした。以䞋は、graphite+clickhouse を䜿甚したメトリック収集メカニズムの図です (図 XNUMX)。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図2. メトリクスの取埗方法

この図は内郚文曞から抜粋したものです。これは、Grafana (䜿甚する監芖 UI) ず Graphite 間のデヌタ亀換を瀺しおいたす。メトリクスは別の゜フトりェアを䜿甚しおアプリケヌションから収集されたす – jmxtrans。圌はたたそれらをグラファむトの䞭に入れたす。
Web 統合システムには、障害予枬に問題を匕き起こす機胜がいく぀かありたす。

  1. トレンドの倉化は頻繁に起こりたす。この゜フトりェア システムにはさたざたなバヌゞョンがありたす。それぞれシステムの゜フトりェア郚分に倉曎をもたらしたす。したがっお、開発者はこのようにしおこのシステムの指暙に盎接圱響を䞎え、トレンドの倉化を匕き起こす可胜性がありたす。
  2. 実装機胜、およびこのシステムのクラむアントによる䜿甚目的により、事前の劣化なしに異垞が発生するこずがよくありたす。
  3. デヌタセット党䜓に察する異垞の割合は小さい5%未満
  4. システムからのデヌタ受信にギャップが生じる可胜性がありたす。監芖システムがメトリックを受信できない短い期間がありたす。たずえば、サヌバヌが過負荷になった堎合などです。これはニュヌラル ネットワヌクのトレヌニングにずっお重芁です。ギャップを総合的に埋める必芁がある。
  5. 異垞のあるケヌスは、倚くの堎合、特定の日付/月/時間 (季節性) にのみ関連したす。このシステムには、ナヌザヌによる䜿甚に関しお明確な芏制がありたす。したがっお、メトリックは特定の時間にのみ関連したす。このシステムは垞時䜿甚されるこずはなく、幎に応じお遞択的に特定の月にのみ䜿甚される堎合がありたす。あるケヌスではメトリクスの同じ動䜜が゜フトりェア システムの障害に぀ながる可胜性があるものの、別のケヌスではそうではないずいう状況がありたす。
    たず、゜フトりェアシステムの監芖デヌタにおける異垞を怜出する手法を分析したした。このトピックに関する論文では、デヌタセットの残りの郚分ず比范した異垞の割合が小さい堎合、ニュヌラル ネットワヌクを䜿甚するこずが最もよく提案されおいたす。

ニュヌラル ネットワヌク デヌタを䜿甚しお異垞を怜出するための基本的なロゞックを図 3 に瀺したす。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図3. ニュヌラルネットワヌクを甚いた異垞の探玢

珟圚のメトリック フロヌのりィンドりの予枬たたは埩元の結果に基づいお、実行䞭の゜フトりェア システムから受信したものずの偏差が蚈算されたす。゜フトりェア システムずニュヌラル ネットワヌクから取埗したメトリックに倧きな差がある堎合は、珟圚のデヌタ セグメントが異垞であるず結論付けるこずができたす。ニュヌラル ネットワヌクの䜿甚では、次のような䞀連の問題が発生したす。

  1. ストリヌミング モヌドで正しく動䜜させるには、ニュヌラル ネットワヌク モデルをトレヌニングするためのデヌタに「通垞の」デヌタのみを含める必芁がありたす。
  2. 正しく怜出するには最新のモデルが必芁です。指暙の傟向や季節性の倉化により、モデルに倚数の誀怜知が発生する可胜性がありたす。曎新するには、モデルが叀くなる時期を明確に定矩する必芁がありたす。モデルを埌からたたは早めに曎新するず、誀怜知が倧量に発生する可胜性が高くなりたす。
    誀怜知が頻繁に発生するのを怜出し、防止するこずも重芁です。これらは緊急事態で最も頻繁に発生するず考えられたす。ただし、トレヌニング䞍足によるニュヌラル ネットワヌク ゚ラヌの結果である可胜性もありたす。モデルの誀怜出の数を最小限に抑える必芁がありたす。そうしないず、誀った予枬によっお、システムをテストするための管理者の時間が倧量に無駄になっおしたいたす。遅かれ早かれ、管理者が「偏執的な」監芖システムぞの応答を停止するだけで終わりたす。

リカレントニュヌラルネットワヌク

時系列の異垞を怜出するには、 リカレントニュヌラルネットワヌク LSTM メモリを搭茉。唯䞀の問題は、予枬された時系列にのみ適甚できるこずです。私たちの堎合、すべおのメトリックが予枬できるわけではありたせん。 RNN LSTM を時系列に適甚する詊みを図 4 に瀺したす。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図4. LSTMメモリセルを持぀リカレントニュヌラルネットワヌクの䟋

図 4 からわかるように、RNN LSTM はこの期間の異垞の探玢に察凊できたした。結果の平均誀差が倧きい堎合、パフォヌマンスに実際に異垞がありたした。 RNN LSTM を XNUMX ぀䜿甚するだけでは明らかに䞍十分です。これは、適甚可胜なメトリックの数が限られおいるためです。異垞を探すための補助手段ずしお䜿えたす。

故障予枬のためのオヌト゚ンコヌダヌ

オヌト゚ンコヌダ – 本質的には人工ニュヌラル ネットワヌクです。入力局ぱンコヌダヌ、出力局はデコヌダヌです。このタむプのニュヌラル ネットワヌクの欠点は、異垞を適切に特定できないこずです。同期オヌト゚ンコヌダアヌキテクチャが遞択されたした。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図 5. オヌト゚ンコヌダの動䜜䟋

オヌト゚ンコヌダヌは通垞のデヌタでトレヌニングされ、その埌モデルに入力されたデヌタ内の異垞なものを怜出したす。たさにこのタスクに必芁なものです。残っおいるのは、どのオヌト゚ンコヌダがタスクに適しおいるかを遞択するこずだけです。構造的に、オヌト゚ンコヌダの最も単玔な圢匏は、前向きの非再垰型ニュヌラルネットワヌクであり、これは 倚局パヌセプトロン (倚局パヌセプトロン、MLP) は、入力局、出力局、およびそれらを接続する 1 ぀以䞊の隠し局で構成されたす。
ただし、オヌト゚ンコヌダず MLP の違いは、オヌト゚ンコヌダでは出力局に入力局ず同じ数のノヌドがあり、入力 X が䞎えられたずきにタヌゲット倀 Y を予枬するこずを孊習するのではなく、オヌト゚ンコヌダは独自の X を再構築するこずを孊習するずいう点です。したがっお、オヌト゚ンコヌダは教垫なし孊習モデルです。

オヌト゚ンコヌダのタスクは、入力ベクトル X 内の異垞な芁玠に察応する時間むンデックス r0 
 rn を芋぀けるこずです。この効果は、二乗誀差を怜玢するこずによっお実珟されたす。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図 6. 同期オヌト゚ンコヌダヌ

オヌト゚ンコヌダヌが遞択された 同期アヌキテクチャ。その利点は、ストリヌミング凊理モヌドを䜿甚できるこずず、他のアヌキテクチャず比范しおニュヌラル ネットワヌク パラメヌタの数が比范的少ないこずです。

停陜性最小化メカニズム

さたざたな異垞な状況が発生するこずや、ニュヌラルネットワヌクのトレヌニングが䞍十分な状況が発生する可胜性があるこずから、開発䞭の異垞怜出モデルの誀怜知を最小限に抑えるメカニズムを開発する必芁があるず刀断されたした。このメカニズムは、管理者によっお分類されたテンプレヌト ベヌスに基づいおいたす。

動的タむムラむン倉換アルゎリズム (DTW アルゎリズム、英語の dynamic time warping に由来) を䜿甚するず、時間シヌケンス間の最適な察応を芋぀けるこずができたす。最初に音声認識に適甚され、2 ぀の音声信号が同じ元の音声フレヌズをどのように衚すかを刀断するために䜿甚されたす。その埌、他の分野でも応甚が芋出されたした。

誀怜知を最小限に抑える䞻な原則は、ニュヌラル ネットワヌクを䜿甚しお怜出された疑わしいケヌスを分類する挔算子を䜿甚しお、暙準のベヌスを収集するこずです。次に、分類された基準をシステムが怜出したケヌスず比范し、そのケヌスが誀りであるか、たたは倱敗に぀ながるかに぀いお結論を出したす。 DTW アルゎリズムは、2 ぀の時系列を比范するために䜿甚されたす。最小化のための䞻なツヌルは䟝然ずしお分類です。倚数の参照ケヌスを収集した埌、ほずんどのケヌスが類䌌しおおり、同様のケヌスが発生するため、システムはオペレヌタヌにあたり質問しなくなるず想定されたす。

その結果、䞊蚘のニュヌラル ネットワヌク手法に基づいお、Web 統合システムの障害を予枬する実隓プログラムが構築されたした。このプログラムの目的は、既存の監芖デヌタ アヌカむブず過去の障害に関する情報を䜿甚しお、このアプロヌチが圓瀟の゜フトりェア システムに適しおいるかどうかを評䟡するこずでした。プログラムの動䜜図を図 7 に瀺したす。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図7. メトリック空間解析に基づく故障予枬スキヌム

この図は、監芖デヌタ フロヌ (メトリック) 内の異垞な期間の怜玢ず、誀怜知を最小限に抑えるメカニズムずいう 2 ぀の䞻なブロックに分けられたす。泚: 実隓的な目的で、デヌタは、Graphite が保存するデヌタベヌスから JDBC 接続を介しお取埗されたす。
結果ずしお埗られる監芖システムのむンタヌフェヌスを以䞋に瀺したす (図 8)。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図8. 実隓監芖システムのむンタヌフェヌス

むンタヌフェヌスには、受信したメトリックの異垞の割合が衚瀺されたす。この堎合、領収曞はシミュレヌトされたす。圓瀟はすでに数週間分のデヌタをすべお取埗しおおり、障害に぀ながる異垞のケヌスをテストするために、そのデヌタを埐々にロヌドしおいたす。䞋郚のステヌタス バヌには、オヌト゚ンコヌダヌを䜿甚しお決定された、特定の時点におけるデヌタ異垞の党䜓的な割合が衚瀺されたす。たた、予枬メトリックに぀いおは、RNN LSTM によっお蚈算された別のパヌセンテヌゞが衚瀺されたす。

RNN LSTM ニュヌラル ネットワヌクを䜿甚しお CPU メトリックに基づいお異垞を怜出する䟋 (図 9)。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図9. RNN LSTM怜出

本質的に通垞の倖れ倀であるがシステム障害に぀ながる、かなり単玔なケヌスが、RNN LSTM を䜿甚しお正垞に蚈算されたした。この期間の異垞率は 8595% で、80% を超えるもの (しきい倀は実隓的に決定されたす) はすべお異垞ずみなされたす。
アップデヌト埌にシステムの起動に倱敗した堎合に異垞怜出が行われる䟋。この状況はオヌト゚ンコヌダによっお怜出されたす (図 10)。

ニュヌラルネットワヌクを䜿甚しお異垞を探し、障害を予枬したす

図10. オヌト゚ンコヌダ怜出の䟋

写真からわかるように、PermGen は 100 ぀のレベルで停止しおいたす。オヌト゚ンコヌダは、これたでこのようなこずは芋たこずがなかったため、これを奇劙だず刀断したした。ここでは、システムが動䜜状態に戻るたで異垞が XNUMX% 持続したす。すべおのメトリックにわたっお異垞が衚瀺されたす。前述のように、オヌト゚ンコヌダヌは異垞を特定できたせん。このような状況では、オペレヌタがこの機胜を実行する必芁がありたす。

たずめ

Web-Consolidation PC は数幎にわたっお開発されおきたした。システムはかなり安定した状態にあり、蚘録されるむンシデントの数は少ないです。ただし、障害が発生する 5  10 分前に障害に぀ながる異垞を発芋するこずは可胜でした。堎合によっおは、障害を事前に通知するこずで、「修埩」䜜業の実行に割り圓おられる予定時間を節玄できたす。

実斜された実隓に基づいお、最終的な結論を出すのはただ時期尚早です。この時点では、結果は矛盟しおいたす。䞀方で、ニュヌラル ネットワヌクに基づくアルゎリズムは「有甚な」異垞を芋぀けるこずができるこずは明らかです。その䞀方で、誀怜知の割合も䟝然ずしお高く、ニュヌラル ネットワヌクの資栌を持った専門家が怜出した異垞がすべお怜出できるわけではありたせん。もう 1 ぀の欠点は、ニュヌラル ネットワヌクが適切に機胜するには教垫によるトレヌニングが必芁になるこずです。

障害予枬システムをさらに開発し、満足のいく状態にするには、いく぀かの方法が考えられたす。これは、システムの状態に倧きく圱響する重芁なメトリックのリストに远加され、システムに圱響を䞎えない䞍芁なメトリックが拒吊されるため、障害に぀ながる異垞のあるケヌスのより詳现な分析です。たた、この方向に進むず、障害に぀ながる異垞のあるケヌスに特化したアルゎリズムを特化するこずもできたす。別の方法がありたす。これはニュヌラル ネットワヌク アヌキテクチャの改善であり、その結果、トレヌニング時間が短瞮され、怜出粟床が向䞊したす。

この蚘事の執筆ず劥圓性の維持に協力しおくれた同僚に感謝したいず思いたす。 ノィクタヌ・ノェルビツキヌ セルゲむ・フィノゞェノフ。

出所 habr.com

DDoS 保護機胜を備えた信頌性の高いサむト甚ホスティング、VPS VDS サヌバヌを賌入する 🔥 DDoS攻撃察策付きの信頌性の高いりェブサむトホスティング、VPS/VDSサヌバヌを賌入したしょう | ProHoster