JP2024003329A - 異常検知装置、異常検知方法、及び異常検知プログラム - Google Patents

異常検知装置、異常検知方法、及び異常検知プログラム Download PDF

Info

Publication number
JP2024003329A
JP2024003329A JP2022102396A JP2022102396A JP2024003329A JP 2024003329 A JP2024003329 A JP 2024003329A JP 2022102396 A JP2022102396 A JP 2022102396A JP 2022102396 A JP2022102396 A JP 2022102396A JP 2024003329 A JP2024003329 A JP 2024003329A
Authority
JP
Japan
Prior art keywords
value
upper limit
normal range
limit value
parameter
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.)
Pending
Application number
JP2022102396A
Other languages
English (en)
Inventor
拓 和久井
Hiraku Wakui
峰義 増田
Mineyoshi Masuda
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2022102396A priority Critical patent/JP2024003329A/ja
Priority to US18/180,361 priority patent/US20230418701A1/en
Publication of JP2024003329A publication Critical patent/JP2024003329A/ja
Pending legal-status Critical Current

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/0751Error or fault detection not based on redundancy
    • 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
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Figure 2024003329000001
【課題】パラメータの値の異常を簡便な処理で精度よく検知する異常検知装置、異常検知方法及び異常検知プログラムを提供する。
【解決手段】異常検知処理は、指定された期間におけるパラメータの値の正常範囲の変動を予測する予測処理と、予測した正常範囲の上限値の変動から上限値の極大点を特定し、特定した上限値の極大点に基づき正常範囲の上限値を補正し、補正した正常範囲の上限値の変動から上限値の極小点を特定し、特定した上限値の極小点に基づき正常範囲の上限値を補正する補正処理と、指定された期間のパラメータの値を取得し、取得したパラメータの値が補正された正常範囲内にあるか否かを判定し、取得したパラメータの値が前記補正された正常範囲内に無いと判定した場合には、所定の情報を出力する異常検知処理と、を実行する。
【選択図】図4

Description

