JP5704234B2 - メッセージ判定装置およびメッセージ判定プログラム - Google Patents

メッセージ判定装置およびメッセージ判定プログラム Download PDF

Info

Publication number
JP5704234B2
JP5704234B2 JP2013516095A JP2013516095A JP5704234B2 JP 5704234 B2 JP5704234 B2 JP 5704234B2 JP 2013516095 A JP2013516095 A JP 2013516095A JP 2013516095 A JP2013516095 A JP 2013516095A JP 5704234 B2 JP5704234 B2 JP 5704234B2
Authority
JP
Japan
Prior art keywords
message
interval
pattern
unit
occurrence
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.)
Active
Application number
JP2013516095A
Other languages
English (en)
Other versions
JPWO2012160637A1 (ja
Inventor
幸洋 渡辺
幸洋 渡辺
松本 安英
安英 松本
敦二 関口
敦二 関口
松原 正純
正純 松原
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
Publication of JPWO2012160637A1 publication Critical patent/JPWO2012160637A1/ja
Application granted granted Critical
Publication of JP5704234B2 publication Critical patent/JP5704234B2/ja
Active 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/0766Error or fault reporting or storing
    • 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/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
    • 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/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、メッセージ判定装置等に関する。
従来から、メッセージを基に運用を管理する電子計算機システムでは、システム内の機器やアプリケーション等が異常時に異常に関するメッセージを出力する。そして、運用を管理する管理装置が、異常時に出力されるメッセージを監視し、システムの異常を検知する。
また、管理装置は、異常時に出力されるメッセージとは別に、システム内の機器やアプリケーション等から正常時に出力されるメッセージを監視することで、システムの異常を検知する。このとき、運用を管理する運用管理者は、システムの機器構成やシステムの動作等に対応させて、手作業で、監視対象とするメッセージを運用に関するルールとして定義する。これにより、管理装置は、運用に関するルールに基づいて、ルールに定義された監視対象のメッセージを監視して、システムの異常を検知できる。
ここで、メッセージを監視して異常を検知する技術がある。この技術では、管理装置が、分散システムが正常に運用された場合に生成される1または2以上の連続したメッセージの組み合わせであって、該メッセージを一意に識別する識別子と該識別子が示す各メッセージの発生回数とを構成要素とする通常パターンを記憶する。そして、管理装置は、通常パターンを参照し、収集したメッセージの識別子と一致する識別子を検索し、該当する識別子が存在する場合には該識別子が示すメッセージの発生回数をカウントする。そして、管理装置は、カウントした発生回数があらかじめ定義された値以上若しくは以下の場合に、異常と判断する。
また、イベントを監視してCPU(Central Processing Unit)の処理能力を検知する技術がある。この技術では、中継機能付きの機器が、パケットの宛先が自機器宛て以外の場合には、定期的に発生するイベントの発生間隔を監視し、監視したイベントの発生間隔があらかじめ定められた間隔を超えているか否かによってCPUの処理能力を判断する。そして、機器は、イベントの発生間隔があらかじめ定められた間隔を超えている場合に、CPUの余力がないことを検知する。
また、FCS(Frame Check Sequence)エラーフレーム(以降、エラーフレームという。)を検出してネットワークシステム上の障害を検知する技術がある。この技術では、障害予測装置が、あるエラーフレームとその次に発生するエラーフレームとの間に伝送路上を伝送するフレームの総ビット数であるエラーフレーム間ビット数を算出する。そして、障害予測装置は、算出したビット数と、統計的に自然に発生する伝送路ビットエラーの発生率に対応する伝送ビット数に基づいて算出される閾値とを比較して、ネットワークシステム上の障害を検知する。そして、障害予測装置は、算出したビット数が閾値よりも小さいとき、ネットワークシステム上で障害が発生していると判定する。
特開2007−96835号公報 特開平11−224214号公報 特開平8−139722号公報 特開2006−318071号公報
しかしながら、管理装置はシステムの異常を検知することが難しい場合があるという問題があった。
例えば、システム内の機器に異常が発生した場合、異常が発生した機器は、メッセージを適正に出力できない。すなわち、異常が発生した機器は、正常時に出力していたメッセージを出力できなかったり、正常時であれば出力するはずのタイミングで出力できなかったりする。また、異常が発生した機器は、かならずしもあらゆる異常について、異常に関するメッセージを出力するわけではない。そうすると、運用管理者が監視対象であるメッセージ等を運用に関するルールとして定義しても、管理装置は定義されたルールを用いて、異常を検知できない場合がある。
また、運用管理者が運用に関するルールを定義することは難しい。すなわち、運用管理者が運用に関するルールを手作業で定義するためには、システムの機器構成やシステムの動作等に関する十分な知識を持つことが望ましい。加えて、運用管理者が、例えば他者から運用を引き継ぐ場合、十分な知識を入手できない場合もある。そうすると、運用管理者は運用に関するルールを手作業で定義することが難しいので、管理装置は、異常を検知することが困難となる。
しかも、例えば、クラウドコンピューティングのようにシステムの機器構成が頻繁に変化する場合、運用管理者は、運用に関するルールを定義することは難しくなるので、管理装置は異常を検知することが、なおさら困難となる。
メッセージを監視して障害を検知する従来の技術であっても、カウントした発生回数と比較する値や、イベントの発生間隔と比較する間隔や、障害を検知するために用いられるエラーフレーム等を、運用管理者があらかじめ運用に関するルールとして定義する。そうすると、管理装置は異常を検知することが難しい場合があるという問題が同様にある。
1つの側面では、システムの異常を検知することを目的とする。
第1の案では、メッセージ判定装置は、システムで発生したメッセージを記憶する記憶部と、前記記憶部によって記憶されたメッセージから発生間隔が一定範囲であるメッセージを抽出する抽出部と前記システムで発生したメッセージのうち前記抽出部によって抽出されたメッセージについて発生間隔が前記一定範囲を外れたか否かを判定する判定部とを備える。
システムの異常を検知することができる。
図1は、実施例1に係るメッセージ判定装置の構成を示す機能ブロック図である。 図2は、実施例1に係る管理装置の構成を示す機能ブロック図である。 図3は、実施例1に係る発生間隔テーブルのデータ構造の一例を示す図である。 図4は、実施例1に係る監視用テーブルのデータ構造の一例を示す図である。 図5Aは、メッセージの分類手法の例(メッセージ種類ID型)を示す図である。 図5Bは、メッセージの分類手法の別の例(正規表現型)を示す図である。 図5Cは、メッセージの分類手法の別の例(類似度判定型)を示す図である。 図6は、実施例1に係る監視用情報生成の処理手順を示すフローチャートである。 図7Aは、通常より短期間でメッセージが発生している場合の障害検知の処理手順を示すフローチャートである。 図7Bは、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の障害検知の処理手順を示すフローチャートである。 図8は、実施例3に係る管理装置の構成を示す機能ブロック図である。 図9は、実施例3に係る発生間隔テーブルのデータ構造の一例を示す図である。 図10は、実施例3に係る監視用テーブルのデータ構造の一例を示す図である。 図11は、一定期間に発生したメッセージをパターンとして抽出する手法の一例を示す図である。 図12は、メッセージパターンの同一判定の具体例を説明する図である。 図13は、実施例3に係る監視用情報生成の処理手順を示すフローチャートである。 図14Aは、通常より短期間でメッセージが発生している場合の障害検知の処理手順を示すフローチャートである。 図14Bは、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の障害検知の処理手順を示すフローチャートである。 図15は、メッセージ判定プログラムを実行するコンピュータを示す図である。
以下に、本願の開示するメッセージ判定装置およびメッセージ判定プログラムの実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。
図1は、本実施例1に係るメッセージ判定装置の構成を示す機能ブロック図である。図1に示すように、メッセージ判定装置9は、記憶部11、抽出部12および判定部13を有する。メッセージ判定装置9としては、PC(Personal Computer)等の装置を含む、システム全体を管理するための管理端末が挙げられる。また、メッセージ判定装置9は、システム内の例えばPC等の各機器とネットワークを介して接続されている。システム内の各機器は、異常時および正常時に発生したメッセージをメッセージ判定装置9に出力する。
記憶部11は、システムで発生したメッセージを記憶する。抽出部12は、記憶部11によって記憶されたメッセージから発生間隔が一定範囲であるメッセージを抽出する。
判定部13は、システムで発生したメッセージのうち抽出部12によって抽出されたメッセージについて発生間隔が一定範囲を外れたか否かを判定する。
このようにして、メッセージ判定装置9は、システムで発生したメッセージから発生間隔が一定範囲であるメッセージを抽出するので、メッセージについての発生間隔の判定に抽出したメッセージを用いることにより、システムの異常を検知できる。
[実施例2に係る管理装置の構成]
次に、実施例2について説明する。実施例2では、メッセージ判定装置の一例として、ネットワークシステム内の各機器から出力されるメッセージを監視する管理装置を採用した場合について説明する。
図2は、実施例2に係る管理装置の構成を示す機能ブロック図である。図2に示すように、管理装置1は、ネットワーク制御部31、収集部32、監視用情報生成部33、検知部34、警告部35および記憶部36を有する。
記憶部36は、メッセージログ361、発生間隔テーブル362および監視用テーブル363を有する。なお、記憶部36は、例えば、RAM(Random Access Memory)、フラッシュメモリ(flash memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。
ネットワーク制御部31は、ネットワークを介して通信を行い、ここでは、ネットワークシステム内の各機器と通信を行い各機器から出力されるメッセージを受信する。なお、ネットワークは、有線であっても、無線であっても良く、ネットワークシステム内の各機器と通信を行えるものであれば良い。
収集部32は、ネットワークシステムの運用時にネットワーク制御部31によって受信されたメッセージを受け取り、受け取ったメッセージを収集する。そして、収集部32は、収集したメッセージを、メッセージの発生履歴を記憶するメッセージログ361に格納する。収集部32によって収集されるメッセージは、ネットワークシステム内の各機器によって出力されるメッセージを意味し、重要なメッセージおよび重要でないメッセージを含む。ここでいう重要なメッセージとは、システムの障害検知を行う際に用いられる監視対象となるメッセージをいい、重要でないメッセージとは、それ以外のメッセージをいう。なお、監視対象となるメッセージを抽出する方法の詳細については後述する。
監視用情報生成部33は、メッセージログ361を解析して、システムの障害検知を行う際に用いられる情報である監視用情報を生成する。監視用情報には、例えば、監視対象となるメッセージや障害か否かを判定する閾値が含まれる。すなわち、監視用情報には、運用に関するルールを定義した情報が含まれる。なお、監視用情報生成部33は、一定期間毎または不定期毎に監視用情報を更新し、ネットワークシステムの最新の機器構成に対応させた情報を生成する。一定期間の例として、1時間であっても良いし、1日であっても良い。また、不定期の例として、機器構成が変化した時期や機器が追加された時期が挙げられる。
さらに、監視用情報生成部33は、算出部331および抽出部332を有する。
算出部331は、メッセージログ361を解析して、メッセージの種類毎の発生間隔を算出する。例えば、算出部331は、メッセージログ361に記憶されたメッセージのうち最も古い時刻から昇順に1個ずつメッセージを選択し、選択したメッセージを分類する。一例として、メッセージの特定のフィールドを、メッセージの種類を示すID(IDentification)に割り当てておき、算出部331は、選択したメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。なお、メッセージの分類手法の詳細については後述する。
また、算出部331は、分類したメッセージの種類に該当するエントリを、メッセージの種類毎に発生間隔を管理する発生間隔テーブル362から検索する。そして、算出部331は、該当するエントリを検索できなかった場合には、選択したメッセージに関するエントリを発生間隔テーブル362に追加する。一方、算出部331は、該当するエントリを検索できた場合には、メッセージログ361に記憶されたメッセージに基づいて、分類したメッセージと、発生時刻が当該メッセージと最も近い同一種類のメッセージとの発生間隔を算出する。そして、算出部331は、算出した発生間隔に関連する情報を発生間隔テーブル362の該当するエントリに対して更新する。一例として、算出部331は、分類したメッセージについて、該当するエントリのメッセージの種類に対応する発生回数を1加算し、加算した発生回数を更新する。この場合、算出部331は、該当するエントリのメッセージの種類に対応させて発生間隔を記憶部36に一時的に保持する。これは、メッセージログ361の開始から終端までのメッセージについて、メッセージの分類および発生間隔の算出が終了した後、分類したメッセージの発生間隔の平均間隔および標準偏差を算出するためである。
そして、算出部331は、メッセージログ361の開始から終端までのメッセージを分類し、さらに発生間隔を算出する処理を繰り返す。そして、算出部331は、メッセージログ361の終端まで処理すると、発生間隔テーブル362に記憶された発生回数およびメッセージ種類に対応させて一時的に保持した発生間隔に基づいて、メッセージの種類に対応した発生間隔の平均間隔を算出する。さらに、算出部331は、算出した平均間隔および一時的に保持した発生間隔を用いて、メッセージの種類に対応した発生間隔の分散を算出し、算出した分散から標準偏差を算出する。そして、算出部331は、発生間隔テーブル362のメッセージの種類に対応した該当するエントリに、算出した標準偏差を更新する。
なお、算出部331は、メッセージログ361に記憶されたメッセージのうち最も古い時刻から昇順に1個ずつメッセージを選択するものとして説明したが、これに限定されず、最も新しい時刻から降順に1個ずつメッセージを選択するものとしても良い。
ここで、発生間隔テーブル362のデータ構造について、図3を参照して説明する。図3は、実施例2に係る発生間隔テーブルのデータ構造の一例を示す図である。図3に示すように、発生間隔テーブル362は、メッセージの種類362a毎に発生回数362b、平均間隔362cおよび標準偏差362dを対応付けて記憶する。メッセージの種類362aは、メッセージの種類を示す。メッセージの種類362aとして、例えば、メッセージを一意に表すID(メッセージ種類ID)を用いることができる。発生回数362bは、メッセージの種類362aに対応したメッセージの発生回数を示す。平均間隔362cは、メッセージの種類362aに対応した発生間隔の平均を示す。標準偏差362dは、メッセージの種類362aに対応した発生間隔の標準偏差を示す。例えば、メッセージの種類362aが「C」である場合、発生回数362bの値として「2406」、平均間隔362cの値として「120.2」秒、標準偏差362dの値として「10.5」秒を記憶している。
抽出部332は、メッセージの発生間隔が一定範囲となるメッセージを監視対象として抽出する。例えば、抽出部332は、発生間隔テーブル362に記憶された発生間隔の平均を示す平均間隔および標準偏差に基づいて、平均間隔からの発生間隔のばらつきが一定の範囲に収まるメッセージの種類を抽出する。抽出した種類のメッセージが監視対象となる。一例として、抽出部332は、標準偏差を平均間隔で割ったときの商が一定の範囲を示す「0.1」以下のメッセージの種類を抽出する。すなわち、平均間隔の10%以下を一定の範囲とする。そして、抽出部332は、抽出したメッセージの種類に対応するエントリを、監視対象であるメッセージの種類を管理する監視用テーブル363に格納する。なお、抽出部332は、標準偏差を平均間隔で割ったときの商が「0.1」より小さいメッセージを抽出するものとしたが、これに限定されず、システムの機器構成やシステムの動作に応じた値より小さいメッセージを抽出するようにしても良い。
ここで、監視用テーブル363のデータ構造について、図4を参照して説明する。図4は、実施例2に係る監視用テーブルのデータ構造の一例を示す図である。図4に示すように、監視用テーブル363は、メッセージの種類363a毎に平均間隔363b、標準偏差363c、直近のメッセージ363dおよび前回からの経過時間363eを対応付けて記憶する。メッセージの種類363aは、監視対象であるメッセージの種類を示す。平均間隔363bは、メッセージの種類363aに対応した発生間隔の平均を示す。標準偏差363cは、メッセージの種類363aに対応した発生間隔の標準偏差を示す。直近のメッセージ363dは、直近に発生したメッセージを示す。直近のメッセージ363dとして、例えば、直近にメッセージが発生した場合に「○」、直近にメッセージが発生していない場合に「−」を用いることができる。前回からの経過時間363eは、同一種類のメッセージについて、前回発生した時刻から現在の時刻までの経過時間を示す。例えば、メッセージの種類363aが「C」である場合、平均間隔363bの値として「120.2」秒、標準偏差363cの値として「10.5」秒、直近のメッセージ363dとして「○」、前回からの経過時間363eとして「115」秒を記憶している。
検知部34は、ネットワーク制御部31によって受信されたメッセージを受け取り、受け取ったメッセージが抽出部332によって抽出された監視対象であれば、監視対象について発生間隔を監視する。そして、検知部34は、監視対象の発生間隔が当該監視対象に対応する一定範囲を外れた場合に、ネットワークシステムの障害として検知する。一定範囲を外れた場合には、通常より短期間でメッセージが発生している場合と、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合とに分けられる。
まず、通常より短期間でメッセージが発生している場合について説明する。例えば、検知部34は、メッセージを受け取ったとき、受け取ったメッセージを分類する。なお、分類手法は、算出部331で分類した手法と同様の手法を用いるものとする。そして、検知部34は、分類したメッセージの種類に該当するエントリを監視用テーブル363から検索する。そして、検知部34は、検索できた場合には、メッセージログ361に記憶されたメッセージに基づいて、該当するエントリの経過時間を算出する。すなわち、検知部34は、受け取ったメッセージの時刻と最も近い同一エントリのメッセージの時刻から、受け取ったメッセージの時刻までの経過時間を算出する。そして、検知部34は、算出した経過時間が閾値以下であるか否かを判定する。そして、検知部34は、算出した経過時間が閾値以下である場合、通常より短期間でメッセージが発生していると判定し、ネットワークシステムの障害として検知する。
次に、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合について説明する。例えば、検知部34は、監視用テーブル363に記憶された複数のエントリの各メッセージについて、メッセージログ361に記憶されたメッセージの情報を用いて、前回発生した時刻から現在の時刻までの経過時間を算出する。そして、検知部34は、算出した経過時間が閾値以上であるか否かを判定する。そして、検知部34は、算出した経過時間が閾値以上である場合、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生していると判定し、ネットワークシステムの障害として検知する。
ここで、閾値の一例について示す。閾値は、メッセージの種類毎に決定される。そして、閾値は、メッセージの種類毎に発生する複数のメッセージの発生間隔のうち略95%を含むこととなる発生間隔の上下限値を用いることができる。つまり、式(1)に示すように、平均間隔から標準偏差に2を乗じた値を引いた値から、標準偏差に2を乗じた値を平均間隔に加算した値までの発生間隔Xは、発生間隔テーブル362の各エントリに関わるメッセージのうち略95%のメッセージの発生間隔を含む。
平均間隔−標準偏差×2<発生間隔X<平均間隔+標準偏差×2・・・式(1)
したがって、略95%を超えた発生間隔をシステムの障害とする。そこで、通常より短期間でメッセージが発生している場合の閾値は、下限値を用いることができる。一方、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の閾値は、上限値を用いることができる。
警告部35は、検知部34によって障害が検知されると、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によって障害が検知されたことを警告する。
[メッセージの分類手法]
次に、メッセージの分類手法について、図5A〜図5Cを用いて説明する。図5Aは、メッセージの分類手法の例(メッセージ種類ID型)を示す図である。図5Aに示すように、メッセージ種類ID型は、メッセージの特定のフィールドを、メッセージの種類を示すIDとする。そして、算出部331および検知部34は、メッセージのIDによってメッセージを分類する。図5Aの例では、メッセージの特定のフィールドにある「AP020S001」がメッセージの種類を示すID、すなわちメッセージ種類IDとなる。
図5Bは、メッセージの分類手法の別の例(正規表現型)を示す図である。図5Bに示すように、正規表現型は、メッセージの種類を識別するための正規表現をメッセージ辞書に持つ。そして、算出部331および検知部34は、入力されたメッセージをメッセージ辞書の正規表現と比較することでメッセージを分類する。
図5Cは、メッセージの分類手法の別の例(類似度判定型)を示す図である。図5Cに示すように、類似度判定型は、過去のメッセージログ361から学習したメッセージを学習辞書に持つ。そして、算出部331および検知部34は、入力されたメッセージを学習辞書の各メッセージの文字列と比較し、比較した結果、類似度により入力されたメッセージを分類する。図5Cの例では、入力されたメッセージM0は、学習辞書内のID「001」のメッセージと比較され、9語中6語、すなわち66.666%の類似度となる。一方、入力されたメッセージM0は、学習辞書内のID「002」のメッセージと比較され、9語中1語、すなわち11.11%の類似度となる。ここで、同一種類に分類する基準値を60%とした場合、入力されたメッセージM0は、ID「001」として分類される。
[実施例2に係る監視用情報生成の処理手順]
次に、実施例2に係る監視用情報生成の処理手順を、図6を参照して説明する。図6は、実施例2に係る監視用情報生成の処理手順を示すフローチャートである。なお、メッセージログ361には、ネットワークシステム内の各機器から出力されたメッセージが収集部32によって記憶されているものとする。
まず、算出部331は、監視用情報の生成要求があったか否かを判定する(ステップS11)。監視用情報の生成要求がなかったと判定した場合(ステップS11;No)、算出部331は、監視用情報の生成要求があると判定するまで、判定処理を繰り返す。一方、監視用情報の生成要求があったと判定した場合(ステップS11;Yes)、算出部331は、メッセージログ361のファイルをオープンする(ステップS12)。
そして、算出部331は、メッセージログ361に記憶されたメッセージのうち1メッセージを読み込む(ステップS13)。例えば、算出部331は、メッセージログ361に記憶されたメッセージを最も古い時刻から昇順に読み込む。
続いて、算出部331は、読み込んだメッセージを分類する(ステップS14)。例えば、算出部331は、読み込んだメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。そして、算出部331は、分類したメッセージの種類に該当するエントリを発生間隔テーブル362から検索する(ステップS15)。
ここで、算出部331は、該当するエントリがみつかったか否かを判定する(ステップS16)。該当するエントリがみつからなかったと判定した場合(ステップS16;No)、算出部331は、分類したメッセージに関するエントリを発生間隔テーブル362に追加し(ステップS17)、ステップS18に移行する。
一方、該当するエントリがみつかったと判定した場合(ステップS16;Yes)、算出部331は、メッセージログ361に基づいて、分類したメッセージと、当該メッセージと最も近い同一種類のメッセージとの発生間隔を算出する(ステップS18)。
そして、算出部331は、該当するエントリに対して、算出した発生間隔に関連する情報を更新する(ステップS19)。例えば、算出部331は、該当するエントリのメッセージの種類に対応した発生回数を1加算し、加算した発生回数を更新する。このとき、算出部331は、該当するエントリのメッセージの種類に対応させて発生間隔を記憶部36に一時的に保持する。
そして、算出部331は、メッセージログの終端であるか否かを判定する(ステップS20)。メッセージログの終端でないと判定した場合(ステップS20;No)、算出部331は、次のメッセージを読み込むため、ステップS13に移行する。
一方、メッセージログの終端であると判定した場合(ステップS20;Yes)、算出部331は、発生間隔テーブル362に記憶されたエントリに基づいて、全エントリの発生間隔の標準偏差を算出する(ステップS21)。例えば、算出部331は、発生間隔テーブル362に記憶された発生回数およびエントリのメッセージの種類に対応させて一時的に保持した発生間隔に基づいて、メッセージの種類に対応した発生間隔の平均間隔を算出する。そして、算出部331は、算出した平均間隔および一時的に保持した発生間隔を用いて、メッセージの種類に対応した発生間隔の分散を算出し、算出した分散からメッセージの種類に対応した標準偏差を算出する。
続いて、抽出部332は、エントリのメッセージの種類毎に算出した標準偏差と平均間隔の比が閾値以下のエントリを抽出し、抽出したエントリを監視用テーブル363に追加する(ステップS22)。閾値には、例えば、平均間隔の10%を示す「0.1」が適用されるが、これに限定されるものではない。
[実施例2に係る障害検知の処理手順]
次に、実施例2に係る障害検知の処理手順を、図7Aおよび図7Bを参照して説明する。図7Aは、通常より短期間でメッセージが発生している場合の障害検知の処理手順を示す。図7Bは、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の障害検知の処理手順を示す。
最初に、通常より短期間でメッセージが発生する場合の障害検知の処理手順について、図7Aを参照して説明する。まず、検知部34は、メッセージを受け取ったか否かを判定する(ステップS31)。メッセージを受け取っていないと判定した場合(ステップS31;No)、検知部34は、メッセージを受け取るまで判定処理を繰り返す。一方、メッセージを受け取ったと判定した場合(ステップS31;Yes)、検知部34は、受け取ったメッセージを分類する(ステップS32)。例えば、検知部34は、受け取ったメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。
そして、検知部34は、分類したメッセージの種類に該当するエントリを監視用テーブル363から検索する(ステップS33)。ここで、検知部34は、該当するエントリがみつかったか否かを判定する(ステップS34)。該当するエントリがみつからなかったと判定した場合(ステップS34;No)、検知部34は、受け取ったメッセージが監視対象でないので、ステップS31に移行する。
一方、該当するエントリがみつかったと判定した場合(ステップS34;Yes)、検知部34は、監視用テーブル363の直近のメッセージ363dのフィールドを更新する(ステップS35)。すなわち、検知部34は、該当するエントリの直近のメッセージ363dのフィールドを「○」に更新し、それ以外のエントリの直近のメッセージ363dのフィールドを「−」に更新する。
そして、検知部34は、該当するエントリの経過時間を算出する(ステップS36)。すなわち、検知部34は、受け取ったメッセージの時刻に最も近い同一エントリのメッセージの時刻から、受け取ったメッセージの時刻までの経過時間を算出する。そして、検知部34は、算出した経過時間が閾値(例えば、前述した下限値)以下であるか否かを判定する(ステップS37)。経過時間が閾値以下でないと判定した場合(ステップS37;No)、検知部34は、通常より短期間でメッセージが発生していないので、ステップS31に移行する。
一方、経過時間が閾値以下であると判定した場合(ステップS37;Yes)、検知部34は、通常より短期間でメッセージが発生していると判定し、ネットワークシステムの障害として検知する(ステップS38)。そして、警告部35は、検知部34からネットワークシステムの障害を検知した旨の通知に応じて、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によってアラートを行う(ステップS39)。
次に、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の障害検知の処理手順について、図7Bを参照して説明する。まず、検知部34は、一定時間が経過したか否かを判定する(ステップS41)。一定時間が経過していないと判定した場合(ステップS41;No)、検知部34は、一定時間が経過するまで待機すべく、ステップS41に移行する。なお、一定時間の例として、1分間であっても良いし、5分間であっても良く、システムの機器構成やシステムの動作に応じた時間を適用すれば良い。
一方、一定時間が経過していると判定した場合(ステップS41;Yes)、検知部34は、監視用テーブル363に記憶された各エントリの経過時間を算出する(ステップS42)。例えば、検知部34は、監視用テーブル363に記憶された各エントリについて、メッセージログ361に記憶されたメッセージの情報を用いて、前回発生した時刻から現在の時刻までの経過時間を算出する。
そして、検知部34は、経過時間が閾値(例えば、前述した上限値)以上であるエントリはあったか否かを判定する(ステップS43)。経過時間が閾値以上であるエントリはなかったと判定した場合(ステップS43;No)、検知部34は、どのエントリも通常の経過時間でメッセージが存在しているので、ステップS41に移行する。
一方、経過時間が閾値以上のエントリはあったと判定した場合(ステップS43;Yes)、検知部34は、当該エントリについて、発生するはずのメッセージが発生していないので、ネットワークシステムの障害として検知する(ステップS44)。そして、警告部35は、検知部34から当該エントリについてネットワークシステムの障害を検知した旨の通知に応じて、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によってアラートを行う(ステップS45)。
このように、収集部32は、ネットワークシステムで発生したメッセージをメッセージログ361に格納する。そして、抽出部332は、メッセージログ361によって記憶されたメッセージの発生間隔が一定範囲となるメッセージを抽出する。したがって、抽出部332は、メッセージの発生間隔が一定範囲となるメッセージを抽出するので、抽出したメッセージを監視対象とすることができ、監視対象とするメッセージを含め監視用情報を自動的に定義することができる。
また、検知部34は、ネットワークシステムで発生したメッセージのうち抽出部332によって抽出されたメッセージについて発生間隔が一定範囲を外れたか否かを判定する。したがって、検知部34は、抽出部332によって抽出されたメッセージについて発生間隔が一定範囲を超えるような場合、例えば当該メッセージが出力されないことを原因としたシステム障害を容易に検知できる。また、検知部34は、抽出部332によって抽出されたメッセージについて発生間隔が一定範囲を下回るような場合、例えば当該メッセージが短期間で出力されることを原因としたシステム障害を容易に検知できる。
また、抽出部332は、メッセージログ361に記憶されたそれぞれのメッセージの種類を分類する。そして、抽出部332は、分類したメッセージの種類毎にメッセージの発生間隔が一定範囲となる種類のメッセージを抽出する。したがって、抽出部332は、メッセージ同士が完全一致のメッセージだけを抽出するのではなく、完全一致でないメッセージ同士を1つの種類のメッセージとして抽出できるので、汎用性の高い障害検知を行うことができる。
ところで、実施例2の管理装置1では、メッセージの発生間隔が一定範囲となる種類のメッセージを監視対象として抽出する場合について説明した。しかしながら、管理装置1は、これに限定されず、メッセージのパターンの発生間隔が一定範囲となるメッセージのパターンを監視対象として抽出しても良い。ここでいうメッセージのパターンとは、一定期間内に発生するメッセージの集合をいう。すなわち、管理装置1は、発生間隔が一定範囲となるメッセージの集合を抽出する。
そこで、実施例3では、管理装置2が、メッセージログ361に記憶されたメッセージのパターンを抽出し、抽出したメッセージのパターン毎に、各パターンの発生間隔が一定範囲となるパターンを監視対象として抽出する場合を説明する。
[実施例3に係る管理装置の構成]
図8は、実施例3に係る管理装置の構成を示す機能ブロック図である。なお、図2に示す管理装置1と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例2と実施例3とが異なるところは、監視用情報生成部33の算出部331を算出部331Aに変更し、抽出部332を抽出部332Aに変更した点にある。また、実施例2と実施例3とが異なるところは、記憶部36の発生間隔テーブル362を発生間隔テーブル362Aに変更し、監視用テーブル363を監視用テーブル363Aに変更した点にある。また、実施例2と実施例3とが異なるところは、検知部34を検知部34Aに変更した点にある。
算出部331Aは、メッセージログ361を解析して、メッセージのパターン毎の発生間隔を算出する。例えば、算出部331Aは、メッセージログ361に記憶されたメッセージを1個ずつ選択し、選択したメッセージを分類する。一例として、メッセージの特定のフィールドを、メッセージの種類を示すID(IDentification)に割り当てておき、算出部331Aは、選択したメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。なお、メッセージの分類手法については、図5A〜図5Cで説明したとおりであるので、説明を省略する。
また、算出部331Aは、選択したメッセージの発生時刻から一定期間前までに発生したメッセージをパターンとして抽出する。なお、一定期間の例として、2分間であっても良いし、3分間であっても良く、システムの機器構成やシステム動作に応じた時間を適用すれば良い。また、一定期間に発生したメッセージをパターンとして抽出する手法の詳細については後述する。
また、算出部331Aは、抽出したパターンに該当するエントリを発生間隔テーブル362Aから検索する。そして、算出部331Aは、検索できなかった場合には、選択したパターンに該当するエントリを発生間隔テーブル362Aに追加する。そして、算出部331Aは、メッセージログ361に記憶されたメッセージに基づいて、抽出したパターンと、発生時刻が当該パターンに最も近い同一のパターンとの発生間隔を算出する。そして、算出部331Aは、発生間隔テーブル362Aの該当するエントリに対して、算出した発生間隔に関連する情報を更新する。一例として、算出部331Aは、抽出したパターンについて、該当するエントリのパターンに対応する発生回数を1加算し、加算した発生回数を更新する。このとき、算出部331Aは、該当するエントリのパターンに対応させて発生間隔を記憶部36に一時的に保持する。これは、メッセージログ361の開始から終端までのメッセージについて、パターンの抽出および発生間隔の算出が終了した後、抽出したパターンの発生間隔の平均間隔および標準偏差を算出するためである。
そして、算出部331Aは、メッセージログ361の開始から終端までのメッセージについて、メッセージのパターンを抽出し、さらに抽出したメッセージのパターンの発生間隔を算出する処理を繰り返す。そして、算出部331Aは、メッセージログ361の終端まで処理すると、発生間隔テーブル362Aに記憶された発生回数およびパターンに対応させて一時的に保持した発生間隔に基づいて、パターンに対応した発生間隔の平均間隔を算出する。さらに、算出部331Aは、算出した平均間隔およびパターンに対応させて一時的に保持した発生間隔を用いて、パターンに対応した発生間隔の分散を算出し、算出した分散から標準偏差を算出する。そして、算出部331Aは、発生間隔テーブル362Aの該当するパターンのエントリに、算出した標準偏差を更新する。
ここで、発生間隔テーブル362Aのデータ構造について、図9を参照して説明する。図9は、実施例3に係る発生間隔テーブルのデータ構造の一例を示す図である。図9に示すように、発生間隔テーブル362Aは、パターンの種類362e毎にパターンの中身362f、発生回数362b、平均間隔362cおよび標準偏差362dを対応付けて記憶する。パターンの種類362eは、メッセージのパターンの種類を示す。メッセージのパターンの種類362eとして、例えば、メッセージのパターンを一意に表すIDを用いることができる。パターンの中身362fは、メッセージパターン抽出部400によって抽出されたパターンに含まれるメッセージの種類を示す。なお、発生回数362b、平均間隔362cおよび標準偏差362dについては、図3に示す発生間隔テーブル362と同一のデータ構造であるので、その説明については省略する。
発生間隔テーブル362Aに記憶されたレコードの一例を示す。パターンの種類362eが「A」である場合、パターンの中身362fとして「a,b,c,d」、発生回数362bの値として「144」、平均間隔362cの値として「3601.8」秒、標準偏差362dの値として「30.5」秒を記憶している。
図8に戻って、抽出部332Aは、パターンの発生間隔が一定範囲となるパターンを監視対象として抽出する。そして、抽出部332Aは、抽出したパターンに対応するエントリを監視用テーブル363Aに格納する。
ここで、監視用テーブル363Aのデータ構造について、図10を参照して説明する。図10は、実施例3に係る監視用テーブルのデータ構造の一例を示す図である。図10に示すように、監視用テーブル363Aは、パターンの種類363f毎にパターンの中身363g、部分一致363h、平均間隔363b、標準偏差363c、直近のメッセージ363dおよび前回からの経過時間363eを対応付けて記憶する。パターンの種類363fは、監視対象であるメッセージのパターンにおける種類を示す。パターンの種類363fとして、例えば、メッセージのパターンを一意に表すIDを用いることができる。パターンの中身363gは、パターンに含まれるメッセージの種類を示す。部分一致363hは、パターンに含まれるメッセージの種類のうち監視中に実際に発生したメッセージの種類を示す。なお、平均間隔363b、標準偏差363c、直近のメッセージ363dおよび前回からの経過時間363eについては、図4に示す監視用テーブル363と同一のデータ構造であるので、その説明については省略する。
監視用テーブル363Aに記憶されたレコードの一例を示す。パターンの種類363fが「A」である場合、パターンの中身363gとして「a,b,c,d」、部分一致363hとして「a,b,c」、平均間隔363bの値として「3601.8」秒、標準偏差363cの値として「30.5」秒を記憶している。さらに、直近のメッセージ363dとして「−」、前回からの経過時間363eとして「3680」秒を記憶している。
図8に戻って、検知部34Aは、抽出部332Aによって抽出されたパターンについて発生間隔を監視し、当該パターンの発生間隔が当該パターンに対応する一定範囲を外れた場合に、ネットワークシステムの障害として検知する。一定範囲を外れた場合には、通常より短期間でメッセージのパターンが発生している場合と、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間経過後にメッセージのパターンが発生している場合とに分けられる。
まず、通常より短期間でメッセージのパターンが発生している場合について説明する。例えば、検知部34Aは、メッセージを受け取ったとき、算出部331Aで分類した手法と同様の手法を用いて、受け取ったメッセージを分類する。そして、検知部34Aは、受け取ったメッセージの発生時刻から一定期間前までに発生したメッセージをパターンとして抽出する。かかる一定期間は、算出部331Aによってパターンを抽出した場合に用いられる一定期間と同値であるものとする。
また、検知部34Aは、抽出したパターンに該当するエントリを監視用テーブル362Aから検索する。例えば、検知部34Aは、抽出したパターンの内容と監視用テーブル363Aに記憶されたパターンの中身363gの内容とを比較し、パターンが同一であるか否かを判定する。一例として、検知部34Aは、抽出したパターンの内容およびパターンの中身363gの内容を比較し、それぞれの内容に含まれるメッセージの順序およびメッセージの一致率に基づいて、完全一致であるか部分一致であるかを判定する。そして、検知部34Aは、完全一致または部分一致であると判定したパターンを同一パターンであると判断して、当該パターンのエントリを監視用テーブル363Aから検索する。そして、検知部34Aは、部分一致である場合、該当するエントリの部分一致363hのフィールドに、部分一致であったメッセージの種類を更新する。これにより、検知部34Aは、部分一致となったパターンの中で一致しなかったメッセージの種類を特定できるので、メッセージの発生状況を把握することが可能となる。例えば、図10では、パターンの種類363fが「A」である場合、パターンの中身363gとして「a,b,c,d」のメッセージの種類がある。ところが、部分一致363hとしてメッセージの種類が「a,b,c」であり、パターンの中身363gの中で一致しなかったメッセージの種類が「d」と特定できる。したがって、例えば検知部34Aは、メッセージの種類「d」が発生していないことを把握できる。
また、検知部34Aは、メッセージログ361に記憶されたメッセージに基づいて、該当するエントリの経過時間を算出する。すなわち、検知部34Aは、受け取ったメッセージを含むパターンの発生時刻に最も近い同一パターンの発生時刻から、受け取ったメッセージを含むパターンの発生時刻までの経過時間を算出する。なお、パターンの発生時刻とは、例えば、パターンに含まれるメッセージのうち始端のメッセージ、つまり最も古いメッセージの発生時刻を指しても良いし、終端のメッセージ、つまり最も新しいメッセージの発生時刻を指しても良い。
そして、検知部34Aは、算出した経過時間が閾値以下であるか否かを判定する。そして、検知部34Aは、算出した経過時間が閾値以下である場合、通常より短期間で当該メッセージのパターンが発生しているので、ネットワークシステムの障害として検知する。
次に、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間経過後にメッセージのパターンが発生している場合について説明する。例えば、検知部34Aは、監視用テーブル363Aに記憶された複数のエントリの各パターンについて、メッセージログ361に記憶されたメッセージの情報を用いて、前回の発生時刻から現在の時刻までの経過時間を算出する。そして、検知部34Aは、算出した経過時間が閾値以上であるか否かを判定する。そして、検知部34Aは、算出した経過時間が閾値以上である場合、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間経過後にメッセージのパターンが発生しているので、ネットワークシステムの障害として検知する。
次に、一定期間に発生したメッセージをパターンとして抽出する手法について、図11を参照して説明する。図11は、一定期間に発生したメッセージをパターンとして抽出する手法の一例を示す図である。なお、図11の例では、図5Bで示した正規表現型でメッセージを分類するものとする。図11に示すように、算出部331Aは、例えばメッセージログ361に記憶された、過去のそれぞれのメッセージを、メッセージ辞書を用いて分類する。ここでは、各メッセージが分類された結果、発生時刻の古い順に「abcdcefebca・・・」と表される。
そして、算出部331Aは、ある時刻から一定期間前までに発生したメッセージをパターンとして抽出する。ここでは、一例として、算出部331Aは、分類したメッセージ「c」の発生時刻から一定期間前までに発生したメッセージ「abc」をパターンとして抽出する。また、別の例として、算出部331Aは、分類したメッセージ「d」の発生時刻から一定期間前までに発生したメッセージ「bcd」をパターンとして抽出する。さらに、別の例として、算出部331Aは、分類したメッセージ「e」の発生時刻から一定期間前までに発生したメッセージ「ce」をパターンとして抽出する。
次に、メッセージパターンの同一判定の具体例について、図12を参照して説明する。図12は、メッセージパターンの同一判定の具体例を説明する図である。図12に示すように、T時刻のメッセージのパターンの内容が「abc」である場合について説明する。なお、メッセージのパターン「abc」には、メッセージの分類後の種類「a」、「b」、「c」を含んでいる。そして、「a」「b」「c」の順序で、メッセージが発生したものとする。
検知部34Aは、T時刻のメッセージのパターンの内容と監視用テーブル363Aに記憶されたパターンの中身363gの内容とを比較し、パターンが同一であるか否かを判定する。ここでは、検知部34Aは、T時刻のメッセージのパターン「abc」とパターンの種類363fが「A」であるパターンの中身363gの内容「abcd」とを比較する。すると、検知部34Aは、パターンの種類「A」についての内容「abcd」にはT時刻のメッセージのパターン「abc」がこの順序で含まれているが、「d」が含まれていないので、完全一致ではないと判定する。ところが、検知部34Aは、一致と判定する一致率の境界を例えば70%とすると、これら内容の一致率は4個中3個中一致する75%であり70%より大きいので、部分一致であると判定する。この結果、検知部34Aは、部分一致であると判定したパターンを同一パターンであると判断する。そして、検知部34Aは、部分一致であるパターンの種類363fが「A」である部分一致363hのフィールドに、T時刻のメッセージのパターン「abc」を更新する。
[実施例3に係る監視用情報生成の処理手順]
次に、実施例3に係る監視用情報生成の処理手順を、図13を参照して説明する。図13は、実施例3係る監視用情報生成の処理手順を示すフローチャートである。なお、メッセージログ361には、ネットワークシステム内の各機器から出力されたメッセージが収集部32によって記憶されているものとする。
まず、算出部331Aは、監視用情報の生成要求があったか否かを判定する(ステップS51)。監視用情報の生成要求がなかったと判定した場合(ステップS51;No)、算出部331Aは、監視用情報の生成要求があると判定するまで、判定処理を繰り返す。一方、監視用情報の生成要求があったと判定した場合(ステップS51;Yes)、算出部331Aは、メッセージログ361のファイルをオープンする(ステップS52)。
そして、算出部331Aは、メッセージログ361に記憶されたメッセージのうち1メッセージを読み込む(ステップS53)。
続いて、算出部331Aは、読み込んだメッセージを分類する(ステップS54)。例えば、算出部331Aは、読み込んだメッセージについて、特定のフィールドに割り当てられたIDを当該メッセージの種類として分類する。そして、算出部331Aは、読み込んだ1メッセージの発生時刻から過去一定期間に発生したメッセージをパターンとして抽出する(ステップS55)。そして、算出部331Aは、抽出したパターンに該当するエントリを発生間隔テーブル362Aから検索する(ステップS56)。
ここで、算出部331Aは、該当するエントリがみつかったか否かを判定する(ステップS57)。該当するエントリがみつからなかったと判定した場合(ステップS57;No)、算出部331Aは、該当するエントリを発生間隔テーブル362Aに追加し(ステップS58)、ステップS59に移行する。
一方、該当するエントリがみつかったと判定した場合(ステップS57;Yes)、算出部331Aは、メッセージログ361に基づいて、抽出パターンと、発生時刻が当該パターンに最も近い同一パターンとの発生間隔を算出する(ステップS59)。
そして、算出部331Aは、該当するエントリに対して、算出した発生間隔に関連する情報を更新する(ステップS60)。例えば、算出部331Aは、該当するエントリのパターンに対応する発生回数を1加算し、加算した発生回数を更新する。このとき、算出部331Aは、該当するエントリのパターンに対応させて発生間隔を記憶部36に一時的に保持する。
そして、算出部331Aは、メッセージログの終端であるか否かを判定する(ステップS61)。メッセージログの終端でないと判定した場合(ステップS61;No)、算出部331Aは、次のメッセージを読み込むため、ステップS53に移行する。
一方、メッセージログの終端であると判定した場合(ステップS61;Yes)、算出部331Aは、発生間隔テーブル362Aに記憶されたエントリに基づいて、全エントリの発生間隔の標準偏差を算出する(ステップS62)。例えば、算出部331Aは、発生間隔テーブル362Aに記憶された発生回数およびエントリのパターンに対応させて一時的に保持した発生間隔に基づいて、パターンに対応した発生間隔の平均間隔を算出する。そして、算出部331Aは、算出した平均間隔およびエントリのパターンに対応させて一時的に保持した発生間隔を用いて、パターンに対応した発生間隔の分散を算出し、算出した分散からパターンに対応した標準偏差を算出する。
続いて、抽出部332Aは、エントリのパターン毎に算出した標準偏差と平均間隔の比が閾値以下のエントリを抽出し、監視用テーブル363Aに追加する(ステップS63)。閾値には、例えば、平均間隔の10%を示す「0.1」が適用されるが、これに限定されるものではない。
[実施例3に係る障害検知の処理手順]
次に、実施例3に係る障害検知の処理手順を、図14Aおよび図14Bを参照して説明する。図14Aは、通常より短期間でメッセージのパターンが発生している場合の障害検知の処理手順を示す。図14Bは、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間経過後にメッセージのパターンが発生している場合の障害検知の処理手順を示す。
最初に、通常より短時間でメッセージのパターンが発生する場合の障害検知の処理手順について、図14Aを参照して説明する。まず、検知部34Aは、メッセージを受け取ったか否かを判定する(ステップS71)。メッセージを受け取っていないと判定した場合(ステップS71;No)、検知部34Aは、メッセージを受け取るまで判定処理を繰り返す。一方、メッセージを受け取ったと判定した場合(ステップS71;Yes)、検知部34Aは、算出部331Aで分類した手法と同様の手法を用いて、受け取ったメッセージを分類する(ステップS72)。
そして、検知部34Aは、受け取ったメッセージの発生時刻から過去一定期間に発生したメッセージをパターンとして抽出する(ステップS73)。そして、検知部34Aは、抽出したパターンに該当するエントリを監視用テーブル363Aから検索する(ステップS74)。
ここで、検知部34Aは、該当するエントリがみつかったか否かを判定する(ステップS75)。該当するエントリがみつからなかったと判定した場合(ステップS75;No)、検知部34Aは、該当するエントリのパターンが監視対象でないので、ステップS71に移行する。
一方、該当するエントリがみつかったと判定した場合(ステップS75;Yes)、検知部34Aは、抽出したパターンの内容および該当するエントリのパターンの中身363gの内容とを比較し、完全一致であるか部分一致であるかを判定する。そして、検知部34Aは,部分一致である場合、該当するエントリの部分一致363hのフィールドに、部分一致であったメッセージの種類を更新する(ステップS76)。さらに、検知部34Aは、監視用テーブル363Aの直近のメッセージ363dのフィールドを更新する(ステップS77)。すなわち、検知部34Aは、該当するエントリの直近のメッセージ363dのフィールドを「○」に更新し、それ以外のエントリの直近のメッセージ363dのフィールドを「−」に更新する。
そして、検知部34Aは、該当するエントリの経過時間を算出する(ステップS78)。すなわち、検知部34Aは、受け取ったメッセージを含むパターンの発生時刻に最も近い同一パターンの発生時刻から、受け取ったメッセージを含むパターンの発生時刻までの経過時間を算出する。
そして、検知部34Aは、算出した経過時間が閾値(例えば、前述した下限値)以下であるか否かを判定する(ステップS79)。経過時間が閾値以下でないと判定した場合(ステップS79;No)、検知部34Aは、通常より短時間でメッセージのパターンが発生していないので、ステップS71に移行する。
一方、経過時間が閾値以下であると判定した場合(ステップS79;Yes)、検知部34Aは、通常より短時間でメッセージのパターンが発生しているので、ネットワークシステムの障害として検知する(ステップS80)。そして、警告部35は、検知部34Aからネットワークシステムの障害を検知した旨の通知に応じて、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によってアラートを行う(ステップS81)。
次に、発生するはずのメッセージのパターンが発生しないかまたは通常より長期間でメッセージのパターンが発生している場合の障害検知の処理手順について、図14Bを参照して説明する。まず、検知部34Aは、一定時間が経過したか否かを判定する(ステップS91)。一定時間が経過していないと判定した場合(ステップS91;No)、検知部34Aは、一定時間が経過するまで待機すべく、ステップS91に移行する。
一方、一定時間が経過していると判定した場合(ステップS91;Yes)、検知部34Aは、監視用テーブル363Aに記憶された各エントリの経過時間を算出する(ステップS92)。例えば、検知部34Aは、監視用テーブル363Aに記憶された各エントリについて、メッセージログ361に記憶されたメッセージの情報を用いて、前回発生した時刻から現在の時刻までの経過時間を算出する。
そして、検知部34Aは、経過時間が閾値(例えば、前述した上限値)以上であるエントリはあったか否かを判定する(ステップS93)。経過時間が閾値以上であるエントリはなかったと判定した場合(ステップS93;No)、検知部34Aは、どのエントリも通常の経過時間でメッセージのパターンが存在しているので、ステップS91に移行する。
一方、経過時間が閾値以上のエントリはあったと判定した場合(ステップS93;Yes)、検知部34Aは、当該エントリについて、発生するはずのメッセージのパターンが発生していないので、ネットワークシステムの障害として検知する(ステップS94)。そして、警告部35は、検知部34Aから当該エントリについてネットワークシステムの障害を検知した旨の通知に応じて、例えばディスプレイへの表示、所定のメールアドレスへのメール送信等によってアラートを行う(ステップS95)。
このようにして、収集部32は、ネットワークシステムで発生したメッセージをメッセージログ361に格納する。そして、抽出部332Aは、メッセージログ361によって記憶されたそれぞれのメッセージについて、所定時刻から一定期間内に発生したメッセージのパターンを抽出する。そして、抽出部332Aは、抽出したメッセージのパターン毎に各パターンの発生間隔が一定範囲となるメッセージのパターンを抽出する。したがって、抽出部332Aは、メッセージのパターンの発生間隔が一定範囲となるメッセージのパターンを抽出するので、抽出したパターンを監視対象とすることができ、監視対象とするパターンを含め運用に関するルールを自動的に定義することができる。
また、検知部34Aは、ネットワークシステムで発生したメッセージのうち抽出部332Aによって抽出されたメッセージのパターンについて発生間隔が一定範囲を外れたか否かを判定する。したがって、検知部34Aは、抽出部332Aによって抽出されたメッセージのパターンについて発生間隔が一定範囲を超えるような場合、例えば当該メッセージのパターンが出力されないことを原因としたシステム障害を容易に検知できる。また、検知部34Aは、抽出部332Aによって抽出されたメッセージのパターンについて発生間隔が一定範囲を下回るような場合、例えば当該メッセージのパターンが短期間で出力されることを原因としたシステム障害を容易に検知できる。
[プログラム等]
なお、収集部32、監視用情報生成部33、検知部34、34Aおよび警告部35の機能は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現することができる。また、所定のプログラムがCPU(Central Processing Unit)を機能させることで実現することができる。
また、管理装置1、2は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した収集部32、監視用情報生成部33および検知部34、34A等の各機能を搭載することによって実現することができる。
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、算出部331と抽出部332とを1個の部として統合しても良い。一方、検知部34を通常より短期間でメッセージが発生している場合の検知部と、発生するはずのメッセージが発生しないかまたは通常より長期間経過後にメッセージが発生している場合の検知部とに分散しても良い。また、メッセージログ361や発生間隔テーブル362等の記憶部36を管理装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図15を用いて、図2に示した管理装置1と同様の機能を有するメッセージ判定プログラムを実行するコンピュータの一例を説明する。
図15は、メッセージ判定プログラムを実行するコンピュータを示す図である。図15に示すように、コンピュータ1000は、RAM(Random Access Memory)1010と、ネットワークインタフェース装置1020と、HDD1030と、CPU(Central Processing Unit)1040と、媒体読取装置1050と、バス1060とを有する。RAM1010、ネットワークインタフェース装置1020、HDD1030、CPU1040、媒体読取装置1050は、バス1060によって接続されている。
そして、HDD1030には、図2に示した収集部32、監視用情報生成部33および検知部34と同様の機能を有するメッセージ判定プログラム1031が記憶される。また、HDD1030には、図2に示したメッセージログ361、発生間隔テーブル362および監視用テーブル363に対応する管理情報1032が記憶される。
そして、CPU1010がメッセージ判定プログラム1031をHDD1030から読み出してRAM1010にロードすることにより、メッセージ判定プログラム1031は、メッセージ判定プロセス1011として機能するようになる。そして、メッセージ判定プロセス1011は、管理情報1032から読み出した情報等を適宜RAM1010上の自身に割り当てられた領域にロードし、このロードしたデータ等に基づいて各種データ処理を実行する。
なお、上記のメッセージ判定プログラム1031は、必ずしもHDD1030に格納させなくても良く、CD−ROM等の「可搬用の物理媒体」に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしても良い。
また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておいても良い。この場合には、コンピュータ1000がこれらからプログラムを読み出して実行する。
1、2 管理装置
9 メッセージ判定装置
31 ネットワーク制御部
32 収集部
33 監視用情報生成部
331、331A 算出部
12、332、332A 抽出部
13 判定部
34、34A 検知部
35 警告部
11、36 記憶部
361 メッセージログ
362、362A 発生間隔テーブル
363、363A 監視用テーブル

Claims (5)

  1. システムで発生したメッセージを記憶する記憶部と、
    前記記憶部によって記憶されたメッセージからメッセージの発生間隔における平均間隔および標準偏差を算出する算出部と、
    前記算出部によって算出された平均間隔および標準偏差に基づいて、発生間隔が一定範囲となるメッセージを抽出し、抽出したメッセージを管理する管理部と、
    前記管理部によって管理されたメッセージと同じ種類のメッセージを受信すると、受信したメッセージの発生間隔が前記一定範囲を外れたか否かを判定する判定部と
    を有することを特徴とするメッセージ判定装置。
  2. 前記算出部は、前記記憶部によって記憶されたそれぞれのメッセージを分類し、分類して得られたメッセージの種類に応じて前記メッセージの発生間隔における平均間隔および標準偏差を算出し、
    前記管理部は、前記算出部によって算出された平均間隔および標準偏差から発生間隔が一定範囲であるメッセージの種類を抽出し、抽出したメッセージの種類を管理し、
    前記判定部は、前記管理部によって管理されたメッセージの種類について発生間隔が前記一定範囲を外れたか否かを判定することを特徴とする請求項1に記載のメッセージ判定装置。
  3. 前記管理部は、前記記憶部によって記憶されたメッセージから発生間隔が前記一定範囲であるメッセージの集合を抽出し、抽出したメッセージの集合を管理し、
    前記判定部は、前記管理部によって管理されたメッセージの集合について発生間隔が前記一定範囲を外れたか否かを判定することを特徴とする請求項1または2に記載のメッセージ判定装置。
  4. 前記管理部は、一定期間毎または不定期毎に前記メッセージを抽出し、抽出したメッセージを管理し、
    前記判定部は、前記管理部によって管理されたメッセージについて発生間隔が前記一定範囲を外れたか否かを判定することを特徴とする請求項1または2に記載のメッセージ判定装置。
  5. コンピュータに、
    システムで発生したメッセージを記憶した記憶部によって記憶されたメッセージからメッセージの発生間隔における平均間隔および標準偏差を算出し、
    前記算出する処理によって算出された平均間隔および標準偏差に基づいて、発生間隔が一定範囲となるメッセージを抽出し、抽出したメッセージを管理し、
    前記管理する処理によって管理されたメッセージと同じ種類のメッセージを受信すると、受信したメッセージの発生間隔が前記一定範囲を外れたか否かを判定する
    処理を実行させることを特徴とするメッセージ判定プログラム。
JP2013516095A 2011-05-23 2011-05-23 メッセージ判定装置およびメッセージ判定プログラム Active JP5704234B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/061760 WO2012160637A1 (ja) 2011-05-23 2011-05-23 メッセージ判定装置およびメッセージ判定プログラム

Publications (2)

Publication Number Publication Date
JPWO2012160637A1 JPWO2012160637A1 (ja) 2014-07-31
JP5704234B2 true JP5704234B2 (ja) 2015-04-22

Family

ID=47216740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013516095A Active JP5704234B2 (ja) 2011-05-23 2011-05-23 メッセージ判定装置およびメッセージ判定プログラム

Country Status (4)

Country Link
US (1) US9547545B2 (ja)
EP (1) EP2717162A4 (ja)
JP (1) JP5704234B2 (ja)
WO (1) WO2012160637A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5773646B2 (ja) 2007-06-25 2015-09-02 キユーデイー・ビジヨン・インコーポレーテツド ナノ材料を被着させることを含む組成物および方法
US9929325B2 (en) 2012-06-05 2018-03-27 Samsung Electronics Co., Ltd. Lighting device including quantum dots
WO2014024283A1 (ja) 2012-08-08 2014-02-13 富士通株式会社 障害検出装置、障害検出プログラムおよび障害検出方法
JP5933463B2 (ja) * 2013-02-04 2016-06-08 日本電信電話株式会社 ログ生起異常検知装置及び方法
WO2016199411A1 (ja) * 2015-06-11 2016-12-15 日本電気株式会社 ログ表示装置とログ表示方法およびログ表示プログラム
JP6572722B2 (ja) * 2015-10-16 2019-09-11 富士通株式会社 事象発生通知プログラム、事象発生通知方法、及び、事象発生通知装置
JP6410705B2 (ja) * 2015-12-09 2018-10-24 三菱電機株式会社 障害予兆検出システムおよび障害予兆検出方法
JP6643211B2 (ja) * 2016-09-14 2020-02-12 株式会社日立製作所 異常検知システム及び異常検知方法
JP6922320B2 (ja) * 2017-03-27 2021-08-18 サクサ株式会社 ログ管理装置及びログ管理用プログラム
WO2021250873A1 (ja) * 2020-06-12 2021-12-16 日本電信電話株式会社 ルール生成装置、ルール生成方法およびプログラム
JP7504816B2 (ja) 2021-01-28 2024-06-24 株式会社日立製作所 ログ検索支援装置、及びログ検索支援方法
US11789842B2 (en) * 2021-10-11 2023-10-17 Dell Products L.P. System and method for advanced detection of potential system impairment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114703A (ja) * 1995-10-20 1997-05-02 Hitachi Ltd 分散処理システムの監視方法
JP2001188694A (ja) * 2000-01-05 2001-07-10 Hitachi Information Systems Ltd イベントログの発生頻度分布表の表示方法および発生パターンの識別方法、ならびにそれらのプログラムを記録した記録媒体
JP2006318071A (ja) * 2005-05-11 2006-11-24 Fujitsu Ltd メッセージ異常自動判別装置、方法、及びプログラム
JP2006331026A (ja) * 2005-05-25 2006-12-07 Hitachi Information Systems Ltd メッセージ分析システム及びメッセージ分析プログラム
JP2010128661A (ja) * 2008-11-26 2010-06-10 Fujitsu Ltd 故障原因推測方法、故障原因推測装置、及びプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3441196B2 (ja) 1994-11-15 2003-08-25 株式会社東芝 ネットワーク障害予測装置
JPH11224214A (ja) 1998-02-05 1999-08-17 Fujitsu Ltd イベント分類装置およびそのプログラム記録媒体
US7194681B1 (en) * 1999-07-30 2007-03-20 Microsoft Corporation Method for automatically assigning priorities to documents and messages
US6714967B1 (en) * 1999-07-30 2004-03-30 Microsoft Corporation Integration of a computer-based message priority system with mobile electronic devices
US8024415B2 (en) * 2001-03-16 2011-09-20 Microsoft Corporation Priorities generation and management
US20030028680A1 (en) * 2001-06-26 2003-02-06 Frank Jin Application manager for a content delivery system
US7409423B2 (en) * 2001-06-28 2008-08-05 Horvitz Eric J Methods for and applications of learning and inferring the periods of time until people are available or unavailable for different forms of communication, collaboration, and information access
US7912904B2 (en) * 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
JP2007096835A (ja) 2005-09-29 2007-04-12 Matsushita Electric Ind Co Ltd Cpu負荷制御方法および負荷制御装置
WO2008105099A1 (ja) * 2007-02-28 2008-09-04 Fujitsu Limited アプリケーション連携制御プログラム、アプリケーション連携制御方法およびアプリケーション連携制御装置
US20090106366A1 (en) * 2007-10-17 2009-04-23 Nokia Corporation System and method for visualizing threaded communication across multiple communication channels using a mobile web server
JP5163404B2 (ja) * 2008-09-30 2013-03-13 日本電気株式会社 障害分析システム、障害分析方法および障害分析用プログラム
US8069374B2 (en) * 2009-02-27 2011-11-29 Microsoft Corporation Fingerprinting event logs for system management troubleshooting
KR101299220B1 (ko) * 2010-01-08 2013-08-22 한국전자통신연구원 감성 신호 감지 장치와 감성 서비스 제공 장치 간의 감성 통신 방법
US8312096B2 (en) * 2010-12-08 2012-11-13 Google Inc. Priority inbox notifications and synchronization for mobile messaging application
KR101184515B1 (ko) * 2010-12-20 2012-09-19 경희대학교 산학협력단 사용자 이동 패턴과 감정 정보에 따른 사용자 정보의 제공 서버의 운영 방법
CN102685020B (zh) * 2011-03-09 2015-07-29 腾讯科技(北京)有限公司 微博墙显示方法及系统
JP5794181B2 (ja) * 2012-03-15 2015-10-14 富士通株式会社 プログラム、分析方法、情報処理装置
US9124618B2 (en) * 2013-03-01 2015-09-01 Cassidian Cybersecurity Sas Process of reliability for the generation of warning messages on a network of synchronized data
JP6201670B2 (ja) * 2013-11-15 2017-09-27 富士通株式会社 判定装置、判定プログラム、及び判定方法
JP6244998B2 (ja) * 2014-03-11 2017-12-13 富士通株式会社 情報通信方法及び情報処理装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114703A (ja) * 1995-10-20 1997-05-02 Hitachi Ltd 分散処理システムの監視方法
JP2001188694A (ja) * 2000-01-05 2001-07-10 Hitachi Information Systems Ltd イベントログの発生頻度分布表の表示方法および発生パターンの識別方法、ならびにそれらのプログラムを記録した記録媒体
JP2006318071A (ja) * 2005-05-11 2006-11-24 Fujitsu Ltd メッセージ異常自動判別装置、方法、及びプログラム
JP2006331026A (ja) * 2005-05-25 2006-12-07 Hitachi Information Systems Ltd メッセージ分析システム及びメッセージ分析プログラム
JP2010128661A (ja) * 2008-11-26 2010-06-10 Fujitsu Ltd 故障原因推測方法、故障原因推測装置、及びプログラム

Also Published As

Publication number Publication date
JPWO2012160637A1 (ja) 2014-07-31
US20140068356A1 (en) 2014-03-06
WO2012160637A1 (ja) 2012-11-29
EP2717162A1 (en) 2014-04-09
EP2717162A4 (en) 2015-10-28
US9547545B2 (en) 2017-01-17

Similar Documents

Publication Publication Date Title
JP5704234B2 (ja) メッセージ判定装置およびメッセージ判定プログラム
CN107171819B (zh) 一种网络故障诊断方法及装置
JP6643211B2 (ja) 異常検知システム及び異常検知方法
JP6652699B2 (ja) アノマリ評価プログラム、アノマリ評価方法、および情報処理装置
US9084937B2 (en) Faults and performance issue prediction
JP6152788B2 (ja) 障害予兆検知方法、情報処理装置およびプログラム
JP5423904B2 (ja) 情報処理装置、メッセージ抽出方法およびメッセージ抽出プログラム
JP6055285B2 (ja) データ保全装置およびその方法、システム
US20160378583A1 (en) Management computer and method for evaluating performance threshold value
WO2014117245A1 (en) Faults and performance issue prediction
US9860109B2 (en) Automatic alert generation
JP2007013343A (ja) ワーム検出パラメータ設定プログラム及びワーム検出パラメータ設定装置
CN111209153B (zh) 异常检测处理方法、装置及电子设备
CN112671767B (zh) 一种基于告警数据分析的安全事件预警方法及装置
US8543552B2 (en) Detecting statistical variation from unclassified process log
JP7207009B2 (ja) 異常検知装置、異常検知方法および異常検知プログラム
US20160299966A1 (en) System and Method for Creation and Detection of Process Fingerprints for Monitoring in a Process Plant
JP2014153736A (ja) 障害予兆検出方法、プログラムおよび装置
CN114297034B (zh) 云平台监控方法及云平台
US20210027254A1 (en) Maintenance management apparatus, system, method, and non-transitory computer readable medium
JP2007164346A (ja) 決定木変更方法、異常性判定方法およびプログラム
JP2020030628A (ja) 監視システム、監視方法および監視プログラム
JP2023036469A (ja) 外れ値検出装置及び方法
JP2005284357A (ja) ログ解析プログラム及びログ解析装置
JP2008181432A (ja) ヘルスチェック装置及びヘルスチェック方法及びプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141217

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: 20150127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150209

R150 Certificate of patent or registration of utility model

Ref document number: 5704234

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150