Contenu connexe
Similaire à Elastic ML Introduction (20)
Elastic ML Introduction
- 1. 1Copyright © Acroquest Technology Co., Ltd. All rights reserved.
Elasticsearch
Machine Learning(Elastic ML)
入門編
Acroquet Technology株式会社
Elastic Certified Engineer
吉岡 洋
- 2. はじめに
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2
1. 前提
① 本セッションはElastic MLの利用を検討している方を想定した内容です。
② すでにバリバリ使っている人には簡単な内容かもしれません。
2. 今日話すこと
① Elastic MLの概要/特徴
② Elastic MLの活用事例
3. 今日話さないこと
① Elasticsearchの基礎知識
② Elastic MLの仕組みや詳細な設定方法
- 3. 目次
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 3
1. Elastic MLとは
1-1. Elasticのプロダクトページ
1-2. Elastic MLとは?
2. 活用事例
2-1. 代表的なユースケース
2-2. 活用事例 インフラログ分析/故障予兆検知
3. まとめ
- 4. 自己紹介
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 4
⚫ 名前:吉岡 洋(よしおかひろし)
⚫ 所属:Acroquest Technology株式会社
(シニアコンサルタント)
⚫ 領域:ビッグデータ分析/可視化
⚫ その他:
─Microsoft MVP for Powershell(2006~2010)
─「Windows PowerShell宣言!」(2007)
─IBM Certified Specialist
IBM SPSS Modeler Professional(2014~)
─Elastic Certified Engineer(2018~)
- 5. Acroquest Technology株式会社
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 5
1. 新横浜にあるITベンチャー
① Great Place To Work(R) Institute Japan実施
働きがいのある会社ランキング第1位(3回受賞)
2. 事業(データ活用ビジネス)
① Elastic Stack活用支援サービス
– Elastic Certified Engineer:3名
② IoTデータ分析プラットフォーム
③ 機械学習/AI
- 7. エクストリーム社員旅行 4月12日(金)〜4月15日(月)
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 7
1. 鹿児島県指宿市へ現地集合
2. 4月12日(金)午後に出発してOK。(仕事扱い)
3. 2~5人でチームを作り、飛行機、フェリー、新幹線、鉄道、高速バ
ス、自動車、自転車等、無限の組み合わせの中から、独自の行き
ルートを選べる。
4. 集合場所(宿泊施設)で、どんなルート・メニューで旅をして到着
したか、各チーム3分程度のプレゼンを行い、エクストリームな旅の順
位を決定し、1位~3位のチームを表彰して賞金を授与する。
- 12. 1-1. Elasticのプロダクトページ(意訳)
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 12
1. ITサービスを運用するにあたり、複雑化するインフラを
「効果的に管理」するためには、様々なログデータの分析が必要。
2. しかし、複雑で高速に増加するログデータに対して単純な閾値判定
や、Dashboardの目視だけでは、問題の特定は困難です。
3. Elasticsearchの「Machine Learning」は、トレンドや周期性と
いった、データの振る舞いを自動的かつリアルタイムにモデル化するこ
とで、迅速な問題特定/原因分析を行うことが可能になります。
- 14. 1-2. Elastic MLとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 14
1. 概要
① Elasticsearchに蓄積した時系列データに対して、
教師なし機械学習を用いてモデルを作成し、異常検知を
行う機能。
2. キーワード
① 「教師なし機械学習」とは?
② 「異常検知」できる"異常"とは何か?
③ 「モデル」化できるデータの種類は?
- 15. ①「教師なし機械学習」とは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 15
<教師あり機械学習>
1. 「入力データ」と「正解データ」を用意し、特徴を抽出し正解データを
学習。未知のデータを判断できるようにする。
例)入力データ:画像ファイル
正解データ:犬、猫、など
<教師なし機械学習>
1. 「正解データ」はない。「入力データ」のみから特徴となるパターンを見
つけ出す。未知のデータを判断できるようにする。
1-2. Elastic MLとは?
- 16. ②「異常検知」できる"異常"とは何か?
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 16
1. トレンド異常検知(以前とは違う)
① 特定の周期を持った時系列データが過去と異なる振る舞いをしている
例)
2. 外れ値異常検知(他とは違う)
① グループ内の特定の個体が他とは異なる挙動をしている
例)特定のIPアドレスからのアクセスだけ404レスポンスの数が多い
1-2. Elastic MLとは?
閾値判定だと
異常検知できない
- 17. ③ 「モデル」化できるデータの種類は?
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 17
[1]データ件数
[2]数値
(最小/最大/平均/合計)
[3]文字列
(文字列長/ユニーク数)
[4]その他
(位置情報など)
[サーバ認証ログ]
ログイン失敗ログの件数が急増。不正アクセス?
[ECサイト取引ログ]
売れ筋時間帯なのに売上が伸びない。サイト障害?
[DNSログ]
特定ドメインだけサブドメインが長い。マルウェア?
[クレジットカード履歴ログ]
突然、海外でクレジットカードが利用された。
1-2. Elastic MLとは?
- 18. ③ 「モデル」化できるデータの種類は?
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 18
1. モデルを作成する関数(検出器)は
関数群 検出ルール ユースケース例
Count Functions ログ発生数のトレンド異常を検出する。 サービス障害検知
Geographic Functions 位置情報のトレンド異常を検出する。 不正利用検知
Information Content
Functions
文字列に含まれる情報量のトレンド異常を検出する。 情報流出検知
Metric Functions 値の最大、最小、平均などのトレンド異常を検出する。 多数のユースケース
Rare Functions まれにしか発生しない値を異常として検出する。 レア異常検知
Sum Functions 値の合計のトレンド異常を検出する。 多数のユースケース
Time Functions 曜日/週の異常な時間に発生するイベントを検出する。 不審ユーザ検知
1-2. Elastic MLとは?
- 19. あらためて、特徴をまとめると
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 19
1. 時系列データに対して教師無し機械学習を適用し、トレンド異常、
外れ値異常を検出可能。
2. 関数(検出器)を選択するだけで簡単に実施可能。
(内部では複数のアルゴリズムを使い分けている)
3. 最新のトレンドを元に正常を判断するため、
インフラ変更時のチューニングが不要。
4. データのトレンドのみから異常を判定するため、
未知の異常を検知できる可能性がある。
Elastic ML=「ログ監視+異常検知」
1-2. Elastic MLとは?
- 21. 2-1. 代表的なユースケース
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 21
①ログ/メトリクス分析 ②セキュリティ分析 ③ビジネス分析
セキュリティ
ログ
サイバー攻撃の
検出/原因分析
システムログ
運用ログ
システム監視
(稼働/性能など)
サービス
ログ
サービス品質
分析
ML ML ML
活用事例
- 22. 2-2. 活用事例 インフラログ分析/故障予兆検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 22
1. 業種
① インフラ
2. 概要
① 従来の閾値ベースの監視では検知することが困難な障害や
不具合事象に対する異常検知のPoC。
3. 分析データ
① NW機器のシスログ(7000台、40機種)
② 約1000万件/年。PoCでは約6ヶ月分を利用。
- 23. 分析対象データの構造化(Logstash)
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 23
1. ログの分類
No ログに含まれる情報 件数 割合(%)
1 タグ情報(※) 3,876,785 73.5%
2 プロセス情報 42,871 0.8%
3 例外情報 881,971 16.7%
4 その他のエラー 475,498 9.0%
※「%FACILITY-SEVERITY-MNEMONIC」形式の文字列
ML対象
2-2.活用事例 インフラログ分析/故障予兆検知
- 24. 分析対象データの構造化(Logstash)
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 24
1. 対象は以下フォーマットの「タグ情報」を含むログ
① %FACILITY-SEVERITY-MNEMONIC
② タグ情報の詳細:Cisco IOS System Error Messages
2. ポイント
① ログをパースする際は、様々な角度で分析できるよう、
できるだけ細かい単位でフィールドに値を取得する。
例)
Aug 4 10:22:42 XXX.XXX.XXX.XXX 4325: Aug 4 10:22:41.648 JST:
%HSRP-4-BADAUTH: Bad authentication from XXX.XXX.XXX.XXX, group 166,
remote state Standby
2-2.活用事例 インフラログ分析/故障予兆検知
- 25. 分析対象データの構造化(Logstash)
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 25
1. ログをパースしてElasticsearchへ投入
2-2.活用事例 インフラログ分析/故障予兆検知
No 元データ 構造化後の変数 備考
1 Aug 4 10:22:42 timestamp
2 XXX.XXX.XXX.XXX host.ip
3 (XXXXXXXXX) host.device IPアドレスを元にデバイス名に変換
4 (Catalyst 3750-24ME) host.model IPアドレスを元に機種モデルに変換
5 4325 log.seqno
6 HSRP-4-BADAUTH log.tagname 以下も取得。(例2の場合)
log.facility=HSRP
log.severity=4
log.mnemonic=BADAUTH
7 Bad authentication from
XXX.XXX.XXX.XXX, group 166,
remote state Standby
log.msg
- 26. ML実行前にダッシュボードで可視化(Kibana)
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 26
1. 以下のような要素を可視化するとよい。
① Indicators(見出しにあたる情報)
– 例)ログ数
– 例)タグ情報/Severity/機種モデル分布
② Trends(時系列のログ傾向)
– 例)タグ情報別エラー数推移
– 例)デバイス名別エラー数推移
③ Details(詳細ログ)
– 例) Saved Search
2-2.活用事例 インフラログ分析/故障予兆検知
- 27. ML Jobの作成
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 27
1. ポイント
① 異常検知のタイプ→トレンド異常検知(以前とは違う)
② 分析関数→high_count(データ件数の急増を検知)
③ データ分割の単位→デバイス名(装置単位で異常を把握したい)
④ モデルの単位→タグ情報(タグ単位でモデルを生成)
⑤ インフルエンサ→デバイス名、機種モデル、タグ情報
2-2.活用事例 インフラログ分析/故障予兆検知
- 28. ML実施結果画面
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 28
1. 検出したトレンド異常を
スコアに応じて色表示(■>■>■>■>■))
①ログ全体から見たトレンド異常を時系列に表示
②タグ情報毎に検出したトレンド異常を時系列に表示
2-2.活用事例 インフラログ分析/故障予兆検知
- 29. ML実施結果画面
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 29
1. 検出したトレンド異常を
スコアに応じて色表示(■>■>■>■>■))
最も異常スコアが高いのは、
タグ「ASA-3-106100」の2017/05/26 9:00
2-2.活用事例 インフラログ分析/故障予兆検知
- 31. ML実施結果画面
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 31
1. タイルをクリックして検出したトレンド異常の詳細を表示
・5/26 15:20時点で
トレンド異常を検出
・異常スコア:99(非常に高い)
「ASA-3-106100」のタグ情報が
急激に増え始めた時点で障害を検出している。
この時点でWatcherによりトレンド異常検出の
通知が可能。
2-2.活用事例 インフラログ分析/故障予兆検知
- 32. 検知した異常をダッシュボードで確認する
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
32
1. VisualBuilderは複数インデックスのデータを可視化可能
2. 異常検知データは.ml-anomaly-*インデックスに含まれている。
3. 異常検知データをVisualBuilderの「Annotation」機能で可視化する
4. 赤いAnnotation(縦線)はMachine Learningでトレンド異常を検出し
たタイミング。この時点でWatcherにより通知が可能
タグ情報別ログ数の推移
急増の初期段階で
トレンド異常を検出している。
2-2.活用事例 インフラログ分析/故障予兆検知
- 34. 3. まとめ
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 34
1. Elastic MLは「以前とは違う」「他とは違う」を異常検知できる
2. ログ解析や従来の閾値判定では検出が難しい、
エラー急増の初期段階における異常検出ができる。
3. 自動でモデルが更新されるので保守コストが低い。
4. できることがシンプルなので、応用の幅が広い。
ログ異常検知ならたいていのユースケースに適用できる。
5. Kibana(VisualBuilder)との連携が便利
6. Watcherで異常をメールやSlackに通知するとさらに便利
7. 興味ある方は、ぜひ使ってみてください!
- 35. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 35
ご清聴ありがとうございました。
Infrastructures Evolution