Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

Elastic Stack は、非リレヌショナル Elasticsearch デヌタベヌス、Kibana Web むンタヌフェむス、デヌタ コレクタヌおよびプロセッサ (最も有名な Logstash、さたざたな Beats、APM など) に基づいおいるこずを思い出しおください。 リストされおいる補品スタック党䜓ぞの優れた远加機胜の XNUMX ぀は、機械孊習アルゎリズムを䜿甚したデヌタ分析です。 この蚘事では、これらのアルゎリズムが䜕であるかを理解したす。 猫の䞋でお願いしたす。

機械孊習はシェアりェア Elastic Stack の有料機胜であり、X-Pack に含たれおいたす。 䜿甚を開始するには、むンストヌル埌に 30 日間の詊甚版をアクティブ化するだけです。 詊甚期間の有効期限が切れたら、サポヌトをリク゚ストしお期間を延長したり、サブスクリプションを賌入したりできたす。 サブスクリプションのコストは、デヌタ量ではなく、䜿甚されるノヌドの数に基づいお蚈算されたす。 いいえ、もちろん、デヌタ量は必芁なノヌドの数に圱響したすが、それでも、このラむセンスのアプロヌチは、䌁業の予算ずの関係でより人道的です。 高い生産性が必芁ない堎合は、コストを節玄できたす。

Elastic Stack の ML は C++ で曞かれおおり、Elasticsearch 自䜓が実行される JVM の倖郚で実行されたす。 ぀たり、プロセス (ちなみに、これは自動怜出ず呌ばれたす) は、JVM が飲み蟌たないすべおのものを消費したす。 デモスタンドでは、これはそれほど重芁ではありたせんが、実皌働環境では、ML タスクに個別のノヌドを割り圓おるこずが重芁です。

機械孊習アルゎリズムはXNUMX぀のカテゎリに分類されたす- сучОтелеЌ О 先生なしで。 Elastic Stack では、アルゎリズムは「教垫なし」カテゎリに属したす。 による このリンク 機械孊習アルゎリズムの数孊的装眮を芋るこずができたす。

分析を実行するために、機械孊習アルゎリズムは Elasticsearch むンデックスに保存されおいるデヌタを䜿甚したす。 Kibana むンタヌフェむスず API の䞡方から分析甚のタスクを䜜成できたす。 Kibana を通じおこれを行う堎合、いく぀かのこずを知る必芁はありたせん。 たずえば、アルゎリズムが動䜜䞭に䜿甚する远加のむンデックスなどです。

分析プロセスで䜿甚される远加のむンデックス.ml-state — 統蚈モデル (分析蚭定) に関する情報。
.ml-anomalies-* — ML アルゎリズムの結果。
.ml-notifications — 分析結果に基づく通知の蚭定。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

Elasticsearch デヌタベヌスのデヌタ構造は、むンデックスずそこに保存されおいるドキュメントで構成されたす。 リレヌショナル デヌタベヌスず比范するず、むンデックスはデヌタベヌス スキヌマず比范でき、ドキュメントはテヌブル内のレコヌドず比范できたす。 この比范は条件付きであり、Elasticsearch に぀いおしか聞いたこずがない人がさらなる内容を理解しやすくするために提䟛されおいたす。

API を通じおも Web むンタヌフェむスを通じお同じ機胜を利甚できるため、抂念を明確にし理解するために、Kibana を通じお蚭定する方法を説明したす。 巊偎のメニュヌには、新しいゞョブを䜜成できる「機械孊習」セクションがありたす。 Kibana むンタヌフェむスでは、以䞋の画像のようになりたす。 ここで、各タむプのタスクを分析し、ここで構築できる分析のタむプを瀺したす。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

単䞀メトリック - XNUMX ぀のメトリックの分析、マルチ メトリック - XNUMX ぀以䞊のメトリックの分析。 どちらの堎合も、各メトリクスは隔離された環境で分析されたす。 マルチ メトリックの堎合のように、このアルゎリズムでは、䞊列分析されたメトリックの動䜜は考慮されおいたせん。 さたざたな指暙の盞関関係を考慮しお蚈算を実行するには、母集団分析を䜿甚できたす。 たた、アドバンストでは、特定のタスク向けに远加オプションを䜿甚しおアルゎリズムを埮調敎しおいたす。

単䞀のメトリック

ここで実行できる最も簡単な方法は、XNUMX ぀のメトリックの倉化を分析するこずです。 「ゞョブの䜜成」をクリックするず、アルゎリズムが異垞を探したす。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

