web 系システムからの特徴抽出とオンライン障害検知手法

25
Tokyo Research Laboratory © Copyright IBM Corporation 2003 Web 系系系系系系系系系系系系系系系系系系系系系 系系系 IBM 系系系系系系系 系系系 系系系系 系系系系系系系 系系系系系系系系系系系系 系系系系系系系系 2:

Upload: courtney

Post on 29-Jan-2016

29 views

Category:

Documents


1 download

DESCRIPTION

特別セッション2: システムプラットフォーム・インテリジェンス. Web 系システムからの特徴抽出とオンライン障害検知手法. IBM 東京基礎研究所 井手剛・鹿島久嗣. 話の構成. 研究の背景 論点の整理 Web 系システムのモデル化 問題設定 特徴抽出 異常の尺度 閾値の設定 実験 まとめ. 研究の背景 1/3 アプリケーション層での異常を「オートノミック」なやり方で検知したい. コンピュータシステムの障害検知、特にアプリ層の障害検知は難しい HW 自体が壊れることは少ないが、 SW の不調は頻繁に起こる 難しさの由来はどこにあるのだろう?. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Web 系システムからの特徴抽出とオンライン障害検知手法

Tokyo Research Laboratory

© Copyright IBM Corporation 2003

Web 系システムからの特徴抽出とオンライン障害検知手法

IBM 東京基礎研究所井手剛・鹿島久嗣

特別セッション2: システムプラットフォーム・インテリジェンス

Page 2: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 2

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

話の構成

研究の背景 論点の整理 Web 系システムのモデル化 問題設定 特徴抽出 異常の尺度 閾値の設定 実験 まとめ

Page 3: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 3

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

研究の背景 1/3アプリケーション層での異常を「オートノミック」なやり方で検知したい

コンピュータシステムの障害検知、特にアプリ層の障害検知は難しい HW 自体が壊れることは少ないが、 SW の不調は頻繁に起こる

難しさの由来はどこにあるのだろう? 自由度が大きい

複数の自由度が強く絡み合

う時間変動が激しい

Page 4: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 4

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

研究の背景 2/3コンピュータシステムの障害検知でありがちな想定

自由度が大きい

時間変動が激しい

複数の自由度が強く絡み合

「各端末にエージェントを仕込んで警報を出させればいい」 局所的に見てわかるのは自明な問題だけ(例:断線、プロセス停止)

「観測量を閾値と比べて、大小関係を見れば異常がわかる」 たとえば Web 系システムだと、トラフィックの時間的変動は猛烈

「ポリシーを蓄積してエキスパートシステムを作ればよい」 自由度の絡み合いにより、場合の数はほぼ無限大。

「応答時間やスループットを監視していれば障害がわかる」 冗長化構成になっているとそれも難しい(次ページ)。

Page 5: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 5

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

研究の背景 3/3冗長化されたシステム構成では更に問題は難しくなる

例: 3 層構造・ 2 重冗長の Web 系システムの潜在的障害 アプリケーションサーバーの一方が動作不全(プロセス自体は生きている)。 設計時の想定よりもはるかに低いトラフィックでシステムダウンが起こる可能性

1i

2i

3i

4i

HTTPWAS

DB

HTTP WAS

応答時間だけでは異常検知困難

Page 6: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 6

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

論点の整理主要な論点は 3 つある

そもそも何を観測すればいいか 部分部分の 1 点ではなく、何か部分同士の相関を取り込んだ量であるべき。

全体の振舞いをとらえるために、観測量からどういう特徴を抽出すればいいか

猛烈な時間変動に対し頑強な量であるべき システム全体の活動の縮図となるような量であるべき

抽出された特徴に対し、いかなる異常判定基準を課せばいいか オンラインで学習してくれるような仕組みであるべき 熟練者の技のようなものが不要で、普遍的な量が閾値であるべき

Page 7: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 7

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

Web 系システムのモデル化 1/3「サービス」の呼び出し回数を基本量として採用する

サービス (要求元、要求相手、ポート番号、アプリ

種) 二つの IP アドレスを含んでいることに注意。

サービス関連度 あるサービスが別のサービスを単位時間に何

度呼んだか 対数変換して対称化

サービス関連度行列とグラフ 一定時間おきに関連度行列が得られると考え

る 行列に対応して、サービスを頂点、サービス

