JP5295062B2 - 複合イベント処理向けクエリ自動生成装置 - Google Patents

複合イベント処理向けクエリ自動生成装置 Download PDF

Info

Publication number
JP5295062B2
JP5295062B2 JP2009223860A JP2009223860A JP5295062B2 JP 5295062 B2 JP5295062 B2 JP 5295062B2 JP 2009223860 A JP2009223860 A JP 2009223860A JP 2009223860 A JP2009223860 A JP 2009223860A JP 5295062 B2 JP5295062 B2 JP 5295062B2
Authority
JP
Japan
Prior art keywords
event
frequent
query
processing unit
clause
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.)
Expired - Fee Related
Application number
JP2009223860A
Other languages
English (en)
Other versions
JP2011076153A (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.)
Hitachi Solutions Ltd
Original Assignee
Hitachi Solutions 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 Solutions Ltd filed Critical Hitachi Solutions Ltd
Priority to JP2009223860A priority Critical patent/JP5295062B2/ja
Publication of JP2011076153A publication Critical patent/JP2011076153A/ja
Application granted granted Critical
Publication of JP5295062B2 publication Critical patent/JP5295062B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、過去のイベントログに基づいて、複合イベント処理(CEP:Complex Event Processing)に利用されるクエリの条件句を自動的に生成する装置に関する。
ITインフラの拡大やセンサーネットワークの発展に伴い、これらの機器が発生する大量のイベントを効率的に処理するために、複合イベント処理の技術が活用されるようになった。複合イベント処理とは、特定のイベントパターンとそれが発生したときに行う処理とを記述したクエリに基づいて、イベントのストリーミングデータをリアルタイムに解析し、クエリで定義されたイベントパターンを発見し、それに対応した処理を行う技術である。
このような複合イベント処理向けのクエリ言語は、まだ標準化されていないが、多くのシステムにおいてデータベースのクエリ言語SQL(Structured Query Language)に時間窓の概念を取り入れた言語が採用されている。以下ではマサチューセッツ大学が開発した複合イベント処理システムSASEのクエリ言語の書式に基づいて説明する(非特許文献1参照)。クエリは、イベントの発生パターンを指定するEVENT句と、EVENT句で指定したイベントの属性値を指定するWHERE句、EVENT句で指定したイベントの発生パターンが発生する時間窓を指定するWITHIN句、EVENT〜WHERE句で指定された条件と一致するイベントパターンが発生したときに生成するイベントを指定するRETUEN句から構成される。EVENT句には、発生するイベントの順番を指定するSEQ型、発生するイベントの順番を指定しないANY型、SEQ型とANY型が混在した混在型がある。
以下に、クエリの例を示す。このクエリは、時間窓で定めた10分の間に、属性”att1”の属性値が”val1”と属性”att3”の属性値が”val3”であるイベントが発生した後に、属性”att2”の属性値が”val2“と属性”att3”の属性値が”val3”であるイベントが発生した場合、”××システム障害発生”というメッセージイベントを発生させるということを意味している。
<クエリ例>
EVENT:SEQ( Event x, Event y)
WHERE: x.att1=”val1”∧x.att3=”val3”∧y.att2=”val2”∧y.att3=”val3”
WITHIN:10min
RETURN:Message(“××システム障害発生”)
特表2007−536646『ネットワーク・セキュリティ・システムにおけるパターン発見方法及びシステム』
D. Gyllstorm, et. al. "SASE : Complex Event Processing over Streams" In Proceedings of the Third Biennial Conference on Innovative Data Systems Research, 2007 H. Arimura and T. Uno, "A Polynomial Space and Polynomial Delay Algorithm for Enumeration of Maximal Motif in Sequence" Special issue on bioinformatics, Journal of Combinatorial Optimization (2006)
従来、複合イベント処理向けのクエリは、ユーザがインシデントに関連するイベントログを参照して記述しているが、正確なクエリの記述は困難であるという問題がある。すなわち、クエリ作成には、インシデントを特徴付ける3つの要素(イベント、イベントパターン、時間窓)を決める必要があり、それぞれを特定するには次の困難性がある。
(1)イベント
機器やネットワーク構成などのシステム環境の変化により、過去に発生したイベントと完全一致するイベントが、そのインシデントを特徴付けるものとは断定できない。このため、過去に発生したイベントを構成する属性の中から重要な属性を発見し、そのインシデントを特徴付ける新たなイベントを作成することが求められる。
(2)イベントパターン
イベントログにはそのインシデントとは関係ないイベントや関係するが不規則に出現するイベントが含まれ、そのような不必要なイベントを排除して正確なイベントパターンを発見することが求められる。
(3)時間窓
時間窓が大きすぎるとインシデントの誤検知の原因になる一方で、時間窓が小さすぎるとインシデントの見逃しを引き起こすため、イベントログから適切な時間窓の大きさを決めることが求められる。
これらの困難性からユーザがクエリを記述するのは難しいため、イベントログから自動的にクエリを生成する技術が求められている。しかし、従来技術においては、複合イベント処理向けのクエリを自動生成する汎用的な方法は存在しない。もっとも、独自システムを特定の分野に限定することを前提として、クエリの自動生成を実現する方法は存在する。例えば特許文献1には、独自システムでセキュリティインシデントに限定し、セキュリティインシデントのナレッジを利用してイベントパターンを発見している。しかし、この技術には、3つの要素の決定に関して次の課題がある。
(1)イベント
事前にセキュリティイベントを定義するため、未知の重要なイベントを見落とす可能性がある。また、他分野にまで拡張的に適用できない問題がる。
(2)イベントパターン
事前に設定された項目毎にイベントを分類し、その分類で連続して出現するイベントをイベントパターンとして認識する。このため、未知のイベントパターンや複雑なイベントパターンについては発見できない問題がある。
(3)時間窓
時間窓を自動的に決定する方法は考慮されていない。
そこで、本発明者は、インシデントを特徴付ける3つの項目(イベント、イベントパターン、時間窓)をイベントログから自動的に発見することが可能な汎用的な複合イベント処理向けクエリ自動生成装置を提供する。
本発明によれば、特定の分野に制限されることなく、インシデントを特徴づける3項目(イベント、イベントパターン、時間窓)をイベントログから自動的に特定し、複合イベント処理向けのクエリを自動的に生成することができる。
複合イベント処理を用いた障害検知システムのシステム構成例を示す図。 ログDBが保持するイベントログの具体例を説明するテーブル図。 クエリ生成コンピュータのシステム構成例を示す図。 クエリ生成コンピュータの入力GUI例を説明する図。 クエリ生成プロセスの概要を示すフローチャート。 頻出イベント列生成プロセスの実行手順を示すフローチャート。 頻出イベントの生成過程の具体例を説明する図。 頻出イベントへのラベリング処理及び頻出イベント列の具体例を説明する図。 ANY型クエリ生成プロセスの実行手順例を示すフローチャート。 SEQ型クエリ生成プロセスの実行手順例を示すフローチャート。 混在型クエリ生成プロセスの実行手順例を示すフローチャート。 クエリ生成コンピュータの出力GUI例を説明する図。 頻出イベント列に見出される頻出イベントパターンの例を説明する図。
以下、図面に基づいて、本発明の実施の形態を説明する。なお、後述する装置構成や処理動作の内容は発明を説明するための一例であり、本発明は、後述する装置構成や処理動作に既知の技術を組み合わせた発明や後述する装置構成や処理動作の一部を既知の技術と置換した発明も包含する。
(システム構成)
以下では、複合イベント処理を用いたシステム障害検知システムに適用する場合について、クエリ自動生成装置の形態例を説明する。
図1に、クエリ自動生成装置を実装する複合イベント処理を用いたシステム障害検知システムの構成例を示す。システム障害検知システムは、監視対象サーバ群100と、これらサーバの状態(死活など)を監視し、その状態に応じたイベントを生成する監視サーバ110と、監視サーバ110が生成したイベントを格納するログデータベース(DB)111と、監視サーバ110が生成したイベントを解析し、クエリに記述された処理を実行する複合イベント処理コンピュータ120と、ログDB111に格納されているイベントログを解析し、複合イベント処理コンピュータ120向けのクエリを生成するクエリ生成コンピュータ130から構成される。本実施の形態の場合、クエリの自動生成機能は、コンピュータプログラムに基づく処理を通じて実現される。
図2に、ログDB111に格納されているイベントのテーブル例を示す。テーブルはイベントを一意に特定する識別子(ID)201、イベントが発生した時間を特定する発生日時202、個々のイベントの属性値の集合であるイベント203から構成される。イベント203は属性の集合として表現される。この形態例では、イベント203は、以下のように定義する。
(<種類>, <ソース>, <イベント番号>, <ユーザ>, <コンピュータ>)
ここで、<種類>はイベントの緊急度を意味し、”情報”、”警告”、”エラー”のいずれかの値をとる。<ソース>はイベントを発生させるプロセス、アプリケーションその他の発生源を意味する。<イベント番号>はイベントの内容を特定する番号を意味する。<ユーザ>はイベントの発生源となったプロセスやアプリケーションを実行していたユーザを意味する。<コンピュータ>はイベントの発生源となった監視対象サーバ群100内のサーバを意味する。
図3に、クエリ生成コンピュータ130の構成例を示す。クエリ生成コンピュータ130は、コンピュータ本体300と、入力装置330と、表示装置331と、ログDB111との通信を行う通信装置332から構成される。コンピュータ本体300は、データ演算を実行するCPU301、ROM302、RAM310、ハードディスク駆動装置320、これらデバイス間のデータ転送を実現するCPUバス307、これらデバイスとCPUバス307とを結合するインターフェース303〜306で構成される。
RAM310には、CPU301に演算処理を実行させるクエリ生成プログラム311の実行領域と、検算時に一時的に生成させるデータを格納する作業領域312とが少なくとも確保される。また、ハードディスク駆動装置320の記憶領域には、クエリ生成プログラムの格納領域としてのプログラム格納部321と、ログDB111から取得したデータを一時的に格納しておくデータ格納部322が少なくとも確保される。
図4に、クエリ生成コンピュータ130に接続される表示装置331に表示される条件入力用のGUI画面例を示す。クエリ生成プログラム画面400は、クエリの生成に必要な条件を入力するクエリ生成条件入力部410と、生成したクエリを表示する生成クエリ出力部420から構成される。
クエリ生成条件入力部410は生成するクエリの型を”ANY型”, “SEQ型”, “混在型”から選択するクエリ型指定部411、頻出するイベントを特定するために属性値の最小頻度を数値で入力する属性値の最小頻度入力部412、頻出するイベントパターンを特定するために最小頻度を数値で入力するイベントパターンの最小頻度入力部413、処理の効率化のために時間窓の最大値を時間で入力する最大時間窓入力部414、クエリ生成処理の開始を指示するクエリ生成ボタン415から構成される。
(クエリ生成動作)
(a)動作の概要
図5に、クエリ生成プログラム311を通じて実行されるクエリ生成プロセスの概要を示す。このクエリ生成プロセスは、ユーザが入力装置330の操作を通じて、表示装置331に表示されたクエリ生成プログラム画面400を構成する入力部(クエリ型指定部411〜最大時間窓入力部414)に必要事項を入力した後、クエリ生成ボタン415をクリックすることで開始される(ステップ501)。
クエリ生成コンピュータ130は、当該操作入力を検出すると、クエリ生成プログラム画面400内の入力部(クエリ型指定部411〜最大時間窓入力部414)に入力された値を読み取り、RAM310の作業領域312に格納する。また、クエリ生成コンピュータ130は、通信装置332を介してログDB111からログイベントを取得し、一時的にハードディスク駆動装置320のデータ格納部332に保存した後、RAM310の作業領域312に格納する。ここでログイベントとは、図2に示されるイベントのID201、イベントの発生日時202、イベントの属性値203から構成される(ステップ502)。
クエリ生成コンピュータ130は、クエリ生成プログラム311に記述された処理手順に従い、作業領域312に格納されたイベントログから頻出イベント列の生成演算を実行する(ステップ503)。この処理内容の詳細は後述する。
次に、クエリ生成コンピュータ130は、生成するクエリ型指定部411で指定されたクエリ型を判定し(ステップ504)、ANY型クエリ生成処理(ステップ505)、SEQ型(ステップ506)、混在型(ステップ507)のいずれかのクエリ生成演算を実行する。なお、これらの演算により得られた計算結果は作業領域312に格納される。
作業領域312に格納された計算結果は、表示装置331のクエリ生成プログラム画面400内の生成クエリ出力部420に表示される(ステップ508)。図12に、生成されたクエリの表示例を示す。以上により、クエリ生成プログラム311としての処理動作は終了する(ステップ509)。
一方、表示装置331を通してクエリの生成結果の提示を受けたユーザは、この結果に対するRETURN節を追加してクエリを完成させ、このクエリを複合イベント処理コンピュータ120で実行させる。従って、過去のイベントログに基づいて、インシデントを特定する正確なクエリを作成することができる。
(b)詳細動作
(1)頻出イベント列の生成
ここでは、ステップ503で実行される頻出イベント列の生成演算の詳細動作を説明する。図6に、頻出イベント列の生成演算で実行される処理手順の概要を示す。
(ステップ601)
頻出イベント列生成演算の開始後、クエリ生成コンピュータ130は、カウンタnを1で初期化する。
(ステップ602)
次に、クエリ生成コンピュータ130は、イベントの各属性に関して、最大時間窓入力部414で指定された最大時間窓内にあるイベントの属性値の出現頻度が、属性値の最小頻度入力部412で指定された最小頻度以上である属性値を列挙する。
図7のn=1の属性値の集合710は、最大時間窓を1時間、属性値の最小頻度を2として、図2のイベントログから頻出イベント値を求めた結果を示している。例えば属性値”情報”711は、イベントIDが1, 2, 7, 11, 13の5個のイベント内に出現しており、属性値の最小頻度が2以上であることから、頻出属性値として列挙されている。
ここでは、属性値が完全に一致しているものを同じ属性値として、属性値の出現頻度を計算しているが、一部の文字列や数値の範囲が一致しているものを同じ属性値としても良い。例えば属性”イベント番号”を1-100, 101-200等といくつかのブロックに分けて、同じブロックにある属性値同士を同じとみなしても良い。また、属性”コンピュータ”の最初の数文字(例えば、”server3*”)が一致している属性値同士を同じとみなしても良い。
更に、クエリ生成コンピュータ130は、求めた頻出属性値から頻出イベントを作成する。例えば頻出属性値”情報”711から頻出イベント(情報, *, *, *, *)が生成される。ここで“*“は、具体的な属性値が指定されていないことを意味する。このような頻出イベントの作成を得られたすべての頻出属性値に対して行い、これらをまとめて1個の属性から構成される頻出イベントの集合F(1)を作成する。ここで、F(n)はn個の頻出属性値から構成される頻出イベントの集合である。
(ステップ603)
クエリ生成コンピュータ130は、集合F(n)が空集合か否かを判定し、空集合で無い場合にはステップ604を実行し、頻出イベントの集合F(n)の作成を続ける。また、クエリ生成コンピュータ130は、集合F(n)が空集合の場合には頻出イベント集合F(n)の作成を終了し、ステップ606を実行する。
(ステップ604)
クエリ生成コンピュータ130は、カウンタnに1を加え、インクリメントする。
(ステップ605)
クエリ生成コンピュータ130は、F(n−1)からF(n)を作成する。ここでは、具体的な作成方法を、図7の集合720(n=2の場合)について説明する。既にF(1)が作成されているので、クエリ生成コンピュータ130は、属性値”情報”711は、イベントID1,2,7,11,13に出現する頻出属性値であることは分かっている。クエリ生成コンピュータ130は、これらイベントID1, 2, 7, 11, 13に出現する属性”種類”の次の属性”ソース”で頻出属性値を求めると、属性値”process27”がイベントID2, 7, 13に出現し頻出属性値であることが得られる。もし、属性”ソース”に頻出属性値が存在しない場合は、次の属性に関して頻出属性値を求める。次に、クエリ生成コンピュータ130は、これら頻出属性値から頻出イベント721(情報, process27, *, *, *)を作成する。クエリ生成コンピュータ130は、他の頻出属性値に対しても同様に頻出イベントを作成し、これらをまとめて集合F(2)を作成する。またn=2以外でも集合F(n−1)から同様の手順で集合F(n)を求めることができる。図2のイベントログから得られた他の頻出イベントの例を図7に示す。
(ステップ606)
クエリ生成コンピュータ130は、頻出イベントの集合F(1)〜F(n−1)に含まれる頻出イベントをログイベント内のイベント203に割り当てる。
図8に、図2のイベントログから得られた頻出イベントの集合F(1)〜F(n−1)に含まれる頻出イベント802を、確定している属性値(”*”以外の属性値)の個数が多い順番に、次に出現頻度が高い順番に並べたテーブル(頻出イベント一覧テーブル800)の構成例を示す。順番がより上位にある頻出イベント802をその頻出イベントが含まれるイベントログのイベント203に割り当てる。
このとき、イベントログの一つのイベント203に割り当てられる頻出イベント802は一つとし、複数の頻出イベントを割り当てることは出来ないものとする。従って、割り当てるイベント203がない頻出イベント802も存在することになるが、その頻出イベント802は頻出イベントの集合から削除される。図8に示す頻出イベント一覧テーブル800には、頻出イベント802に対して割り当てられたイベント203のイベントID803を示している。
ここでは、頻出イベント802を並べる方法として、確定している属性値の数と出現頻度を基準とする手法を採用するが、これに限定されるものではない。例えば特定の属性が確定しているものを優先したり、属性値に特定の文字列が含まれるものを優先しても良い。これにより、特定のインシデント向けにカスタマイズすることができる。
次に、対応するイベント203が存在する頻出イベント802対して、ラベルを付加する。図8の頻出イベント一覧テーブル800において、頻出イベント802に付加したラベルをラベル801に示す。ここで、ラベルとしてアルファベットを使用しているが、ラベルはアルファベットに限定されるものではなく、文字列や数値でもよい。つまり、ラベル付けされる頻出イベントの数に制限はない。
(ステップ607)
クエリ生成コンピュータ130は、ステップ606でラベル付けされた頻出イベント802から、頻出イベント列820を生成する。頻出イベント列820は、イベント203をイベント発生日時202の順番に並べたイベント列810において、図8の頻出イベント一覧テーブル800のラベル801とイベントID803との対応を参照して、ラベルで置き換えることにより作成することができる。図8の場合、イベントログのイベント203から頻出イベント列820(eacfbdadfbfbfdaeeb)が得られる。
(2)ANY型クエリの生成
次に、ステップ505で実行されるANY型クエリの生成演算の詳細動作を説明する。図9に、ANY型クエリの生成演算処理で実行される処理手順の概要を示す。
(ステップ901)
クエリ生成コンピュータ130は、ステップ503で作成した頻出イベント列820内において、最も頻出する頻出イベントを取得する。頻出イベント列820内では、頻出イベント{a,b,e,f}がそれぞれ3回出現しており、これらが最も頻出する頻出イベントとなる。
(ステップ902)
クエリ生成コンピュータ130は、ステップ901で求めた最も頻出する頻出イベントが発生した発生日時から時間窓を求める。すなわち、頻出イベント列820内では、最も頻出する頻出イベント{a,b,e,f}の中で、最初に出現するのは2番目の頻出イベント”a”であり、最後に出現するのは16番目の頻出イベント”b”である。従って、時間窓は図2のイベントログのイベント203のイベントID201が”2”のイベントの発生日時”2009/05/23 10:22:24”と、イベントIDが“16”のイベントの発生日時”2009/05/23 10:23:59”の差である95秒となる。
因みに、ここでは時間窓を、最も頻出する頻出イベントの最初と最後のイベントの発生日時の差としたが、時間窓を決める方法はこれだけに限定されるものではない。例えば時間窓にある程度の余裕を持たせるために、最初と最後のイベントの発生日時の差に10%多めに時間窓を設定しても良い。また、最も頻出する頻出イベントの発生日時の分散を計算し、これを基に時間窓を決めても良い。
(ステップ903)
クエリ生成コンピュータ130は、ステップ901で得られた最も頻出する頻出イベント及びステップ902で得られた時間窓からANY型クエリを生成する。頻出イベント列820からは、以下に示すようなANY型クエリが生成される。
<クエリ例>
EVENT:ANY( Event a, Event b, Event e, Event f)
WHERE:a.種類=”情報”∧a.ソース=”process27”∧a.イベント番号=1∧a.ユーザ=”user3”∧b.種類=”エラー”∧b.ソース=”process5”∧b.イベント番号=88∧b.コンピュータ=”server23”∧e.ユーザ=”user45”∧e.コンピュータ=”server56”∧f.ソース=”process81”∧f.コンピュータ=”server88”
WITHIN:95sec
(3)SEQ型クエリの生成
ここでは、ステップ506で実行されるSEQ型クエリの生成演算処理の詳細動作を説明する。図10に、SEQ型クエリの生成演算処理で実行される処理手順の概要を示す。
(ステップ1001)
クエリ生成コンピュータ130は、ステップ503で得られた頻出イベント列820から、クエリ生成プログラム画面400のイベントパターンの最小頻度入力部413で入力された最小頻度以上の頻出イベントパターンを求める。頻出イベント列820において、イベントパターン”a*b”は、図13に示すように3回出現しており、これはイベントパターンの最小頻度入力部413に入力された頻度”3“以上で条件を満たしているので、これが頻出イベントパターンとなる。また、与えられた文字列の中からパターンを見つけ出すアルゴリズムとしては例えば非特許文献2がある。
(ステップ1002)
クエリ生成コンピュータ130は、ステップ1001で求めた頻出イベントパターンから時間窓を求める。頻出イベント列820内において、頻出イベントパターン”a*b”は3回出現するが、同一イベントパターン内で頻出イベント”a”と”b”の発生日時の間隔が最大のものを求める。最も時間間隔が大きいのは、2番目の頻出イベント”a”と5番目の頻出イベント”b”間である。これらイベントの発生日時202はそれぞれ“2009/05/23 10:22:24”と“2009/05/23 10:23:35”である。従って、これらの差71秒を時間窓とする。
ここでは時間窓を同一イベントパターン内で最初と最後の頻出イベントの発生日時の間隔の最大値を時間窓としたが、時間窓を決める方法はこれだけに限定されるものではない。例えば同一イベントパターン内での最初と最後の頻出イベントの発生日時の時間間隔を複数のイベントパターンで求め、その平均値や分散を基に決めても良い。
(ステップ1003)
クエリ生成コンピュータ130は、ステップ1001で得られた頻出イベントパターンとステップ1002で得られた時間窓から、SEQ型クエリを生成する。頻出イベント列820からは、以下に示すようなSEQ型クエリが生成される。
<クエリ例>
EVENT:SEQ(Event a, Event b)
WHERE:a.種類=”情報”∧a.ソース=”process27”∧a.イベント番号=1∧a.ユーザ=”user3”∧b.種類=”エラー”∧b.ソース=”process5”∧b.イベント番号=88∧b.コンピュータ=”server23”
WITHIN:71sec
(4)混在型クエリの生成
ここでは、ステップ507で実行される混在型クエリの生成演算処理の詳細動作を説明する。図11に混在型クエリの生成演算処理で実行される処理手順の概要を示す。
(ステップ1101)
クエリ生成コンピュータ130は、ステップ503で得られた頻出イベント列820から、クエリ生成プログラム画面400のイベントパターンの最小頻度入力部413で入力された最小頻度以上の頻出イベントパターンを求める。このステップはステップ1001と同じであり、頻出イベント列820の頻出イベントパターンは”a*b”となる。
(ステップ1102)
クエリ生成コンピュータ130は、ステップ503で得られた頻出イベント列820内において、最も頻出する頻出イベントを取得する。ここまでの過程はステップ901と同じであり、最も頻出する頻出イベントは{a,b,e,f}である。
次に、クエリ生成コンピュータ130は、最も頻出する頻出イベントからステップ1101で得た頻出イベントパターンに含まれる頻出イベントを除く。従って、得られた最も頻出する頻出イベントは{e,f}となる。
(ステップ1103)
クエリ生成コンピュータ130は、ステップ1101で得られた頻出イベントパターンと、ステップ1102で得られた最も頻出する頻出イベントの発生日時から時間窓を求める。時間窓は、ステップ902とステップ1002の方法を組み合わせることで求める。
(ステップ1104)
クエリ生成コンピュータ130は、ステップ1101で得られた頻出イベントパターン、ステップ1102で得られた最も頻出な頻出イベント、ステップ1103で得られた時間窓から得られた時間窓から混在型クエリを生成する。頻出イベント列820からは、以下に示すような混在型クエリが生成される。
<クエリ例>
EVENT:ANY( SEQ(Event a, Event b), Event e, Event f)
WHERE:a.種類=”情報”∧a.ソース=”process27”∧a.イベント番号=1∧a.ユーザ=”user3”∧b.種類=”エラー”∧b.ソース=”process5”∧b.イベント番号=88∧b.コンピュータ=”server23”∧e.ユーザ=”user45”∧e.コンピュータ=”server56”∧f.ソース=”process81”∧f.コンピュータ=”server88”
WITHIN:95sec
(まとめ)
前述した形態例の場合には、複合イベント処理を利用してシステム障害を検知するシステム向けにクエリの条件句を自動的に生成する場合について説明した。しかし、前述したクエリの自動生成処理技術は、特定の分野に特化した知識を利用していない。このため、クエリ生成の対象となる複合イベント処理を用いたシステムはこれに限定されない。
また、前述した形態例の説明では、生成したクエリを非特許文献1の複合イベント処理システムSASEのクエリ言語の書式にあわせて表示している。しかし、複合イベント処理システムはSASEに限定されるものではなく、またクエリ言語の書式もこれに限定されるものではない。
100…監視対象サーバ群、110…監視サーバ、111…ログDB、120…複合イベント処理コンピュータ、130…クエリ生成コンピュータ

