JP2017072882A - アノマリ評価プログラム、アノマリ評価方法、および情報処理装置 - Google Patents

アノマリ評価プログラム、アノマリ評価方法、および情報処理装置 Download PDF

Info

Publication number
JP2017072882A
JP2017072882A JP2015197554A JP2015197554A JP2017072882A JP 2017072882 A JP2017072882 A JP 2017072882A JP 2015197554 A JP2015197554 A JP 2015197554A JP 2015197554 A JP2015197554 A JP 2015197554A JP 2017072882 A JP2017072882 A JP 2017072882A
Authority
JP
Japan
Prior art keywords
state
transition
unit
cluster
anomaly
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015197554A
Other languages
English (en)
Other versions
JP6652699B2 (ja
Inventor
洋明 石井
Hiroaki Ishii
洋明 石井
伸一 大村
Shinichi Omura
伸一 大村
正進 大岩
Masayuki Oiwa
正進 大岩
充昭 墨谷
Mitsuaki Sumitani
充昭 墨谷
慈郎 池上
Jiro Ikegami
慈郎 池上
理恵 竹内
Rie Takeuchi
理恵 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015197554A priority Critical patent/JP6652699B2/ja
Priority to US15/284,128 priority patent/US9753801B2/en
Publication of JP2017072882A publication Critical patent/JP2017072882A/ja
Application granted granted Critical
Publication of JP6652699B2 publication Critical patent/JP6652699B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/285Clustering or classification

Abstract

【課題】システムの異常状態の検出精度を向上させる。
【解決手段】情報処理装置10は、時系列に連続する複数の単位期間ごとの、管理対象のシステム1の状態を示す状態情報を、所定の条件でクラスタリングする。次に情報処理装置10は、クラスタリングにより生成された複数のクラスタそれぞれを状態の遷移元および遷移先とする。さらに情報処理装置10は、複数の単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、遷移元と遷移先との組ごとの、遷移元から遷移先へのシステム1の状態の遷移確率を示す、遷移確率行列2を生成する。そして情報処理装置10は、遷移確率行列2に基づいて、複数の単位期間のうちの第1の単位期間の状態情報に示される状態から、第1の単位期間よりも後の第2の単位期間の状態情報に示される状態への、システム1の状態の遷移が、アノマリか否かを判定する。
【選択図】図1

Description

本発明は、アノマリ評価プログラム、アノマリ評価方法、および情報処理装置に関する。
現在のICT(Information and Communication Technology)システム(以下、単にシステムと呼ぶ)は、サーバ・ストレージ装置・ネットワーク装置などの多数の装置を含む。またシステムには、システムの稼働状態を観測する観測装置も含まれる。観測装置は、システムが正常に稼働しているかどうかを判定するため、システムに含まれる多数の装置から膨大な時系列データを採取する。例えば観測装置は、各サーバのCPU(Central Processing Unit)やメモリの使用状況に関する情報を採取し、使用状況の時間変化をモニタにグラフで表示する。ただし、表示される項目が大量になると、運用管理者が目視で確認して、異常な状態の発生を認識するのは困難となる。
そこで、複雑なシステムにおいて、異常の種類・発生場所・原因を効率的に判断乃至支援する方法が考えられている。また、違反予兆条件を設定する際の作業負担を軽減する方法も考えられている。さらに機器状態を監視するための機器のセンサによって取得された多変量時系列データ内のアノマリを検出するための方法も考えられている。
国際公開第2012/090718号 国際公開第2012/067031号 特開2013−246818号公報
従来の観測装置は、例えば、単一測定項目ごとに閾値を超えるか否かを監視し、閾値を超えた場合に異常と判断する。しかし、システムの異常状態の中には、いずれの測定項目も閾値を超えないような異常(サイレント異常)がある。このような異常は、項目ごとの監視では検出が困難である。そのため、システムの異常状態を正しく検出できない場合がある。
1つの側面では、本発明は、システムの異常状態の検出精度を向上させることを目的とする。
1つの案では、コンピュータに、以下の処理を実行させるアノマリ評価プログラムが提供される。
コンピュータは、時系列に連続する複数の単位期間ごとの、管理対象のシステムの状態を示す状態情報を、所定の条件でクラスタリングする。次にコンピュータは、クラスタリングにより生成された複数のクラスタそれぞれを状態の遷移元および遷移先とし、複数の単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、該遷移元と該遷移先との組ごとの、該遷移元から該遷移先へのシステムの状態の遷移確率を示す、遷移確率行列を生成する。そしてコンピュータは、遷移確率行列に基づいて、複数の単位期間のうちの第1の単位期間の状態情報に示される状態から、第1の単位期間よりも後の第2の単位期間の状態情報に示される状態への、システムの状態の遷移が、アノマリか否かを判定する。
1態様によれば、システムの異常状態の検出精度が向上する。
第1の実施の形態に係る情報処理装置の構成例を示す図である。 第2の実施の形態のシステム構成例を示す図である。 観測装置のハードウェアの一構成例を示す図である。 観測装置の機能を示すブロック図である。 動作ログ記憶部に格納されている動作ログの一例を示す図である。 事前学習モードでの動作状態解析処理を示す図である。 統計量生成処理の一例を示すフローチャートである。 SDRの生成例を示す図である。 事前学習処理の一例を示すフローチャートである。 発生確率の算出例を示す図である。 遷移確率の算出例を示す図である。 学習結果の一例を示す図である。 定常性判定処理の手順を示すフローチャートである。 稼働診断モードでの動作状態解析処理を示す図である。 オンライン識別処理の一例を示すフローチャートである。 状態アノマリの第1の例を示す図である。 状態アノマリの第2の例を示す図である。 遷移確率行列を用いた発生確率の算出例を示す図である。 アノマリ判定処理の手順の一例を示すフローチャートである。 アノマリ発生状況の可視化の一例を示す図である。 アノマリスコアの可視化の一例を示す図である。 性能項目の可視化の一例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態では、情報処理装置が、システムの複数の項目間の値の時間変化の相関関係に基づいて、単位期間ごとに、システムの状態を示す相関情報を生成する。そして、情報処理装置は、複数の相関情報のクラスタリングを行う。このとき、「システムの状態」と「クラスタ」を同一視することができ、生成される相関情報がどのクラスタに属するかにより、システムの状態変化を的確に監視することができる。
図1は、第1の実施の形態に係る情報処理装置の構成例を示す図である。情報処理装置10は、管理対象のシステム1に、例えばネットワークを介して接続されている。システム1は、例えば、複数のサーバ、複数のストレージ装置を含むコンピュータシステムである。情報処理装置10は、システム1の動作状態を監視し、故障の予兆となるような異常な状態の発生を検出する。そのために情報処理装置10は、記憶部11と演算部12とを有する。
記憶部11は、システム1の状態を示す複数の項目の値の、単位期間ごとの時間変化を表す時系列データ11a,11b,・・・を記憶する。例えば情報処理装置10は、システム1を監視して、管理対象のシステムの状態を示す複数の項目(M1,M2,・・・,MN)の値の時系列データ11a,11b,・・・を、システム1から取得し、記憶部11に格納する。システム1の状態を示す複数の項目は、例えば、CPUの利用状況やメモリ利用状況などのシステム1の性能または負荷に関する項目である。
また記憶部11は、状態管理テーブル11−1を記憶する。状態管理テーブル11−1は、単位期間ごとの時系列データ11a,11b,・・・に基づいて算出された状態情報が登録される。状態情報は、例えば、複数の項目間の値の時間変化の相関を示す情報である。相関を示す状態情報は、例えば「0」または「1」の値を採る複数の要素を含むベクトルで表される。この場合、ベクトル内の各要素は、2つの項目の対に対応しており、項目の対の間に相関があれば値が「1」であり、相関がなければ値が「0」である。さらに状態管理テーブル11−1には、各状態情報が属するクラスタのクラスタIDが設定される。
演算部12は、時系列に連続する複数の単位期間ごとの、管理対象のシステム1の状態を示す状態情報を、所定の条件でクラスタリングする(ステップS1)。例えば演算部12は、類似度が所定の閾値以上の状態情報同士を、同じクラスタに帰属させる。この場合、あるクラスタに属する状態情報は、そのクラスタに属する他のすべての状態情報との間で、類似度が閾値以上であるようにする。演算部12は、各状態情報が属するクラスタの識別子(クラスタID)を、状態管理テーブル11−1に設定する。
次に演算部12は、クラスタリングにより生成された複数のクラスタそれぞれを状態の遷移元および遷移先とする。そして演算部12は、複数の単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、遷移元と遷移先との組ごとの、遷移元から遷移先へのシステム1の状態の遷移確率を示す、遷移確率行列2を生成する(ステップS2)。例えばある単位期間の状態情報がクラスタID「1」のクラスタに属していたものとする。この場合、図1に示した遷移確率行列2によれば、次の単位期間の状態情報は、クラスタID「1」のクラスタに属する確率が「60%」、クラスタID「2」のクラスタに属する確率が「10%」、クラスタID「3」のクラスタに属する確率が「20%」、クラスタID「4」のクラスタに属する確率が「10%」である。
次に、演算部12は、複数の単位期間の中から、アノマリの判定対象とする第1の単位期間と、第1の単位期間よりも後の第2の単位期間とを特定する。第1の単位期間と第2の単位期間とは、例えば時系列上で連続する単位期間である。そして演算部12は、遷移確率行列2に基づいて、第1の単位期間の状態情報に示される状態から、第2の単位期間の状態情報に示される状態への、システム1の状態の遷移が、アノマリか否かを判定する(ステップS3)。例えば演算部12は、新たに取得した時系列データに基づく状態情報のクラスタリングを行い、その状態情報が属するクラスタのクラスタIDを取得する。そして演算部12は、1つ前の単位期間における状態情報が属するクラスタから、最新の単位期間における状態情報が属するクラスタへの遷移確率が極めて低い場合、アノマリが発生したと判定する。例えば図1の例では、1つ前の単位期間における状態情報は、クラスタID「2」のクラスタに属している。最新の単位期間における状態情報をクラスタリングしたところ、その状態情報は、クラスタID「4」のクラスタに属すると判断されたものとする。遷移確率行列2によれば、クラスタID「2」のクラスタからクラスタID「4」のクラスタに遷移する確率は「0.0」である。すると、最新の状態情報にシステム1の状態は、異常な状態である可能性が高く、アノマリと判定される。
このような情報処理装置10によれば、システム1の状態の遷移状況に基づいて、異常状態の発生を検出できる。そのため、例えば、時系列データ11a,11b,・・・の各項目の値が閾値を超えていない場合でも、システム1が通常の状態から逸脱したことを検知できる。しかも状態の遷移状況に基づいてアノマリかどうかを判定することで、通常では起こりえない状態遷移が発生したことを検出できる。
例えばシステム1では、運用停止後に、かならずデータのバックアップを採るものとする。この場合、システム1は、通常であれば「運用状態(高負荷状態)」→「バックアップ実行状態」→「運用停止(低負荷)状態」と、状態が遷移する。ところが「運用状態」から「バックアップ実行状態」を経ずに「運用停止状態」に移行した場合、システム1に何らかの異常が生じたものと考えられる。ここで、「運用状態」、「バックアップ実行状態」、「運用停止状態」は、それぞれ負荷のかかる部分が異なり、各状態のときに生成される状態情報が属するクラスタも異なる。そのためシステム1の状態が、「運用状態」から「運用停止状態」に移行すると、情報処理装置10では、クラスタリングおよびアノマリ判定により、発生確率の低い状態遷移が生じたことを検出し、アノマリと判定することができる。
このように状態の遷移状況によってアノマリを検出できることで、異常状態の検出精度が向上する。なお、システム1がこれまでに発生していない状態になった場合、クラスタリングにより新たなクラスタが生成され、その状態を示す状態情報は新たに生成されたクラスタに属することとなる。このように新たなクラスタが生成されるような、発生確率の低い状態が発生した場合にも、アノマリとして検出してもよい。このように、様々なアノマリ検出方法を組み合わせて、異常状態の検出精度をより高めることができる。
演算部12は、アノマリ判定では、例えば時系列上で連続する2つの単位期間それぞれの状態情報が属するクラスタのクラスタIDを比較して、アノマリか否かを判定する。また演算部12は、アノマリ判定において、複数の単位期間を第1の単位期間(遷移前の単位期間)とすることもできる。この場合、演算部12は、複数の第1の単位期間のすべてより後の単位期間を、第2の単位期間(遷移後の単位期間)とする。
複数の単位期間を第1の単位期間とする場合、複数の第1の単位期間それぞれに応じた遷移確率が、アノマリ判定に用いられる。例えば演算部12は、複数の第1の単位期間それぞれについて、第1の単位期間の状態情報が属する第1のクラスタと、第2の単位期間の状態情報が属する第2のクラスタとの組に対応する遷移確率を、遷移確率行列2から取得する。
次に、演算部12は、複数の第1の単位期間それぞれに対応する遷移確率に基づいて、複数の第1の単位期間の状態情報それぞれに示される状態から、第2の単位期間の状態情報に示される状態へ、システム1の状態が遷移する可能性を示す評価値を算出する。そして演算部12は、評価値に基づいてアノマリか否かを判定する。このように複数の第1の単位期間に基づいて、第2の単位期間におけるシステム1の状態がアノマリか否かを判断することで、異常状態の検出精度を向上させることができる。評価値の算出では、例えば演算部12は、第1の単位期間と第2の単位期間との時間差が小さいほど、第1の単位期間に応じて取得した遷移確率に対して高い重み付けを行い、評価値を算出する。これにより、評価値の信頼性を高めることができる。
アノマリの検出例としては、例えば定常性からの逸脱をアノマリとして検出することもできる。その場合、演算部12は、例えば、複数の単位期間を包含する全期間の中から、全期間の少なくとも一部である第1の期間と、全期間の少なくとも一部であり、第1の期間とは異なる第2の期間とを特定する。例えば全期間を2分割した前半を第1の期間、後半を第2の期間とする。次に演算部12は、第1の期間に含まれる単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、遷移元と遷移先との組ごとの、遷移元から遷移先へのシステム1の状態の遷移確率を示す、第1の遷移確率行列を生成する。同様に演算部12は、第2の期間に含まれる単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、遷移元と遷移先との組ごとの、遷移元から遷移先へのシステム1の状態の遷移確率を示す、第2の遷移確率行列を生成する。そして演算部12は、第1の遷移確率行列と第2の遷移確率行列とに有意な差があるか否かにより、アノマリか否かを判定する。
例えば演算部12は、システム1が通常の状態では、第1の期間について生成した第1の遷移確率行列と、第2の期間について生成した第2の遷移確率行列とに、有意な差はないことが分かっている場合がある。遷移確率行列の生成対象となる期間が異なっても、同様の遷移確率行列が生成されることは、定常性があるということである。システム1が通常状態であれば定常性がある場合において、第1の遷移確率行列と第2の遷移確率行列との間に有意な差が生じていれば、定常性から逸脱している。定常性から逸脱している場合、システム1に異常が生じている可能性があるため、演算部12はアノマリであると判定する。このように、定常性からの逸脱に基づいてアノマリを検出できることで、異常な状態の検出精度がより向上する。
なお、演算部12は、例えば情報処理装置10が有するプロセッサにより実現することができる。また、記憶部11は、例えば情報処理装置10が有するメモリまたはストレージ装置により実現することができる。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。
図2は、第2の実施の形態のシステム構成例を示す図である。システム30は、ネットワーク20を介して観測装置100に接続されている。システム30は、サーバ、ストレージ装置、ネットワーク機器などの装置を含むICTシステムである。観測装置100は、システム30から動作状態を示す情報を取得し、取得した情報に基づいて、システム30の動作を監視する。
図3は、観測装置のハードウェアの一構成例を示す図である。観測装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、観測装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に必要な各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
ストレージ装置103は、内蔵した記憶媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、CRT(Cathode Ray Tube)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、観測装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置10も、図3に示した観測装置100と同様のハードウェアにより実現することができる。
観測装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。観測装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、観測装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また観測装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
このようなハードウェアの観測装置100により、システム30の状態が、ネットワーク20を介して観測される。
図4は、観測装置の機能を示すブロック図である。観測装置100は、動作情報収集部110、動作ログ記憶部120、統計量生成部130、事前学習部140、学習結果記憶部150、オンライン識別部160、定常性判定部170、アノマリ判定部180、および可視化部190を有する。
動作情報収集部110は、システム30内の装置から動作情報を収集する。例えば動作情報収集部110は、システム30内の各装置に対して、情報収集用のコマンド(sarコマンドなど)を送信する。すると、各装置から、動作情報が返答される。動作情報収集部110は、収集した動作情報を、動作ログ記憶部120に、動作ログとして格納する。動作情報収集部110による動作情報の収集方法は、「リアルタイム方式」と「バッチ方式」とが考えられる。「リアルタイム方式」は、システム30を構成する各装置からリアルタイムにデータを収集する方式である。「バッチ方式」は、システム30内のストレージ装置に蓄積された過去の動作情報を、そのストレージ装置から一括して入力する方式である。
動作ログ記憶部120は、システム30内の装置から収集された動作情報のログ(動作ログ)を記憶する。例えば、ストレージ装置103の記憶領域の一部が、動作ログ記憶部120として使用される。
統計量生成部130は、動作ログ記憶部120内の動作ログを解析し、多次元統計量(SDR:State Description Represen tations)を生成する。SDRとは、システムの動作に関する複数の項目から取得可能なすべての項目対の相関関係によって、システム30の状態を表す情報である。SDRは、単位期間ごとに生成される。
事前学習部140は、生成された時系列のSDRに基づいて、システム30の通常状態を表すSDRを学習する。例えば事前学習部140は、システム30が、どのようなSDRの状態になりやすいのかを解析する。また事前学習部140は、ある時間帯に、システム30が特定のSDRの状態にあるとき、次の時間帯に、システム30がどのようなSDRの状態に遷移しやすいのかを解析する。事前学習部140は、SDRを解析する場合、例えば単位期間ごとに生成したSDRをクラスタリングすることでクラスタを生成する。なお事前学習部140が行うクラスタリングは、蓄積されたSDRの類似度に基づく、静的類似度クラスタリングである。
事前学習部140は、同一クラスタに属するSDRで示される状態は、同一状態にあるとみなす。事前学習部140は、学習結果を、学習結果記憶部150に格納する。なお事前学習部140は、例えば観測装置100が事前学習モードで動作しているときに、処理を実行する。事前学習モードは、システム30の通常の状態を学習するためのモードである。
学習結果記憶部150は、事前学習による学習結果を記憶する。例えばメモリ102またはストレージ装置103の記憶領域の一部が、学習結果記憶部150として使用される。
オンライン識別部160は、リアルタイムに収集された、システム30の動作ログに基づくSDRが、事前に学習した学習結果に示されるどのクラスタに属するのかを識別する。なおオンライン識別部160は、リアルタイムに判別したSDRに基づいて、学習結果記憶部150内の学習結果を更新することもできる。なおオンライン識別部160は、例えば観測装置100が稼働診断モードで動作しているときに、処理を実行する。稼働診断モードは、システム30の状態が通常状態か否かを診断するためのモードである。
定常性判定部170は、学習結果を統計的に解析し、システム30の状態における定常性の有無を判定する。例えば定常性判定部170は、学習期間を複数に分割し、分割された細分化期間それぞれにおける特定の統計情報を比較し、有意な差が検出されなければ、その統計情報について定常性がある(期間の違いによっては変化しない)と判断する。
アノマリ判定部180は、事前学習による学習結果や、オンライン識別による識別結果、統計情報の定常性の有無などに基づいて、アノマリが発生したか否かを判定する。例えばアノマリ判定部180は、アノマリが発生したかどうかの判断指標(評価値)として、アノマリスコアを計算する。アノマリ判定部180は、アノマリスコアが所定値以上であれば、アノマリが発生したと判断する。
可視化部190は、アノマリの発生状況を、モニタ21などに表示する。例えば可視化部190は、アノマリ発生時刻をモニタに表示する。また可視化部190は、例えば、アノマリ発生時刻における、各性能項目の値の時間変化をモニタに表示する。
このような機能により、観測装置100は、システム30の動作状態を観測し、アノマリを自動で検出することができる。例えば事前学習において生成されているクラスタに属していないSDRが、稼働診断モードで発生する場合がある。このSDRは新たに生成したクラスタに属することとなる。新たなクラスタに属するSDRが発生したということは、システム30が、これまでの通常の状態から逸脱したことを示しており、異常な状態の可能性がある。そこで、観測装置100は、例えば、新たなクラスタが生成されたとき、アノマリが発生したと判断し、その旨をモニタに表示する。このように、アノマリの発生を可視化することで、管理者は、システム30が異常な状態になった可能性があることを容易に認識できる。
なお、図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図4に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
次に、システム30から収集され動作ログ記憶部120に記憶される動作ログについて説明する。
図5は、動作ログ記憶部に格納されている動作ログの一例を示す図である。動作ログ記憶部120には、複数の動作ログ121,122,・・・が格納されている。
例えば動作ログ121には、その動作ログ121を出力した装置が属するシステム30のシステム名、その装置の装置名、および動作ログ121の採取日時が設定されている。さらに、動作ログ121には、システム30の、単位期間(例えば10分)内の動作状態を示す性能項目に関する情報が含まれる。性能項目には、CPU利用状況に関する項目、スワップ動作に関する項目、iノードに関する項目、CPU実行待ち行列状況に関する項目、メモリ/スワップ状況に関する項目、ページングに関する項目などがある。性能項目に関する各情報は、例えば単位期間内の、その性能項目に関する数値の時間遷移である。
CPUの利用状況に関する性能項目には、例えば、CPUがディスクI/Oの待機によりアイドル状態であった時間の割合、CPUがユーザモード状態であった時間の割合、CPUがシステムモード状態であった時間の割合などがある。スワップ動作に関する性能項目には、例えば、1秒当たりのスワップインしたページ数、1秒当たりのスワップアウトしたページ数などがある。iノードに関する性能項目には、例えば、iノードの使用数などがある。CPU実行待ち行列状況に関する性能項目には、例えば実行待ちのプロセスキュー(待ち行列)の長さ(プロセス数)などがある。メモリ/スワップ状況に関する性能項目には、例えば、空きメモリサイズ、カーネルがバッファとして使用しているメモリサイズ、キャッシュとして使用されているメモリサイズ、メモリのスワップ領域として使用している記憶領域のサイズなどがある。ページングに関する性能項目としては、1秒当たりに発生したページフォルトの回数などがある。
動作情報は、システム30内に複数の装置があるとき、各装置から取得される。例えばシステム30内に複数のサーバがあれば、動作情報収集部110は、各サーバから、CPUがディスクI/Oの待機によりアイドル状態であった時間の割合などの性能項目を含む動作情報を取得する。
このような動作ログ121,122,・・・に基づいて、システム30の動作状態が解析される。観測装置100による動作状態の解析は、まず事前学習モードで実行される。そして事前学習モードによる学習結果生成後に、稼働診断モードが実行される。
まず事前学習モードにおける動作状態の解析処理について説明する。
図6は、事前学習モードでの動作状態解析処理を示す図である。まず、統計量生成部130が、動作ログ121,122,・・・に基づいて統計量生成処理を実行し、多次元統計量(SDR)41,42,・・・を生成する。1つのSDRは、特定の単位期間の動作ログに基づいて生成される。性能項目がN個(Nは2以上の整数)の場合、SDRは、N行N列の行列(相関行列)で表すことができる。行列内の各要素は、2つの性能項目間の相関関係の有無を表している。相関行列内の要素を、一列に並べ、SDRをベクトルで表すこともできる。生成された複数のSDR41,42,・・・は、それぞれ、対応する単位期間内でのシステム30の動作状態を表している。
生成された複数のSDR41,42,・・・に基づいて、事前学習部140により、システム30の動作状態の発生傾向や動作状態の変化傾向に関する事前学習が行われる。そして事前学習部140によって、学習結果151が生成され、学習結果記憶部150に格納される。学習結果151に基づいて、定常性判定部170で定常性の有無が判定される。
以下、図6に示す各処理を詳細に説明する。
図7は、統計量生成処理の一例を示すフローチャートである。以下、図7に示す処理をステップ番号に沿って説明する。
[ステップS101]統計量生成部130は、観測期間(例えば1月)内の複数の単位期間(例えば10分)のうち、未処理の単位期間を1つ選択する。
[ステップS102]統計量生成部130は、システム30に含まれる各装置の単位期間内の動作を示す動作ログに基づいて、単位期間内でのシステム30の各性能項目の時間変化を算出する。例えば統計量生成部130は、性能項目ごとに、システム30内の複数の装置それぞれの動作ログに示される数値(時系列データ)の時刻ごとの平均を採り、平均値の時間変化とする。
[ステップS103]統計量生成部130は、複数の性能項目から、2つの性能項目を選択した組み合わせをすべて生成し、性能項目の組み合わせごとに、相関係数を算出する。性能項目数がNの場合、性能項目の組み合わせの数は、「{N×(N−1)}/2」個である。すなわち、「{N×(N−1)}/2」個の相関係数が生成される。
相関係数とは、2つの変数の関連性の度合いを示す統計的指標である。相関係数は、「−1」から「1」の間の実数値であり、「1」に近いほど正の相関があり、「−1」に近いほど負の相関がある。「0」に近い場合、相関が弱い。統計量生成部130は、性能項目の組み合わせごとに求めた各相関係数の絶対値を求め、絶対値が閾値以上の場合、相関を示す値(相関値)を「1」とし、絶対値が閾値未満であれば、相関値を「0」とする。すなわち、負の相関であっても、相関があれば相関値は「1」となる。このように、相関係数を「1」または「0」の相関値に置き換えることで、以後のクラスタリングなどの処理の計算量を減らすことができる。
[ステップS104]統計量生成部130は、性能項目の対ごとに得られた相関値を、行列の要素として配置することで、相関行列を生成する。性能項目数をNとすると、相関行列はN行N列である。複数の性能項目それぞれが、相関行列の行と列とに対応付けられる。相関行列の各要素には、その要素の行に対応する性能項目と列に対応する性能項目との相関値が設定される。得られる相関行列は対称行列となる。
[ステップS105]統計量生成部130は、相関行列からSDRを生成する。例えば統計量生成部130は、相関行列の各要素を一列に並べて、多次元ベクトルに変換する。「{N×(N−1)}/2」個の相関値が存在するため、SDRを多次元ベクトルで表した場合、「{N×(N−1)}/2」次元のベクトルとなる。変換により得られた多次元ベクトルがSDRとなる。
[ステップS106]統計量生成部130は、すべての単位期間について処理を行ったか否かを判断する。すべての単位期間についての処理が完了していれば、統計量生成処理が終了する。未処理の単位期間があれば、処理がステップS101に進められる。
このようにして、観測期間内の単位期間ごとのSDRが得られる。
図8は、SDRの生成例を示す図である。N個の性能項目があるとき、2つずつの組み合わせごとの相関係数が算出され、相関行列51が生成される。例えば、性能項目M1と性能項目M2との相関係数が、相関行列51の第1行・第2列の要素および第2行・第1列の要素として設定されている。
相関行列51の各要素の相関係数は、絶対値が所定の閾値以上か否かにより、粗視化される。図8の例では、相関係数の絶対値が「0.5」以上であれば相関値「1」、相関係数の絶対値が「0.5」未満であれば相関値「0」としている。これにより、「0」または「1」にデジタル化された相関行列52が生成される。
そして、相関行列52の各要素が一列に並べ替えられ、SDRが生成される。なお、同じ性能項目の組み合わせに対応する要素は、一方の要素のみがSDRに含まれる。例えば統計量生成部130は、相関行列52内の第a行・第b列(aは1以上の整数、bはa+1以上の整数)の要素を一列に並べて、SDRを生成する。
このようなSDRが、観測期間内の単位期間ごとに生成される。
次に、事前学習処理について詳細に説明する。
図9は、事前学習処理の一例を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS111]事前学習部140は、n個(nは1以上の整数)のSDRがあるとき、SDRの集合S={x1,x2,・・・,xn}を統計量生成部130から取得する。
事前学習部140は、ステップS112以降の処理により、SDRのクラスタリングを行う。クラスタリング手法としては、k-means法、階層的クラスタリング法、スペクトラルクラスタリング法などを用いることができる。第2の実施の形態では、生成されるクラスタがシステム30の状態を適切に表すことができるようなクラスタリング手法を用いる。第2の実施の形態に適用するクラスタリング手法を、「類似度クラスタリング」と呼ぶこととする。
以下、類似度クラスタリングの手順を説明する。
[ステップS112]事前学習部140は、集合Sに属するSDR間の類似度を計算する。類似度としては、例えばジャッカード(Jaccard)係数を用いることができる。ジャッカード係数を類似度とする場合、任意のx,y∈Sに対して、類似度J(x,y)は以下の式で定義される。
J(x,y)=Bit(x∩y)/Bit(x∪y) ・・・(1)
Bit()関数は、ベクトルの「1」の数を数える関数である。「x∩y」は、xのSDRのベクトルとyのSDRのベクトルとの要素ごとの論理積である。例えばx=(1,0,0,1)、y=(0,1,0,1)のとき、「x∩y=(0,0,0,1)」となる。「x∪y」は、xのSDRのベクトルとyのSDRのベクトルとの要素ごとの論理和である。例えばx=(1,0,0,1)、y=(0,1,0,1)のとき、「x∪y=(1,1,0,1)」となる。類似度の値が大きいほど、比較された2つのSDR(SDRペア)が類似していることを示す。
[ステップS113]事前学習部140は、類似度が所定の閾値th以上のSDRペア間の関係を、類似関係にあるとする。すなわち、以下の式を満たすSDRペアについて、類似関係があると判断する。
x,y∈S,x〜y ⇔ J(x,y)≧th ・・・(2)
[ステップS114]事前学習部140は、集合Sに属するSDRのうち、類似関係にある相手を最も多く有するSDRを、中心核S1*に決定する。
[ステップS115]事前学習部140は、中心核S1*を基準とするクラスタCを決定する。例えば事前学習部140は、中心核S1*を元に、順序付き類似集合Sim(S1*)を生成する。類似集合Sim(S1*)は、以下のように定義される。
Sim(S1*)={∀Si∈S|J(S1*,Si)≧th} ・・・(3)
類似集合Sim(S1*)内の要素の順序は、類似度による降順である。すなわち、類似集合Sim(S1*)の要素の先頭は、中心核S1*である。類似集合Sim(S1*)に含まれる要素数をm(mは1以上の整数)とすると、類似集合Sim(S1*)は、以下のように表すことができる。
Sim(S1*)={s1=S1*,s2,・・・,sm} ・・・(4)
事前学習部140は、類似集合Sim(S1*)に含まれるSDRのうち、互いに類似関係を有するSDRの集合により、クラスタCを生成する。互いに類似関係を有するSDRの数がk(kは1以上の整数)のとき、クラスタCは以下の式で表される。
C={s1,s2,・・・,sk} ・・・(5)
ここで、クラスタC内の任意の2つのSDRをsi,sjとしたとき、常に類似度J(si,sj)≧thが成り立つ。
なお、第2の実施の形態では、生成したクラスタに属するSDR数が「1」になることを許容する。すなわち、集合S内に中心核S1*と類似関係にある他のSDRが存在しない場合、中心核S1*のみを要素とするクラスタが生成される。
事前学習部140は、生成したクラスタCにクラスタIDを付与し、メモリ102に記憶する。例えば、最初に生成したクラスタCのクラスタIDを「1」、その後、クラスタを生成するごとに、生成したクラスタのクラスタIDを2,3,・・・とする。
[ステップS116]事前学習部140は、集合Sから、ステップS115で作成したクラスタCに属するSDRを除外する(集合S=S−C)。
[ステップS117]事前学習部140は、集合Sが空集合になったか否かを判断する。集合Sが空集合であれば、処理がステップS118に進められる。集合Sに少なくとも1つのSDRが含まれていれば、処理がステップS114に進められる。
[ステップS118]事前学習部140は、基本とする期間を複数に分割して得られる時間帯ごとに、生成した各クラスタに属するSDRの発生確率を算出する。例えば基本とする期間を1日(24時間)とし、1日分の動作ログに基づいて、K個(Kは1以上の整数)のSDRが生成されたものとする。このとき1日分のK個の動作ログの採取時刻を、動作ログの時刻が早い順にT1,T2,・・・TKとする。
事前学習部140は、観測期間内の各日の時刻T1に対応するSDR間で比較し、時刻T1に出現するSDRが属するクラスタの発生確率を算出する。事前学習部140は、同様に時刻T2,・・・TKそれぞれについて、クラスタの発生確率を算出する。これにより、1日の特定の時間帯において、システム30がどのようなクラスタの状態になりやすいのかが分かる。
[ステップS119]事前学習部140は、クラスタ間の遷移確率行列を生成する。遷移確率行列は、システム30の状態を示すSDRが、あるクラスタから別のクラスタに遷移する確率を示す行列である。
事前学習部140は、例えば、SDRが属するクラスタのクラスタIDを、そのSDRの生成元となった動作ログの採取時刻に基づいて時系列に並べる。次に、事前学習部140は、隣接するクラスタIDの対を抽出し、時系列で前のクラスタIDを遷移元、時系列で後のクラスタIDを遷移先とする。遷移元と遷移先とを示すクラスタIDの対の発生回数を計数する。そして、同じ遷移元からの発生回数の総数に対する、各遷移先の発生回数の割合を、そのクラスタIDの対に示す遷移の遷移確率とする。事前学習部140は、各クラスタIDの対に対応する遷移確率を行列の要素として配置して、遷移確率行列を生成する。
[ステップS120]事前学習部140は、学習結果151を、学習結果記憶部150に格納する。学習結果151には、発生確率を示す情報、遷移確率行列、および各クラスタに属するSDRの集合に関する情報が含まれる。
このようにして、発生確率と遷移確率行列とが生成される。
図10は、発生確率の算出例を示す図である。例えば事前学習部140は、1日の時間帯ごとのシステム30の状態を示すクラスタIDを、クラスタID管理表61に設定する。クラスタID管理表61には、1日をK個の時間帯に分割して得られる時間帯の終了する時刻に対応付けて、各日における該当時間帯内でのシステム30の状態を示すクラスタIDが設定されている。事前学習部140は、観測期間内の各日の時刻T1に設定されたクラスタIDを抽出し、各クラスタIDの出現頻度(出現した回数)を計数する。これにより、時刻T1におけるクラスタIDの頻度分布が得られる。
各クラスタIDの頻度を、時刻T1に設定されたクラスタIDの総数で除算すれば、各クラスタIDの発生確率となる。例えば観測期間が30日であれば、各クラスタIDの頻度を30で除算することで、発生確率が得られる。その結果、時刻T1におけるクラスタIDの確率分布が得られる。事前学習部140は、同様にして、他の時刻T2,・・・,TKの確率分布も算出する。
図11は、遷移確率の算出例を示す図である。例えば事前学習部140は、クラスタID管理表61から、クラスタIDが「i」の日時(何日目のどの時刻か)を特定する。事前学習部140は、該当する日時の次の時刻のクラスタIDをすべて抽出する。事前学習部140は、抽出したクラスタIDそれぞれについて発生確率を計算する。クラスタの総数がM(Mは1以上の整数)の場合、クラスタID「i」のクラスタから、すべてのクラスタID「1,2,・・・,j,・・・,M」それぞれへの遷移確率「D1,i,D2,i,・・・,Dj,i,・・・,DM,i」が算出される。
このような遷移確率の計算が、すべてのクラスタIDそれぞれを遷移前のクラスタIDとする場合について計算される。その結果、遷移前と遷移後とのすべてのクラスタIDの組み合わせについて、遷移確率が計算される。そして、計算した遷移確率を行列の要素とすることで、遷移確率行列が生成される。
以上のような事前学習により、学習結果151が生成される。
図12は、学習結果の一例を示す図である。学習結果151には、例えば発生確率情報151a、遷移確率行列151b、およびクラスタ情報151cが含まれる。発生確率情報151aには、時刻ごとに、該当時刻におけるクラスタIDごとの発生確率が設定される。
遷移確率行列151bは、遷移元のクラスタのクラスタIDが列に対応付けられ、遷移先のクラスタのクラスタIDが行に対応付けられている。遷移確率行列151bにおける列と行の交わる位置の要素として、その列のクラスタIDが遷移元であり、その行のクラスタIDが遷移先である場合の遷移確率が設定されている。
クラスタ情報151cには、クラスタIDに対応付けて、そのクラスタIDに示されるクラスタに属するSDRの集合が設定されている。各SDRには、システム30がそのSDRに示される状態になった日時が設定されている。
このような学習結果に基づいて、統計的な性質が判定される。統計的な性質は、発生確率や遷移確率の定常性の有無である。定常性とは、期間が異なっても確率分布が変化しないことである。
図13は、定常性判定処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS131]定常性判定部170は、事前学習期間Ltrainを2分割する。定常性判定部170は、2分割で得られた分割期間を、LA,LBとする。
[ステップS132]定常性判定部170は、発生確率情報151aに基づき、事前学習期間Ltrainおよび分割期間LA,LBそれぞれについて、クラスタIDの発生確率分布を生成する。
[ステップS133]定常性判定部170は、3つの期間から2つずつの組(3通り)を生成し、組となった2つの期間の発生確率分布の間に、有意な差が存在するか否かを検定する。検定方法としては、適合度検定(χ二乗検定)、Kolmogorov-Smirnov検定などを用いることができる。適合度検定を用いる場合、比較する2つの発生確率分布の一方を期待値、他方を観測値として統計量「χ二乗」を計算する。χ二乗の値が所定値以上の場合、有意な差があると判断できる。
[ステップS134]定常性判定部170は、3つの期間の間に有意な差があるか否かを判断する。例えば定常性判定部170は、3通りの期間の組み合わせのうち、少なくとも1つの組み合わせにおいて、発生確率分布に有意な差が認められる場合、有意な差があると判断する。有意な差がある場合、処理がステップS135に進められる。有意な差がない場合、処理がステップS136に進められる。
[ステップS135]定常性判定部170は、発生確率分布の定常性(P−定常性)が存在しないと判断し、処理をステップS137に進める。
[ステップS136]定常性判定部170は、P−定常性が存在すると判断する。
[ステップS137]定常性判定部170は、3つの各期間について、クラスタID間の遷移確率行列を生成する。
[ステップS138]定常性判定部170は、3つの期間から2つずつの組(3通り)を生成し、組となった2つの期間の遷移確率行列の間に、有意な差が存在するか否かを検定する。
[ステップS139]定常性判定部170は、3つの期間の間に有意な差があるか否かを判断する。例えば定常性判定部170は、3通りの期間の組み合わせのうち、少なくとも1つの組み合わせにおいて、遷移確率行列に有意な差が認められる場合、有意な差があると判断する。有意な差がある場合、処理がステップS140に進められる。有意な差がない場合、処理がステップS141に進められる。
[ステップS140]定常性判定部170は、遷移確率行列の定常性(T−定常性)が存在しないと判断する。その後、処理がステップS142に進められる。
[ステップS141]定常性判定部170は、T−定常性が存在すると判断する。その後、処理がステップS143に進められる。
[ステップS142]定常性判定部170は、T―定常性がない場合は、アノマリ判定処理を適用するのに適さないものと判断し、処理を終了する。
[ステップS143]定常性判定部170は、T−定常性がある場合、P−定常性の判定結果により、処理を分岐させる。P−定常性がない場合、処理がステップS144に進められる。P−定常性がある場合、処理がステップS145に進められる。
[ステップS144]定常性判定部170は、T−定常性はあるもののP−定常性がない場合、アノマリ判定の動作モードを「非周期モード」に設定し、処理を終了する。
[ステップS145]定常性判定部170は、T−定常性とP−定常性との両方がある場合、アノマリ判定の動作モードを「通常モード」に設定し、処理を終了する。
定常性の判定により、P−定常性とT−定常性との有無が分かる。P−定常性とT−定常性との有無により、学習結果の統計的な信頼性が判断できる。例えば、P−定常性があれば、発生確率情報151aの統計的信頼性が高い。その場合、発生確率情報151aを用いて、以後のシステム30の状態を示すSDRが属するクラスタの発生確率の定常性からの逸脱を検出できる。また、T−定常性があれば、遷移確率行列151bの統計的信頼性が高い。その場合、遷移確率行列151bを用いて、以後のシステム30の状態を示すSDRが属するクラスタの遷移確率の定常性からの逸脱を検出できる。
学習後の定常性からの逸脱は、観測装置100を稼働診断モードで動作させることにより検出できる。以下、稼働診断モードにおける観測装置100の処理を詳細に説明する。
図14は、稼働診断モードでの動作状態解析処理を示す図である。稼働診断モードでは、システム30からリアルタイム方式により、動作ログ121a,122a,・・・が収集される。そして動作ログ121a,122a,・・・を取得するごとに、統計量生成部130により、SDR41a,42a,・・・が生成される。
オンライン識別部160は、事前学習で得られた学習結果151に基づいて、オンライン識別処理を行う。オンライン識別処理では、稼働監視中の新規のSDRに対し、動的類似度クラスタリングが行われる。動的類似度クラスタリングでは、SDRが生成されるごとに、SDRが属するクラスタが判断される。オンライン学習モードであれば、判断したクラスタリングの結果に基づいて、学習結果151が更新される。
その後、事前学習モードと同様に、定常性判定部170による定常性判定が行われる。このとき定常性判定部170は、事前学習モードで判定した定常性の判定結果と、稼働診断モードで判定した定常性の判定結果とを、アノマリ判定部180に送信する。
アノマリ判定部180は、学習結果151、オンライン識別部160による識別結果、および定常性判定部170による定常性判定結果に基づいて、アノマリの発生の有無を判定する。そしてアノマリの発生状況などを示す情報が、可視化部190により可視化される。
次に、オンライン識別処理について詳細に説明する。
図15は、オンライン識別処理の一例を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。
[ステップS201]オンライン識別部160は、クラスタを1つ選択する。
[ステップS202]オンライン識別部160は、選択したクラスタの代表和と代表積とを算出する。
例えば事前学習で、以下のクラスタが得られたとする。
train={C1,C2,・・・,Cn} ・・・(6)
各クラスタ∀Ciについての代表和Si:+と代表積Si:Xとを、以下のように定義する。
∀Ci∈Ctrain,∀Sk∈Ci,Si:+=∪kk,Si:X=∩kk ・・・(7)
代表和は、クラスタ内のSDRの要素ごとのビット値の論理和である。すなわち代表和は、いずれか1つのSDRにおいて「1」の要素については「1」、すべてのSDRにおいて「0」の要素は「0」としたベクトルである。代表積は、クラスタ内のSDRの要素ごとのビット値の論理積である。すなわち代表積は、クラスタ内のすべてのSDRにおいて「1」の要素については「1」、いずれか1つのSDRにおいて「0」の要素は「0」としたベクトルである。
[ステップS203]オンライン識別部160は、代表和および代表積のそれぞれと、新規に生成されたSDRとを比較する。例えばオンライン識別部160は、新規に入力されたSDRをSxとする。このときオンライン識別部160は、Sxに対して、C1,C2,・・・,Cnのいずれかに属するかどうかの判定を、代表和と代表積とを用いて、以下の計算により高速に実施する。
x∈Ci ⇔ ∃Ci∈Ctrain,(Sx⊂Si:+)&(Sx⊃Si:X) ・・・(8)
式(8)において、「Sx⊂Si:+」は、新たなSDRのベクトルにおいて「1」となっている要素は、クラスタCiの代表和においても「1」となっていることを示す。「Sx⊃Si:X」は、クラスタCiの代表積で「1」となっている要素は、新たなSDRのベクトルにおいても「1」となっていることを示す。新たなSDRが「Sx⊂Si:+」と「Sx⊃Si:X」との両方を満たす場合、そのSDRはクラスタCiに属するものと判断できる。このような計算により、ビットベクトルの比較を2回行うだけで、新たなSDRがどのクラスタに属するのかを判定できる。
なお新たなSDR(Sx)が、クラスタCiとの間で式(8)の関係を満たさない場合であっても、SDR(Sx)とクラスタCiに属するすべてのSDRとの間で、類似度J(si,sj)≧thが成り立つ場合もあり得る。そこでオンライン識別部160は、式(8)による判定において、新たなSDRが属するクラスタが見つからなかった場合、例えば以下の式で属するクラスタを判定する。
J((Si:+∪Sx),(Si:X∩Sx))≧th ・・・(9)
新たなSDRに対して、式(8)を満たさなくても式(9)を満たすクラスタCiがあれば、新たなSDRはそのクラスタCiに属していると判断できる。
[ステップS204]オンライン識別部160は、新たなSDRが、選択したクラスタに属するか否かを判断する。属する場合、処理がステップS205に進められる。属していない場合、処理がステップS206に進められる。
[ステップS205]オンライン識別部160は、新たなSDRが、選択中のクラスタに属するものとして、そのSDRに、選択中のクラスタのクラスタIDを付与する。その後、処理がステップS209に進められる。
[ステップS206]オンライン識別部160は、未選択のクラスタがあるか否かを判断する。未選択のクラスタがあれば、処理がステップS201に進められる。すべてのクラスタが選択済みであれば、処理がステップS207に進められる。
[ステップS207]オンライン識別部160は、新たなSDRが既存のいずれのクラスタにも属さない場合、オンライン識別部160は、以下のような新しいクラスタを生成する。
n+1={Sx} ・・・(10)
[ステップS208]オンライン識別部160は、新たに生成したクラスタに基づいて、発生確率情報151a(図12参照)と遷移確率行列151b(図12参照)とを拡張する。具体的にはオンライン識別部208は、発生確率情報151aに対して、クラスタIDの欄を1つ増やす。またオンライン識別部160は、遷移確率行列151bに対して、遷移元クラスタIDの列を1つ追加し、遷移先クラスタIDの行を1つ追加する。
[ステップS209]オンライン識別部160は、オンライン学習モードか否かを判断する。オンライン学習モードであれば、処理がステップS210に進められる。オンライン学習モードでなければ、処理が終了する。
[ステップS210]オンライン識別部160は、発生確率情報151aにおける時刻ごとの発生確率分布と遷移確率行列151b内の要素の値とを更新する。その後、処理が終了する。
このようなオンライン識別により、SDRが生成されるごとに、そのSDRを含めたクラスタリングが可能となる。
次に、アノマリ判定処理について詳細に説明する。第2の実施の形態では、アノマリ判定として、「状態アノマリ」、「時系列アノマリ」、「定常性アノマリ」の有無を判定する。
「状態アノマリ」は、新規にクラスタが生成されたこと(新規の状態が発生)、または発生確率の少ないクラスタに属するSDRが生成されたこと(稀な状態が発生)を示すアノマリである。状態アノマリは、発生確率情報151aと、オンライン識別部160による識別結果とに基づいて判定できる。
図16は、状態アノマリの第1の例を示す図である。例えば事前学習において、複数のクラスタ71〜73が生成されていたものとする。なお、図16中、クラスタ71〜73内の点は、各クラスタに属するSDRを示している。
その後、稼働診断モードでのオンライン識別により、まず、新たに生成されたSDRが、既存のクラスタ71〜73のいずれかに属するか否かが判断される。いずれのクラスタにも属さなければ、新たなクラスタ74が生成され、新規のSDRは、そのクラスタ74に属するものと判定される。
このように、新たなクラスタ74が生成された場合、アノマリ判定部180は、状態アノマリが発生したものと判断する。
また、アノマリ判定部180は、新規のSDRが既存のクラスタに属する場合でも、そのSDRの生成元となる動作ログの採取時刻において、そのSDRが属するクラスタについてのクラスタID発生確率が所定の閾値以下であれば、状態アノマリとする。
図17は、状態アノマリの第2の例を示す図である。例えば、稼働診断モードにおいて、2015年4月27日の11:00に動作ログ81を採取したものとする。この動作ログ81には、同日の10:50〜11:00までの各性能項目の値についての時系列データである。この動作ログ81に基づいて、動作ログ81採取時のシステム30の状態を示すSDRが生成される。オンライン識別によりこのSDRが属するクラスタを判別したところ、クラスタID「12」の既存のクラスタに属すると判定されたものとする。
この場合、アノマリ判定部180は、発生確率情報151aを参照し、時刻「11:00」のクラスタID「12」の発生確率P(12,11:00)を取得する。その発生確率の値が所定の閾値以下であれば、アノマリ判定部180は、状態アノマリが発生したと判定する。
図16、図17に示したような状態アノマリの判定を実施するために、アノマリ判定部180は、状態アノマリスコアを計算する。状態アノマリスコアは、以下の式で表される。
Ase(id)=N(F(Eval(P(id,t)))) ・・・(11)
式(11)において、P(id,t)は、時刻tにおける「id」に示されるクラスタIDの発生確率である。Eval(x)は、確率評価関数である。F(x)は、フィルタ関数であり、Eval関数の結果を強調するなどの変換を行う関数である。N(x)は、規格化関数であり、アノマリの値を0〜1に収める働きをする。
以下に、状態アノマリスコアの計算式の具体例を示す。
<状態アノマリスコア(第1の例)>
P(id,t)=0の場合、Ase(id)=1 ・・・(12)
P(id,t)≠0の場合、
・Eval(x)=1/P(id,t) ・・・(13)
・F(x)=if(x>10) then 1 else 0 ・・・(14)
・N(x)=x ・・・(15)
式(12)は、新規のSDRが属するクラスタについて、そのSDRのオンライン識別前におけるそのクラスタのクラスタIDに対する発生確率が「0」の場合である。この場合、状態アノマリスコアを最大値「1」にすることで、状態アノマリの発生が表される。
式(13)は、発生確率が小さいほど、確率評価関数の値が大きくなるような式である。そして式(14)では、確率評価関数の値が閾値「10」より大きければフィルタ関数の値を「1」、そうでなければフィルタ関数の値を「0」としている。この例では、フィルタ関数の値が「1」または「0」であり、すでに0〜1に収まっている。そのため、式(15)の規格化関数ではなにもせず、フィルタ関数の値がそのまま出力される。
<状態アノマリスコア(第2の例)>
P(id,t)=0の場合、Ase(id)=1 ・・・(16)
P(id,t)≠0の場合、
・Eval(x)=1/P(id,t) ・・・(17)
・F(x)=ln(x) ・・・(18)
・N(x)=x ・・・(19)
第2の例における式(16)、(17)、(19)は、それぞれ第1の例の式(12)、(13)、(15)と同じである。式(18)のln(x)は自然対数を表している。
<状態アノマリスコア(第3の例)>
P(id,t)=0の場合、Ase(id)=1 ・・・(20)
P(id,t)≠0の場合、
・Eval(x)=Rank(P(id,t)) ・・・(21)
・F(x)=x ・・・(22)
・N(x)=x/IDmax ・・・(23)
第3の例における式(20)は、第1の例の式(12)と同じである。式(21)におけるRank(x)は、存在するクラスタIDそれぞれの発生確率を、値の大きい順でソートしたときの、クラスタID「id」の発生確率の順位である。例えば、クラスタID=1〜3について、発生確率がP(1,t)=0.1、P(2,t)=0.7、P(3,t)=0.2であるものとする。このとき、Rank(P(1,t))=3、Rank(P(2,t))=1、Rank(P(3,t))=2となる。式(22)に示すフィルタ関数では何もせず、入力された値がそのまま出力される。式(23)の「IDmax」は、クラスタIDの最大値である。クラスタID=1〜3であればIDmax=3であり、N(x)=x/3である。新規に生成されたSDRが属するクラスタのクラスタIDが「1」(P(1,t)=0.1、Rank(P(1,t))=3)の場合、状態アノマリスコアは以下の通りとなる。
Ase(1)=Rank(P(1,t))/IDmax=3/3=1 ・・・(24)
上記のいずれかの計算式により状態アノマリスコアを算出できる。そして状態アノマリスコアが所定値以上であれば、状態アノマリが発生していると判断される。
次に、時系列アノマリについて詳細に説明する。時系列アノマリは、遷移確率行列151bに基づいて判定できる。
例えば,時刻t0−1における各クラスタに属するSDRの発生頻度が得られているものとする。このとき、時刻t0における各クラスタに属するSDRの発生頻度は、以下の式で表される。
Figure 2017072882
ここで、Φt0-1(Si)は、クラスタIDが「i」(i=1,2,・・・,M)のクラスタに属するSDRの、時刻t0−1における発生確率である。Φt0(Si)は、クラスタIDが「i」のクラスタに属するSDRの、時刻t0における発生確率である。
式(25)を簡素化して、以下のように表すことができる。
Φt0=TΦt0-1 ・・・(26)
Φt0は、Φt0=(Φt0(S1),Φt0(S2),・・・,Φt0(SM))の列ベクトルである。Φt0-1は、Φt0-1=(Φt0-1(S1),Φt0-1(S2),・・・,Φt0-1(SM))の列ベクトルである。Tは、遷移確率行列である。
例えば、t=1からt=nまでの各時刻における、各クラスタに属するSDRの発生確率は、以下の通りとなる。
Φ1=TΦ0
Φ2=TΦ1