本発明は、異常検知装置、異常検知方法、及び異常検知プログラムに関する。
サーバ及びストレージなどの様々な装置を含むIT(Information Technology)システムの運用管理では、管理下にある装置が正常に動作していない場合、早期にその旨を通知する異常検知機能が必要である。一般に、装置の状態などを表す性能値という時系列データを定期的に収集し、普段と異なる挙動又は値を観測した際に異常として検知する方法が取られる。しかし、規模の大きいITシステムにおいて収集される性能値は多数存在するため、人手での監視や分析は困難である。
そこで、近年進展が著しいAI/ML(Artificial Intelligence/Machine Learning)の技
術を適用した異常検知技術の開発が活発化している。この技術は、過去の性能値の挙動を学習した予測モデルを作成し、将来の性能値の取り得る値を規定した閾値を算出することで異常を検出する技術である。予測モデルには、ランダムフォレストに代表される、決定木又は回帰木を用いるツリー系のモデルなどが挙げられる。
しかし、これらのAI/MLを活用した性能値の予測では、過去の性能値に顕著な変化が発
生した直後にその学習データを用いて作成した予測モデルを用いた場合の正確な予測が困難になる問題がある。これは、学習データである性能値に変化前の特徴と変化後の特徴の両方が含まれ、予測モデルがその両方の特徴を同時に学習するためである。一般に、性能値の変化から時間が経過すると予測モデルは変化後の特徴に適応するが、変化の直後は予測モデルの予測値が不安定になる。
この点、学習に用いる性能値から、変化前の時系列データを取り除き、変化後の情報のみを学習することで、変化後の特徴に対応した予測モデルの作成が可能であるが、変化の直後において変化後の時系列データは少なく、また変化前の時系列データを取り除く場合、月次や週次といった中長期的な周期や特徴を予測することが出来なくなる。
このように、異常検知技術においては、顕著な挙動変化後は、性能値の取り得る値の予測が困難となり、誤検知や検知漏れが増加する。誤検知は異常検知の信頼性を低下させ、また検知漏れは異常の発見の遅れに繋がる。
このような問題に関して、特許文献1に開示の技術は、過去の任意の期間を参照期間とし、参照期間の実測値と予測値とに基づき補正係数を算出し、対象期間の予測値に乗じて補正予測値を求める。この予測値、及び、補正予測値のそれぞれの上限閾値及び下限閾値に基づき設定した対象期間の正常範囲を用い、実測値が正常範囲に収まっているか否かで異常を判定することで、予測が困難な変動に対応し不要な異常の検出を抑制する。
特開2021-182287号公報
特許文献1の技術では、補正係数の計算に用いる実測値と予測値を取得する時間帯である参照期間を設定する必要がある。参照期間は、検知対象とする性能値の予測値と実測値
の乖離が生じやすい期間として設定され、適切な補正係数を算出することを目的としている。すなわち、性能値が最も特徴的な期間、例えば業務時間に高い値を記録する傾向にある性能値の場合、業務時間を参照時間に設定すればよい。
一方で、このような特徴的な期間がない場合は参照期間の設定が難しく、また参照期間外に顕著な挙動の変化があった場合、その後の予測値に乗算する補正係数に当該変化は加味されない。参照期間を広く設定することも考えられるが、補正係数が適切に算出されず、誤検知の抑制効果が低下するおそれがある。
また、特許文献1の技術は、参照期間内において一時的な性能値の上昇があった場合、予測日には性能値が通常通りの値に戻っているのにも関わらず、正常範囲が拡張されてしまう。このとき、予測日に異常事象が発生し性能値に大きな変化があった場合でも、実測値が正常範囲内に収まってしまい、検知漏れを誘発する恐れがある。
本発明は、このような事情に鑑みてなされたものであり、その目的は、パラメータの値の異常を簡便な処理で精度よく検知することが可能な異常検知装置、異常検知方法、及び異常検知プログラムを提供することを目的とする。
上記課題を解決するための本発明の一つは、指定された期間におけるパラメータの値の正常範囲の変動を予測する予測処理と、前記予測した正常範囲の上限値の変動から上限値の極大点を特定し、特定した上限値の極大点に基づき前記正常範囲の上限値を補正し、補正した正常範囲の上限値の変動から上限値の極小点を特定し、特定した上限値の極小点に基づき前記正常範囲の上限値を補正する補正処理と、前記指定された期間のパラメータの値を取得し、取得したパラメータの値が前記補正された正常範囲内にあるか否かを判定し、前記取得したパラメータの値が前記補正された正常範囲内に無いと判定した場合には、所定の情報を出力する異常検知処理とを実行する処理装置を備える、異常検知装置である。
本発明によれば、パラメータの値の異常を簡便な処理で精度よく検知することができる。
上記した以外の構成及び効果等は、以下の実施形態の説明により明らかにされる。
本実施形態における異常検知システムの構成例を示す図である。 予測データテーブルの一例を示す図である。 異常記録テーブルの一例を示す図である。 異常検知処理の概要を説明する処理フロー図である。 性能データテーブルの一例を示す図である。 異常検知管理画面の一例を示す図である。 補正パラメータテーブルの一例を示す図である。 フィルタパラメータテーブルの一例を示す図である。 予測モデル生成処理の詳細を説明する処理フロー図である。 正常範囲算出処理の詳細を説明する処理フロー図である。 正常範囲補正処理の詳細を説明する処理フロー図である。 補正正常範囲算出処理の詳細を説明する処理フロー図である。 補正正常範囲算出処理の内容を説明するための図である。 異常検知処理の詳細を説明する処理フロー図である。 性能パラメータの実測値の挙動と予測モデルにより予測される正常範囲との関係の一例を示す図である。 補正正常範囲算出処理を行った場合の、性能パラメータの実測値の挙動とその補正正常範囲との関係の一例を示す図である。
以下、図面を参照して、本発明の実施形態について詳細に説明する。
図1は、本実施形態における異常検知システム1の構成例を示す図である。異常検知システム1は、管理計算機100(異常検知装置)、情報処理システム120、及び入出力装置107を含んで構成される。
情報処理システム120は、異常検知の対象である。情報処理システム120は、複数の仮想計算機130、131(VM1, VM2,・・・。VM:Virtual Machine)と、仮想計算機130、131上で動作するOS(Operating System)などのソフトウェア(図示せず)とを含んで構成されている。情報処理システム120内の仮想計算機130、131は、管理計算機100と同様の構成要素を持つ計算機である。なお、このように本実施形態では情報処理システム120は仮想計算機からなるものとするが、物理的な計算機であってもよい。
管理計算機100は、情報処理システム120で動作している仮想計算機130、131の動作状態を表すパラメータ(以下、性能パラメータという)を収集することで、仮想計算機130、131に異常が発生しているか否かを検知する情報処理装置である。
管理計算機100及び情報処理システム120の間は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)、又は専用線等の有線又は無
線の通信ネットワーク110により接続される。
なお、本実施形態では、管理計算機100と、情報処理システム120とは同一の通信ネットワーク110に接続されているものとするが、管理計算機100は、異常検知の対象と別の通信ネットワークに接続されていてもよい。例えば、管理計算機100のプログラムの全部または一部は、例えば、クラウドシステムがAPI (Application Programming Interface)等を介して提供するサービスによって実現してもよい。この場合、情報処理システム120の管理者等は、例えばインターネットを経由し、ブラウザを利用してクラウド上で稼働する管理計算機100へアクセスし、どこからでも異常検知の結果を確認することが可能となる。
入出力装置107は、管理計算機100と接続されたディスプレイ及びタッチパネル等の出力装置と、キーボード、マウス、又はタッチパネル等の入力装置とからなる。入出力装置107は、例えば、ユーザからの情報の入力を受け付けて管理計算機100に記憶し、また、管理計算機100の処理結果の情報等を表示する。
次に、管理計算機100は、CPU(Central Processing Unit)などの処理装置10
1と、RAM(Random Access Memory)、ROM(Read Only Memory)等のメモリ102と、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置103と、NIC(Network Interface Card)、無線通信モジュール、USB (Universal Serial Interface)モジュール、又はシリアル通信モジュール等で構成されるネットワークインタフェース106等を備える。
また、管理計算機100は、異常検知プログラム104、性能情報収集プログラム105、性能データテーブル300、予測データテーブル400、補正パラメータテーブル5
00、フィルタパラメータテーブル600、及び異常記録テーブル700をそれぞれ記憶している。
異常検知プログラム104は、ユーザによって指定された、性能パラメータの正常範囲の予測を行う期間(以下、予測期間という)におけるその性能パラメータの値の正常範囲の変動を予測する予測処理を行う。
本実施形態では、学習済みモデルである予測モデルにより正常範囲の変動を算出する。予測モデルは、例えば、ニューラルネットワーク、決定木、ランダムフォレスト、サポートベクターマシン(SVM: Support Vector Machine)のアルゴリズムに基づき構築される。ニューラルネットワークは、入力データされる入力層と、入力データから特徴量を抽出して出力する1又は複数の中間層(隠れ層)と、出力データを出力する出力層とを有するニューラルネットワークであり、例えばCNN(Convolution Neural Network)である。なお、本実施形態の予測モデルは決定木に基づく学習済みモデルであるとするが、予測モデルのアルゴリズムを限定する趣旨ではない。また、予測モデルは、学習済みモデルに限らず、性能パラメータに関する予測期間を入力値とし、予測期間における性能パラメータの値の正常範囲を出力値とする数値モデルであればよい。
異常検知プログラム104は、このようにして予測した正常範囲の上限値の変動から上限値の極大点(詳細は後述する)を特定し、特定した上限値の極大点に基づきその正常範囲の上限値を補正する(以下、この処理を極大値間補間平滑化、又は第1補正処理という)。続いて、異常検知プログラム104は、補正した正常範囲の上限値の変動から上限値の極小点を特定し、特定した上限値の極小点に基づき正常範囲の上限値をさらに補正する(以下、この処理を極小値間補間平滑化、又は第2補正処理という)。なお、以下では、極大値間補間平滑化及び極小値間補間平滑化を合わせて補正正常範囲算出処理という。
さらに、異常検知プログラム104は、予測期間の性能パラメータの値を取得し、取得した性能パラメータの値が上記の補正された正常範囲内にあるか否かを判定し、その性能パラメータの値が補正された正常範囲内に無いと判定した場合には、その異常判定結果を出力する。
性能情報収集プログラム105は、情報処理システム120から、情報処理システム120で計測された性能パラメータを受信する。
性能データテーブル300は、情報処理システム120から受信した性能パラメータを格納したデータベースである。
予測データテーブル400は、予測モデルが算出した正常範囲の変動の情報を格納したデータベースである。
補正パラメータテーブル500は、正常範囲の上限値の補正方法に関するパラメータ(補正パラメータ)を格納したデータベースである。
フィルタパラメータテーブル600は、性能パラメータの異常判定に用いられるパラメータ(フィルタパラメータ)を格納したデータベースである。
異常記録テーブル700は、性能パラメータの異常判定の結果を格納したデータベースである。
ここで、予測データテーブル400及び異常記録テーブル700の詳細を説明する。
(予測データテーブル)
図2は、予測データテーブル400の一例を示す図である。予測データテーブル400は、正常範囲を予測する期間(予測期間)における各日時が設定されるタイムスタンプ401、予測期間の各日時における性能パラメータの値(以下、性能値という)の正常範囲の下限値が設定される性能値下限402、予測期間の各日時における性能値の正常範囲の上限値が設定される性能値上限403、前記正常範囲の上限値に対して補正正常範囲算出処理を施した上限値(補正上限値)が設定される補正上限404、予測期間の各日時において計測された性能値(計測値)が設定される実測値405、及び、予測期間の各日時における異常スコアが設定される異常スコア406の各データ項目を有する。
なお、性能値下限402、及び、性能値上限403の各値の算出方法は特に限定されず、例えば、決定木によるアンサンブル学習(ランダムフォレスト)の場合、各決定木から得られる性能値の予測値の分布から任意の分位数を取り性能値下限、及び性能値上限とする方法でもよいし、予測値の分布の平均を中心に、性能値の変動しうる値を足し引きした値を、それぞれ性能値上限、および性能値下限とする方法でもよい。
補正正常範囲算出処理が実行されなかった場合、補正上限404には、同レコードの性能値上限403の値が格納される。
実測値405には、性能データテーブル300におけるVM情報302から抽出された値が格納される。
異常スコアは、実測値405の値が正常範囲(上限値又は下限値)を逸脱した度合い(差分)を示す値である。例えば、ある時刻における実測値405の値が正常範囲内に収まる場合(性能値下限402の値以上で、かつ、補正上限404の値以下である場合)、当該時刻における異常スコア406は0である。実測値405の値が補正上限404の値より大きい場合、当該時刻における異常スコアは、実測値405の値から補正上限404の値を差し引いた正の値である。実測値405の値が性能値下限402の値より小さい場合、当該時刻における異常スコアは、実測値405の値から性能値下限402の値を差し引いた負の値である。異常スコアが正又は負の所定の閾値を超えた場合に、その性能値は異常であると判定される。なお、ここで説明した異常スコアの算出方法は一例であり、異常スコアは、実実測値が正常範囲を逸脱した度合いを示すものであればよい。
(異常記録テーブル700)
図3は、異常記録テーブル700の一例を示す図である。異常記録テーブル700は、対象の日付が設定される日付701、及び、その日付において異常と判定されたか否かを示す情報が設定される異常有無702の各データ項目を有する。この異常記録テーブル700は、後述する正常範囲補正処理における補正の要否判定にも用いられる。
前記で説明した管理計算機100のプログラムは、処理装置101がメモリ102又は記憶装置103から読み出すことにより実行される。また各プログラムは、例えば、可搬性の又は固定された記録媒体に記録して配布することができる。
次に、異常検知システムで行われる処理について説明する。
<異常検知処理>
図4は、異常検知システムで行われる異常検知処理の概要を説明する処理フロー図である。異常検知処理は、例えば、管理計算機100にユーザから所定の入力がされた場合、又は所定のタイミング(例えば、所定の時刻、所定の時間間隔)で実行される。
まず、性能情報収集プログラム105は、情報処理システム120から性能パラメータを収集する(S20)。
例えば、性能情報収集プログラム105は、情報処理システム120で稼働している仮想計算機130、131(VM)で動作する計測エージェント(図示せず)が計測したVMのCPU使用率及びメモリの消費量等の性能パラメータの履歴の情報を、情報処理システ
ム120から受信する。なお、性能情報収集プログラム105は、計測エージェントを使用せず、各性能パラメータをVMから直接収集してもよい(エージェントレス方式)。
なお、S20の処理は、異常検知処理と独立して、所定のタイミング(例えば、所定の時刻、所定の時間間隔)で繰り返し実行されてもよい。
(性能データテーブル)
ここで、図5は、性能データテーブル300の一例を示す図である。性能データテーブル300は、各VMの性能パラメータの値が計測された日時が設定されるタイムスタンプ301、及び、各VMの性能パラメータの情報が設定されるVM情報302(302a、302b、・・・)の各データ項目を有する。各VM情報302は、VMのCPUの使用率の情報が設定されるCPU使用率303(303a、303b、・・・)、及び、VMのメモリの消費量の情報が設定されるメモリ消費304(304a、304b、・・・)の各データ小項目を有する。なお、同図で示した性能パラメータの項目は一例である。
次に、図4に示すように、異常検知プログラム104は、次述する異常検知管理画面200を表示し、情報処理システム120の異常の検知に必要な情報の入力をユーザ(例えば、情報処理システム120の管理者)から受け付ける(S50)。
(異常検知管理画面)
図6は、異常検知管理画面200の一例を示す図である。異常検知管理画面200は、入力部260及び結果表示部270を備える。入力部260は、異常検知に必要な設定値の入力をユーザから受け付ける領域である。結果表示部270は、異常検知の結果を表示する領域である。
入力部260は、対象VM選択部201、性能値選択部202、学習期間設定部211、予測期間設定部212、学習期間設定部211、予測期間設定部212、極大値平滑化最大時間間隔設定部221、極小値平滑化最大時間間隔設定部222、時間閾値設定部231、実測閾値設定部232、及び予実差閾値設定部233の各選択欄を備える。
対象VM選択部201は、情報処理システム120で稼働しているVMの一覧から、異常検知を行うVM(以下、対象VMという)の選択をユーザから受け付ける。
性能値選択部202は、対象VMが計測した各種類の性能パラメータから、異常検知に用いる性能パラメータの選択をユーザから受け付ける。
なお、対象VM選択部201及び性能値選択部202は、複数の対象VM又は複数の性能パラメータの選択をユーザからそれぞれ受け付けてもよい。
学習期間設定部211及び予測期間設定部212は、正常範囲を算出する予測モデルの学習及び利用に関するパラメータの入力をユーザから受け付ける。
具体的には、学習期間設定部211は、予測モデルの学習に用いる性能パラメータに係る期間である学習期間の指定の入力をユーザから受け付ける。予測期間設定部212は、
予測モデルにより性能値を予測する期間(予測期間)の指定の入力をユーザから受け付ける。
なお、予測データテーブル400のタイムスタンプ401の各日時は、予測期間設定部212で指定される予測期間に基づいて格納される。例えば4月15日から6月14日までの2か月分の性能値の時系列データを予測モデルの学習に用い1日分の正常範囲を算出する場合、予測期間は6月15日の1日分となる。このとき、タイムスタンプ401には、予測期間における任意の時間間隔(図中では5分間隔)での各日時が格納される。
極大値平滑化最大時間間隔設定部221及び極小値平滑化最大時間間隔設定部222は、補正パラメータの入力をユーザから受け付ける。補正パラメータは、補正パラメータテーブル500に格納される。具体的には、極大値平滑化最大時間間隔設定部221は、極大値平滑化最大時間間隔の入力をユーザから受け付ける。極小値平滑化最大時間間隔設定部222は、極小値平滑化最大時間間隔の入力をユーザから受け付ける。なお、極大値平滑化最大時間間隔及び極小値平滑化最大時間間隔の詳細は後述する。
時間閾値設定部231、実測閾値設定部232、及び予実差閾値設定部233は、異常の有無の判定に用いられるパラメータであるフィルタパラメータの入力をユーザから受け付ける。フィルタパラメータは、フィルタパラメータテーブル600に格納される。
具体的には、時間閾値設定部231は、最低継続時間の入力をユーザから受け付ける。実測閾値設定部232は、最低パラメータ値の入力をユーザから受け付ける。予実差閾値設定部233は、最低異常スコアの入力をユーザから受け付ける。
最低継続時間とは、異常ありと判定するために必要な、異常スコアが所定閾値を超えている継続期間の閾値である。最低パラメータ値とは、異常ありと判定するために必要な、性能値の最小値である。最低異常スコアとは、異常ありと判定するために必要な、異常スコアの閾値である。これらのパラメータは、数値又は割合等によって指定される。
結果表示部270の詳細は後述する。
(補正パラメータテーブル)
次に、図7は、補正パラメータテーブル500の一例を示す図である。補正パラメータテーブル500は、フィルタパラメータを記憶している。具体的には、補正パラメータテーブル500は、極大値平滑化最大時間間隔が設定される平滑化適用時間幅(極大)501、及び極小値平滑化最大時間間隔が設定される平滑化適用時間幅(極小)502のデータ項目を有する。補正パラメータテーブル500は、異常検知管理画面200の極大値平滑化最大時間間隔設定部221及び極小値平滑化最大時間間隔設定部222で指定した値が格納される。
(フィルタパラメータテーブル)
図8は、フィルタパラメータテーブル600の一例を示す図である。フィルタパラメータテーブル600は、フィルタパラメータを記憶している。フィルタパラメータは、実測値が正常範囲を逸脱した場合に、小さな逸脱を除去して大きな逸脱を抽出する際に用いるパラメータである。このフィルタにより大きな逸脱がある、すなわち異常と判定された場合、異常記録テーブル700の対応する日付の異常有無702に「異常」が記録される。
フィルタパラメータテーブル600は、最低継続時間が設定される時間閾値601、最低パラメータ値が設定される実測値閾値602、及び、最低異常スコアが設定される予実差閾値603の各データ項目を有する。同図の例では、時間閾値601に「120分」が
設定されているので、異常スコアの逸脱状態が120分以上継続した場合に、異常として判定される。
次に、図4に示すように、異常検知プログラム104、及び、性能情報収集プログラム105は、情報処理システム120の性能値を取得し予測モデルを作成する予測モデル作成処理S100を実行する。予測モデル作成処理S100の詳細は後述する。
異常検知プログラム104は、S100で作成した予測モデルに基づき性能値の正常範囲を算出する正常範囲算出処理S200を実行する。正常範囲算出処理S200の詳細は後述する。
異常検知プログラム104は、正常範囲算出処理S200で算出した正常範囲に対する正常範囲補正処理の実行の要否を判定し、必要と判定した場合に正常範囲補正処理を実行する正常範囲補正処理S300を実行する。正常範囲補正処理S300の詳細は後述する。
異常検知プログラム104は、正常範囲補正処理S300で算出した正常範囲(以下、補正正常範囲という)に基づき異常検知を実施し、その異常検知の結果を異常記録テーブル700に記録する異常検知処理S400を実行する。異常検知処理S400の詳細は後述する。
次に、以上で説明した各処理の詳細を説明する。
<予測モデル生成処理>
図9は、予測モデル生成処理S100の詳細を説明する処理フロー図である。
まず、異常検知プログラム104は、異常検知管理画面200の対象VM選択部201、性能値選択部202、及び学習期間設定部211から、対象VM、性能パラメータ、及び学習期間をそれぞれ取得する(S101)。
異常検知プログラム104は、性能データテーブル300から、S101で取得した情報により特定される性能値の時系列データを抽出する(S102)。すなわち、異常検知プログラム104は、対象VMが学習期間で計測した性能値のデータを取得する。
異常検知プログラム104は、S102で取得した性能値の時系列データを学習データとして予測モデルを作成する(S103)。以上で予測モデル生成処理S100は終了する。
予測モデルは、性能値の計測時刻(タイムスタンプ)を説明変数(入力値)とし、そのタイムスタンプの時刻に計測された性能値を目的変数(出力値)とする学習済みモデルである。説明変数とするタイムスタンプの情報は、年月日、時刻、曜日、月における週数、又は平日若しくは祝日を示す属性などをさらに含んでもよい。
また、本実施形態では、予測モデルは、性能データテーブル300が有する各性能情報の項目のそれぞれに対して作成されるものとする。例えば、2つのVMで2種類の性能値を計測し、すべての性能値に対し異常検知を行う場合、1つの予測期間において正常範囲を予測する予測モデルは4つ作成される。そして、予測データテーブル400は各VMの性能値一つに対し一つ作成される結果、予測モデルと同じ数だけ作成される。
<正常範囲算出処理>
図10は、正常範囲算出処理S200の詳細を説明する処理フロー図である。
まず、異常検知プログラム104は、異常検知管理画面200の対象VM選択部201、性能値選択部202、及び予測期間設定部212から、対象VM、性能パラメータ、及び予測期間をそれぞれ取得する。そして、異常検知プログラム104は、取得した情報により特定される予測期間における性能値の時系列データを、予測データテーブル400に格納する(S201)。
具体的には、異常検知プログラム104は、予測データテーブル400の新規レコードのタイムスタンプ401に予測期間の各時刻を格納する。また、異常検知プログラム104は、取得した対象VM及び性能パラメータに対応する、予測期間の各時刻における性能パラメータの値を、性能データテーブル300から取得し、取得した性能パラメータの値を実測値405に格納する。
次に、異常検知プログラム104は、予測モデル生成処理S100で作成した予測モデルに、S201で作成した予測データテーブル400の各レコードの予測期間を入力することで、予測期間の各時刻における性能値の取り得る範囲(正常範囲)を取得する(S202)。なお、これにより、予測モデルは、指定された予測期間のデータに基づく更新が行われる。
異常検知プログラム104は、予測モデルの出力結果から特定される性能パラメータの正常範囲の変動の情報を、予測データテーブル400に格納する(S203)。
具体的には、異常検知プログラム104は、S202で取得した各性能値から特定される、性能値の下限値及び上限値をそれぞれ、予測データテーブル400の性能値下限402及び性能値上限403に格納する。以上で正常範囲算出処理S200は終了する。
<正常範囲補正処理S300>
図11は、正常範囲補正処理S300の詳細を説明する処理フロー図である。
異常検知プログラム104は、異常記録テーブル700のデータ内容を取得する(S301)。そして、異常検知プログラム104は、取得したデータに基づき、予測期間の直前の所定期間における性能値の異常を判定する(S302)。
具体的には、異常検知プログラム104は、予測データテーブル400のタイムスタンプ401に格納されている時刻のうち最も早い時刻の直前の時刻から、それよりも所定期間(本実施形態では1週間)前の時刻までの期間を特定する。そして、異常検知プログラム104は、異常記録テーブル700から、上記特定した期間の各レコードの異常有無702を抽出し、「異常」が記録されているレコードがあるか否かを判定する。
なお、本実施形態では、異常検知プログラム104は過去1週間の異常の判定を確認するものとしたが、この期間は1週間に限られず、予測モデルの学習に使用した性能パラメータの期間の長さに応じて調整されてもよい。
性能値に異常の判定がなされている場合は(S302:Yes)、異常検知プログラム104はS303の処理を実行し、性能値に異常の判定がなされてない場合は(S302:No)、異常検知プログラム104はS304の処理を実行する。
S303において異常検知プログラム104は、異常検知管理画面200の極大値平滑化最大時間間隔設定部221及び極小値平滑化最大時間間隔設定部222から、補正パラメータ(極大値平滑化最大時間間隔及び極小値平滑化最大時間間隔)を取得する。
そして、異常検知プログラム104は、極大値平滑化最大時間間隔及び極小値平滑化最大時間間隔に基づき補正正常範囲を算出してこれを予測データテーブル400に格納する補正正常範囲算出処理S310を実行する。補正正常範囲算出処理S310の詳細は後述する。以上で正常範囲補正処理S300は終了する。
一方、S304において異常検知プログラム104は、補正正常範囲を算出せずに現在の上限性能値を予測データテーブル400に格納する。具体的には、異常検知プログラム104は、予測データテーブル400の各レコードの性能値上限403の値を、同レコードの補正上限404に複製して格納する。以上で正常範囲補正処理S300は終了する。
<補正正常範囲算出処理>
図12は、補正正常範囲算出処理S310の詳細を説明する処理フロー図である。なお、ここでは、S303で取得した極大値平滑化最大時間間隔をX、極小値平滑化最大時間間隔をYとする。
まず、異常検知プログラム104は、予測データテーブル400の各レコードの性能値上限403の値を、同レコードの補正上限404へ複製し格納する(S311)。
そして、異常検知プログラム104は、極大値間補間平滑化による正常範囲の上限値の補正を行う(S312~S316)。
すなわち、異常検知プログラム104は、予測データテーブル400における最初の時刻の性能値を第1の極大点として記憶する(S312)。具体的には、異常検知プログラム104は、予測データテーブル400のタイムスタンプ401が最も早い時刻のレコードの補正上限404の値とその時刻とを対応付けて、「極大点1」として記憶する。
異常検知プログラム104は、第1の極大点の時刻から、当該時刻からX経過後の時刻までの各性能値のうち極大値(又は最大値)及びその時刻を、第2の極大点として記憶する(S313)。具体的には、異常検知プログラム104は、予測データテーブル400の各レコードを参照することで、「極大値1」の時刻からX以内の性能値の変動を特定し
、その変動が示す、第1の極大点に最も近い極大点の極大値(又は最大値)をその時刻と対応づけて「極大点2」として記憶する。すなわち、第1の極大点及び第2の極大点はX内で互いに隣り合う2つの極大点となる。
異常検知プログラム104は、予測データテーブル400における、第1の極大点の時刻から第2の極大点までの間の各性能値を、第1の極大点及び第2の極大点に基づき算出し、算出した値を予測データテーブル400に格納する(S314)。
具体的には、例えば、異常検知プログラム104は、第1の極大点及び第2の極大点に基づく線形補間を行う。すなわち、異常検知プログラム104は、第1の極大点と第2の極大点とを結ぶ線分の式(時刻-性能値の式)を生成し、生成した線分の式を、予測データテーブル400における、第1の極大点の時刻と第2の極大点の時刻との間の時刻がタイムスタンプ401に登録されている各レコードのタイムスタンプ401の時刻に適用することで、その時刻の性能値を算出し、算出した性能値を、そのレコードの補正上限404に設定する。
なお、異常検知プログラム104は、線形補間以外の補間処理を行ってもよい。例えば、異常検知プログラム104は、第1の極大点と第2の極大点とを結ぶ式として他の多項式等(曲線の式)を用いてもよいし、第1の極大点の値及び第2の極大点の値をさらに増
加させ、増加させた各値に基づき線形補間その他の補間処理を行ってもよい。すなわち、異常検知プログラム104は、第1の極大点と第2の極大点の間の時刻の各点(性能値)の値を上方に補正する(増加させる)ような処理を行うことが必要である。
次に、異常検知プログラム104は、第1の極大点の情報を、第2の極大点の情報に置き換えて記憶する(S315)。
異常検知プログラム104は、予測データテーブル400を参照し、第1の極大点の時刻が予測データテーブル400における補正上限404の最後の性能値の時刻であるか否かを判定する(S316)。
第1の極大点の時刻が補正上限404の最後の性能値の時刻である場合は(S316:Yes)、異常検知プログラム104はS317の処理を実行し、第1の極大点の時刻が補正上限404の最後の性能値の時刻でない場合は(S316:No)、異常検知プログラム104はS313の処理を実行する。
S317~S321において異常検知プログラム104は、極小値間補間平滑化による正常範囲の上限値の補正(再補正)を行う。
すなわち、異常検知プログラム104は、予測データテーブル400における最初の時刻の性能値を特定して第1の極小点として記憶する(S317)。具体的には、異常検知プログラム104は、予測データテーブル400のタイムスタンプ401が最も早い時刻のレコードの補正上限404の値とその時刻とを対応付けて、「極小点1」として記憶する。
異常検知プログラム104は、第1の極小点の時刻から、当該時刻からY経過後の時刻までの性能値の変動を特定し、第1の極小点に最も近い極小値(又は最小値)及びその時刻を、第2の極小点として記憶する(S318)。具体的には、異常検知プログラム104は、予測データテーブル400の各レコードを参照することで、「極小値1」の時刻からY以内の各性能値のうち極小値(又は最小値)を特定し、特定した性能値をその時刻と対応づけて「極小点2」として記憶する。すなわち、第1の極小点及び第2の極小点はY内で互いに隣り合う2つの極小点となる。
異常検知プログラム104は、予測データテーブル400における、第1の極小値の時刻から第2の極小値までの間の各性能値を、第1の極小値及び第2の極小値に基づき線形補間することで算出し、算出した値を予測データテーブル400に格納する(S319)。
具体的には、例えば、異常検知プログラム104は、第1の極小点及び第2の極小点に基づく線形補間を行う。すなわち、異常検知プログラム104は、第1の極小点と第2の極小点とを結ぶ線分の式(時刻-性能値の式)を生成し、生成した線分の式を、予測データテーブル400における第1の極小点の時刻と第2の極小点の時刻の間の時刻がタイムスタンプ401に登録されている各レコードのそのタイムスタンプ401の時刻に適用することで、その時刻の性能値を算出し、算出した性能値を、そのレコードの補正上限404に設定する。
なお、異常検知プログラム104は、ここで説明した線形補間以外の補間処理を行ってもよい。例えば、異常検知プログラム104は、第1の極小点と第2の極小点とを結ぶ式として他の多項式等(曲線の式)を用いてもよいし、第1の極小点の値及び第2の極小点の値をさらに増加又は減少させ、増加又は減少させた各値に基づき線形補間その他の補間
処理を行ってもよい。すなわち、異常検知プログラム104は、第1の極小点と第2の極小点の間の時刻の各点(性能値)の値を下方に微補正する(減少させる)ような処理を行うことが必要である。
次に、異常検知プログラム104は、第1の極小点の情報を、第2の極小点の情報に置き換えて記憶する(S320)。
異常検知プログラム104は、予測データテーブル400を参照し、第2の極小点の時刻が補正上限404の最後の性能値の時刻であるか否かを判定する(S321)。
第1の極小点の時刻が補正上限404の最後の性能値の時刻である場合は(S321:Yes)、補正正常範囲算出処理S310は終了し、第1の極小点の時刻が補正上限40
4の最後の性能値の時刻でない場合は(S321:No)、異常検知プログラム104はS318の処理を実行する。
なお、以上の極小値間補間平滑化は、性能値が減少している場合にのみ実行されてもよい。性能値が減少している場合は、極小値間補間平滑化が強く作用する傾向にあるため、極大値間補間平滑化による上限値の極端な増加を抑制し、その結果、異常の検知漏れを防ぐことができる。
次に、図13は、補正正常範囲算出処理S310の内容を説明するための図である。同図の(a)に示すように、正常範囲における上限値の予測値が、著しく増加及び減少を繰り
返し、複数の極大点1301を有していたものとする。そして、各極大点1301の間の時間間隔は、極大値平滑化最大時間間隔X以下であるものとする。
この場合、同図の(b)に示すように、まず、極大値間補間平滑化処理(S312-S3
16)により、各極大点の間の各時刻の上限値1302は、各極大点の間での線形補間に基づき、各極大点の値近傍の値1303に増加補正される。すなわち、この補正された値1303に基づく正常範囲は、黒色で着色された領域1304分拡張され、その結果性のパラメータの実測値は正常範囲内に収まりやすくなり、不要な異常検知が抑制される。
次に、同図の(c)に示すように、極大値間補間平滑化処理により補正された上限値の変
動における各極小点1305の間の時間間隔は、極小値平滑化最大時間間隔Y以下であるものとする。すると、極小値間補間平滑化処理(S317-S321)により、各極小点1305の間の各時刻の上限値は、各極小点1305の間での線形補間に基づき、同図の(d)に示すように、各極小点1305の値近傍の値1306に減少補正される。すなわち
、極大値間補間平滑化処理により過度に正常範囲が補間されることで発生する異常の検知漏れのおそれは、極小値間補間平滑化処理により軽減される。
<異常検知処理>
次に、図14は、異常検知処理S400の詳細を説明する処理フロー図である。
異常検知プログラム104は、予測データテーブル400の各実測値が性能下限値と補正上限値の範囲内にあるか(実測値が性能下限値以上かつ補正上限値以下であるか)否かを判定する(S401)。具体的には、異常検知プログラム104は、予測データテーブル400の各レコードの内容を取得し、取得した各レコードにおいて、性能値下限402の値、補正上限404の値、及び実測値405の値の大小関係を比較する。
ある実測値(以下、本実測値という)が性能下限値と補正上限値の範囲内にある場合は(S401:Yes)、異常検知プログラム104は、その実測値についてS402の処理を実行し、ある実測値(本実測値)が性能下限値と補正上限値の範囲内にない場合は(
S401:No)、異常検知プログラム104は、その実測値についてS404の処理を実行する。
S402において異常検知プログラム104は、本実測値の異常スコアを0に設定する。具体的には、異常検知プログラム104は、予測データテーブル400における本実測値に係るレコードの異常スコア406に0を格納する。
そして、異常検知プログラム104は、異常検知管理画面200の時間閾値設定部231、実測閾値設定部232、及び予実差閾値設定部233からフィルタパラメータ(最低継続時間、最低パラメータ値、及び、最低異常スコア)を取得し、取得したフィルタパラメータをフィルタパラメータテーブル600へ格納する(S404)。その後はS405の処理が行われる。
一方、S403において異常検知プログラム104は、本実測値の補正上限値又は性能下限値に対する逸脱量を、異常スコアとして設定する。具体的には、異常検知プログラム104は、予測データテーブル400の本実測値に係るレコードの異常スコア406に、同レコードの実測値405の値から同レコードの補正上限404の値を減じた値(又は同レコードの実測値405から同レコードの性能値下限402を減じた値)を格納する。その後はS404の処理が行われる。
S405において異常検知プログラム104は、フィルタパラメータに基づき、本実測値が異常であるか否かを判定する。例えば、異常検知プログラム104は、本実測値が最低継続時間以上の間継続して、最低パラメータ値より大きい値を示しており、かつ、本実測値の異常スコアが最低異常スコアよりも大きいか否かを判定する。
なお、異常検知プログラム104は、最低パラメータ値及び最低異常スコアを、各時刻の本実測値に対して適用してもよいし、一定の時間単位(例えば、1時間)で実測値405の平均及び異常スコアの平均を求めることでそれらを適用してもよい。
本実測値が異常である場合は(S406:Yes)、異常検知プログラム104はS407の処理を実行し、本実測値が異常でない場合は(S406:No)、異常検知プログラム104はS408の処理を実行する。
S408において異常検知プログラム104は、異常記録テーブル700に、本実測値の計測日(検知日)において異常が無かった旨の判定結果を記録する。具体的には、異常検知プログラム104は、異常記録テーブル700の日付701に、本実測値に係る検知日(予測データテーブル400のタイムスタンプ401に対応。)を格納し、異常有無702に「正常」を記録し、その後はS409の処理を実行する。
S407において異常検知プログラム104は、異常記録テーブル700に、本実測値の計測日(検知日)において異常がある旨の判定結果を記録する。具体的には、異常検知プログラム104は、異常記録テーブル700の日付701に、本実測値に係る検知日(予測データテーブル400のタイムスタンプ401に対応)を格納し、異常有無702に「異常」を記録し、その後はS409の処理を実行する。
なお、以上の異常検知処理S400によって作成された異常記録テーブル700は、次回以降の正常範囲補正処理S300における補正正常範囲算出処理S310の要否判定に用いられる。
S409において異常検知プログラム104は、異常検知管理画面200の結果表示部
270に、これまでの処理の結果を表示する。以上で異常検知処理S400は終了する。
ここで、図6に例示した異常検知管理画面200を用いて、結果表示部270の表示内容を説明する。
結果表示部270は、挙動表示部240、及び検知結果表示部250を備える。挙動表示部240には、予測モデルの学習に用いた性能パラメータの時間変化241が表示される。具体的には、性能パラメータの時間変化241は、対象VM選択部201及び性能値選択部202で選択された対象VMの性能値の、学習期間設定部211で選択された期間における時間変化である。
なお、挙動表示部240には、異常記号242(同図では、三角形にエクスクラメーションマークを重ねた記号)が表示されることがある。異常記号242は、予測モデルの学習に用いた性能パラメータにおいて、異常の判定がなされた場合に表示される。
検知結果表示部250には、予測期間設定部212で指定された予測期間における性能パラメータの実測値の変化251と、性能パラメータの正常範囲253と、性能パラメータの上下限値254(上限値254a及び下限値254b)とが表示される。
また、検知結果表示部250には、異常記号252(同図では、三角形にエクスクラメーションマークを重ねた記号)が表示されることがある。異常記号252は、性能パラメータの実測値が上下限値254の範囲を逸脱している場合(すなわち異常が検知された場合)に表示される。
なお、上下限値254における上限値は、正常範囲補正処理が適用された期間においては、補正された正常範囲の上限値である。一方、正常範囲補正処理が適用されていない期間における上下限値254における上限値は、正常範囲の上限値である。
<補正正常範囲算出処理による効果>
次に、補正正常範囲算出処理S310によって、不要な異常検知が抑制されることを、図面を参照して説明する。
図15は、性能パラメータの実測値の挙動と予測モデルにより予測される正常範囲との関係の一例を示す図である。
同図に示すように、性能パラメータの実測値1501が、性能パラメータの正常範囲たる上限値1502以下を継続していたが、X-1日のある時刻Tで急激に大きく上昇して上限値1502を逸脱し、それ以後も上昇した値を継続したものとする。
この場合、X日において予測モデルは、時刻Tの前後の時刻を含むX-1日における性能パラメータの実測値1503を学習データとして、性能パラメータの上限値(正常範囲)を学習する。すると、その予測モデルは、X-1日における性能パラメータの実測値1501
の急激な上昇を反映して不安定なモデルとなる。例えば、この予測モデルが予測する性能パラメータの上限値1504は、予測ごとに、時刻Tの前後の性能パラメータの実測値を交互に反映した、短期間に激しく増減が繰り返される値となる。
すなわち、この予測モデルは、X-1日の時刻Tにおける性能パラメータの実測値150
1の急激な上昇を不適切に解釈したモデルであり(具体的には、急激な上昇後の性能パラメータの値は、X日現在ではもはや異常では無くなっているのに、未だ異常と判定する)
、予測モデルは学習の過渡期にあるといえる。そして、このような学習過渡期においては
、管理計算機100は、この不安定な正常範囲の値に基づき、性能パラメータの計測値が異常でない場合であっても頻繁に異常と判定することになる。
次に、図16は、補正正常範囲算出処理S310を行った場合の、性能パラメータの実測値の挙動とその補正正常範囲との関係の一例を示す図である。
同図に示すように、補正正常範囲算出処理S310により、予測モデルが予測した性能パラメータの上限値は、前記の増減を繰り返す性能パラメータの上限値1504における極大点に基づき底上げされ(増加し)、補正上限値1602に補正される。その結果、管理計算機100は、この補正上限値1602に基づき、性能パラメータの値の異常の有無を正しく判定できる(不要な異常検知が抑制される)ようになる。
以上説明したように、本実施形態の管理計算機100(異常検知装置)は、予測期間における性能パラメータの値の正常範囲の変動を予測し、予測した正常範囲の上限値の変動から特定した上限値の極大点に基づき正常範囲の上限値を補正し(第1補正処理)、補正した正常範囲の上限値の変動から特定した上限値の極小点に基づき正常範囲の上限値を補正し(第2補正処理)、予測期間の性能パラメータの実測値がその補正正常範囲内に無いと判定した場合には、その結果を異常検知管理画面200に表示する。
すなわち、本実施形態の異常検知装置は、算出した正常範囲における上限値をその極大値に基づき補正することで正常範囲を拡張し、その拡張した正常範囲を、その正常範囲における極小値に基づきさらに補正することで正常範囲を縮小する。これにより、算出した正常範囲の変動が大きく異常の有無の判定が不安定になる可能性がある場合に、正常範囲を適度に補正し、異常の有無の判定を安定させることができる。
このように、本実施形態の異常検知装置によれば、パラメータの値の異常を簡便な処理で精度よく検知することができる。例えば、不要な誤検知を削減し、正確な異常の検知が可能となる。また、参照期間といった他のパラメータを導入する必要もない。
また、本実施形態の異常検知装置は、性能パラメータの期間を入力値とし、その期間における性能パラメータの値の正常範囲を出力値とする予測モデルにより、予測期間における性能パラメータの値の正常範囲の変動を予測する。
これにより、性能パラメータの上限値等を精度良く算出することができる。
また、本実施形態の異常検知装置は、予測期間の性能パラメータの計測値に基づき、随時、予測モデルを更新していく。
これにより、予測モデルの精度をより向上させることができる。
また、本実施形態の異常検知装置は、予測期間より前の性能パラメータの値が異常であった場合にのみ、正常範囲の上限値を補正する。
これにより、正しく異常検知をするために正常範囲の補正が必要な場合にのみ、正常範囲の上限値が補正され、異常検知に係る処理効率を向上させることができる。
また、本実施形態の異常検知装置は、予測期間より前の時刻のパラメータの値が最低パラメータ値を超えているか否か、性能パラメータの値が最低継続時間以上継続して閾値を超えているか否か、又は、性能パラメータの異常スコアが最低異常スコアを超えているか否かを判定することにより、性能パラメータの値の異常を判定する。
これにより、異常との判定が過度に生じることを防ぐことができる。
また、本実施形態の異常検知装置は、予測モデルで算出した正常範囲の上限値の変動から、極大値平滑化最大時間間隔内で互いに隣り合う、上限値の2つの極大点を特定し、特定した2つの極大点の間の各値を、それら極大点の間の線形補間を行うことにより算出し、算出した各値に基づき、2つの極大点の間の正常範囲の上限値を補正する(第1補正処理)。
このように、2つの極大点の間の上限値をその極大点に基づき増加させることで、正常範囲の上限値を全体として増加させ、性能パラメータの値が頻繁に上限値を超えて異常と判定されるような誤判定を防ぐことができる。
さらに、本実施形態の異常検知装置は、第1補正処理の後、線形補間した各値と、正常範囲における上限値の極大点とが示す、正常範囲における上限値の変動から、極大値平滑化最大時間間隔内で互いに隣り合う、上限値の2つの極小点を特定し、特定した2つの極小点の間の各値を、それら2つの極小点の間の線形補間を行うことにより算出し、算出した各値に基づき、2つの極小点の間の正常範囲の上限値を補正する(第2補正処理)。
このように、2つの極小点の間の上限値をその極小点に基づき増加させることで、先に増加させた正常範囲の上限値をやや減少させ、性能パラメータの値が上限値を超えず異常と判定されなくなるような誤判定を防ぐことができる。
さらに、本実施形態の異常検知装置は、補間処理において、正常範囲における上限値の変動が減少している場合にのみ、第2補正処理を実行する。
第2補正処理の効果が強く出るような、上限値が減少傾向にある場合にのみ第2補正処理を実行することで、効率の良い上限値の補正処理を行うことができる。
本発明は、上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、任意の構成要素を用いて実施可能である。以上説明した実施形態や変形例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されるものではない。また、上記では種々の実施形態や変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
例えば、本実施形態の各装置が備えるハードウェアの一部は、他の装置に設けてもよい。
また、異常検知装置の各プログラムは他の装置に設けてもよいし、あるプログラムを複数のプログラムからなるものとしてもよいし、複数のプログラムを一つのプログラムに統合してもよい。
また、本実施形態では、ITシステムの運用管理において計測される性能値の異常検知を例に説明したが、本発明はこの例に限らず適用が可能である。例えば工場機器の温度若しくは振動、又は、水道、ガス若しくは電気等の流量などといった様々な種類の時系列データにも適用可能である。
1 異常検知システム、100 管理計算機、104 異常検知プログラム、105 性
能情報収集プログラム