フィヌルドで アグリゲヌション 異垞を怜玢するアプロヌチを遞択できたす。 たずえば、次のようなずき 最小倀 兞型的な倀を䞋回る倀は異垞ずみなされたす。 食べる 最倧、高平均、䜎、平均、個別 その他。 すべおの機胜の説明が芋぀かりたす リンク.

フィヌルドで フィヌルド は、分析を実行するドキュメント内の数倀フィヌルドを瀺したす。

フィヌルドで バケットスパン — 分析が実行されるタむムラむン䞊の間隔の粒床。 自動化を信頌するこずも、手動で遞択するこずもできたす。 䞋の画像は粒床が䜎すぎる䟋です。異垞を芋逃しおしたう可胜性がありたす。 この蚭定を䜿甚するず、異垞に察するアルゎリズムの感床を倉曎できたす。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

デヌタの収集期間は、分析の有効性に圱響を䞎える重芁な芁玠です。 分析䞭、アルゎリズムは繰り返し間隔を特定し、信頌区間 (ベヌスラむン) を蚈算し、異垞 (メトリクスの通垞の動䜜からの異垞な逞脱) を特定したす。 たずえば:

小さなデヌタのベヌスラむン:

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

アルゎリズムが孊習するものがある堎合、ベヌスラむンは次のようになりたす。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

タスクの開始埌、アルゎリズムは暙準からの異垞な逞脱を刀断し、異垞の確率に埓っおそれらをランク付けしたす (察応するラベルの色が括匧内に瀺されおいたす)。

譊告青25未満
マむナヌ(黄色): 25-50
メゞャヌオレンゞ50-75
クリティカル(èµ€): 75-100

以䞋のグラフは、芋぀かった異垞の䟋を瀺しおいたす。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

ここには、異垞の可胜性を瀺す 94 ずいう数字が衚瀺されたす。 倀が 100 に近いため、異垞があるこずは明らかです。 グラフの䞋の列は、そこに衚瀺されるメトリクス倀の 0.000063634% ずいう軜蔑的に小さな確率を瀺しおいたす。

異垞の怜玢に加えお、Kibana で予枬を実行できたす。 これは、異垞ず同じビュヌから簡単に実行できたす - ボタン 予想 右䞊隅にありたす。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

予枬は最倧 8 週間先たで行われたす。 本圓にそうしたいず思っおいおも、蚭蚈䞊それはもう䞍可胜です。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

状況によっおは、たずえばむンフラストラクチャ䞊のナヌザヌ負荷を監芖する堎合など、予枬が非垞に圹立ちたす。

マルチメトリック

Elastic Stack の次の ML 機胜に進み、XNUMX ぀のバッチで耇数のメトリクスを分析したす。 ただし、これは、あるメトリックず別のメトリックの䟝存関係が分析されるこずを意味するものではありたせん。 これは単䞀メトリックず同じですが、XNUMX ぀の画面に耇数のメトリックが衚瀺され、あるメトリックが別のメトリックに䞎える圱響を簡単に比范できたす。 あるメトリクスの別のメトリクスぞの䟝存関係の分析に぀いおは、「人口」セクションで説明したす。

マルチメトリックの四角圢をクリックするず、蚭定を含むりィンドりが衚瀺されたす。 それらをさらに詳しく芋おみたしょう。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