Φn=TΦn-1 ・・・(27)
すると、任意の時刻における各クラスタに属するSDRの発生確率は、遷移確率行列Tを用いて、以下のように表すことができる。
Φn=TnΦ0 ・・・(28)
式(28)を用いれば、任意の時刻における各クラスタに属するSDRの発生確率について、その時刻の過去の複数の時刻の発生確率分布それぞれから計算できる。
図18は、遷移確率行列を用いた発生確率の算出例を示す図である。例えば時刻t=t0において収集した動作ログから生成したSDRが、クラスタID「1」のクラスタに属すると判定された場合を想定する。この場合、アノマリ判定部180は、過去の数回分の動作ログによるSDRが属するクラスタに基づいて、時刻t=t0における、各クラスタに属するSDRの発生確率を計算する。
図18の例では、3回前の動作ログ(時刻:t0−3)から生成したSDRは、クラスタID「4」に属している。2回前の動作ログ(時刻:t0−2)から生成したSDRは、クラスタID「1」に属している。1回前の動作ログ(時刻:t0−1)から生成したSDRは、クラスタID「3」に属している。
アノマリ判定部180は、時刻t0−3におけるSDRの発生確率Φt0-3について、クラスタID「4」のクラスタの発生確率を「1」、その他のクラスタの発生確率を「0」として、ベクトルで表す。そしてアノマリ判定部180は、発生確率Φt0-3に対して、遷移確率行列Tを左から3回かける。これにより、現在の時刻t0における、各クラスタに属するSDRの発生確率Φ3が得られる。
同様にアノマリ判定部180は、時刻t0−2におけるSDRの発生確率Φt0-2について、クラスタID「1」のクラスタの発生確率を「1」、その他のクラスタの発生確率を「0」として、ベクトルで表す。そしてアノマリ判定部180は、発生確率Φt0-2に対して、遷移確率行列Tを左から2回かける。これにより、現在の時刻t0における、各クラスタに属するSDRの発生確率Φ2が得られる。
さらにアノマリ判定部180は、時刻t0−1におけるSDRの発生確率Φt0-1について、クラスタID「3」のクラスタの発生確率を「1」、その他のクラスタの発生確率を「0」として、ベクトルで表す。そしてアノマリ判定部180は、発生確率Φt0-1に対して、遷移確率行列Tを左から1回かける。これにより、現在の時刻t0における、各クラスタに属するSDRの発生確率Φ1が得られる。
このように、現在の時刻t0における、各クラスタに属するSDRの発生確率が3通り算出される。これらの発生確率を用いて、時系列アノマリスコアが計算される。
現在から「τ×Δt」(τ=1,2,・・・,τmax)だけ遡った時点から、クラスタID「id」の遷移確率行列を用いて計算した発生確率を、Φ1(id),Φ2(id),…,Φτmax(id)とする。なお、Δtは、例えば動作ログの取得間隔である。このとき時系列アノマリスコアは、例えば以下の式で計算できる。
Ass(id)=N(F(Eval(Φ1(id),Φ2(id),…,Φτmax(id)))) ・・・(29)
ここで「Eval(x1,x2, …xτmax)」は、遷移確率評価関数である。F(x)は、遷移確率評価関数の結果を強調するためのフィルタ関数である。N(x)は、アノマリ値を0〜1に収めるための規格化関数である。具体的には、以下のような計算式で時系列アノマリスコアを計算できる。
Eval(x1,…,xτmax)=A1×Rank(x1)+A2×Rank(x2)+…+Aτmax×Rank(xτmax) ・・・(30)
F(x)=x ・・・(31)
N(x)=x/(τmax×IDmax) ・・・(32)
式(30)のA1,・・・,Aτmaxは、重みを示す定数である。例えばA1=1,A2=1/2,A3=1/3,・・・,Aτmax=1/τmaxである。このように重み付けをすることで、現在に近いほど高い重み付けとなり、過去に遡るほど低い重み付けとなる。これにより、現在に近い時点の状態に基づく発生確率ほど時系列アノマリスコアに対する影響度が高くなる。現在に近い時点の状態に基づく発生確率の方が、現在から遠い時点の状態に基づく発生確率よりも信頼性が高い。そのため、このような重み付けを行うことで、信頼性の高い時系列アノマリスコアを計算できる。
式(30)のRank(x)は、xの値で降順にソートしたidの順位である。式(30)を式(29)に適用すると、例えば「Rank(x1)」は「Rank(Φ1(id))」となる。「Rank(Φ1(id))」は、「Φ1(id),Φ2(id),・・・,Φτmax(id)」を、その値によって降順にソートしたときの「Φ1(id)」の順位である。式(31)は、入力値をそのまま出力する関数である。式(32)の「IDmax」は、クラスタIDの最大値である。
このような計算式により、時系列アノマリを計算することができる。
なお、アノマリ判定部180は、状態アノマリスコアと時系列アノマリスコアとを統合したアノマリスコア(状態・時系列アノマリスコア)を計算することもできる。状態・時系列アノマリスコアは、時系列アノマリスコアを拡張して、例えば以下の式で表される。
Ass(id)=N(F(Eval(Φ0(id),Φ1(id),Φ2(id),…,Φτmax(id)))) ・・・(33)
式(33)の「Φ0(id)」は、発生確率情報151aに示されている、現在の時刻におけるクラスタID「id」の発生確率「P(id,t)」である。「Eval(x0,x1,x2, …xτmax)」は、評価関数である。F(x)は、評価関数の結果を強調するためのフィルタ関数である。N(x)は、アノマリ値を0〜1に収めるための規格化関数である。
このように、現在の時刻の発生確率P(id,t)を含め、「τmax+1」個の時点それぞれから算出した発生確率に基づいて、状態・時系列アノマリスコアを計算できる。
次に、アノマリ判定処理の手順について説明する。
図19は、アノマリ判定処理の手順の一例を示すフローチャートである。以下、図19に示す処理をステップ番号に沿って説明する。
[ステップS221]アノマリ判定部180は、定常性判定部170から直近とその前との定常性判定結果を取得する。定常性判定結果には、例えばT−定常性の有無、P−定常性の有無、アノマリ判定の適用が不適かどうか、動作モードが非周期モードなのか通常モードなのかの情報が含まれる。
[ステップS222]アノマリ判定部180は、直近の定常性判定結果に基づいて、アノマリ判定の適用が適切か否かを判断する。アノマリ判定の適用が適切であれば、処理がステップS223に進められる。アノマリ判定の適用が不適であれば、アノマリ判定処理が終了する。
[ステップS223]アノマリ判定部180は、直近の定常性判定結果に基づいて、動作モードが通常モードか否かを判定する。通常モードであれば、処理がステップS224に進められる。非周期モードであれば、処理がステップS226に進められる。
[ステップS224]アノマリ判定部180は、発生確率情報151aに基づいて、状態アノマリスコアを計算する。
[ステップS225]アノマリ判定部180は、状態アノマリスコアが所定値以上か否かを判断する。所定値以上であれば、処理がステップS226に進められる。所定値未満であれば、処理がステップS227に進められる。
[ステップS226]アノマリ判定部180は、状態アノマリが発生していると判定する。
[ステップS227]アノマリ判定部180は、遷移確率行列151bに基づいて、時系列アノマリスコアを計算する。
[ステップS228]アノマリ判定部180は、時系列アノマリスコアが所定値以上か否かを判断する。所定値以上であれば、処理がステップS229に進められる。所定値未満であれば、処理がステップS230に進められる。
[ステップS229]アノマリ判定部180は、時系列アノマリが発生していると判定する。
[ステップS230]アノマリ判定部180は、定常性から逸脱したか否かを判断する。例えば、T−定常性またはP−定常性について、前回の定常性判定において定常性が存在していたのに、今回の定常性判定において定常性が存在しないと判断された場合、定常性から逸脱したと判断する。定常性から逸脱した場合、処理がステップS231に進められる。定常性から逸脱していない場合、アノマリ判定処理が終了する。
[ステップS231]アノマリ判定部180は、定常性アノマリが発生していると判定する。
このようにして、システム30の状態を表すSDRが、どのクラスタに属するのかによって、アノマリの検出が可能となる。アノマリの検出状況は、可視化部190によって、モニタ21に表示される。
図20は、アノマリ発生状況の可視化の一例を示す図である。図20の例では、生成されたSDRが属するクラスタのクラスタIDを、システム30の状態としている。可視化画面82には、状態遷移表示部82aと状態分布表示部82bとが設けられている。
状態遷移表示部82aには、システム30の状態を示すSDRの属するクラスタのクラスタIDの時間遷移が折れ線グラフで示されている。図20の例では、クラスタID「1」の状態が継続していたが、4月27日の12時前に、一度だけクラスタID「12」のクラスタに属するSDRが生成されている。
状態分布表示部82bには、状態を示すクラスタIDの発生頻度が、棒グラフで示されている。図20の例では、クラスタID「1」のクラスタに属するSDRが400回以上生成されているのに対し、クラスタID「12」のクラスタに属するSDRが1回だけ生成されている。
このような、SDRが属するクラスタのクラスタIDの遷移状況や発生頻度がアノマリであるかどうかは、アノマリスコアによって判定できる。可視化部190は、例えばアノマリスコアの時間遷移を表示して、アノマリの発生の有無を可視化する。
図21は、アノマリスコアの可視化の一例を示す図である。可視化画面83には、アノマリスコア表示部83a、相関を失った項目表示部83b、および項目値表示部83cが設けられている。
アノマリスコア表示部83aには、アノマリスコア(状態アノマリまたは時系列アノマリ)の値の時間遷移が折れ線グラフで表されている。図21の例では、アノマリスコアが、4月27日の12時前に一度だけ高い値となっている。このグラフから、4月27日の12時前に、アノマリが発生したことが理解できる。
相関を失った項目表示部83bには、観測期間に対応付けて、以前は相関が存在したが、その期間において相関がなくなった項目対(第1の項目と第2の項目)が表示されている。
項目値表示部83cには、相関を失った項目対の2つの項目それぞれについての値の時間変化が、折れ線グラフで示されている。値の変化を比較することで、相関が失われている状況を、管理者が把握できる。
また可視化部190は、複数の性能項目それぞれの値の変化を画面表示することもできる。
図22は、性能項目の可視化の一例を示す図である。図22の例では、可視化画面84内に、複数の性能項目表示部84a,84b,84c,84d,・・・が設けられている。性能項目表示部84a,84b,84c,84d,・・・それぞれには、項目の値の時間変化が示されている。
図20〜図22に示したように可視化を行うことで、システム30の動作状況を容易に把握することができ、アノマリの発生の有無も容易に認識できる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 システム
2 遷移確率行列
10 情報処理装置
11 記憶部
11a,11b,・・・ 時系列データ
11−1 状態管理テーブル
12 演算部