Claims (10)

  1. クエリ生成の対象となるインシデントに係るイベントを、イベントログデータベースから取得する第1の処理部と、
    取得したイベントの中から所定個数以上の一部の属性値の組み合わせが複数のイベント間で共通して出現する出現頻度の高いイベントを求め、当該イベントから頻出イベントを生成する第2の処理部と、
    共通する属性値の数が多い順番に前記頻出イベントに優先順位を付すと共に、優先順位付けされた頻出イベントにラベルを付ける第3の処理部と、
    ラベルリングされた頻出イベントを、前記イベントログデータベースから取得されたイベントの発生順に配列して頻出イベント列を生成する第4の処理部と、
    生成された前記頻出イベント列からクエリを生成する第5の処理部と
    生成されたクエリを表示装置上に提示する第6の処理部と
    を有する複合イベント処理向けクエリ自動生成装置。
  2. 前記第2の処理部は、あるイベントの属性値が他のイベントの属性値と完全一致する場合だけでなく、属性値が所定の数値範囲内にある場合及び/又は属性値の一部情報が一致する場合にも、該当する属性値が相互に同じ属性値を有するものとみなす
    ことを特徴とする請求項1に記載の複合イベント処理向けクエリ自動生成装置。
  3. 前記第2の処理部は、事前に設定された最大時間窓内に出現するイベントを処理対象とする
    ことを特徴とする請求項1又は2に記載の複合イベント処理向けクエリ自動生成装置。
  4. 前記第3の処理部は、共通する属性値を持つ前記イベントログデータベースから取得されたイベントの出現頻度を加味して前記頻出イベントに優先順位を付ける
    ことを特徴とする請求項1〜3のいずれか一項に記載の複合イベント処理向けクエリ自動生成装置。
  5. 前記第3の処理部は、文字、数字その他のラベルを付与する
    ことを特徴とする請求項1〜4のいずれか一項に記載の複合イベント処理向けクエリ自動生成装置。
  6. 前記第5の処理部は、前記頻出イベント列に基づいて、ANY型、SEQ型、混在型のいずれかの型に対応するクエリを生成する
    ことを特徴とする請求項1〜5のいずれか一項に記載の複合イベント処理向けクエリ自動生成装置。
  7. 前記第5の処理部は、ANY型のクエリを生成する際、EVENT句及びWHERE句で指定した頻出イベントパターンが頻出イベント列内で発生した日時に基づいて時間窓を求め、WITHIN句を生成する
    ことを特徴とする請求項6に記載の複合イベント処理向けクエリ自動生成装置。
  8. 前記第5の処理部は、SEQ型のクエリを生成する際、EVETN句及びWHERE句で指定した頻出イベントパターンが頻出イベント列内で発生した日時に基づいて時間窓を求め、WITHIN句を生成する
    ことを特徴とする請求項6又は7に記載の複合イベント処理向けクエリ自動生成装置。
  9. 前記第5の処理部は、混在型のクエリを生成する際、頻出イベント列内で最小頻度以上の頻出イベントパターンと、当該頻出イベントパターンに含まれる頻出イベント以外の頻出イベントに基づいてEVENT句及びWHERE句を生成する
    ことを特徴とする請求項6〜8のいずれか一項に記載の複合イベント処理向けクエリ自動生成装置。
  10. 前記第5の処理部は、混在型のクエリを生成する際、EVENT句及びWHERE句で指定した頻出イベントパターン及び頻出イベントが頻出イベント列内で発生した日時に基づいて時間窓を求め、WITHIN句を生成する
    ことを特徴とする請求項6〜9のいずれか一項に記載の複合イベント処理向けクエリ自動生成装置。
