[第1実施形態]
本発明の第1実施形態によるログ分析システム及びログ分析方法について図1乃至図10を用いて説明する。
まず、本実施形態によるログ分析システム及びその監視対象である監視対象システムを含む概略構成について図1を用いて説明する。図1は、本実施形態によるログ分析システム及び監視対象システムを示す概略図である。
図1に示すように、本実施形態によるログ分析システム1には、ログ分析システム1により分析されるログを生成して出力する一又は複数の監視対象システム2がネットワーク3を介して通信可能に接続されている。ネットワーク3は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)であるが、その種別が限定されるものではない。また、ネットワーク3は、有線のネットワークであってもよいし、無線のネットワークであってもよい。
監視対象システム2は、特定のシステムに限定されるものではないが、例えばIT(Information Technology)システムである。ITシステムは、サーバ、クライアント端末、ネットワーク機器その他の情報機器等の機器や、機器上で動作するシステム・ソフトウェア、アプリケーション・ソフトウェア等のソフトウェアにより構成される。監視対象システム2は、稼動中に発生したイベントの内容、稼働中の状況等を記録したログを生成する。監視対象システム2により生成されたログは、本実施形態によるログ分析システム1に入力されて分析される監視対象ログとなる。なお、本実施形態によるログ分析システム1は、ログを生成するシステム、機器、装置であれば、あらゆるものを監視対象とすることができ、監視対象が生成するログを分析することができる。
本実施形態によるログ分析システム1には、監視対象システム2において生成されたログがネットワーク3を介して入力されるようになっている。監視対象システム2からログ分析システム1にログを入力する態様は、特に限定されるものではなく、監視対象システム2の構成等に応じて適宜選択することができる。
例えば、監視対象システム2における通知エージェントが、監視対象システム2において生成されたログをログ分析システム1に送信することにより、ログ分析システム1にログを入力することができる。ログを送信するプロトコルは、特に限定されるものではなく、ログを生成するシステムの構成等に応じて適宜選択することができる。例えば、プロトコルとして、syslogプロトコル、FTP(File Transfer Protocol)、FTPS(File Transfer Protocol over TLS(Transport Layer Security)/SSL(Secure Sockets Layer))、SFTP(SSH(Secure Shell) File Transfer Protocol)を用いることができる。また、監視対象システム2が、生成したログをログ分析システム1とファイル共有で共有することにより、ログ分析システム1にログを入力することができる。ログを共有するファイル共有は、特に限定されるものではなく、ログを生成するシステムの構成等に応じて適宜選択することができる。例えば、ファイル共有として、SMB(Server Message Block)又はこれを拡張したCIFS(Common Internet File System)によるファイル共有を用いることができる。
なお、本実施形態によるログ分析システム1は、必ずしも監視対象システム2とネットワーク3を介して通信可能に接続されている必要はない。例えば、ログ分析システム1は、監視対象システム2からログを収集するログ収集システム(不図示)とネットワーク3を介して通信可能に接続されていてもよい。この場合、監視対象システム2で生成されたログは、一旦、ログ収集システムにより収集され、ログ収集システムからネットワーク3を介してログ分析システム1に入力される。
以下、本実施形態によるログ分析システム1の具体的構成についてさらに図2及び図3を用いて説明する。図2は、本実施形態によるログ分析システムの機能構成を示すブロック図である。図3は、本実施形態によるログ分析システムのハードウェア構成の一例を示すブロック図である。
図2に示すように、本実施形態によるログ分析システム1は、ログを分析するための各種の処理を実行する処理部10を有している。また、ログ分析システム1は、監視対象ログ、並びに後述のログパターン、変数値リスト、及び学習用ログを格納する記憶部20を有している。さらに、ログ分析システム1は、分析結果が出力されて表示される表示部30を有している。
処理部10は、ログ取得部102と、パターン検査部104と、変数値マッチング部106と、検索部108と、出力部110とを有している。処理部10は、さらに、パターン抽出指示取得部112と、パターン抽出部114とを有している。
記憶部20は、監視対象ログを格納する監視対象ログ格納部202と、ログパターンを格納するログパターン格納部204と、変数値リストを格納する変数値リスト格納部206と、学習用ログを格納する学習用ログ格納部208とを有している。記憶部20は、例えば記憶媒体により構成される。記憶部20の各部は、同一の記憶媒体により構成されてもよいし、複数の記憶媒体により構成されてもよい。
表示部30は、処理部10により出力されるログ分析の結果を表示するものである。表示部30は、ディスプレイ、プリンタ等の出力装置により構成される。
本実施形態によるログ分析システム1による分析の対象となるログは、監視対象システム2又はこれに含まれる構成要素により定期又は不定期に生成されて出力されたものである。ログは、監視対象システム2又はこれに含まれる構成要素の稼働中に発生したイベントの内容、稼働中の状況等が記録されたものである。例えば、ログは、ある時刻に発生したイベント、ある時刻における状況を示すメッセージになっている。また、ログは、イベントの内容等のほか、生成された時刻を示すタイムスタンプ、そのログを生成した構成要素の名称等の他の情報をさらに含むことができる。また、ログは、例えば、一行又は複数行のテキストデータであり、情報の単位として1以上のフィールドを含むことができる。複数のフィールドは、セパレータ又はデリミタにより区切られていてもよいし、区切られずに連続するものであってもよい。連続するフィールドは、単語、形態素、文字種等により分離することができる。
監視対象ログ格納部202は、ログ分析システム1に入力される監視対象ログを格納するものである。監視対象ログ格納部202には、定期若しくは不定期に又はリアルタイムに監視対象ログが入力され、監視対象ログ格納部202に格納される監視対象ログが追加更新される。
複数のログの中には、フォーマットのパターンが共通するものがある。このように複数のログに共通するフォーマットのパターンをログパターンという。このようなログの形式であるログパターンは、複数のログの中で変化しない部分である共通部分と、複数のログの中で変化可能な部分である変数とを含んでいる。例えば、ログとして、「Process p325 start」、「Process p223 start」、「Process p234 start」という3つのログが生成されているとする。この場合、3つのログに共通する共通部分は、「Process」及び「start」である。一方、3つのログで変化する部分である変数は、「p325」、「p223」、及び「p234」が出現する部分である。「p325」、「p223」、及び「p234」は、その変数がとりうる値である変数値である。したがって、これら3つのログには、共通する「Process <変数> start」というログパターンが存在すると推測される。なお、ログパターンは、後述するように過去のログである学習用ログから抽出することができる。
ログパターン格納部204は、ログパターンをデータベース化して格納している。ログパターン格納部204に格納されたログパターンは既知のログパターンである。ログパターン格納部204に格納されたログパターンは、監視対象システム2で生成されたログの分析に際して参照される。
また、変数値リスト格納部206は、ログパターン格納部204に格納されたログパターンにおける変数の値である変数値をリスト化した変数値リストを格納している。変数値リスト格納部206に格納された変数値リストは、監視対象システム2で生成されたログの分析に際して参照される。
上記ログパターン格納部204に格納されたログパターン及び変数値リスト格納部206に格納された変数値リストは、それぞれログ分析に先立つ事前処理により取得されたものである。学習用ログ格納部208は、これらログパターン及び変数値リストを取得するための事前処理に用いられる学習用ログを格納している。学習用ログは、監視対象システム2で生成された過去のログの一部又は全部であってもよいし、監視対象システム2で生成されたログとは別個のログであってもよい。
本実施形態によるログ分析システム1は、上記ログパターン及び変数値リストを用いて監視対象ログを分析するものである。以下、処理部10に含まれる各部について詳述する。
ログ取得部102は、ログ分析システム1に入力される監視対象ログを取得して記憶部20の監視対象ログ格納部202に格納するものである。ログ分析システム1には、監視対象システム2で生成されたログである監視対象ログが、定期若しくは不定期に又はリアルタイムに入力される。ログ取得部102は、こうして入力される監視対象ログを監視対象ログ格納部202に格納する。
パターン検査部104は、ログ取得部102により監視対象ログ格納部202に格納されている監視対象ログに含まれる各ログが、既知のログパターンに合致するか否かを検査するものである。パターン検査部104は、監視対象ログに含まれるログと、既知のログパターンであるログパターン格納部204に格納されたログパターンとを比較し、例えばパターンマッチング等の手法により、ログが既知のログパターンに合致するか否かを判定する。ログパターン格納部204に格納されたログパターンのいずれかに合致するログには、想定内のイベントの内容、想定内の状況が記録されている。一方、ログパターン格納部204に格納されたログパターンのいずれにも合致しないログは、新規なログ、すなわち異常なログである。新規なログは、そのログを生成した監視対象システム2に未知の事象、すなわち異常が発生したことを示している。パターン検査部104は、こうして監視対象ログに含まれる各ログが既知のログパターンに合致するか否かを判定することにより、監視対象ログの中から異常を示す新規なログを検出する。
変数値マッチング部106は、変数抽出部として機能し、パターン検査部104により検出された新規なログから変数値を抽出するものである。変数値マッチング部106は、新規なログと、変数値リスト格納部206に格納された変数値リストに含まれる変数値とのマッチングを行うことにより、新規なログから変数値を抽出する。
新規なログには、その新規なログにより示される異常の原因となった可能性がある情報が含まれている。異常の原因となった可能性がある情報は、ログ中の変数値として出現している場合が多い。例えば、異常の原因となった可能性があるホストコンピュータの名称が、新規なログ中に出現している場合がある。上述のように、変数値マッチング部106により新規なログから変数値を抽出することにより、異常の原因を特定するための情報として、抽出した変数値を得ることができる。
しかしながら、新規なログについては、ログパターンに基づきログ中の変数を認識してその変数値を抽出することができない。そこで、変数値マッチング部106は、過去に抽出された変数値である、変数値リスト格納部206に格納された変数値リストに含まれる変数値を利用している。変数値リストを取得するための学習が十分に行われていれば、新規なログに出現する可能性のある変数値は、変数値リストに網羅されている可能性が高い。例えば、変数値リストを取得するための学習に用いた学習用ログが十分な量であれば、そのような変数値は、変数値リストに網羅されている可能性が高い。したがって、上述のように新規なログと変数値リストに含まれる変数値とのマッチングを行うことにより、新規なログから変数値を抽出することができる。
こうして、本実施形態では、変数値マッチング部106により新規のログから変数値を抽出することにより、異常に至る原因を特定するための情報を得ることができる。本実施形態によれば、このように異常に至る原因を特定するための情報を新規なログから機械的に取得するため、異常に至る原因を効率よく特定することが可能になる。
なお、上記では、変数値リストを用いて新規なログから変数値を抽出する場合を例に説明したが、変数値マッチング部106が変数値を抽出する態様はこれに限定されるものではない。例えば、変数値マッチング部106は、正規表現等で定義された変数パターンを用い、これに合致する変数値を新規ログから抽出することもできる。ただし、この場合、変数パターンが新規なログに適用可能であることが必要である。
検索部108は、ログ出力部として機能し、監視対象ログ格納部202に格納されている監視対象ログの中から、変数値マッチング部106により抽出された変数値を含むログを検索して出力するものである。検索部108により検索されたログには、新規なログにより示される異常に至る過程を示すログが含まれている。したがって、検索部108により検索されたログに示される情報を参照することにより、新規なログにより示される異常に至る原因を分析し、その異常に至る原因を特定することができる。
出力部110は、検索部108による検索結果を表示部30に出力して表示部30に表示させるものである。出力部110は、検索部108により検索されたログを、検索部108による検索に用いられた同一の変数値を含むログでグルーピングして表示部30に表示させることができる。
一方、パターン抽出指示取得部112及びパターン抽出部114は、ログパターンを取得するためのパターン抽出処理を行うためのものである。パターン抽出処理は、ログ分析に先立って事前に行われるものである。パターン抽出処理では、ログパターンととともに、変数値リストもあわせて取得される。
パターン抽出指示取得部112は、ログパターンを取得するためのパターン抽出処理の実行を指示するパターン抽出指示を外部から取得してパターン抽出部114に入力するものである。パターン抽出指示は、例えば、キーボード、タッチパネル等の入力装置により外部からログ分析システム1に入力することができる。
パターン抽出部114は、学習用ログ格納部208に格納された学習用ログを用いて、ログパターンを取得するパターン抽出処理を行うものである。パターン抽出部114は、パターン抽出指示取得部112から入力されたパターン抽出指示に応じてパターン抽出処理を実行する。パターン抽出部114は、後述するように学習用ログに対してクラスタリングを行うことにより、ログパターンを取得するとともに、変数値リストを取得する。パターン抽出部114は、取得したログパターンをログパターン格納部204に格納するとととともに、取得した変数値リストを変数値リスト格納部206に格納する。
上述したログ分析システム1は、例えばコンピュータ装置により構成される。ログ分析システム1のハードウェア構成の一例について図3を用いて説明する。なお、ログ分析システム1は、単一の装置により構成されていてもよいし、有線又は無線で接続された2つ以上の物理的に分離された装置により構成されていてもよい。
ログ分析システム1は、図3に示すように、CPU(Central Processing Unit)2002と、ROM(Read Only Memory)2004と、RAM(Random Access Memory)2006と、HDD(Hard Disk Drive)2008とを有している。また、ログ分析システム1は、通信インターフェース(I/F(Interface))2010を有している。また、ログ分析システム1は、ディスプレイコントローラ2012と、ディスプレイ2014とを有している。さらに、ログ分析システム1は、入力装置2016を有している。CPU2002、ROM2004、RAM2006、HDD2008、及び通信I/F2010、ディスプレイコントローラ2012、及び入力装置2016は、共通のバスライン2018に接続されている。
CPU2002は、ログ分析システム1の全体の動作を制御する。また、CPU2002は、上記処理部10におけるログ取得部102、パターン検査部104、変数値マッチング部106、検索部108、出力部110、パターン抽出指示取得部112、及びパターン抽出部114の各部の機能を実現するプログラムを実行する。CPU2002は、HDD2008等に記憶されたプログラムをRAM2006にロードして実行することにより、処理部10における各部の機能を実現する。
なお、ログ取得部102、パターン検査部104、変数値マッチング部106、検索部108、出力部110、パターン抽出指示取得部112、及びパターン抽出部114は、それぞれ電気回路構成(circuitry)により実現されていてもよい。ここで、電気回路構成(circuitry)とは、単一のデバイス(single device)、複数のデバイス(multiple devices)、チップセット(chipset)又はクラウド(cloud)を概念的に含む文言である。
ROM2004は、ブートプログラム等のプログラムが記憶されている。RAM2006は、CPU2002がプログラムを実行する際のワーキングエリアとして使用される。また、HDD2008には、CPU2002が実行するプログラムが記憶されている。
また、HDD2008は、上記記憶部20における監視対象ログ格納部202、ログパターン格納部204、変数値リスト格納部206、及び学習用ログ格納部208の各部の機能を実現する記憶装置である。なお、記憶部20における各部の機能を実現する記憶装置は、HDD2008に限定されるものではない。種々の記憶装置を記憶部20における各部の機能を実現するものとして用いることができる。
通信I/F2010は、ネットワーク3に接続されている。通信I/F2010は、ネットワーク3に接続された監視対象システム2との間のデータの通信を制御する。通信I/F2010は、CPU2002とともに処理部10におけるログ取得部102の機能を実現する。
ディスプレイコントローラ2012は、表示部30として機能するディスプレイ2014が接続されている。ディスプレイコントローラ2012は、CPU2002とともに出力部110として機能し、検索部108による検索結果をディスプレイ2014に表示させる。
入力装置2016は、例えば、キーボード、マウス等である。また、入力装置2016は、ディスプレイ2014に組み込まれたタッチパネルであってもよい。ログ分析システム1のオペレータは、入力装置2016を介して、ログ分析システム1の設定を行ったり、処理の実行の指示を入力したりすることができる。
なお、ログ分析システム1のハードウェア構成は、上述した構成に限定されるものではなく、種々の構成とすることができる。
次に、上記本実施形態によるログ分析システム1を用いたログ分析方法についてさらに図4乃至図10を用いて説明する。
はじめに、本実施形態によるログ分析方法に説明する前に、ログ分析に用いるログパターン及び変数値リストを取得する処理について図4を用いて説明する。図4は、本実施形態によるログ分析システムにおけるパターン抽出部によるクラスタリングにより得られるログのクラスタの例を示す図である。
まず、ログ分析システム1には、入力装置2016等を介して外部からパターン抽出指示が入力される。パターン抽出指示取得部112は、ログ分析システム1に入力されたパターン抽出指示を取得してパターン抽出部114に入力する。
パターン抽出部114は、パターン抽出指示取得部112から入力されたパターン抽出指示に応じてパターン抽出処理を実行する。パターン抽出処理において、パターン抽出部114は、学習用ログ格納部208に格納された学習用ログに対してクラスタリングを行う。これにより、パターン抽出部114は、ログパターンを取得するとともに、変数値リストを取得する。
パターン抽出部114によるクラスタリングでは、ログ間の類似性に基づいて、学習用ログに含まれるログを分類する。より具体的には、あるログと、そのログに対して類似性が所定条件を満たす他のログとを同一クラスタに分類する。ログの類似性は、ログに含まれるフィールドの一致、不一致に基づき判定することができる。ログに含まれるフィールドは、セパレータ又はデリミタにより区切られていてもよいし、区切られずに連続するものであってもよい。ただし、連続するフィールドの場合には、単語、形態素、文字種等によりフィールドを分離する前処理が必要となる。
例えば、2つのログ間の類似性は、各ログを構成するフィールド数に対して一致するフィールド数の割合に基づく値である類似度を基準に判定することができる。この場合、類似度が高いほど、2つのログ間の類似性は高くなる。例えば、2つのログがともに10個のフィールドで構成され、そのうちの7個が一致する場合、これらのログ間の類似度は、7/10=0.70と算出される。この場合、あるログと、そのログに対して類似度が閾値以上の他の各ログとを同一クラスタに分類することができる。
また、2つのログ間の類似性は、各ログを構成するフィールド数に対して一致しないフィールド数の割合に基づく値である距離を基準に判定することもできる。この場合、距離が大きいほど、2つのログ間の類似性は低くなる。例えば、2つのログがともに10個のフィールドで構成され、そのうちの3個が不一致の場合、これらのログ間の距離は、3/10=0.3と算出される。この場合、あるログと、そのログに対して距離が閾値以下の他の各ログとを同一クラスタに分類することができる。
なお、2つのログのフィールド数が異なる場合、類似度又は距離を算出する際の分母としては、多い方及び少ない方のいずれか一方のフィールド数を採用することを予め定めておけばよい。
また、各ログにおいて所定のフィールドパターンに合致するフィールドについては、値が異なっていても一致するフィールドであるとみなして類似度又は距離を算出することができる。所定のフィールドパターンとは、ログにおいて、値が異なっていても類似するフィールドであるとみなすことが可能なフィールドがとり得る値のパターンである。そのようなフィールドパターンは、予め定義されていてもよい。ログには、例えば、「March 16 17:07:32」のように、ログが生成された日時を示すタイムスアンプが含まれている。このように日付、日時を表すタイムスタンプ等は、値が異なっていても類似するフィールドであるとみなすことができる。
また、ログに含まれる数字については、値が異なっていても一致するフィールドであるとみなして類似度又は距離を算出することができる。
パターン抽出部114は、クラスタリングにより得られたクラスタ毎に、クラスタに含まれるログのログパターンを抽出して取得するとともに、変数値を抽出して取得する。
図4は、パターン抽出部114によるクラスタリングにより得られるログのクラスタの例としてクラスタA、Bを示している。
クラスタAに含まれるログのログパターンは、クラスタAに含まれるログの共通部分と変数とを含み、次のように表される。
「<タイムスタンプ> <変数:文字列> process abc [ <変数:数字> ] <変数:文字列> *」
ただし、「*」は任意の内容、すなわち当該フィールドに文字列や数字が出現する場合と出現しない場合とがあることを表す。
なお、タイムスタンプは変数として取り扱うこともできるが、異常の原因の特定においては、タイムスタンプを変数として扱うことの有用性は低い。このため、タイムスタンプは、変数として扱わなくてよい。
一方、クラスタBに含まれるログのログパターンは、クラスタBに含まれるログの共通部分と変数とを含み、次のように表される。
「<タイムスタンプ> <変数:文字列> ( NC - <変数:数字> ) network connection <変数:文字列> 」
上述のようにしてログパターンを取得するとともに、変数値を取得することができる。変数値をリスト化することにより変数値リストを取得することができる。例えば、クラスタAに含まれるログからは、「host03」、「host02」、「started」、「stopped」、「terminated」、「abnormally」が変数値として得られる。また、クラスタBに含まれるログからは、「host03」、「host01」、「host02」、「reset」、「established」、「broken」が変数値として得られる。こうして得られた変数値をリスト化することにより、変数値リストを取得することができる。
パターン抽出部114は、上述のようにクラスタリングを行うことにより取得したログパターンをログパターン格納部204に格納するとととともに、取得した変数値リストを変数値リスト格納部206に格納する。
こうして、ログ分析に用いるログパターン及び変数値リストを取得される。
次に、上述のようにして取得されたログパターン及び変数値リストを用いた本実施形態によるログ分析方法について図5乃至図11を用いて説明する。図5は、本実施形態によるログ分析システムを用いたログ分析方法を示すフローチャートである。図6は、本実施形態によるログ分析システムにおけるログパターン格納部に格納されるログパターンの一例を示す図である。図7は、本実施形態によるログ分析システムにおけるパターン検査部による検査の結果を記録するテーブルの一例を示す図である。図8は、本実施形態によるログ分析システムにおける変数値リスト格納部に格納された変数値リストの一例を示す図である。図9は、本実施形態によるログ分析システムにおける検索部による検索結果の一例を示す図である。図10及び図11は、それぞれ本実施形態によるログ分析システムにおける検索部による検索結果をグルーピングした例を示す図である。
ログ分析システム1には、監視対象システム2から定期若しくは不定期に又はリアルタイムに監視対象ログが入力される。ログ取得部102は、ログ分析システム1に入力される監視対象ログを監視対象ログ格納部202に格納する。こうして、監視対象ログ格納部202に格納される監視対象ログが定期若しくは不定期に又はリアルタイムに追加更新されている。
パターン検査部104は、監視対象ログ格納部202に格納される監視対象ログのそれぞれが、既知のログパターンに合致するか否かを検査する(ステップS101)。この際、パターン検査部104は、既知のログパターンとして、ログパターン格納部204に格納されているログパターンを参照する。そして、パターン検査部104は、監視対象ログと、既知のログパターンであるログパターン格納部204に格納されたログパターンとを比較し、監視対象ログが既知のログパターンに合致するか否かを判定する。合致するか否かの判定には、例えばパターンマッチング等の手法を用いることができる。
図6は、ログパターン格納部204に格納された既知のログパターンを記録するテーブルの一例を示す図である。図6に示すテーブル600に記録された各レコードは、パターンID項目602と、ログパターン項目604とを有している。パターンID項目602には、ログパターンを識別するためのパターンIDが記録されている。ログパターン項目604には、ログパターンが記録されている。図6に示す例では、変数が、「<変数:XXX>」の形式で表されている。ただし、「XXX」は、変数値の内容を示している。図6に示す例における「XXX」は、「タイムスタンプ」、「文字列」、「数値」、「IP」のいずれかであり、それぞれその変数値の内容が、タイムスタンプ、文字列、数値、IP(Internet Protocol)アドレスであること示している。
図7は、図6に示す既知のログパターンを用いたパターン検査部104による検査の結果を記録するテーブルの一例を示す図である。検査の結果を記録するテーブル700は、例えば記憶部20に記憶される。図7に示すテーブル700に記録された各レコードは、監視対象ログ項目702と、マッチング項目704と、パターンID項目706とを有している。監視対象ログ項目702には、検査が行われた監視対象ログが記録されている。マッチング項目704には、検査の結果が記録されている。マッチング項目704が「OK」の場合は監視対象ログが既知のログパターンに合致したことを示し、マッチング項目704が「新規」の場合は監視対象ログが既知のログパターンに合致しない新規なものであることを示している。パターンID項目706には、監視対象ログが既知のログパターンに合致した場合のその監視対象ログが合致したログパターンのパターンIDが記録されている。
なお、パターン検査部104は、その検査の結果を、図7に示すテーブル700のような形式で表示部30に表示させることができる。表示部30における検査結果の表示では、例えば、検査が行われた監視対象ログのうち、新規なログを強調して表示することができる。新規なログの強調表示の態様としては、特に限定されるものではなく、他の部分と異なる色での表示、異なるフォントでの表示、太字での表示等の種々の表示を用いることができる。
監視対象ログが既知のログパターンに合致する場合(ステップS101、YES)、その監視対象ログには、想定内のイベントの内容、想定内の状況が記録されている。このため、既知のログパターンに合致する監視対象ログに示されるイベント、状況に対しては、特に対処を行う必要はないため、処理を終了する。
なお、特定のログパターンに合致する監視対象ログが示すイベント、状況について、何らかの対処を行うこともできる。この場合、ログ分析システム1のユーザであるオペレータに対して、監視対象ログが合致したログパターンのパターンIDに応じて、事前に定められた対処内容を提示するようにしてもよい。
一方、監視対象ログが既知のログパターンのいずれにも合致しない場合(ステップS101、NO)、その監視対象ログは、新規なログ、すなわち異常なログである。新規なログは、そのログを生成した監視対象システム2に未知の事象、すなわち異常が発生したことを示している。このため、新規なログに示されるイベント、状況に対しては、何らかの対処を行う必要がある。
上記図7に示す例では、タイムスタンプ「2015/08/17 08:35:01」で示される日時に生成された監視対象ログが、パターン検査部104による検査の結果、新規なログとして検出されている。この新規なログとして検出された監視対象ログは、図6に示すログパターンのいずれにも合致していない。
新規なログの内容は、既知のログパターンに合致しないものではあるが、異常の原因を特定するため、その内容を読み取って分析する必要がある。ログの書式に関して、ログに含めるべき情報等を定めた既定のルール等は存在していないが、タイムスタンプやログを生成した出力元等を含める等の常識が存在している。このようなログの書式に関する常識や情報技術に関する知識を用いることにより、新規なログの内容を読み取ることができる。
例えば、図7において新規なログとして検出された監視対象ログからは、ホストコンピュータである「SV001」という出力元で生成されて出力されたことが読み取られる。また、ホストコンピュータである「SV004」へのネットワーク接続が切断されたことが読み取られる。さらに、「192.168.1.24」が、IPアドレスであり、「SV004」のIPアドレスであることが読み取られる。
新規なログには、その新規なログにより示される異常の原因となった可能性がある情報が、ログ中の変数値として出現している場合が多い。そこで、変数値マッチング部106は、パターン検査部104により検出された新規なログから変数値を抽出する(ステップS102)。変数値の抽出に際して、変数値マッチング部106は、新規なログと、変数値リスト格納部206に格納された変数値リストに含まれる変数値とのマッチングを行う。
図8は、変数値リストの一例を示す図である。図8に示す変数値リスト800は、図6に示すログパターンを取得した際にあわせて取得したものである。変数値リスト800には、ホストを示す変数値として、「SV001」、「SV002」、「SV003」、及び「SV004」が含まれ、IPアドレスを示す変数として、「192.168.1.23」及び「192.168.1.24」が含まれている。
新規なログについては、ログパターンに基づきログ中の変数を認識してその変数値を抽出することができない。このため、上述のように、変数値マッチング部106は、過去に抽出された変数値である、変数値リスト格納部206に格納された変数値リストに含まれる変数値を利用する。変数値マッチング部106は、新規なログと変数値リストに含まれる変数値とのマッチングを行うことにより、新規なログから変数値を抽出することができる。なお、上述のように、正規表現等で定義された変数パターンを用い、これに合致する変数値を新規ログから抽出することもできる。
例えば、図7において検出された新規なログの場合、図8に示す変数値リストを用いたマッチングにより、変数値として、「SV001」、「SV004」、及び「192.168.1.24」が抽出される。
変数値マッチング部106により抽出された変数値は、表示部30における新規なログの表示において強調表示することができる。変数値の強調表示の態様としては、特に限定されるものではなく、他の部分と異なる色での表示、異なるフォントでの表示、太字での表示等の種々の表示を用いることができる。
こうして、本実施形態によれば、変数値マッチング部106により新規のログから変数値を抽出することにより、異常に至る原因を特定するための情報を得ることができる。抽出された変数値は、異常に至る原因を特定するための情報を示すものとして、出力部110により表示部30に表示させることができる。異常に至る原因を特定するための情報として得られた変数値を分析することにより、異常に至る原因を特定することが可能になる。異常に至る原因を特定するため、例えば、抽出された変数値に示される監視対象システム2の構成要素を確認することができる。また、本実施形態では、以下に述べるように、異常に至る原因を特定するため、抽出された変数値を含むログを検索することができる。
さらに、監視対象ログのうち、新規なログに出現している変数値を含む過去のログを分析して過去を遡る作業を行うことにより、新規なログに示されている異常の原因を絞り込んで特定することができる。図7において検出された新規なログの場合、変数値として、「SV001」、「SV004」、及び「192.168.1.24」が抽出されている。この場合、この新規なログに記録されたネットワークの切断の原因は、その出力元である「SV001」にある可能性もあれば、「SV004」や「SV004」の先に存在するホストやソフトウェアの可能性がある。本実施形態では、以下に述べるように、新規なログに出現している変数値を含む過去のログを検索部108により検索することにより、異常の原因を絞り込んで特定することが可能となる。
新規のログから変数値が抽出された後、検索部108は、監視対象ログ格納部202に格納されている監視対象ログの中から、変数値マッチング部106により抽出された変数値を含むログを検索する(ステップS103)。検索されたログには、上述のように異常に至る過程を示すログが含まれている。したがって、本実施形態では、検索部108により検索されたログに示される情報を参照することにより、新規なログにより示される異常に至る原因を分析、特定することができる。
図9は、検索部108による検索結果の一例を示す図である。具体的には、図9は、図8に示す変数値リストを用いたマッチングにより抽出された変数値である「SV001」、「SV004」、及び「192.168.1.24」を含むログを検索した結果を示している。図9に示す検索結果であるログリスト900には、監視対象ログのうち、「SV001」、「SV004」、及び「192.168.1.24」の少なくともいずれかを含むログが含まれている。ログリスト900には、図7において検出された新規なログも含まれている。
なお、検索部108は、検索するログの時刻範囲を一定の時刻範囲に限ることができる。例えば、検索するログの時刻範囲を、新規なログの発生前の例えば1時間等の所定の範囲、第1の時刻から第2の時刻までの範囲等に限ることができる。検索部108が検索するログの時刻範囲は、オペレータが適宜設定することができる。
次いで、出力部110は、検索部108による検索結果を表示部30に出力して表示部30に表示させる(ステップS104)。その際、出力部110は、検索部108により検索されたログを、検索部108による検索に用いられた同一の変数値を含むログでグルーピングして表示部30に表示させることができる。
図10は、検索部108による検索結果をグルーピングして表示した一例を示す図である。具体的には、図10は、図9に示す結果をグルーピングすることにより得られた複数のログリストを示している。図10には、複数のログリスト1002、1004、1006を示している。ログリスト1002には、検索を行った変数値のうち「SV001」を含むログがグルーピングされている。ログリスト1004には、検索を行った変数値のうち「SV004」を含むログがグルーピングされている。ログリスト1006には、検索を行った変数値のうち「192.168.1.24」を含むログがグルーピングされている。出力部110は、このように同一の変数値を含むログを複数のログリストにグルーピングして表示部30に表示させることができる。
なお、上記のように変数値マッチング部106により抽出された変数値が複数である場合、その複数の変数値に優先順位を付け、その優先順位に応じて、変数値毎にグルーピングされたログリストの表示順を設定することができる。一般に、ログの先頭に近い位置に出現する変数値、例えばログのヘッダーにおける変数値は、定型的なものであり、異常とは無関係であることが多い。そこで、例えば、変数値の優先順位として、ログの末尾により近い位置に出現する変数値ほどより高い優先順位とすることができる。また、出現頻度のより低い珍しい変数値ほど高い優先順位とすることもできる。そして、複数のログリストの表示に際して、より高い優先順位の変数値を含むログがグルーピングされたログリストをより優先的に表示部30に表示させることができる。
図10に示すグルーピングされた検索結果からは、図7において検出された新規なログに変数値として出現している「SV004」は、「SV003」へのリクエストについて複数回タイムアウトを起こしていることがわかる。このことから、新規なログに示される異常の原因が、「SV004」の通信状況にある可能性が高いことがわかる。
なお、検索部108による新規なログに含まれる変数値を含むログの検索で検索されたログにも、新規なログにより示される異常の原因となった可能性がある情報がログ中の変数値として出現している可能性がある。例えば、上述のように「SV004」が「SV003」へのリクエストについて複数回タイムアウトを起こしている場合、「SV003」に異常の原因がある可能性も少なからず残っている。このため、検索部108は、新規なログに含まれる変数値を含むログの検索の後、監視対象ログの中から、その検索で検索されたログに含まれる変数値を含むログをさらに検索するように構成することもできる。これにより、異常に至る原因を高い精度で特定することができる。
この場合、表示部30に表示させたログリストにおいて、ログに含まれる変数値をクリック可能に表示し、変数値をクリックすることにより、その変数値を含むログの検索を実行するように検索部108を構成することができる。なお、この検索の際、検索部108は、少なくともその変数値を含むログを検索して出力することもできるし、その変数値と他の変数値とを含むログを検索して出力することもできる。この検索結果は、出力部110により表示部30に表示させることができる。
図11は、検索部108による検索結果をグルーピングして表示した他の例を示す図である。図11は、図10に示すログリストのログに含まれる変数値がクリック可能に表示されている場合を示している。具体的には、ログリスト1002のログに含まれる変数値である「JNW 529」が例えば下線で強調表示されており、クリック可能に構成されている。「JNW 529」を表示画面上でクリックすると、監視対象ログの中から「JNW 529」を含むログを検索する検索が検索部108により実行される。また、ログリスト1004のログに含まれる変数値である「SV003」が例えば下線で強調表示されており、クリック可能に構成されている。「SV003」を表示画面上でクリックすると、監視対象ログの中から「SV003」を含むログを検索する検索が検索部108により実行される。なお、検索可能であることを示す変数値の強調表示の態様としては、特に限定されるものではなく、下線による表示のほか、他の部分と異なる色での表示、異なるフォントでの表示、太字での表示等の種々の表示を用いることができる。
以上のとおり、本実施形態によれば、表示部30に表示された検索部108による検索結果に基づき、新規なログに示される異常に至る原因を効率よく特定することができる。
[第2実施形態]
本発明の第2実施形態によるログ分析システム及びログ分析方法について図12を用いて説明する。図12は、本実施形態によるログ分析システムの機能構成を示す概略図である。なお、上記第1実施形態によるログ分析システム及びログ分析方法と同様の構成要素については同一の符号を付し説明を省略し又は簡略にする。
上記第1実施形態によるログ分析システム1は、パターン抽出部114によるクラスタリングによりログパターン及び変数値リストを取得していた。これに対して、本実施形態によるログ分析システムは、変数パターンを用いてログパターンを取得するとともに、変数値リストを取得する点で、第1実施形態によるログ分析システム1とは異なっている。
図11に示すように、本実施形態によるログ分析システム1bは、処理部10において、パターン抽出指示取得部112及びパターン抽出部114に代えて、変数パターン取得部116及び変数分離部118を有している。
変数パターン取得部116は、ログ分析システム1bに外部から入力される変数パターンを取得するものである。変数パターンは、オペレータ等により正規表現等で定義されるものである。例えば、数字を変数として取り扱う場合、変数パターンは、「[0-9]+」のように正規表現で定義することができる。変数パターン取得部116は、取得した変数パターンを変数分離部118に入力する。
変数分離部118は、学習用ログ格納部208に格納された学習用ログのそれぞれについて、変数パターン取得部116から入力された変数パターンに基づき、ログ中の変数値を認識して分離する。こうしてログ中の変数値を分離することにより、変数分離部118は、ログパターンを取得するとともに、変数値リストを取得する。
なお、本実施形態によるログ分析システム1bも、図3に示す第1実施形態によるログ分析システム1と同様のハードウェア構成を有することができる。この場合、CPU2002は、変数パターン取得部116及び変数分離部118の機能を実現するプログラムを実行する。
また、変数パターン取得部116及び変数分離部118も、それぞれ電気回路構成により実現されていてもよい。
本実施形態のように、変数パターンを用いてログパターンを取得するとともに、変数値リストを取得することもできる。
[第3実施形態]
本発明の第3実施形態によるログ分析システム及びログ分析方法について図13乃至図15を用いて説明する。図13は、本実施形態によるログ分析システムの機能構成を示すブロック図である。図14は、本実施形態によるログ分析システムを用いたログ分析方法を示すフローチャートである。図15は、本実施形態によるログ分析システムにおける検索条件設定画面を示す図である。なお、上記第1及び第2実施形態によるログ分析システム及びログ分析方法と同様の構成要素については同一の符号を付し説明を省略し又は簡略にする。
上記第1実施形態によるログ分析システム1は、変数値マッチング部106により新規なログから抽出された変数値を含むログを検索部108により検索していた。これに対して、本実施形態によるログ分析システムは、検索部108による検索に際して検索条件の設定が可能になっている点で、第1実施形態によるログ分析システム1とは異なっている。
図13に示すように、本実施形態によるログ分析システム1cは、図2に示す第1実施形態によるログ分析システム1の機能構成に加えて、検索部108による検索に際して検索条件の設定を可能にする検索条件設定部120をさらに有している。検索条件設定部120には、入出力部40が接続されている。
検索条件設定部120は、本実施形態によるログ分析システム1cのユーザであるオペレータに対して、変数値マッチング部106により新規なログから抽出された変数値を入出力部40を介して提示する。検索条件設定部120により変数値が提示されたオペレータは、変数値に関する検索条件を含む検索条件を設定して、その検索条件を入出力部40を介して検索条件設定部120に入力することができる。
検索条件設定部120は、オペレータにより検索条件が入力されると、入力された検索条件を検索部108に設定する。検索部108は、検索条件設定部120により設定された検索条件に合致するログを、監視対象ログ格納部202に格納されている監視対象ログの中から検索する。
なお、本実施形態によるログ分析システム1cも、図3に示す第1実施形態によるログ分析システム1と同様のハードウェア構成を有することができる。この場合、CPU2002は、検索条件設定部120の機能を実現するプログラムを実行する。
また、検索条件設定部120も、電気回路構成により実現されていてもよい。
以下、本実施形態によるログ分析システム1cを用いたログ分析方法について説明する。
まず、図14に示すように、第1実施形態と同様に、パターン検査部104は、監視対象ログ格納部202に格納される監視対象ログのそれぞれが、既知のログパターンに合致するか否かを検査する(ステップS101)。
監視対象ログが既知のログパターンに合致する場合(ステップS101、YES)、第1実施形態と同様に処理を終了する。
一方、監視対象ログが既知のログパターンのいずれにも合致しない場合(ステップS101、NO)、変数値マッチング部106は、第1実施形態と同様に、既知のログパターンのいずれにも合致しない新規なログから変数値を抽出する(ステップS102)。
次いで、検索条件設定部120は、変数値マッチング部106により新規なログから抽出された変数値を入出力部40を介してオペレータに提示する。検索条件設定部120による変数値の提示を受けて、オペレータは、変数値に関する検索条件を含む検索条件を設定して、その検索条件を入出力部40を介して検索条件設定部120に入力する。オペレータにより検索条件が入力されると、検索条件設定部120は、入力された検索条件を検索部108に設定する(ステップS105)。
図15は、オペレータが検索条件を設定するための検索条件設定画面の一例を示している。図15に示す検索条件設定画面400は、検索条件設定部120により入出力部40に表示される。検索条件設定画面400は、変数値選択欄402と、AND/OR検索設定欄404と、時刻範囲設定欄406とを有している。
変数値選択欄402には、検索条件設定部120により、変数値マッチング部106により新規なログから抽出された変数値が選択可能に表示される。変数値選択欄402では、例えばチェックボックスをチェックすることにより、検索に用いる変数値を選択することができる。
AND/OR検索設定欄404は、AND検索を行うか、OR検索を行うかを設定するためのものである。AND/OR検索設定欄404では、例えばラジオボタンによりAND検索又はOR検索を選択して設定することが可能になっている。AND検索が選択されると、変数値選択欄402で選択された変数値のすべてを含むログを検索するAND検索が設定される。一方、OR検索が選択されると、変数値選択欄402で選択された変数値のいずれかを含むログを検索するOR検索が設定される。
時刻範囲設定欄406は、検索するログの時刻範囲を設定するためのものである。時刻範囲設定欄406では、検索するログの時刻範囲の開始時刻と終了時刻とを設定することが可能になっている。
上記第1実施形態では、新規なログに含まれる全変数値のいずれかを含むログを検索するOR検索を行っていたが、ある変数値が異常に無関係であることが明らかである場合には、その変数値を検索条件から除外することができる。例えば、図15に示す検索条件設定画面400では、抽出された変数値のうち、「SV001」、「SV002」、「SV003」、及び「192.168.1.23」を検索条件から除外している。
検索条件が設定された後、検索部108は、監視対象ログ格納部202に格納されている監視対象ログの中から、検索条件設定部120により設定された検索条件に合致するログを検索する(ステップS106)。
なお、検索部108による検索結果を受けて、ステップS105に戻って検索条件設定部120により検索条件を再設定し、再設定した検索条件で検索部108による検索を再度行うこともできる。
また、第1実施形態において述べたように、検索部108による新規なログに含まれる変数値を含むログの検索で検索されたログにも、異常の原因となった可能性がある情報がログ中の変数値として出現している可能性がある。検索条件設定部120は、このような新規なログに含まれる変数値を含むログの検索で検索されたログに含まれる変数値を検索条件に追加することもできる。検索部108は、そのような検索条件で検索を再度行うこともできる。
次いで、第1実施形態と同様に、出力部110は、検索部108による検索結果を表示部30に出力して表示部30に表示させる(ステップS107)。
このように、本実施形態によれば、検索条件設定部120により検索条件を設定することができるため、オペレータは、事前の知識、検索結果等に基づき検索条件を設定して検索部108による検索を実行させることができる。したがって、本実施形態によれば、新規ログに示される異常に至る原因を効率よく特定することができる。
なお、上記では、図2に示す第1実施形態によるログ分析システム1の機能構成に加えて検索条件設定部120をさらに有する場合について説明したが、これに限定されるものではない。図12に示す第2実施形態によるログ分析システム1bの機能構成に加えて検索条件設定部120をさらに有するようにすることもできる。
[第4実施形態]
本発明の第4実施形態によるログ分析システム及びログ分析方法について図16乃至図18を用いて説明する。図16は、本実施形態によるログ分析システムの機能構成を示すブロック図である。図17は、本実施形態によるログ分析システムにおける変数置換部によるログパターンの抽出を説明する図である。図18は、本実施形態によるログ分析システムにおけるログパターンを登録するための登録画面の一例を示す図である。なお、上記第1乃至第3実施形態によるログ分析システム及びログ分析方法と同様の構成要素については同一の符号を付し説明を省略し又は簡略にする。
本実施形態によるログ分析システムは、パターン検査部104により検出された新規なログについて正常であるか異常であるかを登録することが可能になっている点で、第1実施形態によるログ分析システム1とは異なっている。
図16に示すように、本実施形態によるログ分析システム1dは、図2に示す第1実施形態によるログ分析システム1の機能構成に加えて、変数置換部122と、パターン登録部124とをさらに有している。
変数置換部122は、形式抽出部として機能し、パターン検査部104により検出された新規なログについて変数値が出現している部分を特定し、その部分を変数に置換することにより新規なログからログパターンを抽出するものである。変数置換部122は、ログパターンの抽出に際して、変数値マッチング部106により新規なログから抽出された変数値を参照し、新規なログでその変数値が出現している部分を変数に置換する。
図17は、変数置換部122によるログパターンの抽出を説明する図である。図17では、上記図7において新規なログとして検出された監視対象ログからログパターンを抽出する場合を示している。
変数置換部122は、図17に示すように、変数値マッチング部106により抽出された変数値である「SV001」、「SV004」、及び「192.168.1.24」を参照する。これらの変数値は、テーブル700のレコードに記録された新規なログから抽出されたものである。変数置換部122は、参照した変数値に基づき、テーブル700のレコードに記録された新規なログに変数値が出現している部分を特定し、その部分を変数に置換する。
変数置換部122は、抽出したログパターンをテーブル610に記録する。なお、テーブル610は、後述する正常なログパターン及び異常なログパターン毎に用意され、ログパターン格納部204に格納される。テーブル610に記録された各レコードは、パターンID項目612と、ログパターン項目614とを有している。パターンID項目612には、抽出されたログパターンを識別するためのパターンIDが記録される。図17ではパターンID項目612に「新規」と表示されているが、この項目に、抽出されたログパターンに固有な新たなパターンIDが記録される。ログパターン項目614には、抽出されたログパターンが記録される。
パターン登録部124は、パターン検査部104により検出された新規なログに基づくログパターンをログパターン格納部204に格納して、正常なログパターン又は異常なログパターンとして登録するものである。
具体的には、パターン登録部124は、変数置換部122により新規なログから抽出されたログパターンをログパターン格納部204に格納する。パターン登録部124は、ログパターンをログパターン格納部204に格納するに際して、そのログパターンを正常なログパターン又は異常なログパターンとして登録する。
また、パターン登録部124は、パターン検査部104により検出された新規なログをそのままログパターンとしてログパターン格納部204に格納する。なお、新規なログをそのままログパターンとして格納する場合であっても、タイムスタンプは変数として取り扱うことができる。すなわち、ログパターンとしての新規なログとタイムスタンプのみが異なるログは、ログパターンとしての新規なログに合致するものとして取り扱われる。パターン登録部124は、新規なログをログパターンとしてログパターン格納部204に格納するに際して、そのログパターンを正常なログパターン又は異常なログパターンとして登録する。
パターン登録部124によりログパターンをログパターン格納部204に格納して登録するか否かは、後述するようにオペレータが選択できるようになっている。また、ログパターンが正常なログパターンであるか異常なログパターンであるかは、後述するようにオペレータが判断できるようになっている。
なお、本実施形態によるログ分析システム1dも、図3に示す第1実施形態によるログ分析システム1と同様のハードウェア構成を有することができる。この場合、CPU2002は、変数置換部122及びパターン登録部124の機能を実現するプログラムを実行する。
また、変数置換部122及びパターン登録部124も、それぞれ電気回路構成により実現されていてもよい。
本実施形態において、パターン検査部104は、監視対象ログが既知のログパターンに合致するか否かを検査するに際して、パターン登録部124によりログパターン格納部204に格納されたログパターンをも参照する。そして、パターン検査部104は、パターン登録部124により登録された正常なログパターン又は異常なログパターンに監視対象ログが合致するか否かをも検査する。異常なログパターンに監視対象ログが合致する場合、パターン検査部104は、異常なログパターンに合致するログ、すなわち異常を示すログが検出されたことをオペレータに対して表示部30等を介して通知することができる。
図18は、ログパターンを登録するための登録画面の一例を示す図である。図18に示す登録画面710は、上記図7に示すパターン検査部104による検査の結果を記録するテーブル700を表示するとともに、監視対象ログについて所定の対応を選択可能に表示している。
登録画面710に表示される各レコードは、監視対象ログ項目712と、マッチング項目714と、パターンID項目716とを有している。監視対象ログ項目712には、検査が行われた監視対象ログが表示されている。マッチング項目714には、検査の結果が表示されている。マッチング項目714が「OK」の場合は監視対象ログが既知のログパターンに合致したことを示し、マッチング項目714が「新規」の場合は監視対象ログが既知のログパターンに合致しない新規なものであることを示している。パターンID項目716には、監視対象ログが既知のログパターンに合致した場合のその監視対象ログが合致したログパターンのパターンIDが表示されている。
さらに、登録画面710に表示される各レコードは、対応項目718を有している。対応項目718には、マッチング項目714に表示される検査の結果に応じたプルダウンメニューが表示されている。
具体的には、マッチング項目714が「OK」のレコードにおける対応項目718には、通知要否設定用プルダウンメニュー720が表示されている。通知要否設定用プルダウンメニュー720については、後述する第5実施形態において説明する。
一方、マッチング項目714が「新規」のレコードにおける対応項目718には、正常異常登録用プルダウンメニュー722が表示されている。正常異常登録用プルダウンメニュー722では、オペレータが、「正常(個別)」、「正常(パターン)」、「異常(個別)」、及び「異常(パターン)」のいずれかの項目を選択することが可能になっている。
正常異常登録用プルダウンメニュー722において、「正常(個別)」を選択すると、そのレコードに表示される新規なログが、パターン登録部124によりそのまま正常なログパターンとして上述のように登録される。また、「正常(パターン)」を選択すると、そのレコードに表示される新規なログから変数置換部122により抽出されたログパターンが、パターン登録部124により正常なログパターンとして上述のように登録される。
一方、正常異常登録用プルダウンメニュー722において、「異常(個別)」を選択すると、そのレコードに表示される新規なログが、パターン登録部124によりそのまま異常なログパターンとして上述のように登録される。また、「異常(パターン)」を選択すると、そのレコードに表示される新規なログから変数置換部122により抽出されたログパターンが、パターン登録部124により異常なログパターンとして上述のように登録される。
なお、上記では、図2に示す第1実施形態によるログ分析システム1の機能構成に加えて変数置換部122とパターン登録部124とをさらに有する場合について説明したが、これに限定されるものではない。図12及び図13に示す第2及び第3実施形態によるログ分析システム1b、1cの機能構成に加えて変数置換部122とパターン登録部124とをさらに有するようにすることもできる。
[第5実施形態]
本発明の第5実施形態によるログ分析システム及びログ分析方法について図19及び図20を用いて説明する。図19は、本実施形態によるログ分析システムの機能構成を示すブロック図である。図20は、本実施形態によるログ分析システムにおけるログ通知の要否を設定するための設定画面の一例を示す図である。なお、上記第1乃至第4実施形態によるログ分析システム及びログ分析方法と同様の構成要素については同一の符号を付し説明を省略し又は簡略にする。
本実施形態によるログ分析システムは、パターン検査部104により検査された監視対象ログについてログ分析システムへの通知の要否を設定することが可能になっている点で、第1実施形態によるログ分析システム1とは異なっている。
図19に示すように、本実施形態によるログ分析システム1eは、図2に示す第1実施形態によるログ分析システム1の機能構成に加えて、ログ通知要否設定部126をさらに有している。
ログ通知要否設定部126は、パターン検査部104により既知のログパターンに合致するか否かが検査された監視対象ログのそれぞれについて、ログ分析システム1eへの通知の要否を設定するものである。
具体的には、ログ通知要否設定部126は、パターン検査部104により検査された監視対象ログのうち、通知が不要なログのログパターンに合致するログが監視対象システム2から通知されないように設定することができる。
また、ログ通知要否設定部126は、パターン検査部104により検査された監視対象ログのうち、通知が不要なログにタイムスタンプ以外の部分が合致するログが監視対象システム2から通知されないように設定することもできる。
ログ通知要否設定部126は、通知が不要な監視対象ログを生成して出力した監視対象システム2に対して、ログ通知不要指示をネットワーク3を介して送信する。ログ通知不要指示は、監視対象システム2に対して、監視対象ログのうち通知が不要なログのログパターンに合致するログ又は通知が不要なログにタイムスタンプ以外の部分が合致するログを通知しないように指示するものである。
ログ通知不要指示を受信した監視対象システム2では、そのログ通知エージェントの設定が変更される。これにより、監視対象システム2は、監視対象ログのうち通知が不要なログのログパターンに合致するログ又は通知が不要なログにタイムスタンプ以外の部分が合致するログをログ分析システム1eに通知しなくなる。
また、ログ通知要否設定部126は、パターン検査部104により検査された監視対象ログのうち通知が不要なログを監視対象ログ格納部202から削除するように構成することができる。
上述したログの通知の要否は、後述するようにオペレータが選択して設定することができるようになっている。
なお、本実施形態によるログ分析システム1eも、図3に示す第1実施形態によるログ分析システム1と同様のハードウェア構成を有することができる。この場合、CPU2002は、ログ通知要否設定部126の機能を実現するプログラムを実行する。
また、ログ通知要否設定部126も、電気回路構成により実現されていてもよい。
図20は、ログ通知の要否を設定するための設定画面の一例を示す図である。図20に示す設定画面730は、上記図18に示す登録画面710と同一画面となっている。設定画面730に表示される各レコードは、上記図18に示す登録画面710と同様に、監視対象ログ項目712と、マッチング項目714と、パターンID項目716と、対応項目718とを有している。
マッチング項目714が「OK」のレコードにおける対応項目718には、上述のように、通知要否設定用プルダウンメニュー720が表示されている。通知要否設定用プルダウンメニュー720では、オペレータが、「通知」、「不要(個別)」、及び「不要(パターン)」のいずれか項目を選択することが可能になっている。初期状態では、「通知」が選択されている。
通知要否設定用プルダウンメニュー720において、「通知」を選択すると、そのレコードに表示されるログのパターンに合致するログ、及びそのログにタイムスタンプ以外の部分が合致するログは、通常どおりログ分析システム1eに通知される。
一方、通知要否設定用プルダウンメニュー720において、「不要(個別)」を選択すると、そのレコードに表示されるログにタイムスタンプ以外の部分が合致するログが通知されないようにログ通知要否設定部126により設定される。また、「不要(パターン)」を選択すると、そのレコードに表示されるログのログパターンに合致するログがから変数置換部122により抽出されたログパターンが通知されないようにログ通知要否設定部126により設定される。例えば、図20に示す場合、「不要(パターン)」を選択すると、パターンIDが144のログパターン(図6参照)に合致するログが通知されないように設定される。
このように、本実施形態では、監視対象システム2から不要なログがログ分析システム1eに通知されないように設定することにより、ログ分析システム1eによるログ分析に要するデータ量を低減し、異常に至る原因を効率よく特定することができる。
なお、上記では、図2に示す第1実施形態によるログ分析システム1の機能構成に加えてログ通知要否設定部126をさらに有する場合について説明したが、これに限定されるものではない。図12、図13、及び図16に示す第2実施形態によるログ分析システム1b、1c、1dの機能構成に加えてログ通知要否設定部126をさらに有するようにすることもできる。
以上、各実施形態において説明したログ分析システムは、他の実施形態によれば、図21に示すように構成することもできる。
図21は、他の実施形態によるログ分析システムの機能構成を示すブロック図である。ログ分析システム1fは、監視対象ログのうち、記憶媒体に記憶されている形式であるログパターンに合致しないログから、そのログに含まれる変数の値を抽出する変数抽出部として機能する変数値マッチング部106を有している。
[変形実施形態]
本発明は、上記実施形態に限らず、種々の変形が可能である。
例えば、上記実施形態では、検索部108による検索結果を表示するログリストにおいて、検索されたログをそれぞれ示した場合を例に説明したが、検索結果を表示する態様はこれに限定されるものではない。例えばタイムスタンプ以外の部分が同じログをまとめて表示することもできる。図22は、図10に示すログリスト1004に代えて、タイムスタンプ以外の部分が同じログをまとめて表示するログリスト1014を示している。ログリスト1014では、タイムスタンプ以外の部分が同じログの件数が数字で表示されている。ログリスト1014では、タイムスタンプ以外の部分が同じログをまとめた表示から、タイムスタンプ以外の部分が同じログを展開して図10に示すログリスト1004のように表示することもできる。ログリスト1014では、このようなログの展開の可否がそれぞれ「+」及び「−」で示されている。
また、上記実施形態では、パターン検査部104により検出された新規なログに含まれる変数値を含むログを検索部108により検索する場合を例に説明したが、検索部108による検索は、これに限定されるものではない。例えば、検索部108は、監視対象ログのうち、珍しい変数値を含むログ、頻繁に生成されているログ、「Critical」、「Error」等の異常を示す内容を含むログ等に含まれる変数値を含むログを検索してもよい。
また、上述の各実施形態の機能を実現するように該実施形態の構成を動作させるプログラムを記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のコンピュータプログラムが記録された記録媒体はもちろん、そのコンピュータプログラム自体も各実施形態に含まれる。
該記録媒体としては例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM(Compact Disc-Read Only Memory)、磁気テープ、不揮発性メモリカード、ROMを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、OS(Operating System)上で動作して処理を実行するものも各実施形態の範疇に含まれる。
上述の各実施形態の機能により実現されるサービスは、SaaS(Software as a Service)の形態でユーザに対して提供することもできる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
監視対象ログのうち、記憶媒体に記憶されている形式に合致しない第1のログから、前記第1のログに含まれる変数の値を抽出する変数抽出部を有するログ分析システム。
(付記2)
前記監視対象ログのうち、前記変数の値を含む第2のログを出力するログ出力部をさらに有する付記1記載のログ分析システム。
(付記3)
前記ログ出力部は、前記第2のログに含まれる変数の値を含む第3のログをさらに出力する付記2記載のログ分析システム。
(付記4)
前記ログ出力部は、前記監視対象ログの中から、前記変数の値を含む前記第2のログを検索して出力する検索部であり、
前記検索部による検索の検索条件を設定する検索条件設定部をさらに有する付記2又は3に記載のログ分析システム。
(付記5)
前記形式は、前記監視対象ログの中で変化可能な前記変数と、前記監視対象ログの中で変化しない共通部分とを含む付記1乃至4のいずれかに記載のログ分析システム。
(付記6)
前記監視対象ログに含まれる各ログが前記形式に合致するか否かを検査し、前記形式に合致しないものを前記第1のログとして検出するパターン検査部をさらに有する付記1乃至5のいずれかに記載のログ分析システム。
(付記7)
前記第1のログの形式を抽出する形式抽出部をさらに有し、
前記パターン検査部は、前記監視対象ログに含まれる各ログが、前記形式抽出部により抽出された前記第1のログの形式に合致するか否かをも検査する付記6記載のログ分析システム。
(付記8)
前記パターン検査部により検査された前記監視対象ログのうちの所定のログの形式に合致するログが前記監視対象ログとして通知されないように設定する通知要否設定部をさらに有する付記6又は7に記載のログ分析システム。
(付記9)
監視対象ログのうち、記憶媒体に記憶されている形式に合致しない第1のログから、前記第1のログに含まれる変数の値を抽出する工程を有するログ分析方法。
(付記10)
前記監視対象ログのうち、前記変数の値を含む第2のログを出力する工程をさらに有する付記9記載のログ分析方法。
(付記11)
コンピュータに、
監視対象ログのうち、記憶媒体に記憶されている形式に合致しない第1のログから、前記第1のログに含まれる変数の値を抽出する工程を実行させるプログラムが記録された記録媒体。
(付記12)
前記プログラムが、前記コンピュータに、
前記監視対象ログのうち、前記変数の値を含む第2のログを出力する工程をさらに実行させる付記11記載の記録媒体。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2015年11月13日に出願された日本出願特願2015−223052を基礎とする優先権を主張し、その開示の全てをここに取り込む。