Claims (7)

  1. コンピュータに、
    時系列に連続する複数の単位期間ごとの、管理対象のシステムの状態を示す状態情報を、所定の条件でクラスタリングし、
    クラスタリングにより生成された複数のクラスタそれぞれを状態の遷移元および遷移先とし、前記複数の単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、該遷移元と該遷移先との組ごとの、該遷移元から該遷移先への前記システムの状態の遷移確率を示す、遷移確率行列を生成し、
    前記遷移確率行列に基づいて、前記複数の単位期間のうちの第1の単位期間の状態情報に示される状態から、前記第1の単位期間よりも後の第2の単位期間の状態情報に示される状態への、前記システムの状態の遷移が、アノマリか否かを判定する、
    処理を実行させるアノマリ評価プログラム。
  2. 前記判定では、前記複数の単位期間を前記第1の単位期間とし、複数の前記第1の単位期間それぞれの状態情報に示される状態から、複数の前記第1の単位期間のすべてより後の前記第2の単位期間の状態情報に示される状態への、前記システムの状態の遷移が、アノマリか否かを判定する、
    請求項1記載のアノマリ評価プログラム。
  3. 前記判定では、複数の前記第1の単位期間それぞれについて、前記第1の単位期間の状態情報が属する第1のクラスタと、前記第2の単位期間の状態情報が属する第2のクラスタとの組に対応する遷移確率を、前記遷移確率行列から取得し、複数の前記第1の単位期間それぞれに応じて取得した遷移確率に基づいて、複数の前記第1の単位期間の状態情報それぞれに示される状態から、前記第2の単位期間の状態情報に示される状態へ、前記システムの状態が遷移する可能性を示す評価値を算出し、該評価値に基づいてアノマリか否かを判定する、
    請求項2記載のアノマリ評価プログラム。
  4. 前記評価値の算出では、前記第1の単位期間と前記第2の単位期間との時間差が小さいほど、前記第1の単位期間に応じて取得した遷移確率に対して高い重み付けを行い、前記評価値を算出する、
    請求項3記載のアノマリ評価プログラム。
  5. コンピュータに、
    時系列に連続する複数の単位期間ごとの、管理対象のシステムの状態を示す状態情報を、所定の条件でクラスタリングし、
    前記複数の単位期間を包含する全期間の中から、前記全期間の少なくとも一部である第1の期間と、前記全期間の少なくとも一部であり、前記第1の期間とは異なる第2の期間とを特定し、
    クラスタリングにより生成された複数のクラスタそれぞれを状態の遷移元および遷移先とし、前記第1の期間に含まれる単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、該遷移元と該遷移先との組ごとの、該遷移元から該遷移先への前記システムの状態の遷移確率を示す、第1の遷移確率行列を生成し、
    クラスタリングにより生成された複数のクラスタそれぞれを状態の遷移元および遷移先とし、前記第2の期間に含まれる単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、該遷移元と該遷移先との組ごとの、該遷移元から該遷移先への前記システムの状態の遷移確率を示す、第2の遷移確率行列を生成し、
    前記第1の遷移確率行列と前記第2の遷移確率行列とに有意な差があるか否かにより、アノマリか否かを判定する、
    処理を実行させるアノマリ評価プログラム。
  6. コンピュータが、
    時系列に連続する複数の単位期間ごとの、管理対象のシステムの状態を示す状態情報を、所定の条件でクラスタリングし、
    クラスタリングにより生成された複数のクラスタそれぞれを状態の遷移元および遷移先とし、前記複数の単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、該遷移元と該遷移先との組ごとの、該遷移元から該遷移先への前記システムの状態の遷移確率を示す、遷移確率行列を生成し、
    前記遷移確率行列に基づいて、前記複数の単位期間のうちの第1の単位期間の状態情報に示される状態から、前記第1の単位期間よりも後の第2の単位期間の状態情報に示される状態への、前記システムの状態の遷移が、アノマリか否かを判定する、
    アノマリ評価方法。
  7. 時系列に連続する複数の単位期間ごとの、管理対象のシステムの状態を示す状態情報を記憶する記憶部と、
    前記複数の単位期間ごとの状態情報を所定の条件でクラスタリングし、クラスタリングにより生成された複数のクラスタそれぞれを状態の遷移元および遷移先とし、前記複数の単位期間それぞれの状態情報が属するクラスタの時間変化に基づいて、該遷移元と該遷移先との組ごとの、該遷移元から該遷移先への前記システムの状態の遷移確率を示す、遷移確率行列を生成し、前記遷移確率行列に基づいて、前記複数の単位期間のうちの第1の単位期間の状態情報に示される状態から、前記第1の単位期間よりも後の第2の単位期間の状態情報に示される状態への、前記システムの状態の遷移が、アノマリか否かを判定する演算部と、
    を有する情報処理装置。