関連度を辺の重みとするグラフを想像できる),,,(

),,,(

),,,(

),,,(

),,,(

),,,(

),,,(

),,,(

1233

1222

234311

234210

12239

12327

11314

11213

qpiis

qpiis

qpiis

qpiis

qpiis

qpiis

qpiis

qpiis

y

x

11s

xs 10s 9s

3s 4s

7s ys

1i

2i

3i

4i

1p 2pHTTP WAS

3pDB

1p 2pHTTP WAS

Page 8: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 8

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

Web 系システムのモデル化 2/3サービス呼び出しの時間変動の具体例と特徴

サービス呼び出し回数の時間変動は猛烈 数十分程度の範囲では自己回帰モデルは無理

サービス同士の相互関係が現象に本質的 各個のサービスを独立に解析することは許され

ない

サービス対の数はそれなりに多い 50 種のサービスがあれば 1000 以上のサービス

関連度。サービス関連度行列を眺めているだけでは何が起きているのか理解しがたい。 サービス 9 から 11 への呼び出し回

サービスの実例

回 /20 秒

Page 9: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 9

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

Web 系システムのモデル化 3/3サービス呼び出し回数をどう求めるか

それなりの技が必要だが、詳細省略。サービス関連度行列は所与とする。 IP パケット採取 + 推定アルゴリズム

• H. Kashima et al., “Network-based Problem Determination for Distributed Computer Systems,” ICDE 2005, to appear.

サーバーのポーリング + 推定アルゴリズム• M. Gupta et al., “Discovering Dynamic Dependencies in Enterprise Environments for

Problem Determination", Proceedings of 14th IFIP/IEEE Workshop on Distributed Systems: Operations and Management, 2003.

Dispatcher DB2

IHS WAS

IHS WAS

Browser

Host2

Host3

switch PCミラー

ポートD(t)

Host4Host1

D(t)D(t)

パケット採取によるシステム監視

Page 10: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 10

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

問題設定解かれるべき 3 つの問題がある。

個別の関連度の変化ではなく、システム全体の「バランスの崩れた」状態を検出したい。

問 2 (異常の尺度)

異常の尺度はどう定義すればいい?

問 3 (閾値設定)

その異常度にどう閾値を設ければいい?

問 1 (特徴抽出)系全体の動態をとらえることのできる特徴量は何?

やりたいこと 時系列にサービス関連度グラフが与えられる。 そのグラフ列から、教師データなしで、異常を検出したい

解かれるべき問題

Page 11: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 11

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

サービス活動度ベクトルの数学的定義:

問 1 (特徴抽出)への解答 1/3 各サービスの「活動度」を表す量を抽出する

時刻 t での関連度行列

「活動度」として解釈できる理由• 最大化のためには、例えば D12 大なら、u1 と u2 の重みも大きくなければならない。• 従って、もし s1 が活発に他者を呼んでいるなら、 s1 の重みは大きいはず。

数学的には下記の固有値方程式と同等

D は非負行列!

特徴量 = 関連度行列 D の主固有ベクトル

Page 12: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 12

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

問 1 (特徴抽出)への解答 2/3 サービス活動度ベクトルは、システムの動態の縮図である

システムのコントロールトークンの遷移強度が、サービス関連度に比例するとする 活動度ベクトルは、無限に時間が経過した後、行き着く先の状態を表す

NNN

N

N

DD

DDD

DDD

1

22221

11211

D

システムが、サービス s2 の上にコントロールトークンを持っている確率振幅

Nu

u

u

2

1

u

s1

s2

)()1( Dxx 運動方程式 定常状態

||)(||/)( xxuサービス関連度行列

サービス活動度ベクトル = システムの動態の要約

Page 13: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 13

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

問 1 (特徴抽出)への解答 3/3 数学的にも、 Perron-Frobenius の定理が解釈の一貫性を保障

Perron-Frobenius の定理のため

活動度ベクトルは、トラフィックの一様な変動に対し不変である

(正常時の)猛烈なトラフィック変動にある程度頑強

活動度ベクトルは正ベクトルである 負の活動度は出てこない、という意味で解釈の一貫性が保障される

活動度ベクトルに縮退はない 準位交差による見かけの不安定性に悩まされるこ

とはない

規格化された固有ベクトルであるため

Page 14: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 14

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

問題は、方向データ(規格化されたベクトル)の時系列からの異常検出問題に帰着された

computer system dependency matrix

Dtt-1

t -2

tt -1t -W t-2

...

activity vector

principaleigenvector...

問 2 (異常の尺度)

異常の尺度はどう定義すればいい?

問 3 (閾値設定)

その異常度にどう閾値を設ければいい?

問 1 (特徴抽出)系全体の動態をとらえることのできる特徴量は何?

Page 15: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 15

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

問 2 (異常の尺度)への解答 1/2 方向データについて最も自然な分布は von Mises-Fisher 分布である

vMF 分布=方向データの世界の「正規」分布 最大エントロピー原理 + 全確率保存 + ノルム 1 の拘束 = vMF 分布 ある極軸まわりの角度の揺らぎを記述

vMF 分布の下での最も自然な類似度尺度 = コサイン尺度 vMF 分布の Fisher kernel はコサイン尺度と一致

異常度の定義

• u (t) : 時刻 t での活動度ベクトル• r (t) : 時刻 t で定義された代表パターン

u(t)

r(t)

Page 16: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 16

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

問 2 (異常の尺度)への解答 2/2 過去の代表パターンは特異値分解により計算できる

過去の活動度の 1 次結合を考える。

係数 v は例えば下記の基準で求められる

これは下記の行列 U(t ) の SVD をすることと同じ

• U = [ u (t -1), u (t -2), …, u (t - W) ]• W : ウィンドウサイズ

結局 r (t ) は U(t ) の左特異ベクトルとして求まる

u(t)

r(t)

SVDt - 1

t - W

r (t)

Page 17: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 17

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

残る問題は、異常度に適切な閾値を与えること

問 2 (異常の尺度)

異常の尺度はどう定義すればいい?

問 3 (閾値設定)

その異常度にどう閾値を設ければいい?

問 1 (特徴抽出)系全体の動態をとらえることのできる特徴量は何?

Page 18: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 18

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

問 3 (閾値設定)への解答 1/3 異常度の確率分布モデルを作りたい

もし異常度 z のうまい確率モデルが立てられれば、閾値は比較的容易に設定できる。

なお、正規分布でフィットできる余地は全然ない。

活動度ベクトル u が vMF 分布に従うと考えるのはさほど悪くない仮定

正常時は、活動度ベクトルはおおむね安定している

thz

「これらは異常。なぜなら xx % の危険域を越えているから。」 urru Tp exp),|(

異常度 z(t ) の分布を、 vMF 分布から導いてみよう

Page 19: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 19

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

手順 u から角度変数に変数変換。 θ に対する周辺分布を出す。 θ と z の関係を利用して、 z に確率変数を変換

結果 z は、自由度 N-1 のカイ2乗分布に従う

• N : 活動度ベクトルの次元( i.e. サービスの数)

重要なステップ: 形式的な次元 N を「有効次元」 n で置き換え、これをフィッティングパラメターとみなす。

各自由度の挙動には一般に著しい不均一性が存在 それをならした時、「真の自由度」はいくらになるか、という問いに答えるのが

有効次元

問 3 (閾値設定)への解答 2/3 変数変換により z の分布を求め、「有効次元モデル」を導入する

u(t)

r(t)2

)(2

tz

Page 20: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 20

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

二つの未知パラメターがある

通常の最尤推定は困難: モーメント法でパラメター推定 カイ二乗分布のモーメントは単純な形をしている

未知パラメター n と∑ について陽に解ける

モーメントをオンラインで求めるのは容易

問 3 (閾値設定)への解答 3/3 確率モデルのオンラインパラメター推定法

2222

)1()(,)1()( nzzdzqznzzdzqz

「角分散」有効次元

Page 21: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 21

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

問 1~問 3 への解答の要約

危険域 , pc

“0.5%”

z の1次と2次のモーメント

D(t)

サービス関連度行列

活動度ベクトル

u(t) 異常度z(t)

z の確率分布

下記を満たす 閾値 zth を計算警告発報条件

異常を定義する(ほぼ唯一の)パラメター

c

z

pzdzq

th

)(

Page 22: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 22

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

実験 1/3 実験構成。 Web 系システムでソフトウェア障害を起こす

設定 3 層構造の比較的簡単な Web 系システムで実験 二つある WAS の双方で、二つのアプリケーションが走っている (“Trade” と “ Plant

s”) サービス関連度行列は 20秒おきに生成される 最も活動度の高いクラスターには 12個のサービスがある。このクラスターだけに注目。

ソフトウェア障害 “Trade” が、時刻 tA で機能不全になり、時刻 tB で回復 サーバープロセス自体は正常なので、 TCP 層以下の挙動は正常。

1i

2i

3i

4i

1p 2pHTTP WAS

3pDB

1p 2pHTTP WAS

負荷生成

Page 23: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 23

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

実験 2/3 異常度の確率モデルは実験をよく再現している

システムの正常動作時に、異常度 z を観測

約 1 時間にわたり z(t) を観測し、その頻度分布をプロット(下図)。

得られた z の標本から、確率分布を学習 1 次と 2 次のモーメントを求め、有効次元

と、角分散を計算• 結果: n = 4.6

サービスの数は N=12 であったので、有効次元はそれよりもずっと小さいことがわかる。

我々のカイ二乗分布は実験結果をよく再現している

分位点プロット(上図) n の代わりに N を使った場合全然ダメ

Page 24: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 24

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

実験 3/3 仕込んだバグをオンラインで検知してみる

活動度ベクトルの時間変化 正常時はおおむね安定している 明確に異常区間が可視化されている 単一のサービス (#11) に直接関係するバ

グが大規模な変化を引き起こしている

異常度の時間変化 障害区間の開始と終了に対応して、二つ

の明瞭なピークが出ている• 後者はオンライン学習がうまく行っている証拠

SVD を使った過去パターン抽出はノイズ除去に効果がある。

閾値のオンライン計算 動的に状況変化に対応している この場合、 pc=0.5% に設定すれば自動検

知ができる time [min]

Page 25: Web 系システムからの特徴抽出とオンライン障害検知手法

IBIS 2004 | 2004/11/08 |Page 25

Tokyo Research Laboratory

© Copyright IBM Corporation 2004

まとめ

コンピュータシステムの障害検知の問題を、高度に動的なグラフ時系列からの異常検知の問題として考えた。

いくつかの新しい技術を開発した。

サービス活動度ベクトル

(小さいベンチマークシステムでの話であるが)実システムでの有効性を確認した。

コサイン尺度に基づく異常尺度

有効次元モデル モーメント法によるオンライン更新則