SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
1Copyright © Acroquest Technology Co., Ltd. All rights reserved.
Elasticsearch
Machine Learning(Elastic ML)
入門編
Acroquet Technology株式会社
Elastic Certified Engineer
吉岡 洋
はじめに
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 2
1. 前提
① 本セッションはElastic MLの利用を検討している方を想定した内容です。
② すでにバリバリ使っている人には簡単な内容かもしれません。
2. 今日話すこと
① Elastic MLの概要/特徴
② Elastic MLの活用事例
3. 今日話さないこと
① Elasticsearchの基礎知識
② Elastic MLの仕組みや詳細な設定方法
目次
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. まとめ
自己紹介
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~)
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
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 6
オフィスのコンセプトは、ヴィレッジ。
エクストリーム社員旅行 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位のチームを表彰して賞金を授与する。
1. Twitterで「#エクストリーム社員旅行」と
呟くと、参加チームの位置を可視化する
アプリを若手社員が開発
2. バックエンドはElasticsearch
3. 様々な経路で鹿児島指宿を目指す
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 8
1. Twitterで「#エクストリーム社員旅行」と
呟くと、参加チームの位置を可視化する
アプリを若手社員が開発
2. バックエンドはElasticsearch
3. 様々な経路で鹿児島指宿を目指す
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 9
台湾
4/13(金)
前置きが長くなりましたが、
ここから本題です。
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 10
1. Elastic MLとは
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 11
1-1. Elasticのプロダクトページ(意訳)
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 12
1. ITサービスを運用するにあたり、複雑化するインフラを
「効果的に管理」するためには、様々なログデータの分析が必要。
2. しかし、複雑で高速に増加するログデータに対して単純な閾値判定
や、Dashboardの目視だけでは、問題の特定は困難です。
3. Elasticsearchの「Machine Learning」は、トレンドや周期性と
いった、データの振る舞いを自動的かつリアルタイムにモデル化するこ
とで、迅速な問題特定/原因分析を行うことが可能になります。
機能的に言うと
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 13
1-2. Elastic MLとは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 14
1. 概要
① Elasticsearchに蓄積した時系列データに対して、
教師なし機械学習を用いてモデルを作成し、異常検知を
行う機能。
2. キーワード
① 「教師なし機械学習」とは?
② 「異常検知」できる"異常"とは何か?
③ 「モデル」化できるデータの種類は?
①「教師なし機械学習」とは?
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 15
<教師あり機械学習>
1. 「入力データ」と「正解データ」を用意し、特徴を抽出し正解データを
学習。未知のデータを判断できるようにする。
例)入力データ:画像ファイル
正解データ:犬、猫、など
<教師なし機械学習>
1. 「正解データ」はない。「入力データ」のみから特徴となるパターンを見
つけ出す。未知のデータを判断できるようにする。
1-2. Elastic MLとは?
②「異常検知」できる"異常"とは何か?
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 16
1. トレンド異常検知(以前とは違う)
① 特定の周期を持った時系列データが過去と異なる振る舞いをしている
例)
2. 外れ値異常検知(他とは違う)
① グループ内の特定の個体が他とは異なる挙動をしている
例)特定のIPアドレスからのアクセスだけ404レスポンスの数が多い
1-2. Elastic MLとは?
閾値判定だと
異常検知できない
③ 「モデル」化できるデータの種類は?
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 17
[1]データ件数
[2]数値
(最小/最大/平均/合計)
[3]文字列
(文字列長/ユニーク数)
[4]その他
(位置情報など)
[サーバ認証ログ]
ログイン失敗ログの件数が急増。不正アクセス?
[ECサイト取引ログ]
売れ筋時間帯なのに売上が伸びない。サイト障害?
[DNSログ]
特定ドメインだけサブドメインが長い。マルウェア?
[クレジットカード履歴ログ]
突然、海外でクレジットカードが利用された。
1-2. Elastic MLとは?
③ 「モデル」化できるデータの種類は?
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とは?
あらためて、特徴をまとめると
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 19
1. 時系列データに対して教師無し機械学習を適用し、トレンド異常、
外れ値異常を検出可能。
2. 関数(検出器)を選択するだけで簡単に実施可能。
(内部では複数のアルゴリズムを使い分けている)
3. 最新のトレンドを元に正常を判断するため、
インフラ変更時のチューニングが不要。
4. データのトレンドのみから異常を判定するため、
未知の異常を検知できる可能性がある。
Elastic ML=「ログ監視+異常検知」
1-2. Elastic MLとは?
2. 活用事例
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 20
2-1. 代表的なユースケース
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 21
①ログ/メトリクス分析 ②セキュリティ分析 ③ビジネス分析
セキュリティ
ログ
サイバー攻撃の
検出/原因分析
システムログ
運用ログ
システム監視
(稼働/性能など)
サービス
ログ
サービス品質
分析
ML ML ML
活用事例
2-2. 活用事例 インフラログ分析/故障予兆検知
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 22
1. 業種
① インフラ
2. 概要
① 従来の閾値ベースの監視では検知することが困難な障害や
不具合事象に対する異常検知のPoC。
3. 分析データ
① NW機器のシスログ(7000台、40機種)
② 約1000万件/年。PoCでは約6ヶ月分を利用。
分析対象データの構造化(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.活用事例 インフラログ分析/故障予兆検知
分析対象データの構造化(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.活用事例 インフラログ分析/故障予兆検知
分析対象データの構造化(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
ML実行前にダッシュボードで可視化(Kibana)
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 26
1. 以下のような要素を可視化するとよい。
① Indicators(見出しにあたる情報)
– 例)ログ数
– 例)タグ情報/Severity/機種モデル分布
② Trends(時系列のログ傾向)
– 例)タグ情報別エラー数推移
– 例)デバイス名別エラー数推移
③ Details(詳細ログ)
– 例) Saved Search
2-2.活用事例 インフラログ分析/故障予兆検知
ML Jobの作成
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 27
1. ポイント
① 異常検知のタイプ→トレンド異常検知(以前とは違う)
② 分析関数→high_count(データ件数の急増を検知)
③ データ分割の単位→デバイス名(装置単位で異常を把握したい)
④ モデルの単位→タグ情報(タグ単位でモデルを生成)
⑤ インフルエンサ→デバイス名、機種モデル、タグ情報
2-2.活用事例 インフラログ分析/故障予兆検知
ML実施結果画面
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 28
1. 検出したトレンド異常を
スコアに応じて色表示(■>■>■>■>■))
①ログ全体から見たトレンド異常を時系列に表示
②タグ情報毎に検出したトレンド異常を時系列に表示
2-2.活用事例 インフラログ分析/故障予兆検知
ML実施結果画面
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 29
1. 検出したトレンド異常を
スコアに応じて色表示(■>■>■>■>■))
最も異常スコアが高いのは、
タグ「ASA-3-106100」の2017/05/26 9:00
2-2.活用事例 インフラログ分析/故障予兆検知
ML実施結果画面
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 30
1. タイルをクリックして検出したトレンド異常の詳細を表示
2-2.活用事例 インフラログ分析/故障予兆検知
ML実施結果画面
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 31
1. タイルをクリックして検出したトレンド異常の詳細を表示
・5/26 15:20時点で
トレンド異常を検出
・異常スコア:99(非常に高い)
「ASA-3-106100」のタグ情報が
急激に増え始めた時点で障害を検出している。
この時点でWatcherによりトレンド異常検出の
通知が可能。
2-2.活用事例 インフラログ分析/故障予兆検知
検知した異常をダッシュボードで確認する
Copyright © Acroquest Technology Co., Ltd. All rights reserved.
32
1. VisualBuilderは複数インデックスのデータを可視化可能
2. 異常検知データは.ml-anomaly-*インデックスに含まれている。
3. 異常検知データをVisualBuilderの「Annotation」機能で可視化する
4. 赤いAnnotation(縦線)はMachine Learningでトレンド異常を検出し
たタイミング。この時点でWatcherにより通知が可能
タグ情報別ログ数の推移
急増の初期段階で
トレンド異常を検出している。
2-2.活用事例 インフラログ分析/故障予兆検知
3. まとめ
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 33
3. まとめ
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 34
1. Elastic MLは「以前とは違う」「他とは違う」を異常検知できる
2. ログ解析や従来の閾値判定では検出が難しい、
エラー急増の初期段階における異常検出ができる。
3. 自動でモデルが更新されるので保守コストが低い。
4. できることがシンプルなので、応用の幅が広い。
ログ異常検知ならたいていのユースケースに適用できる。
5. Kibana(VisualBuilder)との連携が便利
6. Watcherで異常をメールやSlackに通知するとさらに便利
7. 興味ある方は、ぜひ使ってみてください!
Copyright © Acroquest Technology Co., Ltd. All rights reserved. 35
ご清聴ありがとうございました。
Infrastructures Evolution