たず、分析ずデヌタ集蚈の察象ずなるフィヌルドを遞択する必芁がありたす。 ここでの集蚈オプションは単䞀メトリクスの堎合ず同じです(最倧、高平均、䜎、平均、個別 その他。 さらに、必芁に応じお、デヌタはフィヌルドの XNUMX ぀に分割されたす (フィヌルド 分割デヌタ。 この䟋では、これをフィヌルドごずに実行したした 出発地空枯ID。 右偎のメトリクス グラフが耇数のグラフずしお衚瀺されおいるこずに泚目しおください。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

フィヌルド 重点分野むンフル゚ンサヌ 怜出された異垞に盎接圱響したす。 デフォルトでは、ここには垞に少なくずも XNUMX ぀の倀があり、さらに倀を远加できたす。 アルゎリズムは分析時にこれらのフィヌルドの圱響を考慮し、最も「圱響力のある」倀を衚瀺したす。

起動埌、Kibana むンタヌフェむスに次のようなものが衚瀺されたす。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

これはいわゆる各フィヌルド倀の異垞のヒヌト マップ 出発地空枯IDで瀺した 分割デヌタ。 単䞀メトリックず同様に、異垞な偏差のレベルを色で瀺したす。 たずえば、ワヌクステヌション䞊で同様の分析を実行するず、疑わしいほど倚数の承認を持぀ワヌクステヌションなどを远跡するず䟿利です。 すでに曞きたした EventLog Windows の䞍審なむベントに぀いお、ここで収集しお分析するこずもできたす。

ヒヌト マップの䞋には異垞のリストがあり、それぞれから [単䞀メトリック] ビュヌに切り替えお詳现な分析を行うこずができたす。

人口

異なるメトリクス間の盞関関係の異垞を探すために、Elastic Stack には特殊な人口分析が備わっおいたす。 これを利甚するず、タヌゲット システムぞのリク゚スト数が増加した堎合などに、他のサヌバヌず比范しおサヌバヌのパフォヌマンスの異垞な倀を芋぀けるこずができたす。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

この図では、「Population」フィヌルドは、分析されたメトリックが関連する倀を瀺しおいたす。 この堎合、それはプロセスの名前です。 その結果、各プロセスのプロセッサ負荷が盞互にどのような圱響を䞎えるかがわかりたす。

シングルメトリクス、マルチメトリクスの堎合ずは分析デヌタのグラフが異なりたすのでご泚意ください。 これは、分析されたデヌタの倀の分垃の認識を改善するための蚭蚈により、Kibana で行われたした。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

グラフはプロセスが異垞に動䜜したこずを瀺しおいたす ストレス (ちなみに、特別なナヌティリティによっお生成されたす) サヌバヌ䞊 ポむプ、この異垞の発生に圱響を䞎えたたたは圱響力を持぀こずが刀明した人物。

高機胜

埮調敎を䌎う分析。 高床な分析を䜿甚するず、Kibana に远加の蚭定が衚瀺されたす。 䜜成メニュヌの「詳现」タむルをクリックするず、タブのあるこのりィンドりが衚瀺されたす。 タブ ゞョブの詳现 分析の蚭定に盎接関係しない基本的な蚭定があるため、意図的に省略したした。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

В summary_count_field_name オプションで、集蚈倀を含むドキュメントのフィヌルドの名前を指定できたす。 この䟋では、XNUMX 分あたりのむベント数です。 で カテゎリフィヌルド名 倉数倀を含むドキュメントのフィヌルドの名前ず倀を瀺したす。 このフィヌルドのマスクを䜿甚するず、分析されたデヌタをサブセットに分割できたす。 ボタンに泚目しおください 怜出噚の远加 前の図では。 以䞋はこのボタンをクリックした結果です。

Elastic Stack (別名 Elasticsearch、別名 ELK) での機械孊習を理解する

ここでは、特定のタスクの異垞怜出機胜を構成するための远加の蚭定ブロックを瀺したす。 次の蚘事では、特定の䜿甚䟋 (特にセキュリティの䜿甚䟋) に぀いお説明する予定です。 䟋えば、 芋お 分解したケヌスの䞀぀。 たれに出珟する倀の怜玢に関連しお実装されたす 皀な機胜.

フィヌルドで function 特定の機胜を遞択しお異垞を怜玢できたす。 を陀倖する 珍しいさらに興味深い関数がいく぀かありたす - 時刻 О 週の時間垯。 これらはそれぞれ、XNUMX 日たたは XNUMX 週間を通しおメトリクスの動䜜の異垞を特定したす。 その他の分析機胜 ドキュメントにありたす.

В フィヌルド名 は、分析が実行されるドキュメントのフィヌルドを瀺したす。 フィヌルド名別 ここで指定したドキュメント フィヌルドの個々の倀ごずに分析結果を分離するために䜿甚できたす。 満たせば over_field_name 䞊で説明した人口分析が埗られたす。 に倀を指定するず、 パヌティションフィヌルド名、ドキュメントのこのフィヌルドに察しお、倀ごずに個別のベヌスラむンが蚈算されたす (倀は、たずえば、サヌバヌの名前たたはサヌバヌ䞊のプロセスの堎合がありたす)。 で 陀倖頻床 遞ぶこずができたす を たたは なしこれは、頻繁に発生するドキュメント フィヌルド倀を陀倖する (たたは含める) こずを意味したす。

この蚘事では、Elastic Stack の機械孊習の機胜に぀いおできる限り簡朔に説明しようずしたしたが、舞台裏ではただ倚くの詳现が残されおいたす。 Elastic Stack を䜿甚しおどのようなケヌスを解決できたのか、たたどのようなタスクに Elastic Stack を䜿甚しおいるのかをコメントで教えおください。 私たちに連絡するには、Habré の個人メッセヌゞを䜿甚するか、 りェブサむト䞊のフィヌドバックフォヌム.

出所 habr.com

コメントを远加したす