JP2015197554A 2015-10-05 2015-10-05 アノマリ評価プログラム、アノマリ評価方法、および情報処理装置 Expired - Fee Related JP6652699B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015197554A JP6652699B2 (ja) 2015-10-05 2015-10-05 アノマリ評価プログラム、アノマリ評価方法、および情報処理装置
US15/284,128 US9753801B2 (en) 2015-10-05 2016-10-03 Detection method and information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015197554A JP6652699B2 (ja) 2015-10-05 2015-10-05 アノマリ評価プログラム、アノマリ評価方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2017072882A true JP2017072882A (ja) 2017-04-13
JP6652699B2 JP6652699B2 (ja) 2020-02-26

Family

ID=58447878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015197554A Expired - Fee Related JP6652699B2 (ja) 2015-10-05 2015-10-05 アノマリ評価プログラム、アノマリ評価方法、および情報処理装置

Country Status (2)

Country Link
US (1) US9753801B2 (ja)
JP (1) JP6652699B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101775478B1 (ko) * 2017-05-04 2017-09-06 국방과학연구소 발사절차 또는 점검절차 과정에서 특이점 행렬을 이용한 데이터 비정상 오류 검출 방법
JP2019003533A (ja) * 2017-06-19 2019-01-10 日本電信電話株式会社 検知装置および検知方法
JP2019008711A (ja) * 2017-06-28 2019-01-17 富士通株式会社 表示制御プログラム、表示制御方法、及び表示制御装置
WO2019142591A1 (ja) * 2018-01-22 2019-07-25 日本電気株式会社 異常検知装置
JP2019185673A (ja) * 2018-04-17 2019-10-24 株式会社Nttドコモ 認証装置
US11210157B2 (en) 2019-03-12 2021-12-28 Fujitsu Limited Output method and information processing apparatus

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5875726B1 (ja) * 2015-06-22 2016-03-02 株式会社日立パワーソリューションズ 異常予兆診断装置のプリプロセッサ及びその処理方法
US10642813B1 (en) 2015-12-14 2020-05-05 Amazon Technologies, Inc. Techniques and systems for storage and processing of operational data
US9785495B1 (en) * 2015-12-14 2017-10-10 Amazon Technologies, Inc. Techniques and systems for detecting anomalous operational data
US10338982B2 (en) * 2017-01-03 2019-07-02 International Business Machines Corporation Hybrid and hierarchical outlier detection system and method for large scale data protection
US10474523B1 (en) * 2017-10-27 2019-11-12 EMC IP Holding Company LLC Automated agent for the causal mapping of complex environments
CN109976986B (zh) * 2017-12-28 2023-12-19 阿里巴巴集团控股有限公司 异常设备的检测方法及装置
US11032152B2 (en) 2018-04-25 2021-06-08 Dell Products L.P. Machine-learning based self-populating dashboard for resource utilization monitoring in hyper-converged information technology environments
US11966218B2 (en) * 2018-06-15 2024-04-23 Mitsubishi Electric Corporation Diagnosis device, diagnosis method and program
JP7310137B2 (ja) * 2018-12-28 2023-07-19 株式会社Gsユアサ データ処理装置、データ処理方法、及びコンピュータプログラム
GB2583718A (en) * 2019-05-01 2020-11-11 Samsung Electronics Co Ltd Method, apparatus and computer program for updating a cluster probability model
CN111091223B (zh) * 2019-10-30 2023-08-04 华电电力科学研究院有限公司 一种基于物联网智能感知技术的配变短期负荷预测方法
CN110837432A (zh) * 2019-11-14 2020-02-25 北京金山云网络技术有限公司 服务集群中异常节点的确定方法、装置和监控服务器
WO2021215019A1 (en) * 2020-04-23 2021-10-28 Nec Corporation Information processing apparatus, information processing method and non-transitory computer readable medium
CN113379182B (zh) * 2021-04-27 2022-09-16 云南电网有限责任公司昆明供电局 一种基于多维状态参数的中低压设备健康状态评估方法
US20230206196A1 (en) * 2021-12-28 2023-06-29 Optum Services (Ireland) Limited Granular process fault detection
CN115709200A (zh) * 2022-11-25 2023-02-24 贵州电网有限责任公司 一种高性能计算集群系统故障预测装置及其使用方法
CN116340796B (zh) * 2023-05-22 2023-12-22 平安科技(深圳)有限公司 时序数据分析方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141909A (ja) * 2011-01-06 2012-07-26 Hitachi Ltd 異常検知方法およびそれを用いた情報処理システム
US20140142727A1 (en) * 2011-03-02 2014-05-22 Carrier Corporation SPC Fault Detection and Diagnostics Algorithm
JP2014120001A (ja) * 2012-12-17 2014-06-30 Kddi Corp 監視装置、監視対象ホストの監視方法、監視プログラム及び記録媒体

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735550B1 (en) * 2001-01-16 2004-05-11 University Corporation For Atmospheric Research Feature classification for time series data
US7917333B2 (en) * 2008-08-20 2011-03-29 Caterpillar Inc. Virtual sensor network (VSN) based control system and method
WO2012067031A1 (ja) 2010-11-17 2012-05-24 日本電気株式会社 違反予兆条件設定支援システム、違反予兆条件設定支援方法および違反予兆条件設定支援プログラム
TWI515522B (zh) 2010-12-28 2016-01-01 萬國商業機器公司 測定系統情況的方法、電腦程式及電腦
US9075713B2 (en) 2012-05-24 2015-07-07 Mitsubishi Electric Research Laboratories, Inc. Method for detecting anomalies in multivariate time series data
JP6066825B2 (ja) * 2013-05-17 2017-01-25 株式会社日立製作所 データ分析装置及び保健事業支援方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012141909A (ja) * 2011-01-06 2012-07-26 Hitachi Ltd 異常検知方法およびそれを用いた情報処理システム
US20140142727A1 (en) * 2011-03-02 2014-05-22 Carrier Corporation SPC Fault Detection and Diagnostics Algorithm
JP2014120001A (ja) * 2012-12-17 2014-06-30 Kddi Corp 監視装置、監視対象ホストの監視方法、監視プログラム及び記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
菅谷 みどり 他: "「組込みシステム向けオンライン障害検出システムの提案」", 情報処理学会研究報告 2010 APRIL[DVD−ROM], JPN6019008959, 16 April 2010 (2010-04-16), JP, pages 第1頁-第8頁 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101775478B1 (ko) * 2017-05-04 2017-09-06 국방과학연구소 발사절차 또는 점검절차 과정에서 특이점 행렬을 이용한 데이터 비정상 오류 검출 방법
JP2019003533A (ja) * 2017-06-19 2019-01-10 日本電信電話株式会社 検知装置および検知方法
JP2019008711A (ja) * 2017-06-28 2019-01-17 富士通株式会社 表示制御プログラム、表示制御方法、及び表示制御装置
WO2019142591A1 (ja) * 2018-01-22 2019-07-25 日本電気株式会社 異常検知装置
JPWO2019142591A1 (ja) * 2018-01-22 2021-01-14 日本電気株式会社 異常検知装置
JP2019185673A (ja) * 2018-04-17 2019-10-24 株式会社Nttドコモ 認証装置
JP7003361B2 (ja) 2018-04-17 2022-01-20 株式会社Nttドコモ 認証装置
US11210157B2 (en) 2019-03-12 2021-12-28 Fujitsu Limited Output method and information processing apparatus