Contenu connexe

Tendances

RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみたRのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
Kazuya Wada
 

Tendances (20)

Elasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライドElasticsearchを使うときの注意点 公開用スライド
Elasticsearchを使うときの注意点 公開用スライド
 
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
 
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
Logstashを愛して5年、370ページを超えるガチ本を書いてしまった男の話.
 
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
 
各種データベースの特徴とパフォーマンス比較
各種データベースの特徴とパフォーマンス比較各種データベースの特徴とパフォーマンス比較
各種データベースの特徴とパフォーマンス比較
 
ゼロから始める転移学習
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習
 
MLflow + Kubeflow MLプラットフォーム事例 #sparktokyo
MLflow + Kubeflow MLプラットフォーム事例 #sparktokyoMLflow + Kubeflow MLプラットフォーム事例 #sparktokyo
MLflow + Kubeflow MLプラットフォーム事例 #sparktokyo
 
線形?非線形?
線形?非線形?線形?非線形?
線形?非線形?
 
ぐるなびが活用するElastic Cloud
ぐるなびが活用するElastic Cloudぐるなびが活用するElastic Cloud
ぐるなびが活用するElastic Cloud
 
PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門PlaySQLAlchemy: SQLAlchemy入門
PlaySQLAlchemy: SQLAlchemy入門
 
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
Kubernetesによる機械学習基盤、楽天での活用事例  覃子麟 (チンツーリン) /楽天株式会社Kubernetesによる機械学習基盤、楽天での活用事例  覃子麟 (チンツーリン) /楽天株式会社
Kubernetesによる機械学習基盤、楽天での活用事例 覃子麟 (チンツーリン) /楽天株式会社
 
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しようMicrosoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
 
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
競プロは社会の役に立たない+ベンチャー企業の話 (NPCA夏合宿OB講演).pdf
 
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
最近のKaggleに学ぶテーブルデータの特徴量エンジニアリング
 