JP2009223860A 2009-09-29 2009-09-29 複合イベント処理向けクエリ自動生成装置 Expired - Fee Related JP5295062B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009223860A JP5295062B2 (ja) 2009-09-29 2009-09-29 複合イベント処理向けクエリ自動生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009223860A JP5295062B2 (ja) 2009-09-29 2009-09-29 複合イベント処理向けクエリ自動生成装置

Publications (2)

Publication Number Publication Date
JP2011076153A JP2011076153A (ja) 2011-04-14
JP5295062B2 true JP5295062B2 (ja) 2013-09-18

Family

ID=44020112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009223860A Expired - Fee Related JP5295062B2 (ja) 2009-09-29 2009-09-29 複合イベント処理向けクエリ自動生成装置

Country Status (1)

Country Link
JP (1) JP5295062B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5966690B2 (ja) 2012-07-04 2016-08-10 富士通株式会社 サーバ装置、フィルタリング方法、およびフィルタリングプログラム
WO2014188500A1 (ja) 2013-05-20 2014-11-27 富士通株式会社 データストリーム処理の並列化プログラム、及びデータストリーム処理の並列化システム
JP6107494B2 (ja) * 2013-07-16 2017-04-05 富士通株式会社 照合装置、照合方法および照合プログラム
KR101459018B1 (ko) * 2014-04-09 2014-11-07 주식회사 이디엄 이벤트 처리 시스템의 이벤트 처리 방법
JP6442951B2 (ja) 2014-09-25 2018-12-26 富士通株式会社 データ処理方法、データ処理プログラム及びデータ処理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3712882B2 (ja) * 1999-03-03 2005-11-02 日本電信電話株式会社 時間間隔を含む時系列パターン抽出装置

Also Published As

Publication number Publication date
JP2011076153A (ja) 2011-04-14

Similar Documents

Publication Publication Date Title
US11055302B2 (en) Method and system for implementing target model configuration metadata for a log analytics system
US11928118B2 (en) Generating a correlation search
US11314733B2 (en) Identification of relevant data events by use of clustering
US11405301B1 (en) Service analyzer interface with composite machine scores
US10237295B2 (en) Automated event ID field analysis on heterogeneous logs
US9582585B2 (en) Discovering fields to filter data returned in response to a search
US20180129579A1 (en) Systems and Methods with a Realtime Log Analysis Framework
US9922084B2 (en) Events sets in a visually distinct display format
US9916346B2 (en) Interactive command entry list
US20230342372A1 (en) Method and system for implementing a log parser in a log analytics system
WO2015079564A1 (ja) イベントの根本原因の解析を支援する管理システム及び方法
US20110314138A1 (en) Method and apparatus for cause analysis configuration change
CN110928772A (zh) 一种测试方法及装置
WO2016161381A1 (en) Method and system for implementing a log parser in a log analytics system
JP5295062B2 (ja) 複合イベント処理向けクエリ自動生成装置
JP5651381B2 (ja) 障害原因判定ルール検証装置及びプログラム
JP5395719B2 (ja) 障害原因解析システムにおけるルール生成装置及びそのプログラム
JP5798095B2 (ja) ログ生成則作成装置及び方法
JP2005316699A (ja) コンテンツ公開システム、コンテンツ公開方法、及びコンテンツ公開プログラム
JP2018081403A (ja) インシデント管理システム、インシデント管理方法およびコンピュータプログラム
JPWO2020017037A1 (ja) ログ分析装置、ログ分析方法、プログラム
CN117971527A (zh) 应用系统降级方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130527

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130611

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees