実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、「AAAテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「AAAテーブル」を「AAA情報」と呼ぶことができる。
また、以下の説明において、アクションは、ITシステムにおける出来事(イベント)の内容を示す語であり、例えば、ITシステムにおけるイベントを述べるログデータのメッセージラインの一部の記述として用いられる。アクションは、例えば、ITシステムの状態変更時に生成されるログデータにおける状態変更を示す語や、ITシステムのオペレータによってオペレーションが指示された場合に生成されたログデータにおけるオペレータの指示したオペレーションを示す語である。
また、アクションセットは、或る条件(時間制約)に基づいて、所定の作業に関連するもの(統一したもの)と考えられる1以上のアクションの組を示す用語である。
また、ログイベントは、或る意図に対して統一されていると考えられるアクション(ITシステムにおける或る作業、例えば、デバイスの設定変更、ネットワークの繋ぎ変え等で発生するアクション)を含む複数のログデータを発生させるイベントを意味する。
図1は、一実施形態に係るログラベリング装置を含む計算機システムの全体構成図である。
計算機システム1は、ログ分析装置の一例としてのログラベリング装置10と、1以上のデバイス11(11-1~11-N)と、コンソール15と、ディスプレイ12とを含む。デバイス11は、ログデータを生成し、生成したログデータを連続的に送信するソースである。デバイス11は、ハードウェアで構成されていてもよく、例えば、VM(Virtual Machine)のようにハードウェア上を動作するソフトウェアにより構成されていてもよい。また、複数のデバイス11を1つのソースとして扱うようにしてもよい。本実施形態は、便宜的に、デバイス11を、1つのハードウェアデバイスである例を用いて説明する。
ディスプレイ12は、ログラベリング装置10による処理結果を示すGUI(Graphical User Interface)の画面を可視化する出力デバイスである。コンソール15は、ログラベリング装置10の管理者から、ログラベリング装置10の設定を管理するための管理タスクの実行や、管理タスクに対する操作入力等を受け付ける入力デバイスである。
ログラベリング装置10は、ログイベントラベル付きデータ13(13-1~13-N)と、ログストリームデータ14(14-1~14-N)との2種類のログデータを受信する。ログイベントラベル付きデータ13(学習用ログデータ)は、ログデータに対してログイベントを示すラベル(ログイベントラベル、以下、単にラベルともいう)が付けられたログデータであり、ログラベリング装置10のトレーニング(学習)に利用される。ログイベントラベル付きデータ13は、例えば、或るデバイス11において生成したログデータに対して、予め管理者等により指定されたログイベントラベルを付した後、送信される。ログストリームデータ14は、対応するデバイス11により順次生成されて、連続して送信される複数のログデータであり、ラベルは付されていない。このログストリームデータ14がログラベリング装置10において、ラベルを認識する対象となるデータである。
ログラベリング装置10は、ログストリームデータ14と、ログイベントラベル付きデータ13との間の類似度を算出し、類似度に基づいて、ログストリームデータ14に対するラベル候補を特定し、算出した類似度や、特定したラベル候補等を、ディスプレイ12に表示させる。
ログラベリング装置10は、ログデータ処理部の一例としてのログデータプリプロセッサ101(101-1,101-2)と、アクションIDデータベース(DB)102と、ラベル管理部103と、ラベル発生DB104と、ラベル重要性DB105と、蓄積類似性計算部106と、類似性DB107とを含む。
ログラベリング装置10は、教師学習システムにおける、トレーニングフェーズと、テストフェーズとの2つのフェーズを有する。
トレーニングフェーズについて、受け取った1つのログイベントラベル付きデータ13に注目して説明する。なお、このことは、ログラベリング装置10が、複数のログイベントラベル付きデータ13を同時に処理できないことを意味しているものではない。
ログデータプリプロセッサ101-1は、各ログイベントラベル付きデータ13に対して、アクションID DB102からのアクションID情報を使用し、ログデータに対する前処理を行い、準備済ログデータ108-1を出力する。なお、ログデータプリプロセッサ101-1による処理等については、図2、図3、及び図4を用いて後述する。
ラベル管理部103は、準備済ログデータ108-1から、ラベルの発生に関する情報(ラベル発生情報)及び重要度に関する情報(重要度情報)を取得する処理を実行し、処理により取得したラベル発生情報をラベル発生DB104に格納し、重要度情報をラベル重要性DB105に格納する。
ラベル管理部103は、発生計数部の一例としての同一ラベル発生カウンタ1031と、重要性計算部の一例としてのラベル重要性計算部1032とを含む。
同一ラベル発生カウンタ1031は、準備済ログデータ108-1から発生情報を検索し、ラベル発生DB104のエントリ(ラベルエントリ)にそれらを加える。これらの更なる詳細については、図5及び図6を用いて後述する。
ラベル重要性計算機1032は、ラベル発生DB104の更新情報を使用することにより、ラベル重要性DB105のラベル重要性重みを更新する。これらの更なる詳細については、図7及び図8を用いて後述する。
テストフェーズについて、ログラベリング装置10によって受信された1つのログストリームデータ14に注目して説明する。なお、このことは、ログラベリング装置10が、複数のログストリームデータ14を同時に処理できないことを意味しているものではない。
ログラベリング装置10のログデータプリプロセッサ101-2は、受け取った各ログストリームデータ14について、アクションID DB102から取得された情報を用いてログデータを処理し、準備済ログデータ108-2を出力する。
蓄積類似性計算部106は、準備済ログデータ108-2に基づいて、蓄積の判定及び類似性情報の取得を行い、判定した蓄積判定結果及び取得した類似性情報を類似性DB107に格納する。
蓄積類似性計算部106は、類似性計算部1061、蓄積決定部1062、及びラベル検出処理部及び表示処理部の一例としてのポストプロセッサ1063を含む。これらの更なる詳細については、図9及び10を用いて後述する。
類似性計算機1061は、ラベル重要性DB105からのラベル情報と、準備済ログデータ108-2と、類似性DB107から取得された過去のログデータに基づくアクションセットとを使用して、各ログイベントラベルと、観測されたログストリームデータとの間の類似度を計算する。これらの更なる詳細については、図11を用いて後述する。
蓄積決定部1062は、類似性DB107に記憶されている現在及び過去のログデータについての類似性情報を使用することにより、類似性DB107における、準備済ログデータ108-2に関する情報の蓄積の継続又は蓄積のリセットを決定する。これらの更なる詳細については、図12を用いて後述する。
ポストプロセッサ1063は、類似性DB107からの全てのラベルについての全体的な類似性情報を扱い、準備済ログデータ108-2に最も可能性の高いラベルを認識する。これらの更なる詳細については、図12を用いて後述する。
次に、アクションIDデータベース102について説明する。
図2は、一実施形態に係るアクションIDデータベースの構成図である。
アクションID DB102は、アクションIDテーブル501とアクションセットIDテーブル502とを含む。
アクションIDテーブル501は、各アクションに対応するエントリを格納する。アクションIDテーブル501のエントリは、アクションID D50101と、アクション D50102とのフィールドを含む。
アクションID D50101には、アクションを一意に識別可能な識別情報(アクションID)が格納される。
アクション D50102には、エントリのアクションID D50101のアクションIDに対応するアクションを示す用語が格納される。アクションを示す用語としては、1以上の用語と、用語間のスペースとを含んでもよい。用語は、ログデータで用いる数字、英数字、文字、又は文字列の少なくともいずれか1つを含んでもよい。
アクションセットIDテーブル502は、複数のアクションを含むアクションセットに対応するエントリ(アクションセット情報)を格納する。なお、図2の例では、複数のアクションを含む集合をアクションセットとして登録するようにしているが、1つのアクションについてもアクションセットとして登録するようにしてもよい。すなわち、1以上のアクションの集合をアクションセットとしてもよい。アクションセットIDテーブル502のエントリは、アクションセットID D50201と、アクションのセットD50202とのフィールドを含む。
アクションセットID 50201には、アクションセットを一意に識別可能な識別情報(アクションセットID)が格納される。
アクションセットD50202には、エントリに対応するアクションIDによって識別される、アクションセットに含まれるアクションのアクションIDが格納される。アクションセットは、アクションの順番が規定されているものであっても、順番が規定されていないものであってもよい。また、アクションセットに含まれるアクションIDとして、繰り返し実行される同一のアクションについて1つのアクションIDとして含むようにしてもよく、繰り返し実行される回数分のアクションIDを含むようにしてもよい。
図3は、一実施形態に係る準備済ログデータの構成図である。
準備済ログデータ108は、ログイベントラベル付きデータ13又はログストリームデータ14である生ログデータを入力として、ログデータプリプロセッサ101によって処理された後のデータである。図3における準備済ログデータ108-1は、ログイベントラベル付きデータ13を入力として得られたデータを示し、準備済ログデータ108-2は、ログストリームデータ14を入力として得られたデータを示している。
準備済ログデータ108のエントリは、例えば、1つのアクションセットにまとめられた1以上のログデータに対応し、デバイスID D10801、アクションセットID D10802、アクションD10802、開始時刻D10804、終了時刻D10805、ラベルID D10806、及びログイベント実体ID D10807のフィールドを含む。
デバイスID D10801には、ログデータを出力したデバイス11を識別可能な識別情報(デバイスID)が格納される。アクションセットID D10802には、エントリに対応するアクションセットIDが格納される。アクションD10802には、エントリのアクションセットIDに対応するアクションセットに含まれるアクションのアクションIDが格納される。開始時刻 D10804には、エントリに対応するアクションセットと考えられるアクションのログの観測が開始された時刻(開始時刻)が格納される。終了時刻 D10805には、エントリに対応するアクションセットと考えられるアクションのログの観測が終了した時刻(終了時刻)が格納される。ラベルID D10806には、エントリに対応するラベルのラベルIDが格納される。ログイベント実体ID D10807には、エントリに対応するログイベントの実体を識別可能な識別情報(ログイベント実体ID)が格納される。このログイベント実体IDによると、同じデバイスの同じラベルIDの異なるログイベントを区別することができる。
準備済ログデータ108-1は、トレーニングフェーズの間にログイベントラベル付きデータ13から生成された例であり、すべてのフィールドに対して、ログイベントラベル付きデータ13から得られた情報が格納される。
準備済ログデータ108-2は、テストフェーズの間にログストリームデータ14から生成された例であり、ラベルID D10806と、ログイベント実体ID D10807には、情報が使用できないことを示すNaN(非数)が格納されている。エントリのラベルID D10806とログイベント実体ID D10807とのフィールドを除く他のフィールドには、ログストリームデータ14のログデータから得られた情報が格納される。
次に、ログデータ処理について説明する。
図4は、一実施形態に係るログデータプリプロセッサによるログデータ処理のフローチャートである。
ログデータプリプロセッサ101は、処理対象となる1以上のログデータ(ログイベントラベル付きデータ13又はログストリームデータ14)を受信する(S10101)。
次いで、ログデータプリプロセッサ101は、受信したログデータの各行(ログライン)を処理対象として、ループ1の処理(ステップS10102~S10106)を実行する。
ループ1において、ログデータプリプロセッサ101は、予め決められたルールを用いて、処理対象のログラインからアクションを検索する(S10102)。ここで、ログは、いくつかのフォーマット種類に分類されており、ルールとは、ログからそのログのフォーマット種類に応じてアクションを記述した部分を特定するルールである。例えば、アクションは、ログの前から3番目のテキスト部分である等のルールである。ルールとしては、正規表現(regular expressions:regex)のルールであってもよく、他のルールであってもよい。
次いで、ログデータプリプロセッサ101は、検索したアクションが既にアクションID DB102に登録されているか否かを判定する(S10103)。この結果、検索したアクションが登録されていない場合(S10103:No)には、ログデータプリプロセッサ101は、アクションID DB102のアクションIDテーブル501に、検索したアクションに対応する新たなエントリを追加し、追加したエントリに、検索したアクションに対応するアクションID及びアクションの用語を追加し、処理をステップS10106に進める(S10104)。
一方、検索したアクションが登録されている場合(S10103:Yes)には、ログデータプリプロセッサ101は、アクションID DB102のアクションIDテーブル501から検索したアクションに対応するアクションIDを取得し(S10105)、処理をステップS10106に進める。
ステップS10106では、ログデータプリプロセッサ101は、検索したアクションを、ステップS10104で新たに追加されたアクションID、又は、ステップS10105で取得したアクションIDに置き換えて記憶する(S10106)。
ログデータプリプロセッサ101は、ループ1の処理を、処理対象のログデータのログラインの全てを対象に実行した後に、処理をステップS10107に進める。
ステップS10107では、ログデータプリプロセッサ101は、ログラインの時刻情報(各ログを生成した時刻の情報)と、時間制約ルールとを用いて、1以上のログデータに含まれるアクションを、1以上のアクションを含むアクションセットに分ける。ここで、時間制約ルールとは、ログストリームデータ14から1つのアクションセットにまとめる対象のログデータのまとまり(ログユニット)を作るための制約であり、例えば、所定時間以内に発生したログデータ同士を同一のログユニットとするとか、所定の時間ごとにその時間内のログデータを同一のログユニットとするとか等のルールである。なお、このログユニットは、必ずしもログイベントではない。
各アクションセットは、アクションID DB102のアクションセットIDテーブル502から取得されたアクションセットIDによって識別される。アクションセットIDがアクションセットIDテーブル502に格納されていない場合には、ログデータプリプロセッサ101は、新しいアクションセットIDのエントリをアクションセットIDテーブル502に生成する。
ログデータプリプロセッサ101は、ステップS10107で取得された全てのアクションセットを、1以上のアクションを含む1以上のアクションセットを含む1つの準備済ログデータ108にマージする(S10108)。
次に、ラベル発生データベース104について説明する。
図5は、一実施形態に係るラベル発生データベースの構成図である。
ラベル発生DB104は、各ログイベントラベル(ラベルともいう)に対応するログにおけるアクションとアクションセットとの発生に関する情報(発生情報)を格納する。
ラベル発生DB104は、メインテーブル201と、サブテーブル202との2つの種類のテーブルを含む。サブテーブル202は、発生カウントテーブル(アクション)202-aと、発生カウントテーブル(アクションセット)202-bとの2種のテーブルを含む。
メインテーブル201は、各ラベルに対応するエントリを格納する。メインテーブル201のエントリは、ラベルID D20101、発生カウントテーブル(アクション)D20102、発生カウントテーブル(アクションセット)D20103、及び合計ラベルドキュメントカウントD20104とのフィールドを含む。
ラベルID D20101には、エントリに対応するログイベントラベルを識別可能な識別情報(ラベルID)が格納される。発生カウントテーブル(アクション)D20102には、エントリに対応するラベルの各アクションにおける発生カウントを管理する発生カウントテーブル(アクション)202-aへのポインタが格納される。発生カウントテーブル(アクションセット)D20103には、エントリに対応するラベルの各アクションセットにおける発生カウントを管理する発生カウントテーブル(アクションセット)202-bへのポインタが格納される。合計ラベルドキュメントカウントD20104には、各ラベルに対応するログイベントラベル付きデータ13の合計数が格納される。
発生カウントテーブル(アクション)202-aは、複数のテーブル(202-1a~202-Na,202-Oa等)を含む。各テーブル(202-1a~202-Na,202-Oa等)は、或る特定のラベルが付加されているログイベントラベル付きデータ13(特定ラベル付きデータ)における各アクションIDのアクションの発生回数を管理するエントリを格納する。テーブルのエントリは、アクションID D20201と、合計発生カウントD20202と、発生ドキュメントカウントD20203とのフィールドを含む。
アクションID D20201には、エントリに対応するアクションのアクションIDが格納される。合計発生カウントD20202には、特定ラベル付きデータにおける、エントリに対応するアクションIDのアクションの発生回数の合計が格納される。ここで、この発生回数は、1つのログイベントラベル付きデータ13においてアクションが複数回発生した場合には、その複数の発生回数を含んだものとなっている。発生ドキュメントカウントD20203には、エントリに対応するアクションIDのアクションが発生したログイベントラベル付きデータ13の数が格納される。
発生カウントテーブル(アクションセット)202-bは、複数のテーブル(202-1b~202-Nb,202-Ob等)を含む。各テーブル(202-1b~202-Nb,202-Ob等)は、或る特定のラベルが付加されているログイベントラベル付きデータ13(特定ラベル付きデータ)における各アクションセットIDのアクションセットの発生回数を管理するエントリを格納する。テーブルのエントリは、アクションセットID D20204と、アクションセット(非順序)D20205と、合計発生カウントD20206と、発生ドキュメントカウントD20207とのフィールドを含む。
アクションセットID D20204には、エントリに対応するアクションセットのアクションセットIDが格納される。アクションセット(非順序)D20205には、エントリに対応するアクションセットIDのアクションセットに含まれるアクションのアクションIDが非順序で含まれる。なお、アクションセットにおけるアクションを順序付けして管理する場合には、フィールドにアクションセットに含まれるアクションの順序に従うアクションIDを含ませるようにすればよい。
合計発生カウントD20206には、特定ラベル付きデータにおける、エントリに対応するアクションセットIDのアクションセットの発生回数の合計が格納される。ここで、この発生回数には、1つのログイベントラベル付きデータ13においてアクションセットが複数回発生した場合には、その複数の発生回数を含んだものとなっている。発生ドキュメントカウントD20203には、エントリに対応するアクションセットIDのアクションセットに含まれる全てのアクションが発生したログイベントラベル付きデータ13の数が格納される。
次に、同一ラベル発生カウンタ1031による発生カウント処理について説明する。
図6は、一実施形態に係る同一ラベル発生カウンタによる発生カウント処理のフローチャートである。
同一ラベル発生カウンタ1031は、準備済ログデータ108-1をログイベントラベルとともに受信する(S103101)。
次いで、同一ラベル発生カウンタ1031は、アクションセットごとの発生カウントをカウントするループ1の処理(S103102)と、アクションごとの発生カウントをカウントするループ2の処理(S103103)とを実行する。同一ラベル発生カウンタ1031は、ループ1の処理とループ2の処理とを並行して実行してもよいし、順番に実行するようにしてもよい。なお、必要な情報に応じて、ループ1の処理と、ループ2の処理とのいずれか一方のみを実行するようにしてもよい。
本実施形態においては、ループ1の処理(S103102)と、ループ2の処理(S103103)とが並行して実行されるものとして説明する。
ループ1の処理において、同一ラベル発生カウンタ1031は、取得した準備済ログデータ108-1における処理対象のアクションセットについての発生カウントをカウントする(S103102)。このステップにおいては、発生カウントテーブル(アクションセット)202-bのいずれかのテーブルにおける合計発生カウントD20206と、発生ドキュメントカウントD20207とのフィールドに格納するカウントがカウントされる。
ループ2の処理において、同一ラベル発生カウンタ1031は、取得した準備済ログデータ108-1における処理対象のアクションについての発生カウントをカウントする(S103103)。このステップにおいては、発生カウントテーブル(アクション)202-aのいずれかのテーブルにおける合計発生カウントD20202と、発生ドキュメントカウントD20203とのフィールドに格納するカウントがカウントされる。
ループ1を全てのアクションセットを対象にして実行するとともに、ループ2を全てのアクションを対象にして実行した後に、同一ラベル発生カウンタ1031は、ラベル発生DB104のメインテーブル201に、取得した準備済ログデータ108-1とともに受信したラベルに対応するエントリが存在するか否かを判定し(S103104)、受信したラベルに対応するエントリが存在する場合(S103104:Yes)には、処理をステップS103106に進める一方、受信したラベルに対応するエントリが存在しない場合(S103104:No)には、受信したラベルに対応するエントリをメインテーブル201に生成するとともに、エントリから参照可能なサブテーブル202の発生カウントテーブル(アクション)202-aの1つのテーブル(202-1aに相当するテーブル)を生成するとともに、発生カウントテーブル(アクションセット)202-bの1つのテーブル(202-1bに相当するテーブル)を生成し、処理をステップS103106に進める(S103105)。なお、生成された発生カウントテーブル(アクション)202-aの1つのテーブル(202-1aに相当するテーブル)と、発生カウントテーブル(アクションセット)202-bの1つのテーブル(202-1bに相当するテーブル)とにおけるカウントに関するフィールドの値は初期値(0)に設定される。
ステップS103106では、同一ラベル発生カウンタ1031は、メインテーブル201のステップS103101で取得したラベルに対応するエントリの合計ドキュメントカウントD20104の値に、取得した準備済ログデータ108-1の数を加算し、更に、発生カウントテーブル(アクション)202-aのテーブルの合計発生カウントD20202と、発生ドキュメントカウントD20203と、発生カウントテーブル(アクションセット202-bのテーブルの合計発生カウントD20206と、発生ドキュメントカウントD20207とのフィールドに格納されている値に対して、新しくカウントされたそれぞれのカウントを加算する。これにより、ラベル発生DB104には、新たに取得した準備済ログデータ108-1におけるアクションセットやアクションの発生カウントが適切に反映されることとなる。
次に、ラベル重要性データベース105について説明する。
図7は、一実施形態に係るラベル重要性データベースの構成図である。
ラベル重要性DB105は、各既知のログイベントラベルについての各アクションと各アクションセットの重要性についての情報(重要性情報)を格納する。ラベル重要性DB105は、アクションセットテーブル301と、アクションテーブル302との2つのテーブルを含む。
アクションセットテーブル301は、各ログイベントラベルについての各アクションセットの重要度をそれぞれ格納する。図7の例では、アクションセットテーブル301は、各アクションセットに対応するエントリを格納する。アクションセットテーブル301のエントリは、アクションセットID D30101と、アクションセット(非順序)D30102と、ラベル1重要度D30103と、ラベル2重要度D30104と、・・・、ラベルN重要度D3010Nとのフィールドを含む。アクションセットテーブル301の正確なフィールド数は、観測されたログイベントラベルの合計数によって変わる。
アクションセットID D30101には、エントリに対応するアクションセットのアクションセットIDが格納される。アクションセット(非順序)D30102には、エントリに対応するアクションセットが格納される。ラベル1重要度D30103には、エントリに対応するアクションセットについてのラベル1に対する重要度が格納される。この重要度が高ければ、エントリに対応するアクションセットが含まれていれば、イベントがラベル1である可能性が高いことを示している。以下に示す、他のフィールドにおける重要度も同様である。ラベル2重要度D30104には、エントリに対応するアクションセットについてのラベル2に対する重要度が格納される。ラベルN重要度D3010Nには、エントリに対応するアクションセットについてのラベルNに対する重要度が格納される。
アクションテーブル302は、各ログイベントラベルについての各アクションの重要度をそれぞれ格納する。図7の例では、アクションテーブル302は、各アクションに対応するエントリを格納する。アクションテーブル302のエントリは、アクションID D30201と、ラベル1重要度D30202と、ラベル2重要度D30203と、・・・、ラベルN重要度D3020Nとのフィールドを含む。アクションテーブル302の正確なフィールド数は、観測されたログイベントラベルの合計数によって変わる。
アクションID D30201には、エントリに対応するアクションのアクションIDが格納される。ラベル1重要度D30202には、エントリに対応するアクションについてのラベル1に対する重要度が格納される。ラベル2重要度D30203には、エントリに対応するアクションについてのラベル2に対する重要度が格納される。ラベルN重要度D3020Nには、エントリに対応するアクションについてのラベルNに対する重要度が格納される。
次に、ラベル重要性計算部1032による重要度算出処理について説明する。
ラベル重要性計算部1032は、ラベル発生DB104から取得される発生情報を使用して、各ログイベントラベルについてのアクション及びアクションセットのそれぞれの重要度を算出する。ラベル発生DB104に変更が発生した時には、重要度の情報もまた更新される必要がある。そこで、ラベル重要性計算部1032は、ラベルについての重要度を更新するために、重要度算出処理を実行する。
図8は、一実施形態に係るラベル重要性計算部による重要度算出処理のフローチャートである。
ラベル重要性計算部1032は、同一ラベル発生カウンタ1031で使用されているラベルの情報と、準備済ログデータ108-1とを受信し、ラベルの情報を用いて、ラベル発生DB104からラベルについての発生カウントの情報を検索する(S103201)。
次いで、ラベル重要性計算部1032は、アクションセットごとの重要度を計算するループ1の処理(S103202~S103205)と、アクションごとの重要度を計算するループ2の処理(S103206~S103209)とを実行する。ラベル重要性計算部1032は、ループ1の処理とループ2の処理とを並行して実行してもよいし、順番に実行するようにしてもよい。なお、必要な情報に応じて、ループ1の処理と、ループ2の処理とのいずれか一方のみを実行するようにしてもよい。
本実施形態においては、ループ1の処理と、ループ2の処理とが並行して実行されるものとして説明する。
ループ1において、ラベル重要性計算部1032は、ステップS103201で受信したラベル(特定ラベル)に対応するラベル発生DB104のサブテーブル202-bのテーブル(202-1bに相当するテーブル)における処理対象のアクションセットに対応するエントリの発生ドキュメントカウントD20207から発生ドキュメントカウントを取得し、発生ドキュメントカウントを、そのエントリの合計発生カウントD20206から取得された合計発生カウントで除算することにより、変数val1を取得する(S103202)。
次いで、ラベル重要性計算部1032は、ステップS103202で取得している発生ドキュメントカウントを、メインテーブル201の特定ラベルに対応するエントリの合計ラベルドキュメントカウントD20104から取得した合計ラベルドキュメントカウントで除算することにより、変数val2を取得する(S103203)。
次いで、ラベル重要性計算部1032は、メインテーブル201の各ラベルのエントリの合計ラベルドキュメントカウントD20104から合計ラベルドキュメントカウントを取得し、各合計ドキュメントラベルカウントについて、1以上であれば、1に変換し、0であれば0とする2値変換を実行し、すべてのラベルについて得られた2値変換実行後の値の合計を取り、合計値の逆数を取ることにより、Val3を取得する(S103204)。
次いで、ラベル重要性計算部1032は、Val1と、Val2と、Val3とを掛け合わせた結果を、特定ラベルにおけるアクションセットについての重要度として取得する(S103205)。
ループ2において、ラベル重要性計算部1032は、ステップS103201で受信したラベル(特定ラベル)に対応するラベル発生DB104のサブテーブル202-aのテーブルにおける処理対象のアクションに対応するエントリの発生ドキュメントカウントD20203から発生ドキュメントカウントを取得し、発生ドキュメントカウントを、そのエントリの合計発生カウントD20202から取得された合計発生カウントで除算することにより、変数val1を取得する(S103206)。
次いで、ラベル重要性計算部1032は、ステップS103206で取得している発生ドキュメントカウントを、メインテーブル201の特定ラベルに対応するエントリの合計ラベルドキュメントカウントD20104から取得した合計ラベルドキュメントカウントで除算することにより、変数val2を取得する(S103207)。
次いで、ラベル重要性計算部1032は、メインテーブル201の各ラベルのエントリの合計ラベルドキュメントカウントD20104から合計ラベルドキュメントカウントを取得し、各合計ドキュメントラベルカウントについて、1以上であれば、1に変換し、0であれば0とする2値変換を実行し、すべてのラベルについて得られた2値変換実行後の値の合計を取り、合計後の値の逆数を取ることにより、Val3を取得する(S103208)。
次いで、ラベル重要性計算部1032は、Val1と、Val2と、Val3とを掛け合わせた結果を、特定ラベルにおけるアクションについての重要度として取得する(S103209)。
ループ1を全てのアクションセットを対象にして実行するとともに、ループ2を全てのアクションを対象にして実行した後に、ラベル重要性計算部1032は、新たに取得した重要度をラベル重要性DB105に格納する(S103210)。
具体的には、ラベル重要性DB105のアクションセットテーブル301とアクションテーブル302とにおいて、対象のラベルに対応する重要度のフィールド(D30103,・・・,D3010N、D30202,・・・,D3020N)が存在する場合には、ラベル重要性計算部1032は、そのフィールドの重要度を、新たに取得(計算)された値に更新する。一方、ラベル重要性DB105のアクションセットテーブル301とアクションテーブル302とにおいて、対象のラベルに対応する重要度のフィールドが存在しない場合には、ラベル重要性計算部1032は、アクションセットテーブル301とアクションテーブル302とに、対象のラベルに対応する重要度のカラムを追加し、そのカラムのフィールドに新たに取得された重要度を格納する。
この処理により、ラベル重要性DB105に格納された重要度は、ログストリームデータ14と特定のラベルとの間の類似度を計算するためのテストフェーズにおいて使用される。テストフェーズにおいて必要な、データ構造や、ログデータ処理等について、以下に説明する。
図9は、一実施形態に係る類似性データベースの構成図である。
類似性DB107は、デバイス11から観測されるログストリームデータ14とログラベリング装置10で学習されている全てのログイベントラベルとの間の類似度についての情報を格納する。
類似性DB107は、メインテーブル401と、サブテーブル402(402-1a~402-Nn)とを含む。
メインテーブル401は、最新のタイムステップ(t)と、過去のn回(nは任意の整数)のタイムステップにおける各デバイスについての各ラベルに対する類似度を管理するサブテーブル402へのポインタを格納する。
メインテーブル401は、各デバイスに対応するエントリを格納する。メインテーブル401のエントリは、デバイスID D40101と、サブテーブル(タイムステップt)D40102と、タブテーブル(タイムステップt-1)D40103と、・・・、サブテーブル(タイムステップt-n)D4010Nとのフィールドを含む。
デバイスID D40101には、ログストリームデータ14の観測対象のデバイス11の識別情報(デバイスID)が格納される。サブテーブル(タイムステップt)D40102には、エントリに対応するデバイス11についてのタイムステップtにおける類似度を管理するサブテーブル402へのポインタが格納される。サブテーブル(タイムステップt-1)D40103には、エントリに対応するデバイス11についてのタイムステップt-1(タイムステップtの直前のタイムステップ)における類似度を管理するサブテーブル402へのポインタが格納される。同様に、サブテーブル(タイムステップt-n)D4010Nには、エントリに対応するデバイス11についてのタイムステップt-nにおける類似度を管理するサブテーブル402へのポインタが格納される。
サブテーブル402(402-1a~402-Nn)は、デバイス毎の各タイムステップにおける、各ラベルと、関連度と、ラベルと均等であると考えられる、過去(例えば、直前のタイムステップ)から引き継がれたアクションセット(蓄積アクションセット)等を記憶する複数のテーブルである。各テーブルは、或るデバイスの或るタイムステップにおける類似度等の情報を管理している。
本実施形態では、デバイスIDが1であるデバイス11のタイムステップtの類似度の情報を管理するテーブルを、サブテーブル402-1aとし、デバイスIDが1であるデバイス11のタイムステップt―nの類似度の情報を管理するテーブルを、サブテーブル402-1nとし、デバイスIDがNであるデバイス11のタイムステップtの類似度の情報を管理するテーブルを、サブテーブル402-Naとし、デバイスIDがNであるデバイス11のタイムステップt―nの類似度の情報を管理するテーブルを、サブテーブル402-Nnとしている。
サブテーブル402の1つのテーブルは、各ラベルに対応するエントリを複数格納する。サブテーブル402のエントリは、ラベルID D40201と、第1類似度D40202と、第2類似度D40203と、蓄積アクションセットID D40204と、使用類似度D40205とのフィールドを含む。
ラベルID D40201には、ラベルを識別するラベルIDが格納される。第1類似度D40202には、第1類似度(短期類似度)が格納される。第1類似度は、特定のデバイス(サブテーブル402が対応するデバイス)において、特定のタイムステップ(サブテーブル402が対応しているタイムステップ)において観測される準備済ログデータ108-2と、ラベル重要性DB105から取得されるラベルとアクションセットとの間の重要度の情報(ラベル重要性データ)とに基づいて、計算される類似度であり、その特定のタイムステップにおけるログデータのみを考慮した短期的な観点での類似度である。
第2類似度D40203には、第2類似度(長期類似度)が格納される。第2類似度は、特定のデバイス(サブテーブル402が対応するデバイス)において、特定のタイムステップ(サブテーブル402が対応しているタイムステップ)において観測される準備済ログデータ108-2及び過去(例えば直前)のタイムステップからの蓄積アクションセットIDのアクションセットと、ラベル重要性DB105から取得されるラベルとアクションセットとの間の重要度の情報とに基づいて、計算される類似度であり、過去のログデータを考慮した長期的な観点での類似度である。
蓄積アクションセットID D40204には、特定のタイムステップの次のタイムステップでの第2類似度の算出に利用するアクションセット(第1アクションセット)を示すアクションセットID(蓄積アクションセットID:アクションセット情報)が格納される。この蓄積アクションセットIDは、蓄積決定部1062によって決定される。使用類似度D40205には、ラベルを決定する際に使用された類似度が格納される。この類似度は、蓄積決定部1062による処理により決定される。
次に、蓄積類似性計算部106によるラベル識別処理について説明する。
累積類似性計算機106は、ログイベントラベルと、デバイス11から観測されたログストリームデータとの間の類似性を認識して、ログラベリング装置10によって観測されているデバイス11において現在発生しているイベントに最も近いイベントを決定するラベル識別処理を実行する。
図10は、一実施形態に係る蓄積類似性計算部よるラベル識別処理のフローチャートである。
ラベル識別処理は、すべての必要なデータを準備するステップ(S10601~S10603)と、ラベル毎に、ラベルと準備済ログデータ108-2との間の類似度を算出するステップ(S10604、S10605)と、取得された各ラベルについての類似度の情報を扱う後処理ステップ(S10606~S10608)とを含む。
まず、蓄積類似性計算部106は、ラベルを認識する必要がある準備済ログデータ108-2をデバイスIDとともに受け取る(S10601)。なお、蓄積類似性計算部106は、準備済ログデータ108-2の各アクションセットを順番にしたり、順不同で一意にしたり、繰り返すアクションをアクションセットに含ませたりする処理を選択的に実行してもよい(S10602)。以上のステップにより、ログラベリング装置10の全体の設定が完了する。
次いで、蓄積類似性計算部106は、ラベル重要性DB105から、準備済ログデータ108-2に含まれる全てのアクションセットIDとアクションIDについてのラベルの重要度を検索する(S10603)。
次いで、蓄積類似性計算部106は、各ラベルについてループ1の処理(S10604,S10605)を実行する。
ループ1において、蓄積類似性計算部106は、類似性計算部1061により、類似度計算処理(図11参照)を実行させる(S10604)。類似度計算処理では、ステップS10603で準備された重要度の情報を用いて、ラベルと、ステップS10602の後で得られた準備済ログデータ108-2との類似度を計算する。
次いで、蓄積類似性計算部106は、S10604で取得された類似度を用いて、現在及び過去のタイムステップでのデバイスからの準備済ログデータから特定されたアクションセットの蓄積を継続するか否かを決定するための蓄積決定処理(図12参照)を実行する(S10605)。この蓄積決定処理は、主に、累積決定部1062により実行される。
次いで、蓄積類似性計算部106は、全てのラベルについての取得した類似度と、蓄積決定処理により決定された蓄積情報とを、対象のデバイスIDについての類似性DB107に格納する(S10606)。
ここで、蓄積類似性計算部106は、デバイスIDの新しいタイムステップに対応するテーブルをサブテーブル402に追加生成し、メインテーブル401の最新のタイムステップに対応する類似性テーブルD40102に追加したサブテーブルへのポインタを追加する。また、蓄積類似性計算部106は、取得された類似度(第1類似度と第2類似度)を、新たに追加したサブテーブル402の第1類似度D40202と、第2類似度D40203とに格納する。蓄積類似性計算部106は、また、蓄積決定部1062によって取得された各ラベルIDについての新しい蓄積アクションセットを、サブテーブル402の蓄積アクションセットID D40204に格納する。また、蓄積類似性計算部106は、蓄積アクションセット蓄積の決定に使用された類似度を、サブテーブル402の使用類似度D40205に格納する。
次いで、ポストプロセッサ1063は、例えば、いくつかのログイベントラベルが類似度の増加を示している場合などに、潜在的な最も類似性のあるログイベントラベルを認識するために全てのラベル類似度を用いた後処理(図13参照)を行う(S10607)。
次いで、ポストプロセッサ1063は、例えば、デバイス11にいつログイベントが発生したかを知る必要があるオペレータが監視できるようにするために、計算された類似度の情報をディスプレイ12に表示する。ディスプレイ12に対する画面の表示例の更なる詳細については、図14を用いて後述する。
次に、類似性計算部1061による類似度計算処理について説明する。
図11は、一実施形態に係る類似性計算部による類似度計算処理のフローチャートである。
本実施形態では、ラベルIDは、累積類似性計算部106から渡され、類似性計算部1061における類似度は、ラベルについてアクションセットを用いて計算される。本実施形態では、複数のアクションを含むアクションセットの類似度の計算のみが考慮されているが、本発明はこれに限られず、1つのアクションを含むアクションセットについても、同じアプローチにより類似度計算を行うことができる。類似性計算部1061による処理に、類似度を算出するために、アクションとアクションセットの情報を考慮する追加ステップを加えるようにしてもよい。
類似性計算部1061は、類似性DB107の直前のタイムステップ(タイムステップt-1)のサブテーブル402から直前のタイムステップのログユニットの蓄積アクションセットIDを取得する(S106101)。蓄積アクションセットIDは、タイムステップt-1のサブテーブル402の蓄積アクションセットID D40204から取得できる。
次いで、類似性計算部1061は、類似度が0より大きい全てのアクションセットについてのラベル重要性データ(ラベルに対する重要度)を、アクションセットテーブル301から取得する(S106102)。例えば、処理対象とするラベルが、ラベル1であれば、アクションセットテーブル301のラベル1重要度D30103の重要度が0以上のエントリのアクションセットID及び重要度(ラベル重要性データ)とが取得される。
次に、類似性計算部1061は、第1類似度を計算する処理(S106103~S106105)と、第2類似度を計算する処理(S106106~S106108)とを実行する。本実施形態では、例えば、第1類似度を計算する処理と、第2類似度を計算する処理とを並行して実行するようにしているが、これらの処理を順番に実行するようにしてもよい。
第1類似度を計算する処理(ステップS106103~S106105)では、特定のラベルのラベル重要性データと、デバイスIDについての新たに受信した準備済ログデータ108-2(第1ログユニット)とに基づいて類似度(第1類似度)を算出する。
具体的には、類似性計算部1061は、ラベル重要性データに含まれるアクションセットと、準備済ログデータ108-2に含まれるアクションセットとの間の重複の度合い(オーバーラップ重み)を算出し、変数Val1とする(S106103)。
例えば、類似性計算部1061は、準備済ログデータ108-2に含まれるすべてのアクションセットについての特定(対象)のログイベントラベルに対する重要度をラベル重要性DB105のアクションセットテーブル301から取得し、これらの重要度の合計を、ラベル重要性DB105のアクションセットテーブル301に格納されている、対象のログイベントラベルについての全ての重要度の合計で除算することによりオーバーラップ重みを算出する。
なお、オーバーラップ重みを算出するために、ラベル重要性DB105からの重要度と、例えば、各アクションセットの長さ等の追加情報とを用いてもよい。この場合には、すべての値を合計する前に、関連する重要度に各アクションセットの長さを乗算し、その結果を用いるようにしてもよい。
次いで、類似性計算部1061は、準備済ログデータ108-2に含まれているが、ラベル重要性データに含まれていない、特定(対象)のログイベントラベルについてのアクションセットと、準備済ログデータ108-2に含まれているアクションセットの合計量との間で差分重みを算出し、この差分重みを1から減算し、変数Val2とする(S106104)。
次いで、類似性計算部1061は、変数Val1と変数Val2とを乗算することにより、第1類似度を算出する(S106105)。
第2類似度を計算する処理(ステップS106106~S106108)では、特定のラベルの重要性データと、デバイスIDについての新たに受信した準備済ログデータ108-2と、過去のログデータに基づく情報(類似性DB107から取得された蓄積アクションセットID)と、に基づいて類似度(第2類似度)を算出する。
具体的には、類似性計算部1061は、特定のラベルのラベル重要性データに含まれるアクションセットと、準備済ログデータ108-2に含まれるアクションセット及びサブテーブルの蓄積アクションセットID D40204の蓄積アクションセットIDのアクションセットと、の間の重複の度合い(オーバーラップ重み:第1値)を算出し、変数Val3とする(S106106)。
例えば、類似性計算部1061は、準備済ログデータ108-2と、蓄積アクションセットIDとに含まれるすべてのアクションセットについての特定(対象)のログイベントラベルに対する重要度をラベル重要性DB105のアクションセットテーブル301から取得し、これらの重要度の合計を、ラベル重要性DB105のアクションセットテーブル301に格納されている、対象のログイベントラベルについての全ての重要度の総合計で除算することによりオーバーラップ重みを算出する。
なお、オーバーラップ重みを算出するために、ラベル重要性DB105からの重要度と、例えば、各アクションセットの長さ等の追加情報とを用いてもよい。この場合には、すべての値を合計する前に、関連する重要度に各アクションセットの長さを乗算し、その結果を用いるようにしてもよい。
次いで、類似性計算部1061は、準備済ログデータ108-2と蓄積アクションセットIDに含まれているが、ラベル重要性データに含まれていない、特定(対象)のログイベントラベルについてのアクションセットと、準備済ログデータ108-2に含まれているアクションセット及び蓄積アクションセットIDのアクションセットの合計量との間で差分重みを算出し、この差分重みを1から除算し、変数Val4(第2値)とする(S106107)。
次いで、類似性計算部1061は、変数Val3と変数Val4とを乗算することにより、第2類似度を算出する(S106108)。
次に、蓄積決定部1062による蓄積決定処理について説明する。
蓄積決定部1062は、観測された準備済ログデータ108-2に含まれるアクションセットIDを後続のログデータの類似度の算出処理に利用するために蓄積するか否かを、デバイス11からの過去(直前のタイムステップ)の蓄積アクションセットIDのアクションセットと、今回のタイムステップで新たに観測された準備済ログデータ108-2に含まれるアクションセットとが、同一のログイベントラベルであるか否かを認識することにより決定する。
図12は、一実施形態に係る蓄積決定部による蓄積決定処理のフローチャートである。
蓄積決定部1062は、類似性計算部1061から得られた類似度(第1類似度と第2類似度)に関する所定のルールに基づいて、アクションセットの蓄積を継続する必要があるか否かを判定する(S106201)。
所定のルールとしては、例えば、第1類似度と第2類似度の両方が0である場合、第2類似度が第1類似度よりも小さい場合、現在(タイムステップt)の第2類似度がその直前(タイムステップt-1)の第2類似度よりも小さい場合等があり、これらの場合には、現在処理中のログユニット(第1ログユニット)が、直前のログユニットとの類似性が低いことを意味しているので、アクションセットの蓄積の継続が必要ないと判定する。なお、直前の第2類似度は、直前のタイムステップに対応するサブテーブル402の第2類似度D40203から取得することができる。
この結果、アクションセットの蓄積を継続する必要があると判定した場合(S106201:Yes)には、蓄積決定部1062は、準備済ログデータ108-2に含まれるアクションセットのアクションセットIDを、直前のタイムステップの蓄積アクションセットIDに追加し、追加後の蓄積アクションセットID(第2アクションセットを特定するアクションセット情報)を現在のタイムステップに対応するサブテーブル402の蓄積アクションセットID D40204に格納する(S106202)。この現在のタイムステップに対応するサブテーブル402の蓄積アクションセットID D40204に格納された蓄積アクションセットIDが次のタイムステップにおけるログユニット(第2ログユニット)についての第2類似度の算出に使用される。ここで、アクションセットIDの追加は、アクションセットにおける蓄積設定に従って行われる。例えば、蓄積設定としては、アクションセットを追加する際において、アクションセットIDを順序又は非順序とするのかとの設定や、同一のアクションセットについて、繰り返しを含ませるのか、又は除外するのかの設定等がある。
次いで、蓄積決定部1062は、このデバイス11から観測されるログストリームデータのこの特定のログイベントラベルに属する現在の潜在性を示す類似度として、第2類似度を類似性DB107のサブテーブル402の使用類似度D40205に格納する(S106203)。
一方、アクションセットの蓄積を継続する必要がないと判定した場合(S106201:No)には、蓄積決定部1062は、蓄積アクションセットIDの蓄積の継続をリセットする、すなわち、直前の蓄積アクションセットIDの内容を含めないようにする(S106204)。ここで、本実施形態においては、累積の継続をリセットする方法として、第1類似度が0である場合には、蓄積決定部1062は、空のセットを類似性DB107のサブテーブル402の蓄積アクションセットID D40204に格納し、第1類似度が0以外である場合には、処理対象の準備済ログデータ108-2のアクションセットIDを類似性DB107のサブテーブル402の蓄積アクションセットID D40204に格納する。
次いで、蓄積決定部1062は、このデバイス11から観測されるログストリームデータのこの特定のログイベントラベルに属する現在の潜在性を示す類似度として、第1類似度を類似性DB107のサブテーブル402の使用類似度D40205に格納する(S106205)。
次に、ポストプロセッサ1063による後処理について説明する。
ポストプロセッサ1063は、類似性計算部1061と蓄積決定部1062とによる蓄積結果と、類似度の結果とに基づいて、後処理を実行する。後処理としては、例えば、デバイス11から観測されるログストリームデータについての複数の類似度の増加がみられた場合に、一意のログイベントラベルを決定するためのラベル認識がある。
図13は、一実施形態に係るポストプロセッサによる後処理のフローチャートである。
ポストプロセッサ1063は、デバイス11についての全てのログイベントラベルの類似度を類似性DB107から検索する(S106301)。
次いで、ポストプロセッサ1063は、検索で得られたラベルの類似度について、所定の閾値を超えるものがあるか否かを判定する(S106302)。この結果、所定の閾値を超える類似度のラベルがない場合(S106302:No)には、ポストプロセッサ1063は、処理をステップS106306に進める。一方、所定の閾値を超える類似度のラベルがある場合(S106302:Yes)には、ポストプロセッサ1063は、閾値を超える類似度のラベルが複数あるか否かを判定する(S106303)。
この結果、閾値を超える類似度のラベルが複数ない場合(S106303:No)には、ポストプロセッサ1063は、処理をステップS106305に進める。一方、閾値を超える類似度のラベルが複数ある場合(S106303:Yes)には、ポストプロセッサ1063は、最も可能性の高いラベルを決定する事後評価を実行する(S106304)。事後評価としては、例えば、ラベルの類似度と、そのラベルに対応するアクションセットの蓄積の長さとの違いを比較して評価するようにしてもよい。
ステップS106305では、ポストプロセッサ1063は、事後評価の結果に基づいてデバイスに対する唯一のラベルを選定し、又はステップS106303で1つのラベルのみが閾値を超えると判定されている場合のラベルをデバイスに対する唯一のラベルとして選定する(S106305)。
次いで、ポストプロセッサ1063は、取得したラベルの情報を、更なる後処理を可能にするためにフィードバックする(S106306)。例えば、ポストプロセッサ1063は、取得したラベル情報に基づいて、ディスプレイ12各種情報を含むGUIの画面を表示させる。
次に、GUIの画面例を説明する。
図14は、一実施形態に係るGUIの画面例を示す図である。
ディスプレイ12に表示される画面1200は、類似性グラフ1201(1201-1,1201-2,1201-3)、デバイス類似性リスト1202(1202-1,1202-2,1202-3)、及び続行ログイベントリスト1203(1203-1,1203-2,1203-3)を含む。
類似性グラフ1201は、複数のデバイス毎の複数のラベルに対する類似度の変化を示している。この類似性グラフ1201によると、デバイスにおけるログストリームデータに適合するラベルを視覚的に認識することができる。
デバイス類似性リスト1202は、複数のデバイスのそれぞれに最も適合するラベルと、そのラベルについての類似度との組の情報を含む。また、本実施形態では、デバイス類似性リスト1202は、1つのデバイスにおける他のラベルと、そのラベルについての類似度との組の情報も含んでいる。
続行ログイベントリスト1203には、現在ログイベントが進行中であると認識されているデバイスについての情報が表示される。例えば、続行ログイベントリスト1203には、進行中のデバイスのデバイスIDと、ログイベントを示すラベルIDとが表示される。続行ログイベントリスト1203によると、監視オペレータに対して、どのデバイスに努力を集中させるかについての迅速なアイデアを提供することができる。
次に、ログラベリング装置10のハードウェア構成について説明する。
図15は、一実施形態に係るログラベリング装置のハードウェア構成図である。
ログラベリング装置10は、例えば、汎用コンピュータであり、CPU(Central Processing Unit)601と、メモリ602と、補助記憶装置603と、通信インタフェース604と、媒体インタフェース505と、入出力インタフェース606とを含む。
CPU601は、メモリ602又は補助記憶装置603に格納されたプログラムを実行し、メモリ602又は補助記憶装置603に格納されたデータを使用することにより各種処理を実行する。メモリ602は、例えば、RAM(Random Access Memory)であり、CPU601によって実行されるプログラムや、データ等を記憶する。補助記憶装置603は、例えば、ハードディスクドライブ、フラッシュメモリ、RAM等であり、CPU601により実行されるプログラムや、CPU601によって使用されるデータを記憶する。
通信インタフェース604は、ネットワーク608を介して、他の装置(例えば、デバイス11や、サーバ等)と通信するためのインタフェースである。媒体インタフェース605は、外部記憶媒体607を着脱可能であり、外部記憶媒体607とのデータの入出力を仲介する。入出力インタフェース606は、ログラベリング装置10の管理者によって操作されるコンソール15と接続可能であり、コンソール15との情報の入出力を実行する。
図1におけるログラベリング装置10の各機能部(ログデータプリプロセッサ101、ラベル管理部103、蓄積類似性計算部106等)は、例えば、CPU601がメモリ602又は補助記憶装置603に格納されたプログラム(ログ分析プログラム)を実行することにより実現される。また、機能部(アクションID DB102、ラベル発生DB104、ラベル重要性DB105、類似性DB107)で管理される情報は、記憶部の一例であるメモリ602又は補助記憶装置603に格納される。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態では、ログラベリング装置10が、各ログイベントに対するログイベントラベル付きデータと、1つのデバイス又はデバイス毎のログストリームデータ14とを扱ったログデータ処理を説明していたが、複数のデバイスからの複数のログストリームデータを扱って処理をしてもよく、また、一度に複数のログイベントラベル付きデータを扱って処理を行ってもよい。
また、上記実施形態では、各デバイスを1つのハードウェアデバイスとした例を示していたが、本発明はこれに限られず、ソフトウェアによって構成されるデバイス(ハードウェア上のVM)としてもよい。
また、上記実施形態において、複数のデバイスで構成されるグループ(デバイスグループ)を、1つのデバイスIDにより扱えるようにし、このデバイスグループを、上記したデバイスと同様に扱うようにしてもよい。
また、上記実施形態において、オーバーラップ重みと、差分重みに基づく値と、に基づいて、第1類似度及び第2類似度を算出するようにしていたが、本発明はこれに限られず、例えば、第1類似度又は第2類似度の少なくとも一方を、差分重みを使用せずに、オーバーラップ重みにより算出するようにしてもよい。
また、上記実施形態において、CPUが行っていた処理の一部又は全部を、ハードウェア回路で行うようにしてもよい。また、上記実施形態におけるプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。