Machine learning CI/CD with OSS
Machine learning CI/CD with OSSMachine learning CI/CD with OSS
Machine learning CI/CD with OSS
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
PostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラPostgreSQLの運用・監視にまつわるエトセトラ
PostgreSQLの運用・監視にまつわるエトセトラ
 
SolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみようSolrとElasticsearchを比べてみよう
SolrとElasticsearchを比べてみよう
 
RのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみたRのffとbigmemoryとRevoScaleRとを比較してみた
RのffとbigmemoryとRevoScaleRとを比較してみた
 
オントロジーとは?
オントロジーとは?オントロジーとは?
オントロジーとは?
 

Similaire à Elastic ML Introduction

Similaire à Elastic ML Introduction (20)

Elasticsearch勉強会_NLPQA.pptx
Elasticsearch勉強会_NLPQA.pptxElasticsearch勉強会_NLPQA.pptx
Elasticsearch勉強会_NLPQA.pptx
 
Elasticsearch workshop 23_sql
Elasticsearch workshop 23_sqlElasticsearch workshop 23_sql
Elasticsearch workshop 23_sql
 
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
AIの力で障害検知・解析をサポート!Loom(ログ解析ソリューション)のご紹介 - OpenStack最新情報セミナー 2017年7月
 
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用までPacketbeatの基礎から、IoTデバイス異常検知への応用まで
Packetbeatの基礎から、IoTデバイス異常検知への応用まで
 
LLM+LangChainで特許調査・分析に取り組んでみた
LLM+LangChainで特許調査・分析に取り組んでみたLLM+LangChainで特許調査・分析に取り組んでみた
LLM+LangChainで特許調査・分析に取り組んでみた
 
Ingest node scripting_deep_dive
Ingest node scripting_deep_diveIngest node scripting_deep_dive
Ingest node scripting_deep_dive
 
Searchable Snapshot でコスト削減
Searchable Snapshot でコスト削減Searchable Snapshot でコスト削減
Searchable Snapshot でコスト削減
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
 
ジャストシステムの形態素解析技術 その2 機械学習編
ジャストシステムの形態素解析技術 その2 機械学習編ジャストシステムの形態素解析技術 その2 機械学習編
ジャストシステムの形態素解析技術 その2 機械学習編
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
Microsoft AI セミナー - Microsoft AI Platform
Microsoft AI セミナー - Microsoft AI PlatformMicrosoft AI セミナー - Microsoft AI Platform
Microsoft AI セミナー - Microsoft AI Platform
 
IVS CTO Night & Day 2016 Tech Talk - AI
IVS CTO Night & Day 2016 Tech Talk - AIIVS CTO Night & Day 2016 Tech Talk - AI
IVS CTO Night & Day 2016 Tech Talk - AI
 
Learn, build, and scale with elastic - realizing great programming experience...
Learn, build, and scale with elastic - realizing great programming experience...Learn, build, and scale with elastic - realizing great programming experience...
Learn, build, and scale with elastic - realizing great programming experience...
 
全文検索入門
全文検索入門全文検索入門
全文検索入門
 
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
2020/11/19 Global AI on Tour - Toyama プログラマーのための機械学習入門
 
Apm enables python app observability
Apm enables python app observabilityApm enables python app observability
Apm enables python app observability
 
マイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karateマイクロサービスにおけるテスト自動化 with Karate
マイクロサービスにおけるテスト自動化 with Karate
 
Elasticsearchによるリモートワーク時代のセキュリティ対策
Elasticsearchによるリモートワーク時代のセキュリティ対策Elasticsearchによるリモートワーク時代のセキュリティ対策
Elasticsearchによるリモートワーク時代のセキュリティ対策
 
超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!超高速な機械学習を Oracle Database で実現!
超高速な機械学習を Oracle Database で実現!
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 

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
  • 6. Copyright © Acroquest Technology Co., Ltd. All rights reserved. 6 オフィスのコンセプトは、ヴィレッジ。
  • 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位のチームを表彰して賞金を授与する。
  • 9. 1. Twitterで「#エクストリーム社員旅行」と 呟くと、参加チームの位置を可視化する アプリを若手社員が開発 2. バックエンドはElasticsearch 3. 様々な経路で鹿児島指宿を目指す Copyright © Acroquest Technology Co., Ltd. All rights reserved. 9 台湾 4/13(金)
  • 11. 1. Elastic MLとは Copyright © Acroquest Technology Co., Ltd. All rights reserved. 11
  • 12. 1-1. Elasticのプロダクトページ(意訳) Copyright © Acroquest Technology Co., Ltd. All rights reserved. 12 1. ITサービスを運用するにあたり、複雑化するインフラを 「効果的に管理」するためには、様々なログデータの分析が必要。 2. しかし、複雑で高速に増加するログデータに対して単純な閾値判定 や、Dashboardの目視だけでは、問題の特定は困難です。 3. Elasticsearchの「Machine Learning」は、トレンドや周期性と いった、データの振る舞いを自動的かつリアルタイムにモデル化するこ とで、迅速な問題特定/原因分析を行うことが可能になります。
  • 13. 機能的に言うと Copyright © Acroquest Technology Co., Ltd. All rights reserved. 13
  • 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とは?
  • 20. 2. 活用事例 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 20
  • 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.活用事例 インフラログ分析/故障予兆検知
  • 30. ML実施結果画面 Copyright © Acroquest Technology Co., Ltd. All rights reserved. 30 1. タイルをクリックして検出したトレンド異常の詳細を表示 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.活用事例 インフラログ分析/故障予兆検知
  • 33. 3. まとめ Copyright © Acroquest Technology Co., Ltd. All rights reserved. 33
  • 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