(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-22
(45)【発行日】2022-08-01
(54)【発明の名称】ログ分析支援システムおよびログ分析支援方法
(51)【国際特許分類】
H04L 41/00 20220101AFI20220725BHJP
【FI】
H04L41/00
(21)【出願番号】P 2018205272
(22)【出願日】2018-10-31
【審査請求日】2021-03-05
(73)【特許権者】
【識別番号】000233055
【氏名又は名称】株式会社日立ソリューションズ
(74)【代理人】
【識別番号】110002365
【氏名又は名称】特許業務法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】来間 一郎
(72)【発明者】
【氏名】磯部 義明
(72)【発明者】
【氏名】藤井 康広
【審査官】中川 幸洋
(56)【参考文献】
【文献】特開2011-101172(JP,A)
【文献】特開2010-205115(JP,A)
【文献】特開2003-204358(JP,A)
【文献】特開2018-165857(JP,A)
【文献】特開2017-063253(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/00
(57)【特許請求の範囲】
【請求項1】
ユーザが利用する端末であるユーザ端末に対する操作をプロセスが行うことにより生じた操作ログのデータ項目のデータを分類可能な適用対象が規定されている集約条件要素情報に基づいて、分析対象に係る
操作ログの
複数のデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する特定部と、
前記特定部により特定されプロセスの名称を含んだ集約の条件を集約条件情報として記憶する記憶部と、
前記記憶部に記憶された集約条件情報に基づいて、プロセスの名称が同一の複数の操作ログを一つの操作ログに集約するログ集約部と、
前記特定部により特定された集約の条件を出力する出力部と、
を備えることを特徴とするログ分析支援システム。
【請求項2】
前記特定部は、前記集約条件要素情報に基づいて、前記分析対象に係るログから、特定したデータ項目の値をパラメータとして特定し、
前記記憶部は、前記特定部により特定された集約の条件とパラメータと前記集約の条件に係る適用対象とを対応付けて集約条件情報として記憶する、
ことを特徴とする請求項
1に記載のログ分析支援システム。
【請求項3】
前記集約条件要素情報の適用対象には、集約の条件の判定を行うプログラムが対応付けられており、
前記ログ集約部は、前記特定部により特定された集約の条件に係る適用対象に対応付けられているプログラムを実行して分析対象のログから前記集約の条件を満たすログを集約の対象として抽出する、
ことを特徴とする請求項
1に記載のログ分析支援システム。
【請求項4】
前記特定部は、ログが集約された集約後ログのデータ項目のデータを分類可能な適用対象が規定されている集約後項目要素情報に基づいて、前記分析対象に係るログのデータ項目のうち、適用対象に対応するデータ項目を、データ項目の値を算出する算出対象として特定し、
前記記憶部は、前記特定部により特定された算出対象のデータ項目と前記データ項目に係る適用対象とを対応付けて集約後項目情報として記憶する、
ことを特徴とする請求項
1に記載のログ分析支援システム。
【請求項5】
前記集約後項目要素情報の適用対象には、前記適用対象に係るデータ項目の値の計算を行うプログラムが対応付けられており、
前記ログ集約部は、前記特定部により特定された算出対象のデータ項目に係る適用対象に対応付けられているプログラムを実行して前記データ項目の値を計算する、
ことを特徴とする請求項
4に記載のログ分析支援システム。
【請求項6】
分析対象のログとして、端末のログを取得するログ取得部を備える、
ことを特徴とする請求項
1に記載のログ分析支援システム。
【請求項7】
前記分析対象に係るログとして、管理用端末を介して選択されたログの情報を受け付ける受付部を備える、
ことを特徴とする請求項1に記載のログ分析支援システム。
【請求項8】
前記出力部は、前記特定部により特定された集約の条件を集約条件候補として管理用端末に出力し、
前記集約条件候補の中から、前記管理用端末を介して選択された集約の条件を受け付ける受付部と、
前記受付部で受け付けられた集約の条件を集約条件情報として記憶する記憶部と、
前記記憶部に記憶された集約条件情報に基づいてログを集約するログ集約部と、
を備えることを特徴とする請求項1に記載のログ分析支援システム。
【請求項9】
前記記憶部は、前記ログ集約部によりログが集約された集約後ログを記憶し、
前記特定部は、前記集約条件要素情報に基づいて、前記記憶部に記憶されている分析対象に係る集約後ログのデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する、
ことを特徴とする請求項
1に記載のログ分析支援システム。
【請求項10】
前記ログ集約部は、前記分析対象のログから、前記特定部により特定された集約の条件の全てを満たすログと前記集約の条件の一部を満たすログとを集約の対象として抽出する、
ことを特徴とする請求項
1に記載のログ分析支援システム。
【請求項11】
特定部が、
ユーザが利用する端末であるユーザ端末に対する操作をプロセスが行うことにより生じた操作ログのデータ項目のデータを分類可能な適用対象が規定されている集約条件要素情報に基づいて、分析対象に係る
操作ログの
複数のデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する第1のステップと、
記憶部が、前記特定部により特定されプロセスの名称を含んだ集約の条件を集約条件情報として記憶する第2のステップと、
ログ集約部が、前記記憶部に記憶された集約条件情報に基づいて、プロセスの名称が同一の複数の操作ログを一つの操作ログに集約する第3のステップと、
出力部が、前記特定部により特定された集約の条件を出力する第
4のステップと、
を備えることを特徴とするログ分析支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ログ分析支援システムおよびログ分析支援方法に関する。
【背景技術】
【0002】
近年、標的型攻撃による機密情報、顧客情報等の漏えい、ランサムウェア拡散によるシステム破壊とそれに伴うサービス停止など、活発化するサイバー犯罪による様々な被害が報告されている。外部からのサイバー攻撃では、ウェブサイト、電子メール等を経由してマルウェアを送り込み、システムの脆弱性をつくなどして権限を得て攻撃を進めるなどの手法が使われる。
【0003】
また、組織の内部者の不正行為によるセキュリティインシデントも大きな問題となっている。複数の組織で内部不正の事例が報道されており、内部不正が発生した組織は、信用失墜、多額の損害賠償など、大きな被害を受けている。このような状況を受け、内部不正の対策への関心が高まっている。
【0004】
こういった攻撃では、特定の組織に特化してカスタマイズされたマルウェアが利用されたり、権限を持つ組織の内部者による不正操作が行われたりするため、アンチウィルスソフト等を用いてマルウェアの侵入を検知するなどの従来型の対策では効果が不十分になりつつある。そのため、各種ログを収集し、総合的に状況を分析することで、攻撃の状況を把握して適切な対策をとることが重要とされる。しかしながら、こういった手口では、特徴的なログ、マルウェアなどが攻撃を検知する手がかりとなることも多いが、特に組織の内部者による不正の場合、内部者は、最初から権限を持っていることも多く、また不正行為と通常業務との違いも明らかではないため、外部からのサイバー攻撃と同様の手法では不正を捉えることが難しい。
【0005】
ここで、SIEM(Security Information and Event Management)など、ログの分析に適した製品も存在するが、内部不正の分析のノウハウを持っている組織は多くはなく、ログの活用が困難という問題を抱えている。スキルおよび設備の不足により、膨大なログを分析しようとすると多大な労力が必要になり、有意義な情報を得られずに終わってしまう。
【0006】
そこで重要になるのが、膨大なログを適度に集約し、解釈、再利用しやすい形で扱えるようにする技術である。この点、IT(Information Technology)システムにおけるアカウンタビリティの確保を目的とし、特定の条件に合致する単位でログを上位概念に集約して報告する技術が開示されている(特許文献1参照)。かかる技術では、個別のログでは解釈が困難であるところを、あらかじめ有意味な単位を規定しておき、それに沿った形でレポート化することで、着目点が明瞭になり、ログを解釈しやすくなる。
【先行技術文献】
【特許文献】
【0007】
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に記載の技術は、事前に設定した特定の条件に合致する単位でログの集約を行うものである。この集約単位およびその条件は、あらかじめ設定しておく必要があり、また原則として固定である。この手法は、特定の条件下では有効であると考えられるが、実運用上は、適切な集約単位およびその条件は、ログ分析の目的、手法、扱うログの性質、利用可能なログの項目、計算機リソース、人的リソースなど、様々な要因により左右されると考えられる。このため、組織ごと、局面ごとに柔軟に調整できることが望ましい。これを人手で実現しようとすると、カスタマイズに大変な労力が必要となり、現実的でない。
【0009】
本発明は以上の点を考慮してなされたもので、容易かつ適切にログを集約し得るログ分析支援システムを提案しようとするものである。
【課題を解決するための手段】
【0010】
かかる課題を解決するため本発明においては、ログのデータ項目のデータを分類可能な適用対象が規定されている集約条件要素情報に基づいて、分析対象に係るログのデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する特定部と、前記特定部により特定された集約の条件を出力する出力部と、を設けるようにした。
【0011】
上記構成では、例えば、分析対象に係るログを指定すること等の簡易な操作により、分析対象に係るログのデータ項目のうち、適用対象に対応するデータ項目が集約の条件として特定されて出力される。また、例えば、分析対象のデータ項目の名称が変更されたとしても、データの分類が同じである場合は、当該データ項目が集約の条件として適切に特定される。
【発明の効果】
【0012】
本発明によれば、容易かつ適切にログを集約することができる。
【図面の簡単な説明】
【0013】
【
図1】第1の実施の形態によるログ分析支援システムに係る構成の一例を示す図である。
【
図2】第1の実施の形態によるサーバのハードウェア構成の一例を示す図である。
【
図3】第1の実施の形態による未集約ログ情報の一例を示す図である。
【
図4】第1の実施の形態による集約後ログ情報の一例を示す図である。
【
図5】第1の実施の形態による集約後ログ詳細情報の一例を示す図である。
【
図6】第1の実施の形態による集約条件要素情報の一例を示す図である。
【
図7】第1の実施の形態による集約後項目要素情報の一例を示す図である。
【
図8】第1の実施の形態による集約条件情報の一例を示す図である。
【
図9】第1の実施の形態による集約後項目情報の一例を示す図である。
【
図10】第1の実施の形態による集約テンプレート情報の一例を示す図である。
【
図11】第1の実施の形態によるログ集約処理に係るフローチャートの一例を示す図である。
【
図12】第1の実施の形態による集約テンプレート更新処理に係るフローチャートの一例を示す図である。
【
図13】第1の実施の形態による集約テンプレートの更新に係る入出力の一例を示す図である。
【発明を実施するための形態】
【0014】
以下図面について、本発明の一実施の形態を詳述する。以下の実施の形態では、主に、ログ分析にあたり、運用の中で蓄積される知見を活用して、少ない労力で様々な要件に適するよう、ログの集約単位を調整することができる構成について説明する。ただし、本発明は、以下の実施の形態に限定されることなく、種々の変形、応用などをした構成をとり得るものである。
【0015】
なお、以下の説明では、同種の要素を区別しないで説明する場合には、枝番を含む参照符号のうちの共通部分(枝番を除く部分)を使用し、同種の要素を区別して説明する場合は、枝番を含む参照符号を使用することがある。例えば、操作対象を特に区別しないで説明する場合には、「操作対象304」と記載し、個々の操作対象を区別して説明する場合には、「第1の操作対象304_1」、「第2の操作対象304_2」のように記載することがある。
【0016】
(1)第1の実施の形態
図1において、1は全体として第1の実施の形態によるログ分析支援システムを示す。
(システム構成例)
図1は、ログ分析支援システム1に係る構成の一例を示す図である。以下では、ログ分析支援システム1が、サーバ100にインストールされた、サーバ100上で動作する複数のプログラムおよびサーバ100に保存された複数のデータを含んで構成される例を挙げて説明する。サーバ100は、一または複数の端末120(端末120_Nと表記。)および管理用端末130の各々とネットワーク140を介して通信可能に接続されている。
【0017】
サーバ100は、例えば、一または複数のユーザ150(ユーザ150_Nと表記。)が利用する端末120_Nのログ、ネットワーク140に係る機器(例えば、スイッチ、ルータ、ファイアウォール)のログ、サーバ100自身のログなどを管理者160が分析するために用いるコンピュータである。
【0018】
サーバ100の機能(記憶部101、ログ取得部102、ログ集約部103、テンプレート更新部104、通信部105など)は、例えば、
図2に示すCPU(Central Processing Unit)201が記憶装置203に格納されたプログラムをメモリ202に読み出して実行すること(ソフトウェア)により実現されてもよいし、専用の回路などのハードウェアにより実現されてもよいし、ソフトウェアとハードウェアとが組み合わされて実現されてもよい。また、サーバ100の機能の一部は、サーバ100と通信可能な他のコンピュータにより実現されてもよい。
【0019】
記憶部101は、未集約ログ情報111、集約後ログ情報112、集約後ログ詳細情報113、集約条件要素情報114、集約後項目要素情報115、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を管理(例えば、後述の記憶装置203に記憶)する。
【0020】
未集約ログ情報111は、内部または外部の装置のログ(例えば、サーバ100のログ、端末120_Nのログ、ネットワーク140に係る機器のログ)の情報である。
【0021】
集約後ログ情報112は、集約ログ情報111に格納されているログの一部が集約されて置き換えられた情報である。
【0022】
集約後ログ詳細情報113は、集約後ログ情報112に含まれる情報のうち、集約されたログ(集約後ログ)の詳細情報である。
【0023】
集約条件要素情報114は、未集約ログ情報111および集約後ログ情報112に格納されたログを集約するためのテンプレート(集約テンプレート)を作成するための基本要素となる情報であり、分析対象となるログの識別条件(抽象化した識別条件)に関する情報である。集約条件要素情報114には、例えば、ログのデータ項目(ログ項目)のデータを分類可能な適用対象(例えば、データの種類)が規定されている。データの種類としては、例えば、分類(数データ、文字データなど)、データ型(INTEGER、CHARACTERなど)、データ型コード(241(10進数)、197(10進数)など)、データ格納長(8バイト、nバイトなど)、データ形式(整数、固定長文字列など)が挙げられる。
【0024】
集約後項目要素情報115は、集約テンプレートを作成するための基本要素となる情報であり、集約後ログのデータ項目の値を算出する算出方法(抽象化した算出方法)に関する情報である。
【0025】
集約条件情報116は、集約条件要素情報114に格納された抽象化した識別条件について、当該識別条件を適用する対象とするログ項目および識別の規準となるパラメータを指定するための識別条件(具体化した識別条件)である。
【0026】
集約後項目情報117は、集約後項目要素情報115に格納された抽象化した算出方法について、当該算出方法の入力となるログ項目および集約後のログ項目の名称を指定するための算出方法(具体化した算出方法)に関する情報である。
【0027】
集約テンプレート情報118は、未集約ログ情報111に格納されたログを集約するための情報(集約テンプレート)と、集約後ログ情報112に格納されたログを集約するための情報(集約テンプレート)とを含み得る情報である。
【0028】
これらの情報の一例については、
図3~
図10を用いて後述する。
【0029】
ログ取得部102は、例えば、端末120_Nで発生した各種ログを、通信部105を介して取得し、未集約ログ情報111として記憶部101を介して格納する。なお、ログ取得部102は、端末120_Nに指示を送信してログを取得してもよいし、端末120_Nから適宜のタイミング(ログの発生時、定期的など)に送信されるログを受信することで取得してもよいし、その他の方法により取得してもよい。
【0030】
ログ集約部103は、例えば、集約条件要素情報114、集約後項目要素情報115、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を参照し、未集約ログ情報111のログを集約し、集約後ログ情報112および集約後ログ詳細情報113として記憶部101を介して格納する。また、ログ集約部103は、例えば、集約条件要素情報114、集約後項目要素情報115、集約条件情報116、集約後項目情報117、および集約テンプレート情報118参照し、集約後ログ情報112の集約後ログを集約し、集約後ログ情報112および集約後ログ詳細情報113として記憶部101を介して格納する。
【0031】
テンプレート更新部104は、例えば、分析対象に係るログ(例えば、管理者160により選択されたログ、管理者160により作成されたログ、管理者160により収集されたログ)に基づいて、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を更新する。また、テンプレート更新部104は、例えば、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を更新する候補案を作成して管理者160に提示し、更に管理者160の判断に基づいて、集約条件情報116、集約後項目情報117、および集約テンプレート情報118を更新する。
【0032】
より具体的には、テンプレート更新部104は、特定部106と、出力部107と、受付部108とを備える。
【0033】
特定部106は、例えば、集約条件要素情報114に基づいて、分析対象に係るログのデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する。
【0034】
出力部107は、例えば、特定部106により特定された集約の条件を出力する。ここで、出力とは、
図2に示す出力装置206への出力であってもよいし、通信部105を介して管理用端末130に送信するものであってもよいし、予め設定された電子メールアドレスへの電子メールの送信であってもよいし、記憶部101を介して記録するものであってもよいし、その他の出力であってもよい。管理者160は、出力された集約の条件を把握することで、運用に合うように集約の条件を調整することが容易にできるようになる。
【0035】
受付部108は、例えば、分析対象に係るログとして、管理用端末130を介して選択されたログの情報を受け付ける。管理者160は、例えば、取得されたデータの中から、分析対象としたいログを選択することで、集約の条件を得ることができるようになる。
【0036】
また、出力部107は、特定部106により特定された集約の条件を集約条件候補として管理用端末130に出力し、受付部108は、集約条件候補の中から、管理用端末130を介して選択された集約の条件を受け付ける。かかる構成によれば、運用を鑑み、集約の条件をより適切に調整することができる。
【0037】
通信部105は、ネットワーク140を介して端末120_Nと通信を行う。また、通信部105は、ネットワーク140を介して管理用端末130と通信を行う。
【0038】
端末120_Nの機能(通信部121、ログ収集部122、入出力部123など)は、例えば、図示は省略するCPUが記憶装置に格納されたプログラムをメモリに読み出して実行すること(ソフトウェア)により実現される。通信部121は、ネットワーク140を介してサーバ100と通信を行う。ログ収集部122は、端末120_Nで行われた操作、処理などに係る情報(時刻、操作種別、操作対象、プロセス名など)を収集し、ログとして記録する。入出力部123は、ユーザ150_Nによる操作を受け付け可能なインターフェイスを介してデータの入力および出力を行う。
【0039】
管理用端末130の機能(通信部131、入出力部132など)は、例えば、図示は省略するCPUが記憶装置に格納されたプログラムをメモリに読み出して実行すること(ソフトウェア)により実現される。通信部131は、ネットワーク140を介してサーバ100と通信を行う。入出力部132は、管理者160による操作を受け付け可能なインターフェイスを介してデータの入力および出力を行う。
【0040】
(ハードウェア構成例)
次に、サーバ100のハードウェア構成について説明する。
図2は、サーバ100のハードウェア構成の一例を示す図である。
【0041】
サーバ100は、CPU201、メモリ202、記憶装置203、通信装置204、入力装置205、出力装置206、およびバス207を含んで構成される。
【0042】
CPU201は、中央演算装置であり、メモリ202または記憶装置203に保持しているプログラムを実行することで、サーバ100に必要な機能を実装するものである。メモリ202は、CPU201が処理を実行する際に利用する主記憶装置であり、RAM(Random Access Memory)などの揮発性記憶素子で構成される。記憶装置203は、CPU201に入力する入力データ、CPU201から出力される出力データを記憶するための補助記憶装置であり、ハードディスクドライブ、SSD(Solid State Drive)など適宜な不揮発性記憶素子で構成される。通信装置204は、サーバ100が外部の装置との通信を行うために用いる通信装置であり、ネットワークインターフェイスカード(NIC:Network Interface Card)などで構成される。入力装置205は、操作者からの入力を受け付けるインターフェイスであり、キーボード、タッチパネル、カードリーダ、音声入力装置などで構成される。出力装置206は、操作者に対してデータの出力を行うインターフェイスであり、ディスプレイ、スピーカー、プリンタなどで構成される。バス207は、CPU201、メモリ202、記憶装置203、通信装置204、入力装置205、および出力装置206を接続する通信路である。
【0043】
(データ構成例)
次に、ログ分析支援システム1が利用するデータについて説明する。
【0044】
図3は、未集約ログ情報111の一例(未集約ログテーブル300)を示す図である。未集約ログテーブル300は、端末120_Nから送信されたログ(ログデータ)を格納するためのテーブルである。未集約ログテーブル300は、ログID(identification)301、時刻302、操作種別303、第1の操作対象304_1、第2の操作対象304_2、およびプロセス名305をデータ項目として有する。
【0045】
ログID301は、ログ(各レコード)に対してユニークに割り当てられた識別情報である。時刻302は、ログに対して設定された、当該ログが記録された時刻である。操作種別303は、当該ログの操作種別を示す。操作種別としては、例えば、ファイルを開く、ファイルを更新する、ファイルをコピーする、通信する、などの操作が挙げられる。操作対象304は、当該操作に係るパラメータの値を格納する項目である。例えば、操作種別303がファイルコピーである場合、第1の操作対象304_1は、コピー元のファイルパス、第2の操作対象304_2は、コピー先のファイルパスなどが相当する。プロセス名305は、当該ログが記録される原因となった操作(処理)を行ったプロセスの名称である。
【0046】
本実施の形態では、端末120_Nで取得され、サーバ100に送信されるログデータに含まれるデータ項目を、ログID301、時刻302、操作種別303、操作対象304、プロセス名305として未集約ログテーブル300の構成例として示した。しかしながら、これらのデータ項目は、取得可能なログ項目に応じて適当に変更してよい。また、端末120_Nで取得されたログに限らず、サーバ100内のログ、ネットワーク140上の機器のログ等を用いてもよい。また、複数種類のログを用いる場合、未集約ログテーブル300に相当するテーブルを複数用意し、ログを種類ごとに別々のテーブルに格納する構成としてもよい。
【0047】
なお、ログの集約の対象を端末120単位とする場合、未集約ログテーブル300は、端末120毎に設けられてもよいし、未集約ログテーブル300のデータ項目として端末ID(端末120に対してユニークに割り当てられた識別情報)が設けられてもよい。
【0048】
図4は、集約後ログ情報112の一例(集約後ログテーブル400)を示す図である。集約後ログテーブル400は、未集約ログテーブル300に格納されているログの一部が集約されて置き換えられた結果を格納するテーブルである。集約後ログテーブル400は、ログID401、時刻402、および操作種別403をデータ項目として有する。
【0049】
ログID401は、ログに対してユニークに割り当てられた識別情報、または集約後ログに対してユニークに割り当てられた識別情報である。時刻402は、ログが記録された時刻、または集約後ログが記録された時刻である。なお、集約後ログについては、集約後ログを代表するログが記録された時刻である。操作種別403は、ログの操作種別、または集約後ログの操作種別を示す。
【0050】
図5は、集約後ログ詳細情報113の一例(集約後ログ詳細テーブル500)を示す図である。集約後ログ詳細テーブル500は、集約後ログテーブル400に含まれるログのうち、集約後ログの詳細情報を格納するテーブルである。集約後ログ詳細テーブル500は、ログID501、ログ項目502、および値503をデータ項目として有する。
【0051】
ログID501は、集約後ログテーブル400に格納された集約後ログと当該集約後ログの詳細情報とを紐づけるための識別情報である。ログ項目502は、当該集約後ログの持つデータ項目の名称(項目名)である。値503は、当該集約後ログの持つデータ項目の値である。
【0052】
図6は、集約条件要素情報114の一例(集約条件要素テンプレートテーブル600)を示す図である。集約条件要素テンプレートテーブル600は、集約テンプレートを作成するための基本要素となる情報であり、分析対象となるログの識別条件(抽象化した識別条件)に関する情報を格納するためのテーブルである。集約条件要素テンプレートテーブル600は、条件要素ID601、適用対象602、説明603、および計算用コード604をデータ項目として有する。
【0053】
条件要素ID601は、集約の条件の要素(集約条件要素テンプレートテーブル600の各レコード)に対してユニークに割り当てられた識別情報である。適用対象602は、当該条件の判定が可能なデータの種類である。説明603は、当該条件の内容の説明である。計算用コード604は、当該条件の判定を行うためのプログラムの格納場所を示す。
【0054】
図7は、集約後項目要素情報115の一例(集約後項目要素テンプレートテーブル700)を示す図である。集約後項目要素テンプレートテーブル700は、集約テンプレートを作成するための基本要素となる情報であり、集約後のログ項目の算出方法(抽象化した算出方法)に関する情報を格納するためのテーブルである。集約後項目要素テンプレートテーブル700は、項目要素ID701、適用対象702、説明703、および計算用コード704をデータ項目として有する。
【0055】
項目要素ID701は、データ項目の要素(集約後項目要素テンプレートテーブル700の各レコード)に対してユニークに割り当てられた識別情報である。適用対象702は、当該データ項目の値の算出が可能なデータの種類である。説明703は、当該データ項目の値の算出方法の説明である。計算用コード704は、当該データ項目の値を算出するためのプログラムの格納場所を示す。
【0056】
図8は、集約条件情報116の一例(集約条件テーブル800)を示す図である。集約条件テーブル800は、集約条件要素テンプレートテーブル600に格納された抽象化した識別条件について、当該識別条件を適用する対象とするログ項目および識別の規準となるパラメータを指定するための識別条件(具体化した識別条件)を格納するためのテーブルである。集約条件テーブル800は、条件ID801、対象802、集約条件要素803、適用対象項目804、およびパラメータ805をデータ項目として有する。
【0057】
条件ID801は、集約の具体的な条件(集約条件テーブル800の各レコード)に対してユニークに割り当てられた識別情報である。対象802は、当該条件による識別の対象となるログの種別を示すものである。集約条件要素803は、当該条件の判定方法を規定する、集約条件要素テンプレートテーブル600に格納されたテンプレートを指定する値である。この値は、条件要素ID601に基づいて設定される。適用対象項目804は、当該条件の判定対象となるログ項目の項目名を指定する値である。パラメータ805は、当該条件の判定基準となる具体値を指定するものである。
【0058】
図9は、集約後項目情報117の一例(集約後項目テーブル900)を示す図である。集約後項目テーブル900は、集約後項目要素テンプレートテーブル700に格納された抽象化した算出方法について、当該算出方法の入力となるログ項目および集約後のログ項目の名称を指定するための算出方法(具体化した算出方法)に関する情報を格納するためのテーブルである。集約後項目テーブル900は、項目ID901、対象902、集約後項目要素903、適用対象項目904、および新規項目名905をデータ項目として有する。
【0059】
項目ID901は、集約対象の具体的なデータ項目(集約後項目テーブル900の各レコード)に対してユニークに割り当てられた識別情報である。対象902は、当該データ項目の値の算出方法への情報の入力源となるログの種別を示すものである。集約後項目要素903は、当該算出方法を規定する、集約後項目要素テンプレートテーブル700に格納されたテンプレートを指定する値である。この値は、項目要素ID701に基づいて設定される。適用対象項目904は、当該算出方法への情報の入力源となるログ項目を指定する値である。新規項目名905は、当該算出方法により算出した値の、集約後のログ項目の項目名を指定するものである。
【0060】
図10は、集約テンプレート情報118の一例(集約テンプレートテーブル1000)を示す図である。集約テンプレートテーブル1000は、集約テンプレートを格納するためのテーブルである。集約テンプレートテーブル1000は、集約ID1001、操作種別1002、集約条件1003、および集約後項目1004をデータ項目として有する。
【0061】
集約ID1001は、集約テンプレート(集約テンプレートテーブル1000の各レコード)に対してユニークに割り当てられた識別情報である。操作種別1002は、集約後ログに割り当てられる新たな操作種別の名称である。集約条件1003は、当該集約テンプレートが集約対象とするログを識別するための条件を指定する。この条件については、集約条件テーブル800に格納された条件を、条件ID801により指定する。集約後項目1004は、当該集約テンプレートにより集約された後のログ項目およびその値を算出するための方法を指定する。この算出方法については、集約後項目テーブル900に格納された算出方法を、項目ID901により指定する。
【0062】
(処理のフロー例)
次に、ログの集約に係る処理(ログ集約処理)について
図11を用いて説明する。
図11は、ログ集約処理に係るフローチャートの一例を示す図である。ログ集約処理は、所定のタイミング(例えば、定期的、予め指定された時間、管理者160等により指示されたタイミングなど)に開始される。
【0063】
ステップS1101では、ログ取得部102は、端末120_Nからログを取得(例えば、端末120_Nから送信されたログを受信)する。
【0064】
ステップS1102では、ログ取得部102は、取得したログを未集約ログテーブル300に格納する。
【0065】
ログ集約部103は、例えば、ログ取得部102により未集約ログテーブル300が更新された時に起動し、ログを集約する処理(ステップS1103~ステップS1110)を実行する。
【0066】
ステップS1103では、ログ集約部103は、集約テンプレートテーブル1000を参照し、集約テンプレートテーブル1000に格納されている全てのレコード(集約テンプレートの一覧)を取得する。
【0067】
ステップS1104では、ログ集約部103は、取得したレコード(集約テンプレート)ごとにステップS1105~ステップS1110の処理を行う。
【0068】
ステップS1105では、ログ集約部103は、集約条件テーブル800を参照して、集約テンプレートの集約条件1003に対応する条件ID801を持つ集約条件のレコードを取得し、集約後項目テーブル900を参照して、集約テンプレートの集約後項目1004に対応する項目ID901を持つ集約後項目のレコードを取得する。
【0069】
例えば、ログ集約部103は、集約ID1001が「G1」のレコードが処理対象である場合、
図10に示すように、集約条件1003には、「S1 and S2 and S3」が設定されているので、集約条件テーブル800を参照し、条件ID801が「S1」のレコードと、条件ID801が「S2」のレコードと、条件ID801が「S3」のレコードとを取得する。また、集約後項目1004には、「K1,K2,K3,K4,K5」が設定されているので、ログ集約部103は、集約後項目テーブル900を参照し、項目ID901が「K1」のレコードと、項目ID901が「K2」のレコードと、項目ID901が「K3」のレコードと、項目ID901が「K4」のレコードと、項目ID901が「K5」のレコードとを取得する。
【0070】
ステップS1106では、ログ集約部103は、集約条件要素テンプレートテーブル600を参照して、取得した集約条件のレコードの集約条件要素803に対応する条件要素ID601を持つ集約条件要素のレコードを取得し、集約後項目要素テンプレートテーブル700を参照して、集約後項目のレコードの集約後項目要素903に対応する項目要素ID701を持つ集約後項目要素のレコードを取得する。
【0071】
例えば、ログ集約部103は、条件ID801が「S1」の集約条件のレコードを取得した場合、
図8に示すように、集約条件要素803には、「R1」が設定されているので、集約条件要素テンプレートテーブル600を参照し、条件要素ID601が「R1」の集約条件要素のレコードを取得する。付言するならば、ログ集約部103は、条件ID801が「S2」のレコードおよび「S3」の集約条件のレコードを取得した場合、条件要素ID601が「R2」の集約条件要素のレコードおよび「R3」の集約条件要素のレコードを同様に取得する。
【0072】
また、例えば、ログ集約部103は、項目ID901が「K1」の集約後項目のレコードを取得した場合、
図9に示すように、集約後項目要素903には、「C1」が設定されているので、集約後項目要素テンプレートテーブル700を参照し、項目要素ID701が「C1」の集約後項目要素のレコードを取得する。付言するならば、ログ集約部103は、項目ID901が「K2」の集約後項目のレコードを取得した場合、項目要素ID701が「C2」の集約後項目要素のレコードを同様に取得し、項目ID901が「K3」の集約後項目のレコードおよび「K4」の集約後項目のレコードを取得した場合、項目要素ID701が「C3」の集約後項目要素のレコードを同様に取得し、項目ID901が「K5」の集約後項目のレコードを取得した場合、項目要素ID701が「C4」の集約後項目要素のレコードを同様に取得する。
【0073】
ステップS1107では、ログ集約部103は、取得した集約条件要素のレコードの計算用コード604を参照し、計算用コード604で指定された計算用プログラムファイルにアクセスして、計算用プログラムファイルを取得し、集約後項目要素のレコードの計算用コード704を参照し、計算用コード704で指定された計算用プログラムファイルにアクセスして、計算用プログラムファイルを取得する。
【0074】
ステップS1108では、ログ集約部103は、未集約ログテーブル300を参照し、集約テンプレートテーブル1000に格納された集約テンプレートについて、合致する箇所を探索する。より具体的には、集約テンプレートの集約条件1003に設定された条件に基づいて、適用対象項目804で指定されたログ項目について、未集約ログテーブル300を走査し、当該項目がパラメータ805で指定された条件を満たしているか否かを、計算用コード604で指定されたプログラムを実行することで判定する。
【0075】
例えば、ログ集約部103は、集約ID1001が「G1」のレコードが処理対象である場合、ステップS1105では、条件ID801が「S1」のレコードと「S2」のレコードと「S3」のレコードとを取得している。また、ログ集約部103は、ステップS1107では、計算用コード604で指定された計算用プログラムファイル「C:¥r1.exe」~「C:¥r3.exe」を取得している。
【0076】
ログ集約部103は、条件ID801が「S1」のレコードでは、適用対象項目804が「時刻」であるので、未集約ログテーブル300の時刻302について、条件要素ID601が「R1」のレコードに示される計算用コード604のプログラム「C:¥r1.exe」を実行し、得られた結果がパラメータ805の「max:10」を満たすか否か(この例では、10秒以内に行われている操作であるか否か)を各レコードについて判定する。
【0077】
また、ログ集約部103は、条件ID801が「S2」のレコードでは、適用対象項目804が「操作種別」であるので、未集約ログテーブル300の操作種別303について、条件要素ID601が「R2」のレコードに示される計算用コード604のプログラム「C:¥r2.exe」を実行し、得られた結果がパラメータ805の「ファイルコピー」を満たすか否かを各レコードについて判定する。
【0078】
また、ログ集約部103は、条件ID801が「S3」のレコードでは、適用対象項目804が「プロセス名」であるので、未集約ログテーブル300のプロセス名305について、条件要素ID601が「R3」のレコードに示される計算用コード604のプログラム「C:¥r3.exe」を実行し、得られた結果がパラメータ805の「―」を満たすか否か(この例では、プロセス名が同じであるか否か)を各レコードについて判定する。
【0079】
上述の例では、直前に取得されたログから10秒以内に取得されたログであり、操作種別が「ファイルコピー」であり、かつ、プロセス名が同一であることが集約の条件である。よって、本例では、ログ集約部103は、ログID301が「Raw1」のレコードと「Raw2」のレコードと「Raw3」のレコードとを集約の条件(全ての条件)を満たすレコードとして特定する。
【0080】
ただし、上述の処理に限られるものではない。例えば、集約の条件に複数の条件が設定されている場合、条件を満たす割合がしきい値より高い場合、集約の条件を満たすレコードとして特定してもよい。また、例えば、各条件に重みが設定されており(例えば、集約条件テーブル800のデータ項目に重み項目が設けられ、重みが設定されており)、重みの合計がしきい値より高い場合、集約の条件を満たすレコードとして特定してもよい。つまり、ログ集約部103は、集約の条件の一部を満たすログを対象として集約してもよい。このように、集約対象のログの判定時に、一部の情報の欠落、多少の値の変動を許容することで、集約の意味合いを保ったまま、情報の不足に対して頑健性を高めることができる。
【0081】
ステップS1109では、ログ集約部103は、合致箇所があるか否か(集約テンプレートの集約条件1003に設定された集約の条件を満たす複数のログがあるか否か)を判定する。ログ集約部103は、合致箇所があると判定した場合、ステップS1110に処理を移し、合致箇所がないと判定した場合、未処理のレコード(集約テンプレート)があるときは処理対象を次のレコードに移し、未処理のレコードがないときは、ログ集約処理を終了する。
【0082】
ステップS1110では、ログ集約部103は、条件を満たすログについて、それらを集約したログを生成し、集約後ログテーブル400および集約後ログ詳細テーブル500を更新し、未処理のレコード(集約テンプレート)があるときは処理対象を次のレコードに移し、未処理のレコードがないときは、ログ集約処理を終了する。
【0083】
より具体的には、ログ集約部103は、集約テンプレートの集約後項目1004に記載された内容に基づいて、適用対象項目904で指定されたログ項目について、条件を満たすログを参照して値を取得し、計算用コード704で指定されたプログラムに入力することで集約後の項目値を得る。ログ集約部103は、集約後ログテーブル400に新たなレコードを作成し、ログID401に新規のIDを作成し、時刻402には上記条件を満たしたログのうち最も値が小さいものの時刻を格納し、操作種別403には操作種別1002で指定された値を新たに格納する。また、ログ集約部103は、集約後ログ詳細テーブル500には、集約後項目1004で指定された数だけ新たなレコードを作成し、ログID501にはログID401で生成した新規のIDを格納し、ログ項目502には新規項目名905で指定された値を格納し、値503には集約後の項目値を格納する。
【0084】
例えば、ログ集約部103は、集約ID1001が「G1」のレコードが処理対象である場合、ステップS1108では、ログID301が「Raw1」のレコードと「Raw2」のレコードと「Raw3」のレコードとを集約条件を満たすレコードとして特定している。また、ログ集約部103は、ステップS1105では、項目ID901が「K1」のレコード~「K5」のレコードを取得している。また、ログ集約部103は、ステップS1107では、計算用コード704で指定された計算用プログラムファイル「C:¥c1.exe」~「C:¥c4.exe」を取得している。
【0085】
ログ集約部103は、項目ID901が「K1」のレコードでは、適用対象項目904が「時刻」であるので、「Raw1」~「Raw3」のレコードの時刻302について、計算用コード704のプログラム「C:¥c1.exe」を実行して時刻302の最小値「00:00:01」を新規項目名905の「開始時刻」の値として取得する。
【0086】
ログ集約部103は、項目ID901が「K2」のレコードでは、適用対象項目904が「時刻」であるので、「Raw1」~「Raw3」のレコードの時刻302について、計算用コード704のプログラム「C:¥c2.exe」を実行して時刻302の最大値「00:00:05」を新規項目名905の「終了時刻」の値として取得する。
【0087】
ログ集約部103は、項目ID901が「K3」のレコードでは、適用対象項目904が「第1の操作対象」であるので、「Raw1」~「Raw3」のレコードの第1の操作対象304_1について、計算用コード704のプログラム「C:¥c3.exe」を実行して第1の操作対象304_1の共通部分「C:¥a¥」を新規項目名905の「第1の操作対象」の値として取得する。
【0088】
ログ集約部103は、項目ID901が「K4」のレコードでは、適用対象項目904が「第2の操作対象」であるので、「Raw1」~「Raw3」のレコードの第2の操作対象304_2について、計算用コード704のプログラム「C:¥c3.exe」を実行して第2の操作対象304_2の共通部分「D:¥b¥」を新規項目名905の「第2の操作対象」の値として取得する。
【0089】
ログ集約部103は、項目ID901が「K5」のレコードでは、適用対象項目904が「―(指定なし)」であるので、「Raw1」~「Raw3」のレコードについて、計算用コード704のプログラム「C:¥c4.exe」を実行して集約件数「3」を新規項目名905の「出現回数」の値として取得する。
【0090】
以上が、ログ集約処理の一例である。つまり、記憶部101は、特定部106により特定された集約の条件を集約条件情報116として記憶し、ログ集約部103は、記憶部101に記憶された集約条件情報116に基づいてログを集約する。また、特定部106は、集約条件要素情報114に基づいて、分析対象に係るログから、特定したデータ項目の値をパラメータとして特定し、記憶部101は、特定部106により特定された集約の条件とパラメータと集約の条件に係る適用対象とを対応付けて集約条件情報116として記憶する。また、ログ集約部103は、特定部106により特定された集約の条件に係る適用対象に対応付けられているプログラムを実行して分析対象のログから集約の条件を満たすログを集約の対象として抽出する。このように、固定的な条件(例えば、適用対象、計算用プログラムファイル)と変動的な条件(例えば、パラメータ)とにより集約の条件を構成することで、集約の条件について、自由度を持たせつつ、容易に調整することができるようになる。また、例えば、管理者160は、抽出されたログを把握することで、自身で出力された集約の条件を用いてログを抽出するときよりも容易に分析を行うことができる。
【0091】
また、特定部106は、ログが集約された集約後ログのデータ項目のデータを分類可能な適用対象が規定されている集約後項目要素情報115に基づいて、分析対象に係るログのデータ項目のうち、適用対象に対応するデータ項目を、データ項目の値を算出する算出対象として特定し、記憶部101は、特定部106により特定された算出対象のデータ項目とデータ項目に係る適用対象とを対応付けて集約後項目情報117として記憶する。また、ログ集約部103は、特定部106により特定された算出対象のデータ項目に係る適用対象に対応付けられているプログラムを実行してデータ項目の値を計算する。このように、集約後ログの値を算出することで、管理者160は、抽出されたログの項目値を自身で計算する必要がなく、より容易にログの分析を行うことができる。
【0092】
次に、集約テンプレートの更新に係る処理(集約テンプレート更新処理)について
図12を用いて説明する。
図12は、集約テンプレート更新処理に係るフローチャートの一例を示す図である。
【0093】
集約テンプレート更新処理は、例えば、管理者160による操作に基づいて管理用端末130からネットワーク140を経由してサーバ100にアクセスすることを契機に開始する。テンプレート更新部104は、管理者160による指定に基づいて、未集約ログテーブル300または集約後ログテーブル400を参照し、格納されているログ(分析対象のログ)の一覧を管理用端末130に送信する。なお、
図12では、未集約ログテーブル300を参照する場合を例に挙げて説明する。
【0094】
ステップS1201では、管理用端末130は、サーバ100から送信されたログの一覧を管理者160が参照して集約すべきログ(分析対象に係るログ)をログ一覧から選択した結果(選択結果)をサーバ100に送信する。なお、入出力例については、
図13を用いて後述する。
【0095】
ステップS1202では、テンプレート更新部104は、選択結果を受信し、選択されたログのデータ項目と集約条件要素テンプレートテーブル600の適用対象602(集約条件要素テンプレート)との組み合わせごとに、ステップS1203~ステップS1207の処理を行う。
【0096】
ステップS1203では、テンプレート更新部104は、選択された一連のログの処理対象のデータ項目について、集約条件要素テンプレートテーブル600の処理対象の適用対象602の適用を試みる。
【0097】
例えば、テンプレート更新部104は、選択されたログの処理対象のデータ項目が時刻302であり、集約条件要素テンプレートテーブル600の処理対象の適用対象602が条件要素ID601「R1」の「数値」である場合、処理対象の組み合わせは集約条件要素テンプレートの適用が可能な形式であると判定する。
【0098】
また、例えば、テンプレート更新部104は、選択されたログの処理対象のデータ項目が時刻302であり、集約条件要素テンプレートテーブル600の処理対象の適用対象602が条件要素ID601「R2」の「文字列」である場合、処理対象の組み合わせは集約条件要素テンプレートの適用が不可能な形式であると判定する。
【0099】
ステップS1204では、テンプレート更新部104は、処理対象のデータ項目に処理対象の適用対象(集約条件要素テンプレート)の適用が可能であるか否かを判定する。テンプレート更新部104は、適用が可能な形式であると判定した場合、ステップS1205に処理を移し、適用可能な形式でないと判定した場合、未処理の組み合わせがあるとき、処理対象を次の組み合わせにしてステップS1203に処理を移し、未処理の組み合わせがないとき、ステップS1208に処理を移す。
【0100】
ステップS1205では、テンプレート更新部104は、適当なパラメータを検索する。より具体的には、テンプレート更新部104は、計算用コード604で指定されたプログラムの条件判定により合致すると判定される最小範囲のパラメータを算出する。
【0101】
例えば、テンプレート更新部104は、選択されたログの処理対象のデータ項目が時刻302であり、集約条件要素テンプレートテーブル600の処理対象の適用対象602が条件要素ID601「R1」の「数値」である場合、直前のログとの時刻の差分として、ログID301の「Raw1」とログID301の「Raw2」との差分「1」、ログID301の「Raw2」とログID301の「Raw3」との差分「3」を算出し、直前のログとの差分の上限値「3」および下限値「1」を適当なパラメータとして検索する。
【0102】
また、例えば、テンプレート更新部104は、選択されたログの処理対象のデータ項目が第1の操作対象304_1であり、集約条件要素テンプレートテーブル600の処理対象の適用対象602が条件要素ID601「R2」の「文字列」である場合、特定の文字列として、ログID301が「Raw1」~「Raw3」で共通する「C:¥a¥」を適当なパラメータとして検索する。
【0103】
ステップS1206では、テンプレート更新部104は、パラメータが存在するか否かを判定する。テンプレート更新部104は、パラメータが存在すると判定した場合、ステップS1207に処理を移し、存在しないと判定した場合、未処理の組み合わせがあるとき、処理対象を次の組み合わせにしてステップS1203に処理を移し、未処理の組み合わせがないとき、ステップS1208に処理を移す。
【0104】
ステップS1207では、テンプレート更新部104は、パラメータが存在したデータ項目と集約条件要素テンプレートテーブル600の適用対象602(集約条件要素テンプレート)との組み合わせを、新たな集約テンプレートが用いる集約の条件の候補(集約条件候補)として保持する。
【0105】
なお、上述の処理に限られるものではなく、パラメータが存在しない場合、または適当なパラメータを検索しない構成である場合、テンプレート更新部104は、処理対象のデータ項目に適用可能な集約条件要素テンプレートテーブル600の適用対象602(集約条件要素テンプレート)を、新たな集約テンプレートが用いる集約の条件の候補(集約条件候補)として保持してもよい。
【0106】
ステップS1208では、テンプレート更新部104は、管理用端末130に集約条件候補を送信する。管理用端末130は、集約条件候補を受信すると、集約条件候補を管理者160に提示する。なお、入出力例については、
図13を用いて後述する。
【0107】
ステップS1209では、管理用端末130は、提示された集約条件候補を管理者160が参照して集約条件の取捨選択およびパラメータの調整を行った結果(集約条件決定結果)をサーバ100に送信する。
【0108】
ステップS1210では、テンプレート更新部104は、管理用端末130から集約条件決定結果を受信し、集約条件テーブル800に新たなレコードを追加する。追加する数は、管理者160が決定した、新規集約テンプレートの集約条件数である。条件ID801は、新規に作成し、対象802には管理者160により選択されたログの種別に準じた値を格納し、集約条件要素803および適用対象項目804には管理者160により選択された集約条件候補を格納し、パラメータ805には管理者160が調整を行った値を格納する。
【0109】
ステップS1211では、テンプレート更新部104は、ステップS1202~ステップS1207と同様に、管理者160により選択されたデータ項目に適用可能な集約後項目要素テンプレートテーブル700の適用対象702(集約後項目要素テンプレート)を、集約後項目要素テンプレートテーブル700から抽出し、その組み合わせを、新たな集約後項目要素テンプレートが用いる集約後のデータ項目の候補(集約後項目候補)として管理用端末130に送信する。管理用端末130は、集約後項目候補を管理者160に提示する。なお、入出力例については、
図13を用いて後述する。
【0110】
ステップS1212では、管理用端末130は、提示された組み合わせの中からログ分析に必要なデータ項目を管理者160が取捨選択し、新規項目名を入力した結果(集約後項目決定結果)をサーバ100に送信する。
【0111】
ステップS1213では、テンプレート更新部104は、ステップS1210と同様に、集約後項目テーブル900にレコードを追加し、取捨選択されたデータ項目と当該データ項目に適用可能な適用対象702との組み合わせ(集約後項目候補)を集約後項目要素903および適用対象項目904に格納し、管理者160により入力された新規項目名を新規項目名905に格納する。
【0112】
ステップS1214では、テンプレート更新部104は、集約テンプレートテーブル1000を更新し、集約テンプレート更新処理を終了する。集約テンプレートテーブル1000にレコードを追加し、集約テンプレートの操作種別を操作種別1002に格納し、新たに作成した集約条件テーブル800のレコードのIDを集約条件1003に格納し、新たに作成した集約後項目テーブル900のレコードのIDを集約後項目1004に格納する。なお、操作種別1002については、管理者160により入力を受け付け、受け付けた入力値を用いるようにしてもよい。
【0113】
また、
図12では、未集約ログテーブル300を参照する場合を例に挙げて説明したが、これに限られるものではなく、集約後ログテーブル400を参照する場合でも同様に集約テンプレート更新処理を行うことができる。この場合、ステップS1202では、テンプレート更新部104は、集約後ログ詳細テーブル500を参照し、選択された集約後ログのログIDをキーに、集約後ログのデータ項目(ログIDに対応するレコード)を特定する。そして、特定したデータ項目と集約条件要素テンプレートテーブル600の適用対象602(集約条件要素テンプレート)との組み合わせごとに、ステップS1203~ステップS1207の処理を行う。つまり、記憶部101は、ログ集約部によりログが集約された集約後ログを記憶し、特定部106は、集約条件要素情報114に基づいて、記憶部101に記憶されている分析対象に係る集約後ログのデータ項目のうち、適用対象に対応するデータ項目を集約の条件として特定する。かかる構成では、集約後ログを更に集約の対象とすることが可能となり、段階的に集約することで、個々の集約の条件の簡素化を図ることができる。付言するならば、集約テンプレートとして、集約の条件と集約後ログのデータ項目の値の算出方法とを定め、集約の入力と出力とを明確にすることで、多段階の集約を実現している。
【0114】
(画面構成例)
次に、集約テンプレートの更新に係る入出力について
図13を用いて説明する。
図13は、集約テンプレートの更新に係る入出力の一例(集約テンプレート更新画面1300)を示す図である。
【0115】
集約テンプレート更新画面1300は、集約対象ログ指定領域1310、集約条件指定領域1320、集約後項目指定領域1330、決定およびキャンセルボタン1340を含んで構成される。
【0116】
集約対象ログ指定領域1310は、ステップS1201で管理者160がログを選択(指定)するための領域である。集約対象ログ指定領域1310では、未集約ログテーブル300または集約後ログテーブル400のログ(レコード)の一覧を表示し、チェックボックス形式で、分析対象に係るログが指定される。
【0117】
集約条件指定領域1320は、ステップS1209で管理者160が集約条件候補を選択(指定)する領域である。集約条件指定領域1320は、パラメータが存在したデータ項目と当該データ項目に適用可能な適用対象602(集約条件要素テンプレート)との組み合わせを、新たな集約テンプレートが用いる集約条件の候補として表示する。集約条件指定領域1320では、集約条件の取捨選択およびパラメータの調整が行われ、チェックボックス形式で集約テンプレートへの追加有無が指定される。
【0118】
集約後項目指定領域1330は、ステップS1212で管理者160が集約後項目候補を選択する領域である。集約後項目指定領域1330は、集約後のログ項目の候補を表示する。集約後項目指定領域1330では、新規項目名の入力が行われ、チェックボックス形式で集約テンプレートへの追加有無が指定される。
【0119】
決定及びキャンセルボタン1340は、各ステップへの意思決定をサーバ100に送信するか否かを指定するものである。
【0120】
上述した構成では、ログを上位概念に集約するための集約テンプレートを、分析対象のログを決定するための条件および集約後のログ項目の算出方法の組み合わせで表現し、それぞれを汎用的な処理の集合およびパラメータの組み合わせで規定する。さらに、運用上の実績からこれらの組み合わせを半自動的に推定することで、労力をかけずに集約テンプレートの作成および更新を可能とする。
【0121】
本実施の形態によれば、ログ分析の目的、利用可能なログのデータ項目、計算機のリソース、人的なリソースなどの制約条件に応じて、適切なログの集約単位を簡便に設定することができる。
【0122】
(2)他の実施の形態
なお上述の実施の形態においては、本発明をログ分析支援システムに適用するようにした場合について述べたが、本発明はこれに限らず、この他種々のシステム、装置、方法、プログラムに広く適用することができる。
【0123】
また上述の実施の形態においては、説明の便宜上、XXテーブル、XXファイルを用いて各種のデータを説明したが、データ構造は限定されるものではなく、XX情報などと表現してもよい。
【0124】
また、上記の説明において各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記憶装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0125】
また上述した構成については、本発明の要旨を超えない範囲において、適宜に、変更したり、組み替えたり、組み合わせたり、省略したりしてもよい。
【符号の説明】
【0126】
1……ログ分析支援システム、100……サーバ、101……記憶部、102……ログ取得部、103……ログ集約部、104……テンプレート更新部、105……通信部。