2010/11/19
1
アプリケーションサービス部	
岩永 義弘	
相関関係を用いた新監視システム
背景	
•  近年の傾向
–  システムの大規模化による管理ホスト数の増大
–  仮想化による複雑化
•  その影響
–  障害発生件数が増加
–  障害の原因調査にかかる時間が増加
–  監視システムのターゲット追加作業が増加
•  将来、障害対応に要するコストは大きくなる
2
新監視システムが目指すもの	
3
障害件数の減少	
原因調査の時間短縮	
運用負荷の低減	
•  障害の兆候を事前に検知できれば・・・
–  事前対策を施す → 障害の発生を予防
•  障害発生時にシステムが原因を提示してくれたら・・・
–  調査の手間が省ける
•  設定作業が不要になれば・・・
–  ホスト追加の度に発生する閾値の設定が不要
–  運用中の閾値変更も不要
着眼点	
•  連動して機能するリソース同士には相関がある
–  例えば
•  「前段ホストのトラフィック」と「後段ホストのCPU使用率」
•  並列に負荷分散された機器同士のリソース
4
前段ホストのトラフィック	
後段ホストのCPU使用率	
相関がある状態	
 相関が崩れた状態
検知の仕組み	
5
•  負荷の相関関係に着目	
平常時に成立する
負荷の相関関係を抽出
負荷の散布図 ⇒ 線形関係になっている	
 問題が発生したホスト名、リソースを知ることができる	