Also Published As

Publication number Publication date
US9753801B2 (en) 2017-09-05
JP6652699B2 (ja) 2020-02-26
US20170097863A1 (en) 2017-04-06

Similar Documents

Publication Publication Date Title
JP6652699B2 (ja) アノマリ評価プログラム、アノマリ評価方法、および情報処理装置
JP6555061B2 (ja) クラスタリングプログラム、クラスタリング方法、および情報処理装置
US9298538B2 (en) Methods and systems for abnormality analysis of streamed log data
US10216558B1 (en) Predicting drive failures
US9921937B2 (en) Behavior clustering analysis and alerting system for computer applications
US9652318B2 (en) System and method for automatically managing fault events of data center
JP5444673B2 (ja) ログ管理方法、ログ管理装置、ログ管理装置を備えた情報処理装置、及びプログラム
US10452458B2 (en) Computer performance prediction using search technologies
US20150205691A1 (en) Event prediction using historical time series observations of a computer application
US9870294B2 (en) Visualization of behavior clustering of computer applications
JP2017076360A (ja) 予測信頼性マイニングのためのシステム及び方法
CN111459700A (zh) 设备故障的诊断方法、诊断装置、诊断设备及存储介质
JP2018045403A (ja) 異常検知システム及び異常検知方法
US20210026725A1 (en) Method and device for determining an estimated time before a technical incident in a computing infrastructure from values of performance indicators
JP2007207173A (ja) 性能分析プログラム、性能分析方法、および性能分析装置
US20160255109A1 (en) Detection method and apparatus
JPWO2019239542A1 (ja) 異常検知装置、異常検知方法及び異常検知プログラム
US20210026719A1 (en) Method and device for determining a technical incident risk value in a computing infrastructure from performance indicator values
CN114169604A (zh) 性能指标的异常检测方法、异常检测装置、电子设备和存储介质
WO2015110873A1 (en) Computer performance prediction using search technologies
US8812659B2 (en) Feedback-based symptom and condition correlation
Amram et al. Interpretable predictive maintenance for hard drives
Zeydan et al. Cloud 2 HDD: large-scale HDD data analysis on cloud for cloud datacenters
WO2019073512A1 (ja) システム分析方法、システム分析装置、および、プログラム
Sylligardos et al. Choose wisely: An extensive evaluation of model selection for anomaly detection in time series

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190319

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190520

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190520

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20190520

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200106

R150 Certificate of patent or registration of utility model

Ref document number: 6652699

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees