(57)【要約】  対象システムの状態について人手で事前に定義する必要なく、システムの状態を示す情報を生成することができるログ分析システム、ログ分析方法及び記録媒体を提供する。ログ分析システムは、対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出する特徴抽出部と、特徴、及び対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、対象システムの状態を示すインデックスを生成するインデックス生成部と、を備える。
2019202711.tif 000002
【特許請求の範囲】
【請求項１】
対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出する特徴抽出部と、
前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成するインデックス生成部と、
を備えるログ分析システム。
【請求項２】
前記特徴抽出部は、互いに独立な前記複数のテキストログメッセージの前記特徴を抽出し、
前記特徴抽出部は、任意の時間単位における前記テキストログメッセージの変動に関する前記特徴を抽出し、前記時間単位における複数の前記特徴を組み合わせた情報を出力する、請求項１に記載のログ分析システム。
【請求項３】
前記インデックス生成部は、前記特徴のそれぞれから変動幅を抽出し、時間毎の値を変動幅に基づき正規化する、請求項２に記載のログ分析システム。
【請求項４】
前記特徴抽出部は、前記テキストログメッセージの形式毎の頻度、異なる形式を持つ複数の前記テキストログメッセージの組み合わせ、異なる形式を持つ複数の前記テキストログメッセージの出現順序、前記テキストログメッセージの周期性及び前記テキストログメッセージの形式毎に含まれる変数の種類別出現頻度のうちの少なくともいずれかを前記テキストログメッセージの前記特徴として抽出する、請求項１〜３のいずれか１項に記載のログ分析システム。
【請求項５】
前記インデックス生成部は、前記インデックスを一意に特定することが可能な指標に前記インデックスを変換する、請求項１〜４のいずれか１項に記載のログ分析システム。
【請求項６】
前記インデックス生成部は、距離関数により表現される前記インデックス間の類似性に基づき、前記インデックスを前記指標に変換する、請求項１〜５のいずれか１項に記載のログ分析システム。
【請求項７】
既知の前記インデックスを記憶するインデックス記憶部と、
新たに入力されたテキスト又は数値データに基づき生成された検索用の前記インデックスと、前記既知のインデックスとを照合し、照合結果を出力するインデックス照合部と、
を備える請求項１〜６のいずれか１項に記載のログ分析システム。
【請求項８】
前記インデックス照合部による前記照合結果に基づき、前記対象システムのシステム状態を出力するシステム状態照合部、
を備える請求項７に記載のログ分析システム。
【請求項９】
ログメッセージの第１の時刻における特徴量と、ログメッセージの第１の時刻とは異なる第２の時刻における特徴量との差分を抽出するログ比較部を備え、
前記インデックス生成部は、前記差分をも用いて前記インデックスを生成する、請求項１〜８のいずれか1項に記載のログ分析システム。
【請求項１０】
形式毎の前記テキストログメッセージの集合を、頻度の時系列情報に変換するログ変換部を備え、
前記特徴抽出部は、前記頻度の時系列情報同士、又は前記頻度の時系列情報と前記数値データとの相関関係を前記特徴として抽出する、請求項１〜９のいずれか１項に記載のログ分析システム。
【請求項１１】
対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出し、
前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成する
ログ分析方法。
【請求項１２】
コンピュータに、
対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出し、
前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成する
ことを実行させるプログラムが記録された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ分析システム、ログ分析方法に及び記録媒体に関する。
【背景技術】
【０００２】
特許文献１には、ユーザ端末上でのユーザ操作の操作ログを収集し、その操作ログから特定の操作を抽出する等の、ユーザ端末上でなされたユーザ操作に関する検索技術が記載されている。特許文献１に記載の情報処理システムでは、ユーザ端末が、その端末で生成される操作ログから特徴量を生成し、特徴量が所定の条件を満たした場合に、情報分析装置に操作ログと特徴量とを送信する。情報分析装置は、操作ログに関する検索要求を受信した場合に、特徴量に基づいて操作ログを検索する。【０００３】
特許文献２には、複数のコンポーネントを含むシステムでのイベントの検出ルールを生成する検出ルール生成装置が記載されている。特許文献２に記載の装置は、システムのシステム構成情報及びシステムの履歴情報に基づいて、検出ルールを生成するために選択されるべき候補となる候補イベントを特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５６７７５９２号公報
【特許文献２】特許第５２７４５６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これら特許文献１、２に記載の技術は、システムが出力するテキストのログの一部を用いて既知のシステムの状態を示す特徴量又は検出ルールを生成することを目的とした技術である。そのため、分析の対象とするシステムの状態について、人手で事前に定義する必要がある。【０００６】
本発明は、対象システムの状態について人手で事前に定義する必要なく、システムの状態を示す情報を生成することができるログ分析システム、ログ分析方法及び記録媒体を提供することを１つの目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の側面は、対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出する特徴抽出部と、前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成するインデックス生成部と、を備えるログ分析システムである。【０００８】
本発明の第２の側面は、対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出し、前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成するログ分析方法である。【０００９】
本発明の第３の側面は、コンピュータに、対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出し、前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成することを実行させるプログラムが記録された記録媒体である。
【発明の効果】
【００１０】
本発明によれば、対象システムの状態について人手で事前に定義する必要なく、システムの状態を示す情報を生成することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態によるログ分析システムの構成を示すブロック図である。
【図２Ａ】本発明の第１の実施形態によるログ分析システムにより読み込まれるログファイルの一例を示す図である。
【図２Ｂ】本発明の第１の実施形態によるログ分析システムにより読み込まれる数値データファイルの一例を示す図である。
【図３】本発明の第１の実施形態によるログ分析システムにより読み込まれるログファイルのログフォーマットの一例を示す図である。
【図４】本発明の第１の実施形態によるログ分析システムにより抽出される特徴情報の一例を示す図である。
【図５】本発明の第１の実施形態によるログ分析システムにより生成されるインデックス情報の一例を示す図である。
【図６】本発明の第１の実施形態によるログ分析システムの出力の一例を示す図である。
【図７】本発明の第１の実施形態によるログ分析システムのハードウェア構成の一例を示すブロック図である。
【図８】本発明の第１の実施形態によるログ分析システムのインデックスの生成に関する動作を示すフローチャートである。
【図９】本発明の第１の実施形態によるログ分析システムのインデックスの照合に関する動作を示すフローチャートである。
【図１０】本発明の第２の実施形態によるログ分析システムの構成を示すブロック図である。
【図１１】本発明の第２の実施形態によるログ分析システムにより記憶されるシステム状態の一例を示す図である。
【図１２】本発明の第２の実施形態によるログ分析システムの出力の一例を示す図である。
【図１３】本発明の第３の実施形態によるログ分析システムの構成を示すブロック図である。
【図１４】本発明の第３の実施形態によるログ分析システムにより抽出される特徴情報の一例を示す図である。
【図１５】本発明の第４の実施形態によるログ分析システムの構成を示すブロック図である。
【図１６】本発明の他の実施形態によるログ分析システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
＜第１の実施形態＞
本発明の第１の実施形態によるログ分析システム及びログ分析方法について図１乃至図９を用いて説明する。
【００１３】
まず、本実施形態によるログ分析システムの構成について図１乃至図７を用いて説明する。図１は、本実施形態によるログ分析システムの構成を示すブロック図である。図２Ａ及び図２Ｂは、本実施形態によるログ分析システムにより読み込まれるログファイル及び数値データファイルそれぞれの一例を示す図である。図３は、本実施形態によるログ分析システムにより読み込まれるログファイルのログフォーマットの一例を示す図である。図４は、本実施形態によるログ分析システムにより抽出される特徴情報の一例を示す図である。図５は、本実施形態によるログ分析システムにより生成されるインデックス情報の一例を示す図である。図６は、本実施形態によるログ分析システムの出力の一例を示す図である。図７は、本実施形態によるログ分析システムのハードウェア構成の一例を示すブロック図である。
【００１４】
情報処理システムの運用保守においては、運用保守を行う者（以下、「管理者」と記載する）は、情報処理システムから出力される数値、テキスト等のログを分析し、情報処理システムの状態を判断する。ログの分析において、従来では、管理者がログを分析するためのルールを生成していた。しかし、情報処理システムから出力されるログのサイズが膨大になった結果、管理者がログを網羅的に分析するためのルールを定義することが困難になった。そのために、情報処理システムから出力されるログ分析を支援するための技術が要求されている。
【００１５】
これに対して、本実施形態によるログ分析システムは、情報処理システムなどの対象システムから出力されたログファイルを取得し、ログファイルに含まれるログを分析する。情報処理システムは、例えば、サーバ、クライアント端末、ネットワーク機器その他の情報機器等の機器や、機器上で動作するシステム・ソフトウェア、アプリケーション・ソフトウェア等のソフトウェアにより構成される。なお、本実施形態によるログ分析システムは、情報処理システムのほか、あらゆる対象システムが出力するログを分析の対象とすることができる。
【００１６】
テキストログファイル（以下、適宜「ログファイル」という。）は、複数のテキストログメッセージ（以下、適宜「ログメッセージ」という。）から構成される。言い換えると、ログファイルは複数のログメッセージの集合である。ログメッセージはログレコードとも呼ばれる。ログメッセージは、対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である。より具体的には、ログメッセージは、例えば、当該メッセージが出力された時刻、当該メッセージを一意に識別可能な識別子であるログＩＤ（Identification）、メッセージ本文、ログレベルなど、複数のログ要素により構成される。
【００１７】
図２Ａにログファイル及びログメッセージの一例を示す。ログファイルを構成するログメッセージは、日時などの時刻を示す時刻情報と、ログメッセージの意味を示すメッセージ本文とで構成されている。時刻情報は、例えば、年・月・日、月・日などを含む日付と、時・分・秒、時・分などを含む時刻との組み合わせ、又は日付及び時刻のうちのいずれか一方で構成されている。ログメッセージは、文字で表現され、空白、ドット、スラッシュなど任意の記号で意味を持った単語単位に分割することができる。
【００１８】
図２Ｂに数値データファイル及び数値データの一例を示す。数値データファイルを構成する数値データは、対象システムに関する少なくとも１つの数値情報と、その数値情報が記録された時刻に関する時刻情報とで構成されている。数値データは、対象システムに関する時刻と当該時刻に記録された数値情報とを含んでいる。図２Ｂに示す例では、数値データが、「Time」に対応する時刻情報に加え、ＣＰＵ（Central  Processing  Unit）に関する「CPU」に対応する数値情報、及びメモリに関する「MEM」に対応する数値情報の２種類の数値情報を含んでいることを示している。
【００１９】
図１に示すように、本実施形態によるログ分析システム１０は、ファイル読み込み部１２と、ログフォーマット判定部１４と、フォーマット記憶部１６とを備える。また、本実施形態によるログ分析システム１０は、特徴抽出部１８と、特徴記憶部２０と、インデックス生成部２２と、インデックス記憶部２４と、インデックス照合部２６とを備える。
【００２０】
ファイル読み込み部１２は、対象システムから出力された分析対象とするログファイルを読み込む。ファイル読み込み部１２は、分析対象のシステムからログファイルを直接受信して読み込んでもよい。または、ファイル読み込み部１２は、図示しない記憶部からログファイルを読み出して読み込んでもよい。あるいは、ファイル読み込み部１２は、管理者からログファイルの入力を受け付けてログファイルを読み込んでもよい。
【００２１】
ファイル読み込み部１２は、例えば、読み込み対象とするログファイルの指定、ログを読み込む日時又は時刻範囲の指定など、読み込むログの範囲の指定を管理者から受け付けてもよい。あるいは、ファイル読み込み部１２は、読み込んだログファイルの形式をログ分析システム１０が分析しやすい形式に変換してもよい。この場合、ファイル読み込み部１２は、例えば、ログの分析に必要な情報を定義した図示しないファイルを読み込み、そのファイルが定義する情報に従って、ログファイルの形式を変換することができる。
【００２２】
また、ファイル読み込み部１２は、ログファイルを出力する対象システムから出力された数値データファイルを読み込む。ファイル読み込み部１２は、分析対象のシステムから数値データファイルを直接受信して読み込んでもよい。または、ファイル読み込み部１２は、図示しない記憶部から数値データファイルを読み出して読み込んでもよい。あるいは、ファイル読み込み部１２は、管理者から数値データファイルの入力を受け付けて数値データファイルを読み込んでもよい。
【００２３】
フォーマット記憶部１６は、フォーマット情報を記憶する。フォーマット情報とは、ログメッセージの構造を定義した情報である。図３にフォーマット情報の一例を示す。フォーマット情報は、少なくとも識別ＩＤとフォーマットとで構成された１個以上のフォーマットレコードを含む。識別ＩＤは、フォーマットレコードを識別するために一意に定義される記号である。フォーマットは、ログメッセージの構造を正規化するためのルールである。
【００２４】
図３に示すフォーマット情報の例では、図２Ａに示したログメッセージを構造化するためのルールであるフォーマットを簡単のために文字列で表現している。図３に示すフォーマットにおいて、「(日時)」は、ログメッセージの当該箇所に日時を示す文字列が入ることを意味する。また、「(文字列)」は、ログメッセージの当該箇所に、何らかの文字列が入ることを意味する。また、「(数値)」は、ログメッセージの当該箇所に、数値情報が入ることを意味する。フォーマットは、計算機で処理可能な正規表現の形式で定義されてもよい。
【００２５】
ログフォーマット判定部１４は、ログファイルに含まれるログメッセージの構造、すなわちログメッセージの形式であるログフォーマットを判定する。ログフォーマット判定部１４は、フォーマット記憶部１６に記録されたフォーマット情報と、入力されたログメッセージとを比較する。比較の結果、ログメッセージと合致するフォーマット情報があった場合、ログフォーマット判定部１４は、そのフォーマット情報に基づき、ログメッセージをフォーマット情報に合わせて正規化する。一方、合致するフォーマット情報がない場合、ログフォーマット判定部１４は、入力されたログファイルのうち、既存のフォーマット情報に合致しないログメッセージの集合を抽出し、抽出したログメッセージの集合から新規のフォーマット情報を生成する。ログフォーマット判定部１４は、生成した新規のフォーマット情報をフォーマット記憶部１６に記憶させる。
【００２６】
特徴抽出部１８は、入力されたログファイル及び数値データファイルから、それらの特徴として複数の特徴量を含む特徴情報を抽出する。特徴抽出部１８の詳細は後述する。
【００２７】
特徴記憶部２０は、特徴抽出部１８により抽出された複数の特徴量を含む特徴情報を記憶する。図４に特徴情報の一例を示す。図４に示すように、特徴情報は、時刻情報及び少なくとも１つ以上の特徴量に関する情報を有する特徴レコードで構成されている。図４に示す例では、特徴量として、２つの特徴量１、２が示されている。特徴量１は、フォーマット１００１に対応するログメッセージの出現頻度である。特徴量２は、フォーマット２００１とフォーマット２００２とフォーマット２００３とに対応するログメッセージの組み合わせの出現頻度である。また、当該時刻における特徴量１、２のそれぞれが数値で表現されている。例えば、時刻「12:00:00」では、フォーマット１００１に相当するログメッセージが「10」件出力されていることが示されている。また同時刻「12:00:00」では、フォーマット２００１とフォーマット２００２とフォーマット２００３とに対応するログメッセージがそれぞれ「1」件ずつ出力されたことが示されている。
【００２８】
インデックス生成部２２は、ログファイルの特徴、及び対象システムに関する時刻と当該時刻に記録された数値情報とを含む数値データに基づき、インデックスを生成する。インデックスとは、任意の時間区間における入力データの特徴を示す情報である。すなわち、インデックスは、任意の時間区間における対象システムの状態を示す情報である。インデックス生成部２２の詳細は後述する。
【００２９】
インデックス記憶部２４は、インデックス生成部２２により生成されたインデックスを含むインデックス情報を記憶する。図５にインデックス情報の一例を示す。インデックス情報は、少なくともインデックスと時刻情報とを含む１個以上のインデックス情報レコードで構成されている。さらに、図５に例示するインデックス情報レコードは、前記の情報に加えて、バイナリコードと参考情報とを含んでいる。インデックスは、複数の数値の組み合わせで表現されるシステムの状態を表現する情報である。時刻情報は、前記インデックスが出現した１つ以上の時刻を持つ。バイナリコードは、検索の効率化を目的としてインデックスを変換した値である。参考情報は、例えばそのインデックスに含まれる特徴量、ログメッセージなど、管理者又はユーザがインデックスを解釈するための情報である。
【００３０】
インデックス照合部２６は、検索用に新たに入力されたテキスト及び数値データから生成された検索用のインデックス情報と、インデックス記憶部２４に記録された既知のインデックス情報とを比較する。インデックス照合部２６は、検索用のインデックス情報と完全に合致する既知のインデックス情報があった場合に、そのインデックス情報に含まれるインデックス、時刻などの関連する情報を出力する。完全に合致するインデックス情報がない場合、インデックス照合部２６は、類似する既知のインデックス情報を類似度などとともに出力する。インデックス照合部２６の詳細は後述する。
【００３１】
図６に完全合致の場合及び完全合致がない場合のインデックス照合部２６の出力の例を示す。図６に示すように、完全合致の場合には、合致した既知のインデックス情報に含まれるインデックス、時刻、参考情報が出力される。一方、完全合致がない場合には、類似する既知のインデックス情報に含まれるインデックス、時刻、参考情報が類似度とともに出力される。類似度は、既知のインデックス情報が検索用のインデックス情報と類似する程度を示している。
【００３２】
上述した本実施形態によるログ分析システム１０は、コンピュータ装置により構成することができる。図７は、本実施形態によるログ分析システム１０のハードウェア構成の一例を示している。
【００３３】
図７に示すように、ログ分析システム１０は、ＣＰＵ（Central  Processing  Unit）１０２と、メモリ１０４と、記憶装置１０６と、通信インターフェース１０８とを備える。ログ分析システム１０は、図示しない入力装置、出力装置などを備えていてもよい。なお、ログ分析システム１０は、独立した装置として構成されてもよいし、他の装置と一体に構成されてもよい。
【００３４】
通信インターフェース１０８は、データの送受信を行う通信部であり、有線通信および無線通信の少なくとも一方の通信方式を実行可能に構成される。通信インターフェース１０８は、該通信方式に必要なプロセッサ、電気回路、アンテナ、接続端子などを含む。通信インターフェース１０８は、ＣＰＵ１０２からの信号に従って、該通信方式を用いてネットワークに接続され、通信を行う。通信インターフェース１０８は、例えば分析対象とするログファイル及び数値データファイルを外部のシステムから受信する。
【００３５】
記憶装置１０６は、ログ分析システム１０が実行するプログラム、プログラムによる処理結果のデータなどを記憶する。記憶装置１０６は、読み取り専用のＲＯＭ（Read Only Memory）、読み書き可能のハードディスクドライブ、フラッシュメモリなどを含む。また、記憶装置１０６は、ＣＤ−ＲＯＭ（Compact  Disc  Read  Only  Memory）等のコンピュータ読取可能な可搬記憶媒体を含んでもよい。メモリ１０４は、ＣＰＵ１０２が処理中のデータや記憶装置１０６から読み出されたプログラムおよびデータを一時的に記憶するＲＡＭ（Random  Access  Memory）などを含む。
【００３６】
ＣＰＵ１０２は、処理に用いる一時的なデータをメモリ１０４に一時的に記録し、記憶装置１０６に記録されたプログラムを読み出し、該プログラムに従って該一時的なデータに対し種々の演算、制御、判別などの処理を実行する処理部としてのプロセッサである。また、ＣＰＵ１０２は、記憶装置１０６に処理結果のデータを記録し、また通信インターフェース１０８を介して処理結果のデータを外部に送信する。
【００３７】
ＣＰＵ１０２は、記憶装置１０６に記録されたプログラムを実行することにより、図１に示すファイル読み込み部１２、ログフォーマット判定部１４、特徴抽出部１８、インデックス生成部２２及びインデックス照合部２６として機能する。実行に際して、ＣＰＵ１０２は、通信インターフェース１０８、入力装置及び出力装置を適宜制御する。
【００３８】
また、記憶装置１０６は、図１に示すフォーマット記憶部１６、特徴記憶部２０及びインデックス記憶部２４として機能する。
【００３９】
ログ分析システム１０が実行する通信は、例えばＯＳ（Operating  System）が提供する機能を使ってアプリケーションプログラムが通信インターフェース１０８を制御することによって実現される。入力装置は、例えば、キーボード、マウス又はタッチパネルである。出力装置は、例えばディスプレイである。ログ分析システム１０は、１つの装置に限られず、２つ以上の物理的に分離した装置が有線又は無線で通信可能に接続されることによって構成されていてもよい。また、ログ分析システム１０に含まれる各部は、それぞれ電気回路構成により実現されていてもよい。ここで、電気回路構成とは、単一のデバイス、複数のデバイス、チップセット又はクラウドを概念的に含む文言である。なお、ログ分析システム１０及びその各機能ブロックのハードウェア構成は、上述した構成に限定されない。また、上述したハードウェア構成は、後述する他の実施形態によるログ分析システムにも適用可能である。
【００４０】
なお、本実施形態および後述する各実施形態を例として説明されるログ分析システムは、かかる機能を実現するプログラムが格納されたコンパクトディスクなどの不揮発性の記憶媒体によっても構成される。記憶媒体が格納するプログラムは、例えばドライブ装置により読み出される。
【００４１】
また、ログ分析システム１０の少なくとも一部がＳａａＳ（Software  as  a  Service）形式で提供されてよい。すなわち、ログ分析システム１０を実現するための機能の少なくとも一部が、ネットワーク経由で実行されるソフトウェアによって実行されてよい。
【００４２】
次に、本実施形態によるログ分析システム１０の動作についてさらに図８及び図９を用いて説明する。本実施形態によるログ分析システム１０の動作は、インデックスの生成に関する動作と、インデックスの照合に関する動作との２つに大きく分けられる。
【００４３】
はじめに、インデックスの生成に関する動作について図８を用いて説明する。図８は、本実施形態によるログ分析システム１０のインデックスの生成に関する動作を示すフローチャートである。
【００４４】
インデックスの生成に関する動作において、図８に示すように、まず、ファイル読み込み部１２は、分析対象とするシステムから入力されたログファイル及び数値データファイルを読み込む（ステップＳ１００）。ファイル読み込み部１２は、読み込んだログファイルを出力して、ログフォーマット判定部１４に入力する。ログファイルの出力に際して、ファイル読み込み部１２は、読み込んだログファイルを１行毎、又は有意な複数行のログメッセージを１つの集合として随時出力する。また、ファイル読み込み部１２は、読み込んだ数値データファイルを出力して、特徴抽出部１８に入力する。
【００４５】
次いで、ログフォーマット判定部１４は、ファイル読み込み部１２から入力されたログファイルを構成する各ログメッセージと、フォーマット記憶部１６に記憶された既知のフォーマット情報とを比較する（ステップＳ１０２）。これにより、ログフォーマット判定部１４は、各ログメッセージと合致する既知のフォーマット情報があるか否かを判定する（ステップＳ１０４）。
【００４６】
合致する既知のフォーマット情報がある場合（ステップＳ１０４、ＹＥＳ）、ログフォーマット判定部１４は、ログメッセージに対して、当該ログメッセージに合致したフォーマット情報の識別ＩＤを付与する（ステップＳ１０６）。
【００４７】
一方、合致する既知のフォーマット情報がない場合（ステップＳ１０４、ＮＯ）、ログフォーマット判定部１４は、ログメッセージを、未知フォーマットのログメッセージとして分類する（ステップＳ１０８）。
【００４８】
ログフォーマット判定部１４は、各ログメッセージについてステップＳ１０６又はＳ１０８が完了する毎に、入力されたログファイルと既知のフォーマット情報との比較が完了したか否かを判定する（ステップＳ１１０）。比較が完了していない場合（ステップＳ１１０、ＮＯ）、ログフォーマット判定部１４は、ステップＳ１００に戻り、ステップＳ１００以降のステップを繰り返す。
【００４９】
一方、比較が完了している場合（ステップＳ１１０、ＹＥＳ）、ログフォーマット判定部１４は、未知フォーマットのログメッセージとして分類されたログメッセージがあるか否かを判定する（ステップＳ１１２）。未知フォーマットとして分類されたログメッセージがない場合（ステップＳ１１２、ＮＯ）、ログフォーマット判定部１４は、前記識別ＩＤを付与したログメッセージの集合を出力して、特徴抽出部１８に入力する（ステップＳ１２０）。
【００５０】
未知フォーマットとして分類されたログメッセージがある場合（ステップＳ１１２、ＹＥＳ）、ログフォーマット判定部１４は、未知フォーマットとして分類されたログメッセージの集合からフォーマット情報を抽出する（ステップＳ１１４）。フォーマット情報の抽出には、例えば、クラスタリング、シーケンシャルパターンマイニングなどの既知の機械学習のアルゴリズムを利用することができる。また、フォーマット情報の抽出に際しては、管理者又はユーザが、ログに含まれるユーザ名、マシン名などの変数に関する任意の定義情報をログフォーマット判定部１４に対して与えてもよい。
【００５１】
一例として、異なる複数のフォーマットを持つログメッセージが混在していた場合、ログフォーマット判定部１４は、次のようにしてフォーマットを抽出することができる。すなわち、まず、ログフォーマット判定部１４は、クラスタリングにより各フォーマットに属するログメッセージを分類する。次いで、ログフォーマット判定部１４は、分類したクラスタ内部で各ログメッセージに共通する文字列と、ログメッセージ間で異なる変動する文字列とを分離することで、フォーマットを抽出する。
【００５２】
なお、上述の場合、ログフォーマット判定部１４は、すべてのログメッセージのフォーマット判定を完了した時点（ステップＳ１１０、ＹＥＳ）で、未知フォーマットのログメッセージの集合からフォーマットを抽出している（ステップＳ１１４）。このほか、例えば、ログメッセージを逐次入力する場合やデータベースからログメッセージを読み込む場合は、ログフォーマット判定部１４は、定期的に未知フォーマットのログメッセージの集合からフォーマットを抽出するよう動作してもよい。この場合、ログフォーマット判定部１４は、任意の時間幅、又は未知フォーマットのログメッセージの数に基づき、ログメッセージの集合からフォーマットを抽出するよう動作することができる。
【００５３】
次いで、ログフォーマット判定部１４は、抽出した未知フォーマットの情報に識別ＩＤを付与し、フォーマット記憶部１６に記憶させる（ステップＳ１１６）。
【００５４】
次いで、ログフォーマット判定部１４は、未知フォーマットのログメッセージの集合に含まれる各ログメッセージに対して、フォーマット記憶部１６に記憶させた識別ＩＤを付与する（ステップＳ１１８）。次いで、ログフォーマット判定部１４は、前記識別ＩＤを付与したログメッセージの集合を出力して、特徴抽出部１８に入力する（ステップＳ１２０）。
【００５５】
次いで、特徴抽出部１８は、ログフォーマット判定部１４から入力された前記識別ＩＤを有するログメッセージの集合と、ファイル読み込み部１２から入力された数値データとから複数の特徴量を抽出する（ステップＳ１２２）。特徴抽出部１８は、入力されたデータをモデル化するための既知の数値統計、機械学習等のアルゴリズムを特徴量抽出ルールとして一又は複数備えている。
【００５６】
特徴抽出部１８は、入力された前記識別ＩＤを有するログメッセージの集合から一又は複数の特徴量を抽出する。抽出するログメッセージの特徴量としては、例えば、異なる識別ＩＤを持つ複数のログメッセージの組み合わせ、異なる識別ＩＤを持つ複数のログメッセージの出現順序、ログメッセージの周期性などがある。また、特徴量として、例えば、ログメッセージの識別ＩＤ毎に含まれる変数の出現頻度又は種類別出現頻度などがある。ここで、識別ＩＤが異なるとは、ログフォーマットが異なることを意味し、識別ＩＤ毎とは、ログフォーマット毎であることを意味する。
【００５７】
例えば、特徴抽出部１８は、単位時間毎に、前記識別ＩＤ毎のログメッセージの出現頻度を集計する。特徴抽出部１８は、前記出現頻度の値として、合計値、単純平均値、最大値、最小値、移動平均値などを用いることができる。さらに、特徴抽出部１８は、前記単位時間当たりの識別ＩＤ毎のログメッセージの出現頻度の情報に対して、例えば、アプリオリアルゴリズム、ＬＣＭ（Linear  time  Closed  itemset  Miner）などの頻出パターンマイニングのアルゴリズムを適用することができる。これにより、特徴抽出部１８は、識別ＩＤを持つ複数のログメッセージで構成されたログメッセージの組み合わせを求めることができる。また、特徴抽出部１８は、前記単位時間当たりの識別ＩＤ毎のログメッセージの出現頻度の情報に対して、例えば、シーケンシャルパターンマイニングのアルゴリズムを適用することができる。これにより、特徴抽出部１８は、識別ＩＤを持つ複数のログメッセージで構成されたログメッセージの出力順序を求めてもよい。
【００５８】
また、特徴抽出部１８は、入力された数値データから一又は複数の特徴量を抽出する。抽出する数値データの特徴量としては、例えば、単位時間当たりの単純平均値、最大値、最小値、移動平均値、周波数などがある。
【００５９】
なお、特徴抽出部１８は、複数の特徴量を抽出するものであればよい。例えば、特徴抽出部１８は、ログメッセージの集合から複数の特徴量を抽出するものであってもよいし、ログメッセージ及び数値データから複数の特徴量を抽出するものであってもよい。
【００６０】
特徴抽出部１８は、前記ログメッセージの特徴量及び前記数値データの特徴量を、任意の単位時間毎に抽出する。例えば、１分毎に特徴量を抽出する。
【００６１】
さらに、特徴抽出部１８は、抽出した特徴量を含む特徴情報を、インデックス生成部２２に入力する。さらに、特徴抽出部１８は、抽出した特徴量を含む特徴情報を、特徴量毎に特徴記憶部２０に記憶させる。
【００６２】
図４に特徴抽出部１８により抽出された特徴量を含む特徴情報の一例を示す。前記特徴量は、単位時間毎に出力されており、それぞれが複数の特徴量で構成されている。図４に示す例では、２種類の特徴量として、特徴量１であるフォーマット１００１の出現頻度と、特徴量２であるフォーマット２００１とフォーマット２００２とフォーマット２００３との組み合わせの出現頻度が定義されている。特徴量１、２は、それぞれ単位時間毎に、すなわち１分毎に出力されている。
【００６３】
なお、上述の動作では、特徴抽出部１８が任意の単位時間で特徴量を抽出しているが、これに限定されるものではない。例えば、特徴抽出部１８は、１分、１０分、１時間等の複数の時間幅で集計した値をそれぞれ出力してもよい。
【００６４】
さらに、特徴抽出部１８は、数値データを単位時間毎に分割したデータを、そのまま単位時間毎の特徴量として抽出して登録してもよい。
【００６５】
次いで、インデックス生成部２２は、特徴抽出部１８により抽出された特徴量を含む特徴情報に基づき、インデックスを生成する（ステップＳ１２４）。図４に例示するように、特徴抽出部１８により抽出された前記単位時間毎の特徴量は、互いに異なる複数の特徴量を含んでいる。インデックス生成部２２は、複数の特徴量を用いてインデックスを生成する。
【００６６】
例えば、インデックス生成部２２は、次のようにしてインデックスを生成することができる。すなわち、インデックス生成部２２は、入力された特徴量のデータの全区間に対して、特徴量毎に値を正規化する。インデックス生成部２２は、正規化した複数の単位時間当たりの特徴量の組み合わせをインデックスとして生成する。正規化の一例としては、インデックス生成部２２は、特徴量毎に全区間の値の最大値、すなわち変動幅を抽出し、抽出した最大値で単位時間毎の値を除算した値をインデックスの値として用いることができる。例えば、図４に示す例において、特徴量１の全区間における最大値が「100」であるとすると、時刻「12:00:00」において正規化された値は「0.1」となる。
【００６７】
また、インデックス生成部２２はインデックスの生成にニューラルネットワークを利用してもよい。ニューラルネットワークとしては、例えば、畳み込みニューラルネットワーク（Convolutional  Neural  Network、ＣＮＮ）、再帰型ニューラルネットワーク（Recurrent  Neural  Network、ＲＮＮ）、オートエンコーダなどを利用することができる。
【００６８】
さらに、インデックス生成部２２は、上述のようにして生成したインデックス同士の類似性を判定し、重複するインデックスを排除することができる。その際、インデックス生成部２２は、排除したインデックスが有していた時刻情報を、排除されなかったインデックスに付与することができる。例えば時刻「2017/09/26  11:30:00」と「2017/09/27  09:50:00」とが全く同一のインデックス「-1,  0.5,  -0.2,  1」を有していた場合、後者のインデックス情報を削除し、前者の時刻情報に後者の時刻情報を追加することができる。
【００６９】
さらに、インデックス生成部２２は、生成したインデックスを、任意のアルゴリズムを用いてバイナリコードに変換することができる。バイナリコードは、「0」又は「1」の組み合わせで表現される複数桁のコードである。例えば、インデックス生成部２２は、符号関数などの変換ルールにより例えば、「-1,  0.5,  -0.2,  1」で表されるインデックスを「0101」で表されるバイナリコードに変換することができる。
【００７０】
また、上述の例では、インデックスの桁数とバイナリコードの桁数とが互いに同一であったが、必ずしも両者の桁数が互いに同一である必要ない。例えば、インデックスをバイナリコードに変換する際、インデックス生成部２２は、符号と値とを個別に表現することができる。この場合、インデックス生成部２２は、「-1,  0.5,  -0.2,  1」のインデックスを、符号と値とを個別に表現して「01110011」などのバイナリコードに変換することもできる。
【００７１】
また、バイナリコードに変換する際の制約条件として、ユークリッド距離、マンハッタン距離などの距離関数によって表現可能なインデックス同士の類似性を用いてもよい。例えば、「-1,  0.5,  -0.2,  1」、「-0.5,  1,  0.3,  1」及び「1,  0,  1,  -1」の３種類のインデックスがあった場合を考える。「-1,  0.5,  -0.2,  1」と「-0.5,  1,  0.3,  1」とのユークリッド距離は、約0.87である。一方、「-1,  0.5,  -0.2,  1」と「1,  0,  1,  -1」とのユークリッド距離は、約3.11である。このため、後者の組は、前者の組と比較してインデックス間の類似性が低いと判断することができる。このようなインデックス間の類似性の高低に応じて、バイナリコードの類似性も高低があるように、バイナリコードを定義することができる。その際、インデックス生成部２２は、ＣＮＮ、ＲＮＮ、オートエンコーダなどのニューラルネットワークを用いてインデックスをバイナリコードに変換してもよい。
【００７２】
また、インデックス生成部２２は、別途定義される任意のハッシュ関数を用いて前記インデックスをハッシュ値に変換してもよい。
【００７３】
また、インデックス生成部２２は、インデックスを変換する指標として、上述したバイナリコードのほか、インデックスを一意に特定することが可能な指標であれば、種々の指標を採用することができる。例えば、インデックス生成部２２は、インデックスを変換する指標としてビットマップなどを採用してもよい。
【００７４】
また、上述の動作において、インデックス生成部２２は、特徴抽出部１８から出力された単位時間当たりの特徴量の組み合わせから、そのままインデックスを生成していたが、これに限定されるものではない。インデックス生成部２２は、単位時間当たりの特徴量の組み合わせに対してさらに四則演算、平均、最大、最少などの統計処理を施した値を用いてインデックスを生成してもよい。例えば、インデックス生成部２２は、特徴抽出部１８が１分毎に抽出した特徴量をさらに１０分毎の平均値として集計した値を用いてインデックスを生成してもよい。
【００７５】
次いで、インデックス生成部２２は、上述のようにして生成したインデックスを含むインデックス情報をインデックス記憶部２４に記憶させる（ステップＳ１２６）。
【００７６】
こうして、本実施形態によるログ分析システム１０は、インデックスの生成に関する動作を終了する。
【００７７】
次に、インデックスの照合に関する動作について図９を用いて説明する。図９は、本実施形態によるログ分析システム１０のインデックスの照合に関する動作を示すフローチャートである。
【００７８】
インデックスの照合に際しては、ログ分析システム１０に対して、検索用に新たにテキスト及び数値データが入力される。入力されるテキストは、テキストログ自体であってもよいし、テキストログを構成しうるテキストであってもよい。また、テキスト又は数値データが入力されればよい。なお、検索用に新たに入力されたテキスト及び数値データから検索用のインデックスを生成する動作までは、前述の動作と同一であるため説明を省略する。
【００７９】
まず、インデックス生成部２２は、上述のように検索用に新たに入力されたテキスト及び数値データに基づき、検索用のインデックスを含む検索用のインデックス情報を生成する（ステップＳ２００）。インデックス生成部２２は、生成した検索用のインデックス情報をインデックス照合部２６に入力する。なお、インデックス生成部２２は、入力されたデータから所与の単位時間毎にインデックスを生成することができる。また、インデックス生成部２２は、管理者又はユーザにより入力された任意の単位時間毎にインデックスを生成するように動作してもよい。
【００８０】
次いで、インデックス照合部２６は、インデックス生成部２２から入力された検索用のインデックス情報と、インデックス記憶部２４に記憶された既知のインデックス情報とを照合する（ステップＳ２０２）。照合に際して、インデックス照合部２６は、例えば、単純なインデックス、又はインデックスが変換されたバイナリコード若しくはハッシュを比較することができる。これにより、インデックス照合部２６は、検索用のインデックス情報と完全合致する既知のインデックス情報があるか否かを判定する（ステップＳ２０４）。
【００８１】
完全に合致した既知のインデックス情報がある場合（ステップＳ２０４、ＹＥＳ）、インデックス照合部２６は、照合結果として、完全合致した既知のインデックス情報を出力する（ステップＳ２０６）。
【００８２】
一方、完全に合致した既知のインデックス情報がない場合（ステップＳ２０４、ＮＯ）、インデックス照合部２６は、照合結果として、検索用のインデックス情報と類似する一又は複数の既知のインデックス情報をその類似度とともに出力する（ステップＳ２０８）。インデックス照合部２６は、任意の関数を用いて計算される類似度が所与の閾値を超えた既知のインデックス情報のみを出力することができる。インデックス照合部２６は、例えば、ユークリッド距離、マンハッタン距離などの距離関数を用いて、検索用のインデックス情報と既知のインデックス情報との類似度を計算することができる。
【００８３】
なお、インデックス情報を出力する際、インデックス照合部２６は、類似する既知のインデックス情報及びその類似度を類似度の降順に出力してもよい。また、インデックス照合部２６は、完全合致又は類似した既知のインデックス情報に含まれる時刻情報に基づき、元のテキストログ及び数値データを参考情報として出力することもできる。また、インデックス照合部２６は、例えば、類似する既知のインデックス情報をすべて出力し、閾値を超えた類似度を持つ既知のインデックス情報についてのみ、色を変更するなどの強調表示をしてもよい。
【００８４】
こうして、本実施形態によるログ分析システム１０は、インデックスの照合に関する動作を終了する。
【００８５】
上述のように、本実施形態によるログ分析システム１０は、入力されたテキストのログ及び数値データを異なる複数の観点でモデル化し、モデル化した情報を統合したインデックスを生成する。こうして生成したインデックスに基づき、これにより、本実施形態によるログ分析システム１０は、任意の時刻のシステムの状態を同定することができる。
【００８６】
さらに、本実施形態によるログ分析システム１０は、複数の観点のモデル又は生の数値データを組み合わせた過去のインデックスを用いることにより、システムの状態を示す特徴量の情報の欠損を低減し、さらには最小化することができる。本実施形態では、システムの状態の分析において重要となる数値データをテキストログとともに扱うことができる。
【００８７】
また、本実施形態によるログ分析システム１０は、インデックス情報をバイナリコード又はハッシュ値に変換することで、大量のテキストログ及び数値データを有するシステムであっても高速かつ効率的にシステム状態の同定することができる。
【００８８】
こうして、本実施形態によれば、対象システムの状態に関する情報及び構成情報を事前に与えることなく、テキストログおよび数値データからシステムの状態を示す特徴量を情報の欠損を低減しつつ生成することができる。また、本実施形態によれば、対象システムの状態について人手で事前に定義する必要なく、システムの状態を示す情報を生成することができる。さらに、本実施形態によれば、生成した特徴量を用いてシステムの状態を同定することができる。
【００８９】
なお、ファイル読み込み部１２、ログフォーマット判定部１４、フォーマット記憶部１６、特徴抽出部１８、特徴記憶部２０、インデックス生成部２２、インデックス記憶部２４、インデックス照合部２６は、種々のタイミングで動作を開始することができる。これら各部は、例えば、それぞれ図示しない入力装置から管理者又はユーザによるログ分析開始の命令を受信すること、他のプログラムやソフトウェアによるログ分析開始の命令を受信すること、ログファイルの入力、更新などを契機に動作を開始することができる。なお、後述する第２の実施形態におけるシステム状態照合部２８及びシステム状態記憶部３０、第３の実施形態におけるログ比較部３２、並びに第４の実施形態におけるログ変換部３４も、同様に動作を開始することができる。
【００９０】
＜第２の実施形態＞
本発明の第２の実施形態によるログ分析システム及びログ分析方法について図１０乃至図１２を用いて説明する。なお、上記第１の実施形態によるログ分析システム及びログ分析方法と同様の構成要素については同一の符号を付し説明を省略し又は簡略にする。
【００９１】
まず、本実施形態によるログ分析システムの構成について図１０を用いて説明する。図１０は、本実施形態によるログ分析システム２１０の構成を示すブロック図である。
【００９２】
本実施形態によるログ分析システム２１０の基本的構成は、第１の実施形態によるログ分析システム１０の構成とほぼ同様である。本実施形態によるログ分析システム２１０は、第１の実施形態によるログ分析システム１０の構成に加えて、システム状態照合部２８と、システム状態記憶部３０とを備える。
【００９３】
システム状態記憶部３０は、当該システムにおいて過去のシステム状態とそれに関連する時刻とを記憶する。図１１にシステム状態の一例を示す。システム状態としては、特に限定されるものではないが、図１１に示すように、例えば、スイッチの故障を示す「スイッチ故障」、ネットワークの障害を示す「ＮＷ障害」、ハードディスクの故障を示す「ＨＤＤ故障」等が記憶される。
【００９４】
システム状態照合部２８は、上記第１の実施形態において説明したインデックス照合部２６による照合の結果として出力された過去のインデックス情報に含まれる時刻に基づき、システム状態記憶部３０の情報を検索する。さらに、システム状態照合部２８は、情報を検索した結果、システム状態記憶部３０に記憶された当該時刻に関連するシステム状態を出力する。
【００９５】
なお、本実施形態によるログ分析システム２１０は、第１の実施形態によるログ分析システム１０と同様に図７に示すハードウェア構成を採ることができる。この場合、ＣＰＵ１０２は、記憶装置１０６に記録されたプログラムを実行することにより、図１０に示すシステム状態照合部２８としても機能する。また、記憶装置１０６は、図１０に示すシステム状態記憶部３０としても機能する。
【００９６】
次に、本実施形態によるログ分析システム２１０の動作についてさらに図１２を用いて説明する。図１２は、本実施形態によるログ分析システムの出力の一例を示す図である。なお、インデックス照合部２６までの動作は、第１の実施形態によるログ分析システム１０における当該要素の動作と同一であるため説明を省略する。
【００９７】
システム状態照合部２８は、インデックス照合部２６から出力される照合結果に基づき、システム状態記憶部３０を検索して、照合結果と合致するシステム状態を出力する。例えば、インデックス照合部２６の照合結果として、時刻として「2017/08/30  13:45:00」を含む既知のインデックス情報が得られた場合、システム状態照合部２８は、この時刻をキーとしてシステム状態記憶部３０を検索する。システム状態記憶部３０に当該時刻を含むシステム状態が記録されていた場合、システム状態照合部２８は、当該システム状態を出力する。
【００９８】
一方、システム状態記憶部３０に当該時刻を含むシステム状態が記録されていない場合、システム状態照合部２８は、合致する過去のシステム状態がない旨を示す照合結果を出力する。
【００９９】
また、インデックス照合部２６は、類似度とともに複数の既知のインデックス情報を出力する場合がある。この場合、システム状態照合部２８は、それぞれに合致するシステム状態の有無を検索する。さらに、システム状態照合部２８は、合致結果を類似度に基づき並び替えて出力する。
【０１００】
図１２にシステム状態照合部２８の出力の一例を示す。図１２に示す場合、システム状態としては、当該システムで過去に発生した障害情報が登録されている。なお、これらのシステム状態はあくまでも例示であり、任意のテキストログメッセージと数値データの組み合わせによって定義可能な状態であれば、いかなる状態をもシステム状態とすることができる。システム状態としては、歩行、着席などの運動状態の変化といったユーザの行動や、工場の作業員による物理システムの操作及びその影響を例示することができる。また、システム状態として、社員の作業効率や集中度合いといった労働生産性又は精神状態を例示することができる、さらに、システム状態として、営業員の契約成否、会社の経営、会社の財務状況を例示することができる。
【０１０１】
上述のように、本実施形態によるログ分析システム２１０では、インデックス照合部２６が、入力データと合致又は類似する状態であった時刻情報を出力する。また、システム状態照合部２８が、出力された時刻情報に基づきシステム状態記憶部３０に記憶されたシステム状態を検索し、合致したシステム状態を出力する。
【０１０２】
こうして、本実施形態によれば、ユーザが特定のシステム状態に関するテキストログ及び数値データに関するルールを定義することなく、入力されたテキストログ及び数値データに関連する過去のシステム状態を出力することができる。
【０１０３】
＜第３の実施形態＞
本発明の第３の実施形態によるログ分析システム及びログ分析方法について図１３及び図１４を用いて説明する。なお、上記第１及び第２の実施形態によるログ分析システム及びログ分析方法と同様の構成要素については同一の符号を付し説明を省略し又は簡略にする。
【０１０４】
まず、本実施形態によるログ分析システムの構成について図１３を用いて説明する。図１３は、本実施形態によるログ分析システム３１０の構成を示すブロック図である。
【０１０５】
本実施形態によるログ分析システム３１０の基本的構成は、第１の実施形態によるログ分析システム１０の構成とほぼ同様である。本実施形態によるログ分析システム３１０は、第１の実施形態によるログ分析システム１０の構成に加えて、ログ比較部３２を備える。
【０１０６】
ログ比較部３２は、特徴抽出部１８により抽出された過去のログメッセージの特徴量と、ログ分析システム３１０に新たに入力されたデータに含まれるログメッセージの特徴量との差分を差分情報として抽出する。すなわち、ログ比較部３２は、ログメッセージの第１の時刻における特徴量と、ログメッセージの第１の時刻とは異なる第２の時刻における特徴量との差分を差分情報として抽出する。
【０１０７】
なお、本実施形態によるログ分析システム３１０は、第１の実施形態によるログ分析システム１０と同様に図７に示すハードウェア構成を採ることができる。この場合、ＣＰＵ１０２は、記憶装置１０６に記録されたプログラムを実行することにより、図１３に示すログ比較部３２としても機能する。
【０１０８】
次に、本実施形態によるログ分析システム３１０の動作についてさらに図１４を用いて説明する。図１４は、本実施形態によるログ分析システムにより抽出される特徴情報の一例を示す図である。なお、以下では、第１の実施形態によるログ分析システム１０の動作との差異のみ説明する。
【０１０９】
ログ比較部３２は、ログ分析システム３１０に新たに入力されたデータに含まれるログメッセージの特徴量と、特徴記憶部２０に記憶された過去のログメッセージの特徴量とを比較し、両特徴量の差分を差分情報として抽出する。
【０１１０】
例えば、ログ比較部３２は、ログメッセージの特徴量として、識別ＩＤ毎のログメッセージの出現頻度を比較することができる。この場合、ログ比較部３２は、過去の出現頻度の最大値若しくは最小値、又は標準偏差から算出される範囲から外れた時刻又は値を差分情報として抽出することができる。
【０１１１】
また、例えば、ログ比較部３２は、ログメッセージの特徴量として、識別ＩＤを持つ複数のログメッセージで構成されたログメッセージの出力順序を比較することができる。この場合、ログ比較部３２は、過去の出力順序と一致しないログメッセージの組み合わせの数及び一連のログメッセージが含まれている時間範囲を差分情報として抽出することができる。
【０１１２】
また、例えば、ログ比較部３２は、ログメッセージの特徴量として、任意の時間幅において出力されたログと、フォーマット記憶部１６に記録されたフォーマットとを比較することができる。この場合、ログ比較部３２は、フォーマットと一致しないログメッセージの数及びフォーマットと一致しないログメッセージが含まれる時間範囲を差分情報として抽出することができる。また、時間範囲を一定の幅で分割するようユーザが任意に定義してもよい。
【０１１３】
さらに、ログ比較部３２は、抽出した差分情報を、特徴抽出部１８が出力する特徴情報に付加して、インデックス生成部２２に入力する。図１４に特徴抽出部１８及びログ比較部３２から出力される特徴情報の一例を示す。
【０１１４】
インデックス生成部２２は、第１の実施形態による特徴抽出部１８から入力される特徴情報に加え、ログ比較部３２から入力される差分情報を合わせてインデックスを生成する。インデックス生成部２２は、差分情報を特徴量の１つとして取り扱って、上記と同様にインデックスを生成することができる。
【０１１５】
例えば、図１４に示すように、インデックス生成部２２は、第１の実施形態による特徴抽出部１８から入力されるフォーマット１００１の出現頻度を意味する特徴量１とフォーマット２００１と２００２と２００３の組み合わせの出現頻度を意味する特徴量２と、ログ比較部３２から入力されるフォーマットと一致しないログメッセージの数及び当該ログメッセージが含まれる時間範囲の差分情報に対応する特徴量３とを合わせてインデックスを生成することができる。
【０１１６】
本実施形態によるログ分析システム３１０は、特徴記憶部２０に記憶されたログの特徴情報をシステムの定常状態の振る舞いとみなし、そこからの差分を別の要素としてログの特徴およびインデックスに加える。これにより、本実施形態によるログ分析システム３１０は、定常と非定常という２つの要素を含むインデックスを生成、比較することができる。
【０１１７】
こうして、本実施形態によれば、ユーザがシステムの定常的な状態を定義することなく、システムの非定常的な振る舞いと定常的な振る舞いとを考慮したシステム状態のデータベースを作成し、検索することができる。
【０１１８】
＜第４の実施形態＞
本発明の第４の実施形態によるログ分析システム及びログ分析方法について図１５を用いて説明する。なお、上記第１乃至第３の実施形態によるログ分析システム及びログ分析方法と同様の構成要素については同一の符号を付し説明を省略し又は簡略にする。
【０１１９】
まず、本実施形態によるログ分析システムの構成について図１５を用いて説明する。図１５は、本実施形態によるログ分析システム４１０の構成を示すブロック図である。
【０１２０】
本実施形態によるログ分析システム４１０の基本的構成は、第１の実施形態によるログ分析システム１０の構成とほぼ同様である。本実施形態によるログ分析システム４１０は、第１の実施形態によるログ分析システム１０の構成に加えて、ログ変換部３４を備える。
【０１２１】
ログ変換部３４は、ログフォーマット判定部１４によるログフォーマットの判定結果に基づき、前記識別ＩＤ毎に頻度の時系列分布を生成する。また、ログ変換部３４は、特徴抽出部１８により抽出された特徴量毎に頻度の時系列分布を生成する。
【０１２２】
なお、本実施形態によるログ分析システム４１０は、第１の実施形態によるログ分析システム１０と同様に図７に示すハードウェア構成を採ることができる。この場合、ＣＰＵ１０２は、記憶装置１０６に記録されたプログラムを実行することにより、図１５に示すログ変換部３４としても機能する。
【０１２３】
次に、本実施形態によるログ分析システム４１０の動作について説明する。なお、以下では、第１の実施形態によるログ分析システム１０の動作との差異のみ説明する。
【０１２４】
ログ変換部３４は、入力されたデータを数値の時系列分布へと変換する。より具体的には、例えば、ログ変換部３４には、ログフォーマット判定部１４から前記識別ＩＤが付与されたログメッセージの集合が入力される。ログ変換部３４は、入力された前記識別ＩＤが付与されたログメッセージの集合に基づき、前記識別ＩＤ毎に頻度の時系列情報へと変換する。
【０１２５】
例えば、１分単位の数値時系列情報へ変換する場合、「2017/09/26  11:00:00」〜「2017/09/26  11:00:59」に前記識別ＩＤ「1」のログメッセージが２０件出力されていた場合、時刻「2017/09/26  11:00:00」における頻度は「20」となる。
【０１２６】
また、ログ変換部３４は、特徴抽出部１８から出力された特徴量の分布を同様に変換する。例えば、「2017/09/26  11:00:00」〜「2017/09/26  11:00:59」に前記識別ＩＤの出力順序「1、2、3」のログメッセージの組が10組存在していた場合、時刻「2017/09/26  11:00:00」における頻度は「10」となる。また、ログメッセージの組が２つの時刻にまたがる場合は、一連のログメッセージのうち最後のログメッセージが含まれる時刻に対して頻度を加算するものとすることができる。
【０１２７】
ログ変換部３４は、上述のようにして所与の単位毎に頻度を集計した頻度の時系列情報を出力して、特徴抽出部１８に入力する。
【０１２８】
特徴抽出部１８は、第１の実施形態における特徴量に加え、ログ変換部３４から入力された頻度の数値時系列情報同士、又は頻度の数値時系列情報と数値データとの相関関係をログの特徴量として抽出する。特徴抽出部１８は、相関関係の抽出に際して、例えば、ＡＲＸ（Auto-Regressive  eXogenous）モデル、ルールマイニングなどの相関関係を抽出するための既知のアルゴリズムを利用することができる。
【０１２９】
本実施形態のように、頻度の時系列情報をも用いて、インデックスを生成するための特徴量を抽出することができる。
【０１３０】
［他の実施形態］
上記実施形態において説明したログ分析システムは、他の実施形態によれば、図１６に示すように構成することもできる。図１６は、他の実施形態によるログ分析システムの構成を示すブロック図である。
【０１３１】
図１６に示すように、他の実施形態によるログ分析システム１０００は、特徴抽出部１００２と、インデックス生成部１００４とを備える。特徴抽出部１００２は、対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出する。インデックス生成部１００４は、特徴、及び対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、対象システムの状態を示すインデックスを生成する。
【０１３２】
他の実施形態によるログ分析システム１０００によれば、テキストログファイルの特徴及び数値データに基づき、対象システムの状態を示すインデックスを生成する。これにより、他の実施形態によれば、対象システムの状態について人手で事前に定義する必要なく、システムの状態を示す情報を生成することができる。
【０１３３】
［変形実施形態］
本発明は、上記実施形態に限らず、種々の変形が可能である。
【０１３４】
例えば、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。また、本発明は、上述した各実施の形態に限定されず、様々な態様で実施されることが可能である。
【０１３５】
また、上述の各実施形態の機能を実現するように該実施形態の構成を動作させるプログラムを記録媒体に記録させ、該記録媒体に記録されたプログラムをコードとして読み出し、コンピュータにおいて実行する処理方法も各実施形態の範疇に含まれる。すなわち、コンピュータ読取可能な記録媒体も各実施形態の範囲に含まれる。また、上述のコンピュータプログラムが記録された記録媒体はもちろん、そのコンピュータプログラム自体も各実施形態に含まれる。
【０１３６】
該記録媒体としては例えばフロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ（Compact  Disc-Read  Only  Memory）、磁気テープ、不揮発性メモリカード、ＲＯＭを用いることができる。また該記録媒体に記録されたプログラム単体で処理を実行しているものに限らず、他のソフトウェア、拡張ボードの機能と共同して、ＯＳ（Operating  System）上で動作して処理を実行するものも各実施形態の範疇に含まれる。
【０１３７】
また、各ブロック図に示したブロック分けは、説明の便宜上から表された構成である。各実施形態を例に説明された本発明は、その実装に際して、各ブロック図に示した構成には限定されない。
【０１３８】
以上、本発明を実施するための形態について説明したが、上記実施の形態は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明はその趣旨を逸脱することなく変更、改良され得ると共に、本発明にはその等価物も含まれる。
【０１３９】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１４０】
（付記１）
対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出する特徴抽出部と、
前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成するインデックス生成部と、
を備えるログ分析システム。
【０１４１】
（付記２）
前記特徴抽出部は、互いに独立な前記複数のテキストログメッセージの前記特徴を抽出し、
前記特徴抽出部は、任意の時間単位における前記テキストログメッセージの変動に関する前記特徴を抽出し、前記時間単位における複数の前記特徴を組み合わせた情報を出力する、付記１に記載のログ分析システム。
【０１４２】
（付記３）
前記インデックス生成部は、前記特徴のそれぞれから変動幅を抽出し、時間毎の値を変動幅に基づき正規化する、付記２に記載のログ分析システム。
【０１４３】
（付記４）
前記特徴抽出部は、前記テキストログメッセージの形式毎の頻度、異なる形式を持つ複数の前記テキストログメッセージの組み合わせ、異なる形式を持つ複数の前記テキストログメッセージの出現順序、前記テキストログメッセージの周期性及び前記テキストログメッセージの形式毎に含まれる変数の種類別出現頻度のうちの少なくともいずれかを前記テキストログメッセージの前記特徴として抽出する、付記１〜３のいずれかに記載のログ分析システム。
【０１４４】
（付記５）
前記インデックス生成部は、前記インデックスを一意に特定することが可能な指標に前記インデックスを変換する、付記１〜４のいずれかに記載のログ分析システム。
【０１４５】
（付記６）
前記インデックス生成部は、距離関数により表現される前記インデックス間の類似性に基づき、前記インデックスを前記指標に変換する、付記１〜５のいずれかに記載のログ分析システム。
【０１４６】
（付記７）
既知の前記インデックスを記憶するインデックス記憶部と、
新たに入力されたテキスト又は数値データに基づき生成された検索用の前記インデックスと、前記既知のインデックスとを照合し、照合結果を出力するインデックス照合部と、
を備える付記１〜６のいずれかに記載のログ分析システム。
【０１４７】
（付記８）
前記インデックス照合部による前記照合結果に基づき、前記対象システムのシステム状態を出力するシステム状態照合部、
を備える付記７に記載のログ分析システム。
【０１４８】
（付記９）
ログメッセージの第１の時刻における特徴量と、ログメッセージの第１の時刻とは異なる第２の時刻における特徴量との差分を抽出するログ比較部を備え、
前記インデックス生成部は、前記差分をも用いて前記インデックスを生成する、付記１〜８のいずれかに記載のログ分析システム。
【０１４９】
（付記１０）
形式毎の前記テキストログメッセージの集合を、頻度の時系列情報に変換するログ変換部を備え、
前記特徴抽出部は、前記頻度の時系列情報同士、又は前記頻度の時系列情報と前記数値データとの相関関係を前記特徴として抽出する、付記１〜９のいずれかに記載のログ分析システム。
【０１５０】
（付記１１）
対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出し、
前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成する
ログ分析方法。
【０１５１】
（付記１２）
コンピュータに、
対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出し、
前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成する
ことを実行させるプログラムが記録された記録媒体。
【符号の説明】
【０１５２】
１０、２１０、３１０、４１０、１０００…ログ分析システム
１２…ファイル読み込み部
１４…ログフォーマット判定部
１６…フォーマット記憶部
１８…特徴抽出部
２０…特徴記憶部
２２…インデックス生成部
２４…インデックス記憶部
２６…インデックス照合部
２８…システム状態照合部
３０…システム状態記憶部
３２…ログ比較部
３４…ログ変換部
１０２…ＣＰＵ
１０４…メモリ
１０６…記憶装置
１０８…通信インターフェース
１００２…特徴抽出部
１００４…インデックス生成部
【図１】
2019202711.tif 000003
【図２Ａ】
2019202711.tif 000004
【図２Ｂ】
2019202711.tif 000005
【図３】
2019202711.tif 000006
【図４】
2019202711.tif 000007
【図５】
2019202711.tif 000008
【図６】
2019202711.tif 000009
【図７】
2019202711.tif 000010
【図８】
2019202711.tif 000011
【図９】
2019202711.tif 000012
【図１０】
2019202711.tif 000013
【図１１】
2019202711.tif 000014
【図１２】
2019202711.tif 000015
【図１３】
2019202711.tif 000016
【図１４】
2019202711.tif 000017
【図１５】
2019202711.tif 000018
【図１６】
2019202711.tif 000019
【手続補正書】
【提出日】令和2年10月13日(2020.10.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出する特徴抽出部と、
前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成するインデックス生成部と、
を備えるログ分析システム。
【請求項２】
前記特徴抽出部は、互いに独立な前記複数のテキストログメッセージの前記特徴を抽出し、
前記特徴抽出部は、任意の時間単位における前記テキストログメッセージの変動に関する前記特徴を抽出し、前記時間単位における複数の前記特徴を組み合わせた情報を出力する、請求項１に記載のログ分析システム。
【請求項３】
前記インデックス生成部は、前記特徴のそれぞれから変動幅を抽出し、時間毎の値を変動幅に基づき正規化する、請求項２に記載のログ分析システム。
【請求項４】
前記特徴抽出部は、前記テキストログメッセージの形式毎の頻度、異なる形式を持つ複数の前記テキストログメッセージの組み合わせ、異なる形式を持つ複数の前記テキストログメッセージの出現順序、前記テキストログメッセージの周期性及び前記テキストログメッセージの形式毎に含まれる変数の種類別出現頻度のうちの少なくともいずれかを前記テキストログメッセージの前記特徴として抽出する、請求項１〜３のいずれか１項に記載のログ分析システム。
【請求項５】
前記インデックス生成部は、前記インデックスを一意に特定することが可能な指標に前記インデックスを変換する、請求項１〜４のいずれか１項に記載のログ分析システム。
【請求項６】
前記インデックス生成部は、距離関数により表現される前記インデックス間の類似性に基づき、前記インデックスを前記指標に変換する、請求項１〜５のいずれか１項に記載のログ分析システム。
【請求項７】
既知の前記インデックスを記憶するインデックス記憶部と、
新たに入力されたテキスト又は数値データに基づき生成された検索用の前記インデックスと、前記既知のインデックスとを照合し、照合結果を出力するインデックス照合部と、
を備える請求項１〜６のいずれか１項に記載のログ分析システム。
【請求項８】
ログメッセージの第１の時刻における特徴量と、ログメッセージの第１の時刻とは異なる第２の時刻における特徴量との差分を抽出するログ比較部を備え、
前記インデックス生成部は、前記差分をも用いて前記インデックスを生成する、請求項１〜７のいずれか１項に記載のログ分析システム。
【請求項９】
対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出し、
前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成する
ログ分析方法。
【請求項１０】
コンピュータに、
対象システムにおけるイベントと当該イベントが発生した時刻とが関連付けられた情報である複数のテキストログメッセージを含むテキストログファイルの特徴を抽出し、
前記特徴、及び前記対象システムに関する数値情報と当該数値情報が記録された時刻とを含む数値データに基づき、前記対象システムの状態を示すインデックスを生成する
ことを実行させるプログラム。
【国際調査報告】
2019202711.tif 000020
2019202711.tif 000021
2019202711.tif 000022
2019202711.tif 000023