Claims (10)

  1. 指定された期間におけるパラメータの値の正常範囲の変動を予測する予測処理と、
    前記予測した正常範囲の上限値の変動から上限値の極大点を特定し、特定した上限値の極大点に基づき前記正常範囲の上限値を補正し、補正した正常範囲の上限値の変動から上限値の極小点を特定し、特定した上限値の極小点に基づき前記正常範囲の上限値を補正する補正処理と、
    前記指定された期間のパラメータの値を取得し、取得したパラメータの値が前記補正された正常範囲内にあるか否かを判定し、前記取得したパラメータの値が前記補正された正常範囲内に無いと判定した場合には、所定の情報を出力する異常検知処理と
    を実行する処理装置を備える、異常検知装置。
  2. 前記パラメータに関する期間を入力値とし、前記期間における前記パラメータの値の正常範囲を出力値とする予測モデルを記憶する記憶装置を備え、
    前記処理装置は、前記指定された期間の情報を前記予測モデルに入力することにより、前記期間における前記パラメータの値の正常範囲の変動を予測する、
    請求項1に記載の異常検知装置。
  3. 前記処理装置は、前記取得した前記指定された期間のパラメータの値に基づき、前記予測モデルを更新する、請求項2に記載の異常検知装置。
  4. 前記処理装置は、前記指定された期間より前の前記パラメータの値が異常であったか否かを判定し、前記パラメータの値が異常であったと判定した場合にのみ、前記補正処理を実行する、請求項1に記載の異常検知装置。
  5. 前記処理装置は、前記指定された期間より前の時刻の前記パラメータの値が閾値を超えているか否か、前記パラメータの値が所定期間以上継続して閾値を超えているか否か、又は、前記時刻においてパラメータの値と閾値との差分が所定値を超えているか否かを判定することにより、前記指定された期間より前の前記パラメータの値が異常であったか否かを判定する、請求項4に記載の異常検知装置。
  6. 前記処理装置は、前記補正処理において、前記予測した正常範囲における上限値の変動から、所定時間内で互いに隣り合う、上限値の2つの極大点を特定し、特定した2つの極大点の間の各値を、前記2つの極大点の間の線形補間を行うことにより算出し、算出した各値に基づき、前記2つの極大点の間の正常範囲の上限値を補正する第1補正処理を実行する、請求項1に記載の異常検知装置。
  7. 前記処理装置は、前記第1補正処理の後、前記算出した各値と前記特定した前記正常範囲における上限値の極大点とにより特定される、前記正常範囲における上限値の変動から、所定時間内で互いに隣り合う、上限値の2つの極小点を特定し、特定した2つの極小点の間の各値を、前記2つの極小点の間の線形補間を行うことにより算出し、算出した各値に基づき、前記2つの極小点の間の正常範囲の上限値を補正する第2補正処理を実行する、請求項6に記載の異常検知装置。
  8. 前記処理装置は、前記補正処理において、前記算出した正常範囲における上限値の変動が減少しているか否かを判定し、前記上限値の変動が減少していると判定した場合にのみ、前記第2補正処理を実行する、請求項7に記載の異常検知装置。
  9. 情報処理装置が、
    指定された期間におけるパラメータの値の正常範囲の変動を予測する予測処理と、
    前記予測した正常範囲の上限値の変動から上限値の極大点を特定し、特定した上限値の極大点に基づき前記正常範囲の上限値を補正し、補正した正常範囲の上限値の変動から上限値の極小点を特定し、特定した上限値の極小点に基づき前記正常範囲の上限値を補正する補正処理と、
    前記指定された期間のパラメータの値を取得し、取得したパラメータの値が前記補正された正常範囲内にあるか否かを判定し、前記取得したパラメータの値が前記補正された正常範囲内に無いと判定した場合には、所定の情報を出力する異常検知処理とを実行する
    異常検知方法。
  10. 情報処理装置に、
    指定された期間におけるパラメータの値の正常範囲の変動を予測する予測処理と、
    前記予測した正常範囲の上限値の変動から上限値の極大点を特定し、特定した上限値の極大点に基づき前記正常範囲の上限値を補正し、補正した正常範囲の上限値の変動から上限値の極小点を特定し、特定した上限値の極小点に基づき前記正常範囲の上限値を補正する補正処理と、
    前記指定された期間のパラメータの値を取得し、取得したパラメータの値が前記補正された正常範囲内にあるか否かを判定し、前記取得したパラメータの値が前記補正された正常範囲内に無いと判定した場合には、所定の情報を出力する異常検知処理とを実行させる
    異常検知プログラム。
JP2022102396A 2022-06-27 2022-06-27 異常検知装置、異常検知方法、及び異常検知プログラム Pending JP2024003329A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022102396A JP2024003329A (ja) 2022-06-27 2022-06-27 異常検知装置、異常検知方法、及び異常検知プログラム
US18/180,361 US20230418701A1 (en) 2022-06-27 2023-03-08 Apparatus, method, and non-transitory computer-readable medium for anomaly detection

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022102396A JP2024003329A (ja) 2022-06-27 2022-06-27 異常検知装置、異常検知方法、及び異常検知プログラム

Publications (1)

Publication Number Publication Date
JP2024003329A true JP2024003329A (ja) 2024-01-15

Family

ID=89322917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022102396A Pending JP2024003329A (ja) 2022-06-27 2022-06-27 異常検知装置、異常検知方法、及び異常検知プログラム

Country Status (2)

Country Link
US (1) US20230418701A1 (ja)
JP (1) JP2024003329A (ja)

Also Published As

Publication number Publication date
US20230418701A1 (en) 2023-12-28

Similar Documents

Publication Publication Date Title
JP4237610B2 (ja) 保守支援方法及びプログラム
JP5901140B2 (ja) システムの高い可用性のためにセンサデータを補間する方法、コンピュータプログラム、システム。
JP6354755B2 (ja) システム分析装置、システム分析方法、及びシステム分析プログラム
JP5874936B2 (ja) 運用管理装置、運用管理方法、及びプログラム
JP6521096B2 (ja) 表示方法、表示装置、および、プログラム
JP5768983B2 (ja) 契約違反予測システム、契約違反予測方法および契約違反予測プログラム
WO2011138911A1 (ja) 障害分析装置、障害分析方法および記録媒体
JP5387779B2 (ja) 運用管理装置、運用管理方法、及びプログラム
JP6777142B2 (ja) システム分析装置、システム分析方法、及び、プログラム
EP3795975A1 (en) Abnormality sensing apparatus, abnormality sensing method, and abnormality sensing program
JP5634599B2 (ja) データ処理システム、データ処理方法、及び、プログラム
JP2018163622A (ja) 製造不良原因の探索支援方法及び情報処理装置
JP7127305B2 (ja) 情報処理装置、情報処理方法、プログラム
JP7167992B2 (ja) ラベル修正装置
CN111260142A (zh) 商品指标数据预测方法、装置、存储介质及电子设备
JP6697082B2 (ja) 需要予測方法、需要予測システム及びそのプログラム
JP2013054493A (ja) アラート分析装置、方法及びプログラム
JP2024003329A (ja) 異常検知装置、異常検知方法、及び異常検知プログラム
JP2007164346A (ja) 決定木変更方法、異常性判定方法およびプログラム
JP2019145160A (ja) 表示方法、表示装置、および、プログラム
WO2019060314A1 (en) APPARATUS AND METHOD FOR INTRODUCING PROBABILITY AND UNCERTAINTY IN CLASSIFICATION OF DATA NOT SUPERVISED BY GROUPING, THROUGH CLASSIFICATION STATISTICS
JP7411724B2 (ja) システム分析装置及びシステム分析方法
JP7408911B2 (ja) 異常検知装置及び異常検知方法
US20230008268A1 (en) Extrapolated usage data
JP2022165669A (ja) 異常検出装置、異常検出方法、および異常検出プログラム

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20240819