障害が起きると
学習した分布から外れる	
赤:平常時
青:障害発生時
モデル化と異常の判定	
•  学習対象
–  全てのリソースの組合わせで相関関係を抽出
–  相関のあるものだけを選び出し、モデル化
•  検知の方法
–  学習したモデルから大きく外れていたら異常と判定
–  通知しないケース
•  一瞬だけ相関が崩れた場合(スパイク)
•  相関の崩れた箇所が少ない場合
•  学習期間
–  2週間
–  平日と休日を分ける必要は無い
6
検知しないケース	
7
モデル化と異常の判定	
•  学習対象
–  全てのリソースの組合わせで相関関係を抽出
–  相関のあるものだけを選び出し、モデル化
•  検知の方法
–  学習したモデルから大きく外れていたら異常と判定
–  通知しないケース
•  一瞬だけ相関が崩れた場合(スパイク)
•  相関の崩れた箇所が少ない場合
•  学習期間
–  2週間
–  平日と休日を分ける必要は無い
8
障害検出事例(1)	
•  ホストが再起動を起こしたケース
–  該当ホストのCPU使用率に相関の崩れが集中
•  そのホストのCPU負荷だけが徐々に増加し、相関が崩れた
–  兆候を事前に検出
•  予防が可能な障害だった
9
送信サーバ群	
前段サーバ群
再起動!	
相関の崩れ
を検知
•  メールサービスの配送遅延障害
–  暗号化サーバのロードアベレージに相関の異常
–  大サイズファイルが添付されたメールを大量に受信
•  全体の負荷が上昇し、フル稼働状態
•  一方、暗号化処理が追いつかずロードアベレージだけが上がり続け
相関が崩れた
–  サービスレベルの低下を検出
•  影響を最小限にできていたはず	
障害検出事例(2)	
10
送信サーバ	
添付ファイル
暗号化サーバ	
MTA、フィルタ
100Mbps	
CPU使用率100%	
際限なく上昇!!
うまくいかないケース	
•  相関が大きく崩れていても障害になっていない
–  従来の閾値監視では、サービススペックに関わるデータ
を直接監視
–  必ずしも「相関の崩れた=障害発生」となるわけではない
–  現在対策を検討中	
11
今後の取り組み	
•  障害原因の提示
– 現段階では相関が崩れた場所を知らせるのみ
– 障害原因を推測するシステムに	
•  「相関の崩れ方」と「障害原因」をセットで学習
•  パターンマッチによって障害原因を提示
•  誤検知抑制にも効果が期待できる
12
まとめ	
•  負荷の相関関係を用いる
– 個々のリソースを監視するのではない
– データの組み合わせから不変関係をモデル化
•  障害の検知に成功
– 過負荷による再起動の兆候
– 局所的な負荷増加によるメール配送遅延
•  課題
– 誤判定の抑制
•  今後の取り組み	
– 障害原因の学習と提示
13
14
ご清聴ありがとうございました	
お問い合わせ先 IIJインフォメーションセンター
TEL:03-5205-4466 (9:30~17:30 土/日/祝日除く)
info@iij.ad.jp
http://www.iij.ad.jp/
15
backup slides
障害検知事例(3)	
16
•  ファイアウォールログ解析システム
•  CPU、トラフィックに相関の異常発生
–  特定顧客のログが急増
•  中継サーバの一部が局所的に過負荷になったケース
•  その他にも、新規顧客投入による負荷の変化も検知している
中継サーバ	
解析サーバ	
FWログ受けサーバ
ファイアウォール	
DB	
ファイアウォール
誤検知対策	
•  一瞬だけ相関が崩れたケース(スパイク)
–  アラートは不要
–  アラートの条件:一定時間、異常が継続すること
•  相関の崩れ方が少ないケース
–  例:一カ所のみ、わずかに相関関係が崩れている
–  サービスへの影響が小さいので通知しない
17
検知の仕組み	
•  相関の有無を判定
– ピアソンの積率相関係数	
18
一般に、 | r | > 0.8 のときに強い相関を持つ
⇒ この条件を使って、相関を持ったデータの組合わせを選び出す
相関係数	
•  強い相関を持つデータペアを選び出す
– fabs(相関係数) > 0.8
相関係数
検知の仕組み	
•  データの規格化
–  データによって取り得る値の散らばりが違う
•  ロードアベレージ : 0 ~ 10 程度の値をとる
•  トラフィック : 0 ~ 10,000 の値をとる
–  スケールの違うデータを公平に扱いたい
•  標準偏差で割る
•  フィッティング
–  Y = a X + b でフィッティング
•  データペアの関係を表す
–  a, b を学習する
•  学習期間:二週間	
21
フィッティング	
•  最小二乗法	
22
を	
データ集合	
でフィッティングするとき、	
フィッティングパラメータ a, b は下記の通り
フィッティング	
•  フィッティングの良し悪しを判定
– 上手くフィッティングできているものだけを選ぶ	
∑=
⎟
⎟
⎠
⎞
⎜
⎜
⎝
⎛ −
=
N
i i
i xx
1
2
2
σ
χ
NDF = 点の数 - パラメータ数
検知の仕組み	
•  異常度を計算
–  部分異常度
•  マハラノビス距離と等価
–  総合異常度
•  部分異常の平均値
•  10 σ を閾値に設定
–  異常の継続時間
•  「一瞬だけ相関が崩れたが直ちに元の正常な状態に戻る」
•  この場合、アラートは不必要
•  アラート送信条件:「相関の異常が15分以上継続している」	
24
データ i	
データ j	
dij	
フィッティングで
得た直線
Anomaly detection using correlations of load

More Related Content

PDF
Arduino and johnny-five, creating IoT device in easiest way
PDF
Node.js Tutorial at Hiroshima
PDF
Web Technology for Hardware Control (html5 conference 2015)
PPTX
Mongodb World 2014
PDF
http2 最速実装 v2
PPTX
JavaScript と Arduino でオリジナルデバイスを作ろう
PPTX
Anomaly Detection by Mean and Standard Deviation (LT at AQ)
Arduino and johnny-five, creating IoT device in easiest way
Node.js Tutorial at Hiroshima
Web Technology for Hardware Control (html5 conference 2015)
Mongodb World 2014
http2 最速実装 v2
JavaScript と Arduino でオリジナルデバイスを作ろう
Anomaly Detection by Mean and Standard Deviation (LT at AQ)
Ad

Anomaly detection using correlations of load