JP1/IT Service Level Management

[目次][用語][索引][前へ][次へ]

3.1.2 外れ値検知によるふだんと異なるサービス性能の検知

外れ値検知は,監視項目ごとに監視します。また,複数の監視項目を組み合わせて監視することもできます。監視項目については「3.1.1 JP1/ITSLMの監視方法および監視対象の種類」を参照してください。

ここでは,外れ値検知について,概要,およびベースラインと上下限値の算出方法について説明します。

<この項の構成>
(1) 外れ値検知とは
(2) ベースラインと上下限値の算出方法
(3) 検知される基準
(4) 正常に戻ったと判断される基準
(5) 補足事項
(6) 関連項目

(1) 外れ値検知とは

外れ値検知は,監視対象サービスのサービス性能がふだんのサービス性能と大きく異なっている場合に,サービス性能の異常の予兆として検知する監視方法です。過去に蓄積したサービス性能から平均値を算出して,平均値と大きく異なる値を外れ値として検知します。なお,過去に蓄積されたサービス性能から算出した平均値をベースラインといいます。

外れ値検知では,ベースラインを基に上下に幅を持たせた値を上下限値として使用します。現在のサービス性能が上限値を上回ったか,または下限値を下回ったら外れ値として検知することで,現在のサービス性能がベースラインから大きく離れていないか,つまりふだんのサービス性能と異なっていないかを判断します。ベースラインおよび上下限値は,60秒ごとに更新されます。

外れ値検知でふだんと異なるサービス性能が検知された例を次の図に示します。

図3-5 外れ値検知でふだんと異なるサービス性能が検知された例

[図データ]

図では平均応答時間を監視しています。時間の経過に伴ってサービス性能の値が増加していき,上限値を上回ったため検知されました。

上下限値は,監視対象サービスのサービス性能がベースラインからどれだけ離れたら検知するかを示す,感度を設定することで決定されます。感度の設定によって,検知のされやすさが変化します。

また,外れ値検知では,複数の監視項目を組み合わせて監視することもできます。

複数の監視項目を組み合わせた外れ値検知では,監視項目の相関関係を考慮することで,サービス性能の異常の予兆検知の精度を高められます。組み合わせられる監視項目は,平均応答時間とスループットです。

監視項目に相関関係がある場合,1つの監視項目だけを見ると異常に見えても,相関関係を考慮すると異常ではないことがあります。例えば,平均応答時間が増加傾向であっても,原因が監視対象サービスの利用者の増加によるスループットの増加である場合には,平均応答時間の増加はシステムの負荷の増加による正常なサービス性能の変化と見なすこともあります。複数の監視項目を組み合わせた外れ値検知では,このような相関関係に基づいたサービス性能の変化は問題ないと判断し,検知しないことで,検知の精度を高められます。

複数の監視項目を組み合わせた外れ値検知でふだんと異なるサービス性能が検知された例を次の図に示します。

図3-6 複数の監視項目を組み合わせた外れ値検知でふだんと異なるサービス性能が検知された例

[図データ]

図のAのように,同じ時間に平均応答時間またはスループットのどちらか片方だけが異常な増加をした場合は,サービス性能の異常の予兆として検知されます。しかし,図のBのように,同じ時間に両方とも異常な増加をした場合は,相関関係が見られるため,正常だと判断され,検知されません。

複数の監視項目を組み合わせた外れ値検知では,2つのサービス性能の相関関係がベースラインとして算出されます。このベースラインの上限値を上回ったか,下限値を下回ったら,相関関係がないと見なされて,検知されます。

複数の監視項目を組み合わせた外れ値検知では,ベースラインおよび上下限値は,1時間ごとに更新されます。

外れ値検知で検知された場合,警告となって画面に表示されます。

画面に警告が表示された例を次の図に示します。

図3-7 画面に警告が表示された例(外れ値検知)

[図データ]

画面には,警告のアイコン,検出日時,警告の対象となったサービスグループの名称,サービスの名称などの情報が表示されます。サービス性能が連続して上限値を上回り続ける場合,または下限値を下回り続ける場合は,最初に検知された時点の警告だけが表示されます。表示された警告の前後のサービス性能はグラフで確認できます。

グラフを表示した例を次の図に示します。

図3-8 グラフを表示した例(外れ値検知)

[図データ]

グラフでは,上限値を上回ったか,または下限値を下回ったサービス性能を検知した時刻が警告のアイコンで,外れ値の原因の事象が発生したと推測される時刻が色付きの帯で表示されます。

なお,外れ値検知をするためには,[設定]画面で次の項目を設定する必要があります。

開始日数
サービス性能を何日分蓄積したら外れ値検知を開始するかを設定します。外れ値検知では,ベースラインを算出するに当たって,本番環境で稼働している監視対象サービスのサービス性能を蓄積する必要があります。蓄積した日数が1日以上あれば外れ値を検知できますが,蓄積日数がベースライン算出日数より少ない場合は,ベースラインの基となるデータが不足するため,実態に合わないベースラインとなるおそれがあります。そのため,開始日数にはベースライン算出日数以上の値を設定することを推奨します。
ベースライン算出日数
ベースラインの算出に使用するサービス性能について,蓄積した過去のサービス性能から何日分を使用するか,日数を設定します。
感度
ベースラインから上下限値までの幅を調整して,外れ値検知での検知のされやすさを設定します。感度は高・中・低から設定でき,感度を高くすると上下限値の幅が狭くなって検知されやすくなり,感度を低くすると上下限値の幅が広くなって検知されにくくなります。上下限値の幅は,高は中の1/2倍,低は中の3/2倍となります。
感度を調整して,上下限値の幅を広くした場合と狭くした場合の例を次の図に示します。

図3-9 上下限値の幅を広くした場合と狭くした場合の例

[図データ]
この図では平均応答時間を監視しています。左のグラフと右のグラフのサービス性能は同じですが,左のグラフのように上下限値の幅が狭い場合は,右のグラフのように上下限値の幅が広い場合に比べて,外れ値となるサービス性能が多くなります。

(2) ベースラインと上下限値の算出方法

外れ値の判定基準となるベースラインは次のように算出されます。

  1. 現在時刻から1時間前までの期間で,監視対象サービスのスループットのサービス性能の平均(平均処理件数)が算出されます。
  2. 蓄積されたサービス性能(最大60日分)から,現在と同一時間帯の平均処理件数が現在の平均処理件数に近い日のサービス性能が選択されます。
  3. 選択された日のサービス性能から,現在時刻から1時間先までの平均値(ベースライン)が各監視項目について1分ごとに算出されます。

例えば,平日と休日で処理件数が大きく異なる監視対象サービスなど,同一時間帯でも日によってサービス性能に大きく差がある場合,平日と休日それぞれの過去のサービス性能を基にベースラインを算出することで,実態に合ったベースラインとなります。

60日分のサービス性能を蓄積した場合に,ベースラインの算出に使用する過去のサービス性能を平均処理件数の近い順に選択した例を次の図に示します。

図3-10 60日分のサービス性能を蓄積した場合に,ベースラインの算出に使用する過去のサービス性能を平均処理件数の近い順に選択した例

[図データ]

1時間前から現在時刻までの期間での平均処理件数と近い日のサービス性能が,過去に蓄積されたサービス性能から選択されます。図では,現在の平均処理件数が300件であるため,過去60日の中から平均処理件数が近い1日前や60日前のサービス性能が選択されています。2日前のサービス性能は,平均処理件数との差が大きいため選択されません。算出に使用するサービス性能は[設定]画面の[ベースライン算出日数]で指定した日数分だけ,過去に蓄積されたサービス性能から選択されます。

過去のサービス性能の選択には,次のような規則があります。

規則に従って,予兆検知設定の[ベースライン算出日数]で指定した日数の過去のサービス性能を選択するか,蓄積しているすべての日を選択し終わるまで過去のサービス性能が選択されます。過去のサービス性能の選択は,毎時0分ちょうどに実施されます。

ベースラインは1時間前から現在時刻までのサービス性能から算出するため,ベースラインの算出時に選択される過去のサービス性能が変更されてから,変更後の過去のサービス性能で算出したベースラインに完全に移行するまで1時間掛かります。それまでは,変更前のサービス性能と変更後のサービス性能が混在した状態でベースラインが算出されます。

外れ値検知は,1日分以上のサービス性能が蓄積されている状態であれば開始できます。ただし,サービス性能がベースライン算出日数分蓄積されるまでは,実態に合わないベースラインとなるおそれがあります。ベースラインを実態に近づけるため,ベースライン算出日数分のサービス性能が蓄積されている状態で外れ値検知を開始することを推奨します。

サービス性能を何日蓄積してから外れ値検知を開始するかは,[設定]画面の[開始日数]で指定します。

ベースライン算出日数と開始日数の関係を次の図に示します。

図3-11 ベースライン算出日数と開始日数の関係

[図データ]

ベースライン算出日数には15日を,開始日数には5日を設定しています。

この場合,JP1/ITSLMの稼働開始日から5日目に外れ値検知が開始されます。この時点で,蓄積した5日分の過去のサービス性能からベースラインが算出されますが,ベースライン算出日数よりも少ない日数で算出しているため,実態に合わないベースラインとなるおそれがあります。JP1/ITSLMの稼働開始日から15日目には,ベースライン算出日数分のサービス性能が蓄積されるため,ベースラインが最も実態に合った状態になります。

なお,複数の監視項目を組み合わせる場合,ベースラインの算出方法が一部異なります。

複数の監視項目を組み合わせた外れ値検知の場合は,スループットの平均(平均処理件数)から過去のサービス性能を選択したあと,選択した日から平均応答時間とスループットの平均的な相関関係を算出してベースラインを算出します。

ただし,検知に使用するベースラインが異なるため,通常の外れ値検知の外れ値と複数の監視項目を組み合わせた外れ値検知の外れ値では,次のように意味が異なります。

そのため,通常の外れ値検知では上限値を上回った外れ値となっても,複数の監視項目を組み合わせた外れ値検知では下限値を下回った外れ値となる場合や,通常の外れ値検知では下限値を下回った外れ値となっても,複数の監視項目を組み合わせた外れ値検知では上限値を上回った外れ値となる場合があります。

複数の監視項目を組み合わせた外れ値検知で外れ値が検知された例を次の図に示します。

図3-12 複数の監視項目を組み合わせた外れ値検知で外れ値が検知された例

[図データ]

図では平均応答時間とスループットを監視しています。監視項目同士のグラフ上でベースラインが算出され,その上限値を上回るか下限値を下回ると外れ値となり,監視項目同士に相関関係が無いと見なされます。

外れ値検知および複数の監視項目を組み合わせた外れ値検知の上下限値は,ベースラインを算出するときに選択された過去のサービス性能のばらつきと,検知のされやすさを調整する感度によって決定されます。

(3) 検知される基準

外れ値検知では,一過性の外れ値を検知することを防止するため,継続的に外れ値が発生した場合に検知されます。

検知される基準は,60秒間に測定したサービス性能の数と,JP1/ITSLM - Managerのシステム定義ファイル(jp1itslm.properties)中のoutlierRateプロパティの指定値によって変化します。outlierRateプロパティの値はすべての監視対象サービスの外れ値検知に適用されます。

システム定義ファイルを編集する場合は,「5.4.1 システム定義ファイルを編集する」を参照してください。

outlierRateプロパティの値と,外れ値検知の挙動の関係を次の表に示します。

表3-2 outlierRateプロパティの値と外れ値検知の挙動の関係

項番 outlierRateプロパティの値(n) 外れ値検知の挙動
1 1 1回でも上限値を上回った,または下限値を下回ったら検知されます。
60秒間で1回も上限値を上回ったり下限値を下回ったりしなければ正常に戻ったと判断されます。
2 2~98 60秒間でS×n/100(小数点以下切り上げ)回上限値を上回った,または下限値を下回ったら検知されます。
60秒間の超過がS×n/100(小数点以下切り上げ)回未満になったら正常に戻ったと判断されます。
3 99~100 60秒の間,常に上限値を上回り続けた,または下限値を下回り続けたら検知されます。
1回でも上下限値内になったら正常に戻ったと判断されます。
(凡例)
S:60秒間に測定したサービス性能の数
n:JP1/ITSLM - Managerのシステム定義ファイル(jp1itslm.properties)中のoutlierRateプロパティの値

なお,継続的な外れ値は,上限値に継続して外れ値が発生した場合と,下限値に継続して外れ値が発生した場合に分けて判定されます。上限値と下限値を超える外れ値が連続して発生しても,継続的な外れ値とはなりません。

また,次の場合のサービス性能は,上限値を上回った,または下限値を下回ったときも外れ値となりません。

これは,スループットが0件の場合は情報がないことを示すためです。ただし,スループット自体は値が0であれば処理件数0件というサービス性能であるため,値が0の場合も上限値を上回った,または下限値を下回ったときは外れ値となります。

このとき,平均応答時間とエラー率が外れ値とならなくても,その状態が平常の状態といえる場合もあるため,ベースラインを算出する基となる過去のサービス性能としては使用されます。

(4) 正常に戻ったと判断される基準

上限値を上回った,または下限値を下回った状態から回復したことを判断する基準は,60秒前から現在時刻までの期間のサービス性能のうち,上限値を上回った,または下限値を下回った件数がS×n/100(小数点以下切り上げ)件以下になった場合です。

Sは60秒間に測定したサービス性能の数,nはJP1/ITSLM - Managerのシステム定義ファイル(jp1itslm.properties)中のoutlierRateプロパティの指定値です。

システム定義ファイルを編集する場合は,「5.4.1 システム定義ファイルを編集する」を参照してください。

例えば,Sが60,nが10の場合,60秒間のサービス性能のうち上限値を上回った,または下限値を下回った件数が6件未満になったときに正常に回復したと判断されます。上限値と下限値は個別に判定され,両方が正常となった場合に回復したと判断されます。一時的にベースラインに近づいた値になっても,回復したとは判断されません。

状態の回復については,[ホーム]画面または[リアルタイム監視]画面で確認できます。[ホーム]画面の確認方法については「4.3.1 すべてのサービスグループの監視対象サービスの状況を確認する」を,リアルタイム画面の確認方法については,「4.3.2 特定のサービスグループの監視対象サービスの状況を確認する」を参照してください。

(5) 補足事項

(6) 関連項目