(57)【要約】【課題】ログデータに含まれる文字列を定量化して分析すること。【解決手段】付与部１５１が各ログデータ１４１の重複する文字列を１つにまとめ、異なる文字列の共通部分を節とする木構造を作成し、作成された木構造の各葉に表示位置を指定する類似度を付与し、構造図表示制御部１５２が、作成された木構造と付与された類似度とを対応付けした構造図を作成し表示部１２に表示させ、分布図表示制御部１５３が、類似度と木構造の葉に該当するログデータ１４１の時刻情報とを用いてログデータ１４１の分布図を作成し表示部１２に表示させる。【選択図】図１
2017076161.tif 000002
【特許請求の範囲】
【請求項１】
時刻情報と文字列とを含む複数のログデータを分析する分析方法であって、
各ログデータの重複する文字列を１つにまとめ、異なる文字列の共通部分を節とする木構造を作成し、作成された木構造の各葉に表示位置を指定する表示位置指定情報を付与する付与工程と、
作成された前記木構造と付与された前記表示位置指定情報とを対応付けした構造図を作成し表示部に表示させる構造図表示制御工程と、
前記表示位置指定情報と前記木構造の葉に該当するログデータの時刻情報とを用いてログデータの分布図を作成し表示部に表示させる分布図表示制御工程と、
を含んだことを特徴とする分析方法。
【請求項２】
表示された前記構造図における葉の配置を変更する指示入力を受け付けた場合に、該指示入力に応じて各葉に付与されている前記表示位置指定情報を変更し、変更された該表示位置指定情報と該葉に該当するログデータの時刻情報とを用いてログデータの分布図を作成して表示部に表示させる変更工程を、さらに含んだことを特徴とする請求項１に記載の分析方法。
【請求項３】
前記変更工程において、さらに、前記木構造の類似する葉を統合する指示入力を受け付けた場合に、該指示入力に応じて該葉を統合し、統合された後の各葉に付与される前記表示位置指定情報と各葉に該当するログデータの時刻情報とを用いてログデータの分布図を作成して表示部に表示させ、
該統合された葉を分離する指示入力を受け付けた場合に、該指示入力に応じて該葉を分離し、分離された後の各葉に付与される前記表示位置指定情報と各葉に該当するログデータの時刻情報とを用いてログデータの分布図を作成して表示部に表示させる、
ことを特徴とする請求項２に記載の分析方法。
【請求項４】
前記構造図表示制御工程において、前記木構造を２次元の包含関係で表すことを特徴とする請求項１〜３のいずれか１項に記載の分析方法。
【請求項５】
前記構造図表示制御工程において、前記構造図に、各葉に該当する前記ログデータの出現頻度を付加することを特徴とする請求項１〜４のいずれか１項に記載の分析方法。
【請求項６】
時刻情報と文字列とを含む複数のログデータを分析する分析装置であって、
各ログデータの重複する文字列を１つにまとめ、異なる文字列の共通部分を節とする木構造を作成し、作成された木構造の各葉に表示位置を指定する表示位置指定情報を付与する付与部と、
作成された前記木構造と付与された前記表示位置指定情報とを対応付けした構造図を作成し表示部に表示させる構造図表示制御部と、
前記表示位置指定情報と前記時刻情報とを用いてログデータの分布図を作成し表示部に表示させる分布図表示制御部と、
備えることを特徴とする分析装置。
【請求項７】
コンピュータに、
時刻情報と文字列とを含む複数のログデータを分析させる分析プログラムであって、
各ログデータの重複する文字列を１つにまとめ、異なる文字列の共通部分を節とする木構造を作成し、作成された木構造の各葉に表示位置を指定する表示位置指定情報を付与する付与ステップと、
作成された前記木構造と付与された前記表示位置指定情報とを対応付けした構造図を作成し表示部に表示させる構造図表示制御ステップと、
前記表示位置指定情報と前記時刻情報とを用いてログデータの分布図を作成し表示部に表示させる分布図表示制御ステップと、
を実行させることを特徴とする分析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分析方法、分析装置、および分析プログラムに関する。
【背景技術】
【０００２】
一般に、売上データベース（ＤＢ）等に適用されるＯＬＡＰ（On-Line  Analytical  Processing）と呼ばれる技術が知られている。売上ＤＢに格納される売上データは、地域、製品、販売日時等の属性を付帯する数値データであり、時刻情報を付帯する時系列のログデータの一種である。ＯＬＡＰは、売上データ等の数値データを様々な角度から検索し集計して多次元的に分析する技術であり、分析結果を可視化する対話システムとして実現されている。ＯＬＡＰによれば、地域別、製品別、または月別等の複数の軸を設定し、ダイス、スライス、ドリルダウン、またはドリルアップ等の基本操作を繰り返し、様々な角度からの売上データの傾向の把握と分析とが可能となる。
【０００３】
ここで、ダイスとは、例えば、地域ごとの製品販売実績、あるいは製品ごとの地域別販売実績等のように、軸を入れ替えて比較することを意味する。スライスとは、例えば、地域別、製品別の軸を固定して月別の推移を比較する等のように、データを切り出して比較することを意味する。ドリルダウンとは、例えば、ある地域における消費の売上を集計する際、月別から日別にする等、より詳細に集計範囲を絞ることを意味し、ドリルアップとは、逆に、月別から年別にする等、集計範囲を広げることを意味する。
【０００４】
時系列のログデータの一種として、情報システムのログデータには、例えば、Ｗｅｂサーバのアクセスログ、Ｌｉｎｕｘ（登録商標）サーバのｓｙｓｌｏｇ、ＤＢサーバのアクセスログ、ＳＮＳの書き込みログ、長期にわたるＬｉｆｅｌｏｇ、コミュニティーの対話ログ、温度、気圧、衛星画像等の気象ログ、ＧＰＳログ、バイタルセンサ等の各種センサログが例示される。これらの情報システムのログデータには、時刻情報に加え、観測値や警報の程度等を表す数値データの他、状態表現や情報通知の文字列データが含まれる。
【０００５】
このような情報システムのログデータに関しては、数値データを分析したり、文字列データを数値化して可視化したりする技術が開示されている（非特許文献１〜３参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】高田哲司、「見えログ：情報視覚化と統計解析によるログ情報解析支援システム」、［online］、2002年6月、ITX2002  Summer、情報処理振興事業協会、［平成27年9月7日検索］、インターネット＜URL:http://www.ipa.go.jp/files/000005586.pdf＞
【非特許文献２】高田哲司、「見えログ：人間による計算機ログ解析を支援するログ情報ブラウザ」、［online］、DBWeb2003、情報処理学会、［平成27年9月7日検索］、インターネット＜URL:http://www.netaro.info/~zetaka/publications/papers/mielog-DBWeb2003.pdf＞
【非特許文献３】「Splunk  Enterprise  6.1.1  ダッシュボードと視覚エフェクト」、［online］、2014年6月10日、Splunk.Inc.、［平成27年9月7日検索］、インターネット＜URL：http://docs.splunk.com/images/d/d8/Splunk-6.1.1-ja_JP-Viz.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、情報システムのログデータに含まれる文字列データに対しては、スライス、ダイス、ドリルダウン、またはドリルアップのようなＯＬＡＰ分析と同様の分析操作の実現は困難であった。
【０００８】
本発明は、上記に鑑みてなされたものであって、ログデータに含まれる文字列を定量化して分析することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明に係る分析方法は、時刻情報と文字列とを含む複数のログデータを分析する分析方法であって、各ログデータの重複する文字列を１つにまとめ、異なる文字列の共通部分を節とする木構造を作成し、作成された木構造の各葉に表示位置を指定する表示位置指定情報を付与する付与工程と、作成された前記木構造と付与された前記表示位置指定情報とを対応付けした構造図を作成し表示部に表示させる構造図表示制御工程と、前記表示位置指定情報と前記木構造の葉に該当するログデータの時刻情報とを用いてログデータの分布図を作成し表示部に表示させる分布図表示制御工程と、を含んだことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ログデータに含まれる文字列を定量化して分析することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の一実施形態に係る分析装置の概略構成を示す模式図である。
【図２】図２は、本実施形態のログデータを例示する図である。
【図３】図３は、本実施形態の付与部の処理を説明するための説明図である。
【図４】図４は、本実施形態の構造図を例示する図である。
【図５】図５は、本実施形態の分布図を例示する図である。
【図６】図６は、本実施形態の変更部の処理を説明するための説明図である。
【図７】図７は、本実施形態の変更部の処理を説明するための説明図である。
【図８】図８は、本実施形態の変更部の処理を説明するための説明図である。
【図９】図９は、本実施形態の変更部の処理を説明するための説明図である。
【図１０】図１０は、本実施形態の変更部の処理を説明するための説明図である。
【図１１】図１１は、本実施形態の変更部の処理を説明するための説明図である。
【図１２】図１２は、本実施形態の変更部の処理を説明するための説明図である。
【図１３】図１３は、本実施形態の変更部の処理を説明するための説明図である。
【図１４】図１４は、本実施形態の分析処理手順を示すフローチャートである。
【図１５】図１５は、本実施形態の分析処理を説明するための説明図である。
【図１６】図１６は、本実施形態の分析処理を説明するための説明図である。
【図１７】図１７は、本実施形態の分析処理を説明するための説明図である。
【図１８】図１８は、本実施形態の分析処理を説明するための説明図である。
【図１９】図１９は、本実施形態の分析処理を説明するための説明図である。
【図２０】図２０は、本実施形態の分析処理を説明するための説明図である。
【図２１】図２１は、本実施形態の分析処理を説明するための説明図である。
【図２２】図２２は、分析プログラムを実行するコンピュータを例示する図である。
【発明を実施するための形態】
【００１２】
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【００１３】
［分析装置の構成］
まず、図１を参照して、本実施形態に係る分析装置の概略構成を説明する。分析装置１は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部１１と、表示部１２と、通信制御部１３と、記憶部１４と、制御部１５とを備える。
【００１４】
入力部１１は、タッチパネルやキーボードやマウス等の入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部１５に対して各種指示情報を入力する。表示部１２は、液晶ディスプレイなどの表示装置によって実現され、後述する分析処理における構造図や分布図等を操作者に対して表示する。通信制御部１３は、ＮＩＣ（Network  Interface  Card）等で実現され、ＬＡＮ（Local  Area  Network）やインターネットなどの電気通信回線を介した外部の装置と制御部１５との通信を制御する。
【００１５】
記憶部１４は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、ログデータ１４１を記憶する。
【００１６】
ログデータ１４１は、後述する本実施形態の分析処理の対象であり、時刻情報と文字列とを含む。図２は、ログデータ１４１の一例として、Ｗｅｂサーバのアクセスログを例示する図である。図２において、各行が１つのログデータ１４１を表す。図２に例示するように、ログデータ１４１は、具体的に、送信元ＩＰアドレス、時刻情報、アクセスリクエスト、戻り値、および転送バイト数を含む。
【００１７】
ここで、送信元ＩＰアドレスは、各ログデータ１４１の送信元を識別するＩＰアドレスを示す。時刻情報は、各ログデータ１４１が生成された時刻を示す。アクセスリクエストは、ＧＥＴ、ＨＥＡＤ、またはＰＯＳＴ等のメソッドとその対象等を示す文字列で表される。例えば、図２の００５行には、「GET  /~foo/img/20150416103651.png  HTTP/1.1」という文字列で表されるアクセスリクエストが例示されている。このアクセスリクエストは、ＨＴＴＰ／１．１のメソッドのうちＧＥＴであり、ＧＥＴの対象は「20150416103651.png」で表される画像データであることを表している。
【００１８】
なお、ログデータ１４１は、本実施形態の分析処理の開始前に予め、外部のログ収集装置等から通信制御部１３を介して取得しておくとよい。
【００１９】
制御部１５は、ＣＰＵ（Central  Processing  Unit）等の演算処理装置がメモリに記憶された処理プログラムを実行することにより、図１に例示するように、付与部１５１、構造図表示制御部１５２、分布図表示制御部１５３および変更部１５４として機能する。
【００２０】
付与部１５１は、各ログデータ１４１の重複する文字列を１つにまとめ、異なる文字列の共通部分を節とする木構造を作成し、作成された木構造の各葉に表示位置を指定する表示位置指定情報を付与する。
【００２１】
具体的に、付与部１５１は、まず、図３に例示するように、ログデータ１４１の各アクセスリクエストのうち重複するものを１つにまとめる。例えば、図２に示したログデータ１４１のうち、００８行〜０１２行のアクセスリクエストは重複しているので、図３の００３行に示すように１つにまとめる。このようにして、図３に示すように、異なるアクセスリクエストをリストアップする。
【００２２】
次に、付与部１５１は、リストアップされたアクセスリクエストの共通部分を節としてまとめた木構造を作成する。本実施形態では、図４に枠で囲んで例示するように、文字列の先頭から順に共通部分を節としてまとめるトライ（ＴＲＩＥ）木を作成する。なお、本実施形態では、節としてまとめる文字列の共通部分は１文字に限定されない。例えば、図３に例示した００１行〜００４行の共通部分「ＧＥＴ」を１つの節とし、００２行〜００４行の共通部分「〜」を１つの節とし、００３行および００４行の共通部分「foo/img/2015041610」を１つの節として、図４の００１行〜００４行が得られる。
【００２３】
次に、付与部１５１は、作成された木構造の各葉に表示位置指定情報を付与する。ここで、表示位置指定情報とは、後述する分布図において、ログデータ１４１の表示位置を指定する情報を意味する。また、作成された木構造においては、節で結合された葉同士が隣り合うほど、文字列の類似度が高いことを意味する。そこで、本実施形態では、以下、表示位置指定情報を類似度と称する。この類似度は、任意の観点でメッセージの類似性や関連性をもとに一次元の数直線上に配置したものであり、メッセージの関連性と言い換えてもよい。
【００２４】
なお、付与部１５１は、ここで付与した類似度の値を木構造の各葉に対応付けて記憶部１４に記憶しておくとよい。
【００２５】
具体的に、付与部１５１は、図４に例示するように、作成された木構造の各葉に順に類似度を付与する。なお、図４の例では、各葉の類似度として、上から順に１〜７が付与されているが、類似度の値は特に限定されず、各葉の配置に応じた値であればよい。ここで、葉の配置とは、葉の並び順および葉間の離れ具合を意味する。この類似度は、付与部１５１が自動的に割り当ててもよいし、操作者の指定入力に応じて割り当ててもよい。例えば、付与部１５１は、操作者に指定可能な値から選択させてもよいし、指定された最小値に応じて残りの値を自動的に割り当てたりしてもよい。
【００２６】
構造図表示制御部１５２は、作成された木構造と付与された類似度とを対応付けした構造図を作成し表示部１２に表示させる。すなわち、図４に例示したように、作成された木構造と、各葉に付与した類似度とを対応付けした構造図を作成し、表示部１２に表示させる。
【００２７】
分布図表示制御部１５３は、表示位置指定情報としての類似度と木構造の葉に該当するログデータ１４１の時刻情報とを用いてログデータ１４１の分布図を作成し表示部１２に表示させる。具体的に、分布図表示制御部１５３は、図５に例示するように、類似度を縦軸にし、各葉として１つにまとめられたログデータ１４１の時刻情報を横軸にして、ログデータ１４１の散布図を作成し、表示部１２に表示させる。
【００２８】
なお、本実施形態において、分布図は、各ログデータ１４１を点とした散布図としているが、これに限定されない。例えば、各ログデータ１４１を表す点を時系列に結んだ折れ線グラフを分布図としてもよい。
【００２９】
変更部１５４は、表示された構造図における葉の配置を変更する指示入力を受け付けた場合に、該指示入力に応じて各葉に付与されている類似度を変更し、変更された類似度と該葉に該当するログデータ１４１の時刻情報とを用いてログデータ１４１の散布図を作成して表示部１２に表示させる。
【００３０】
具体的に、図６および図７を参照して、変更部１５４が、例えば、表示部１２に表示されている図４に例示した構造図のうち、００２行の類似度２に相当する文字列を最下行に移動する指示入力を受け付けた場合について説明する。この場合に、変更部１５４は、図６の００７行に例示するように構造図を変更し、変更後の葉の配置に応じて類似度を変更する。図６の例では、図４の００２行に相当する文字列の類似度が７に変更されている。なお、変更後の類似度の値は、前述した付与部１５１における処理と同様に、特に限定されず、各葉の変更後の配置に応じた値であればよい。変更後の類似度の値についても、変更部１５４が自動的に割り当ててもよいし、操作者の指定入力に応じて割り当ててもよい。また、記憶部１４に類似度の値と木構造の各葉との対応付けが記憶されている場合には、変更部１５４は、変更後の類似度の値を上書きする。
【００３１】
次に、変更部１５４は、図７に例示するように、変更後の類似度を縦軸にし、各葉として１つにまとめられたログデータ１４１の時刻情報を横軸にしたログデータ１４１の散布図を作成し直して、表示部１２に表示させる。これにより、図４の００２行に示したログデータ１４１は、図７の散布図において、類似度７の位置に表示される。
【００３２】
なお、このような変更は、例えば、図５に例示した散布図において、破線で囲んで示す類似度２のログデータ１４１について、周期性が確認されたため、以降の分析対象から分離するように、散布図における表示位置を変更させる場合等に行われる。この場合に、図７の散布図に破線で囲んで示すように、類似度７の位置に移動してログデータ１４１が表示される。
【００３３】
変更部１５４は、さらに、前記木構造の類似する葉を統合する指示入力を受け付けた場合に、該指示入力に応じて該葉を統合し、統合された後の各葉に付与される前記表示位置指定情報と各葉に該当するログデータ１４１の時刻情報とを用いてログデータ１４１の散布図を作成して表示部１２に表示させる。
【００３４】
具体的に、図８および図９を参照して、変更部１５４が、例えば、図６の００３行および００４行に例示した葉を統合する指示入力を受け付けた場合について説明する。この場合に、変更部１５４は、図８の００３行に例示するように構造図を変更する。図８の００３行に例示する葉には、複数の葉が統合されドリルアップされていることが＋で表されている。
【００３５】
また、変更部１５４は、変更後の葉の配置に応じて類似度を変更する。統合後の類似度の値についても、前述した付与部１５１における処理や変更後の変更部１５４の処理と同様に、特に限定されず、各葉の統合後の配置に応じた値であればよい。図８の例では、統合後の類似度は、統合対象の図６の００３行および００４行の葉の類似度の最小値の２とされている。この統合後の類似度の値についても、変更部１５４が自動的に割り当ててもよいし、操作者の指定入力に応じて割り当ててもよい。
【００３６】
次に、変更部１５４は、図９に例示するように、統合後の類似度を縦軸にし、各葉として１つにまとめられたログデータ１４１の時刻情報を横軸にしたログデータ１４１の散布図を作成し直して、表示部１２に表示させる。これにより、図７の類似度２および３の位置に表示されていたログデータ１４１が、図９に破線で囲んで示すように、類似度２の位置にまとまって表示される。
【００３７】
なお、このような統合は、例えば、図６の００３行および００４行における拡張子ｐｎｇで表される画像データの違いを考慮せずに分析したい場合に行われる。この場合に、画像データを対象とするアクセスリクエストの画像データの違いにより変化しない挙動を分析対象とすることができる。
【００３８】
図１０は、図８に例示した構造図において、さらに葉を統合する指示入力を受け付けた場合の構造図を例示する図である。また、図１１は、図１０に対応する散布図を例示する図である。例えば、図１０の００２行は、図８の００２行、００３行および００５行のＧＥＴに関する葉が統合されたものである。この場合の図１０の００２行の類似度は、図８の００２行、００３行および００５行の類似度の最小値の０とされている。この統合により、図９の類似度０、２および７の位置に表示されるＧＥＴに関するログデータ１４１が、図１１の類似度０の位置にまとまって表示される。
【００３９】
なお、図１０に示す例では、００１行にＰＯＳＴに関する葉が統合され類似度−２とされ、００３行にＨＥＡＤに関する葉が統合され類似度４とされている。したがって、図１１に示す散布図において、類似度−２の位置にＰＯＳＴに関するログデータ１４１が表示され、類似度４の位置にＨＥＡＤに関するログデータ１４１が表示される。この場合に、図１１の散布図に破線で囲んで示すように、ＨＥＡＤおよびＰＯＳＴに関するログデータ１４１が同時刻に分布していることから、ＨＥＡＤとＰＯＳＴが関連して送出されることが推測される。
【００４０】
また、変更部１５４は、統合された葉を分離する指示入力を受け付けた場合に、該指示入力に応じて該葉を分離し、分離された後の各葉に付与される類似度と各葉に該当するログデータ１４１の時刻情報とを用いてログデータ１４１の分布図を作成して表示部１２に表示させる。
【００４１】
具体的に、変更部１５４が、例えば、図８に例示した構造図においてドリルアップされている００３行および００４行について、葉を分離するドリルダウンを指示する入力を受け付けた場合について説明する。たとえば、図８に＋で示されるドリルアップの位置を指示することにより、ドリルダウンが指示される。この場合に、変更部１５４は、図６の００３行〜００６行に例示するように、構造図を変更する。
【００４２】
また、変更部１５４は、分離後の葉の配置に応じて類似度を変更する。分離後の類似度についても、前述した付与部１５１における処理や変更後の変更部１５４の処理と同様に、特に限定されず、各葉の分離後の葉の配置に応じた値であればよい。図６に例示するように、類似度の値を統合前の値としてもよいし、分離対象の図８の００３行および００４行の類似度の最小値２を最小値として、順に割り当て直してもよい。この分離後の類似度の値についても、変更部１５４が自動的に割り当ててもよいし、操作者の指定入力に応じて割り当ててもよい。
【００４３】
次に、変更部１５４は、図７に例示するように、分離後の類似度を縦軸にし、分離された各葉に該当するログデータ１４１の時刻情報を横軸にしたログデータ１４１の散布図を作成し直して、表示部１２に表示させる。
【００４４】
なお、図１２および図１３を参照して、拡張子ｐｎｇで表される画像データごとの挙動を分析する場合について説明する。例えば、図６の００３行〜００６行の配置を、画像データごとに近づけて配置するよう変更する指示入力を受け付けた場合に、変更部１５４は、指示入力に応じて、例えば、図１２の００４行〜００７行に例示するように、構造図を変更する。
【００４５】
この場合に、変更部１５４は、変更後の葉の配置に応じて類似度を変更する。また、変更部１５４は、図１３に例示するように、変更後の類似度を縦軸にし、各葉として１つにまとめられたログデータ１４１の時刻情報を横軸にしたログデータ１４１の散布図を作成し直して、表示部１２に表示させる。これにより、図７の類似度２〜５の位置に表示されていたログデータ１４１が、図１３に破線で２つのＬ字状に囲んで示すように、類似度２および３の位置と、類似度５および６の位置とにＬ字状に分離されて表示される。
【００４６】
これにより、図１３の例では、画像データを対象とするアクセスリクエストが画像データごとにＬ字状に現れることが確認された。併せて、類似度−２の位置に表示される破線で囲んだログデータ１４１についても、各Ｌ字状に表示されるログデータ１４１に関連して出現することが推測された。
【００４７】
なお、図１２の例では、００２行および００３行の葉について、類似度が０とされている。これにより、図１３の散布図において、００２行および００３行の葉に対応する文字列のログデータ１４１が類似度０の位置にまとまり、分析対象のログデータ１４１から分離して表示されている。したがって、分析対象のログデータ１４１の分析操作を行い易くなる。
【００４８】
［分析処理］
次に、図１４のフローチャートを参照して、分析装置１による分析処理手順について説明する。図１４のフローチャートは、例えば、入力部１１を介して分析処理の開始を指示する入力があったタイミングで開始となる。
【００４９】
まず、付与部１５１が、ログデータ１４１を読み込んで（ステップＳ１）、文字列について木構造を作成し、各葉に表示位置指定情報としての類似度を付与する（ステップＳ２）。
【００５０】
次に、構造図表示制御部１５２が、構造図を作成して表示部１２に表示させる（ステップＳ３）。なお、ステップＳ３の処理は、構造図の表示を指示する入力に応じて開始するようにしてもよい。この場合に、構造図の表示を指示する入力がなければ、ステップＳ３の処理をスキップしてもよい。また、分布図表示制御部１５３が、例えば、分布図の表示を指示する入力に応じて、分布図を作成して表示部１２に表示させる（ステップＳ４）。
【００５１】
その後、ドリルアップやドリルダウン等の変更を指示する入力があった場合に（ステップＳ５，Ｙｅｓ）、変更部１５４が、木構造と、葉に付与されている類似度とを変更する。また、変更部１５４は、変更された類似度を用いて分布図を作成し直し、表示部１２に表示させる（ステップＳ６）。これにより、一連の分析処理が終了する。なお、変更を指示する入力がない場合にも（ステップＳ５，Ｎｏ）、分析処理が終了する。
【００５２】
以上、説明したように、本実施形態の分析装置１では、付与部１５１が各ログデータ１４１の重複する文字列を１つにまとめ、異なる文字列の共通部分を節とする木構造を作成し、作成された木構造の各葉に表示位置を指定する類似度を付与する。また、構造図表示制御部１５２が、作成された木構造と付与された類似度とを対応付けした構造図を作成し表示部１２に表示させる。また、分布図表示制御部１５３が、類似度と木構造の葉に該当するログデータ１４１の時刻情報とを用いてログデータ１４１の分布図を作成し表示部１２に表示させる。
【００５３】
このように、本実施形態の分析装置１によれば、表示位置指定値としての類似度によりログデータ１４１が定量化される。これにより、変更部１５４が、構造図における葉の並び順を変更する指示入力を受け付けた場合に、該指示入力に応じて各葉に付与されている類似度を変更し、変更された該類似度と該葉に該当するログデータ１４１の時刻情報とを用いてログデータ１４１の分布図を作成して表示部１２に表示させることができる。また、変更部１５４が、木構造の類似する葉を統合する指示入力を受け付けた場合に、該指示入力に応じて該葉を統合し、統合された後の各葉に付与される類似度と各葉に該当するログデータ１４１の時刻情報とを用いてログデータ１４１の分布図を作成して表示部１２に表示させることができる。また、変更部１５４が、該統合された葉を分離する指示入力を受け付けた場合に、該指示入力に応じて該葉を分離し、分離された後の各葉に付与される類似度と各葉に該当するログデータ１４１の時刻情報とを用いてログデータ１４１の分布図を作成して表示部１２に表示させることができる。
【００５４】
このように、本実施形態の分析装置１によれば、葉を統合するドリルアップや分離するドリルダウンの他、時間軸を固定するスライス等のＯＬＡＰと同様の分析操作を行って、ログデータ１４１を分析することができる。したがって、たとえ、分析対象のアプリケーションソフトウェアの構造を知らなくても、同一シーケンス、繰り返し構造、開始終了構造等を検知することが可能となる。
【００５５】
なお、ダイスの例として、ログデータ１４１のアクセスリクエストと時刻情報との関係の分析から、ログデータ１４１の送信元ＩＰアドレスと時刻情報との関係の分析に切り替えること等が例示される。この場合、本実施形態のアクセスリクエストの木構造を作成する処理から、ＩＰアドレスの木構造を作成する処理に切り替えればよい。例えば、図１５に破線で囲んで示すように、アクセスリクエストと時刻情報との分布図にて、ある時刻に特異なアクセスリクエストが多発している場合に、送信元ＩＰアドレスと時刻情報との分布図に切り替えて、同時刻の送信元ＩＰアドレスを分析することができる。
【００５６】
また、構造図表示制御部１５２は、構造図を作成する際、木構造を２次元の包含関係で表したツリーマップとしてもよい。図１６は、本実施形態の木構造を例示する図である。また、図１７は、図１６に示す木構造に対応するツリーマップを例示する図である。これにより、例えば、ツリーマップを構成する各長方形の面積の違いにより定義された情報を付加して表示することができる。なお、構造図表示制御部１５２は、ツリーマップのみを表示してもよいし、木構造とツリーマップとを所定の指示入力に応じて切り替えて表示してもよい。
【００５７】
また、構造図表示制御部１５２は、図１８に例示するように、構造図に、各葉に該当するログデータ１４１の出現頻度を付加してもよい。図１９は、図１８に例示した構造図に対応する分布図であり、構造図と同様に、出現頻度を付加してもよい。例えば、発生タイミングがほぼ同時で、かつ出現頻度が同一もしくは整数倍であれば、それらのログデータ１４１間に関連があることが推測できる。これにより、より簡易にログデータ１４１の傾向を把握することができる。
【００５８】
また、付与部１５１は、図２０に例示するように、正規表現を用いた文字列を用いて木構造を作成してもよい。図２０の例では、００４行および００５行において、ＧＥＴやＨＥＡＤ等のメソッドを問わず、拡張子ｐｎｇをもつ画像ファイルを対象とするアクセスリクエストを節としている。図２１は、図２０に例示した構造図に対応する分布図である。図２１の例では、類似度２および５の位置の画像ファイルを対象とするアクセスリクエストと、類似度０の位置のそれ以外のアクセスリクエストとが分離して表示される。これにより、画像ファイルを対象とするアクセスリクエストについての分析操作を行い易くなる。このように、分析対象の文字列に正規表現を用いることにより、より柔軟に分析操作を行うことができる。
【００５９】
［他の実施形態］
［プログラム］
上記実施形態に係る分析装置１が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。一実施形態として、分析装置１は、パッケージソフトウェアやオンラインソフトウェアとして上記の分析処理を実行する分析プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記の分析プログラムを情報処理装置に実行させることにより、情報処理装置を分析装置１として機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やＰＨＳ（Personal  Handyphone  System）などの移動体通信端末、さらには、ＰＤＡ（Personal  Digital  Assistants）などのスレート端末などがその範疇に含まれる。また、ユーザが使用する端末装置をクライアントとし、当該クライアントに上記の分析処理に関するサービスを提供するサーバ装置として実装することもできる。例えば、分析装置１は、ログデータ１４１を入力とし、当該ログデータ１４１に対する上記の分析処理の実行結果を出力する分析処理サービスを提供するサーバ装置として実装される。この場合、分析装置１は、Ｗｅｂサーバとして実装することとしてもよいし、アウトソーシングによって上記の分析処理に関するサービスを提供するクラウドとして実装することとしてもかまわない。以下に、分析装置１と同様の機能を実現する分析プログラムを実行するコンピュータの一例を説明する。
【００６０】
図２２に示すように、分析プログラムを実行するコンピュータ１０００は、例えば、メモリ１０１０と、ＣＰＵ１０２０と、ハードディスクドライブインタフェース１０３０と、ディスクドライブインタフェース１０４０と、シリアルポートインタフェース１０５０と、ビデオアダプタ１０６０と、ネットワークインタフェース１０７０とを有する。これらの各部は、バス１０８０によって接続される。
【００６１】
メモリ１０１０は、ＲＯＭ（Read  Only  Memory）１０１１およびＲＡＭ１０１２を含む。ＲＯＭ１０１１は、例えば、ＢＩＯＳ（Basic  Input  Output  System）等のブートプログラムを記憶する。ハードディスクドライブインタフェース１０３０は、ハードディスクドライブ１０３１に接続される。ディスクドライブインタフェース１０４０は、ディスクドライブ１０４１に接続される。ディスクドライブ１０４１には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース１０５０には、例えば、マウス１０５１およびキーボード１０５２が接続される。ビデオアダプタ１０６０には、例えば、ディスプレイ１０６１が接続される。
【００６２】
ここで、図２２に示すように、ハードディスクドライブ１０３１は、例えば、ＯＳ１０９１、アプリケーションプログラム１０９２、プログラムモジュール１０９３およびプログラムデータ１０９４を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ１０３１やメモリ１０１０に記憶される。
【００６３】
また、分析プログラムは、例えば、コンピュータ１０００によって実行される指令が記述されたプログラムモジュール１０９３として、ハードディスクドライブ１０３１に記憶される。具体的には、上記実施形態で説明した分析装置１が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ１０３１に記憶される。
【００６４】
また、分析プログラムによる情報処理に用いられるデータは、プログラムデータ１０９４として、例えば、ハードディスクドライブ１０３１に記憶される。そして、ＣＰＵ１０２０が、ハードディスクドライブ１０３１に記憶されたプログラムモジュール１０９３やプログラムデータ１０９４を必要に応じてＲＡＭ１０１２に読み出して、上述した各手順を実行する。
【００６５】
なお、分析プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ハードディスクドライブ１０３１に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ１０４１等を介してＣＰＵ１０２０によって読み出されてもよい。あるいは、ログ判定プログラムに係るプログラムモジュール１０９３やプログラムデータ１０９４は、ＬＡＮ（Local  Area  Network）やＷＡＮ（Wide  Area  Network）等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース１０７０を介してＣＰＵ１０２０によって読み出されてもよい。
【００６６】
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
【符号の説明】
【００６７】
１  分析装置
１１  入力部
１２  表示部
１３  通信制御部
１４  記憶部
１４１  ログデータ
１５  制御部
１５１  付与部
１５２  構造図表示制御部
１５３  分布図表示制御部
１５４  変更部
【図１】
2017076161.tif 000003
【図２】
2017076161.tif 000004
【図３】
2017076161.tif 000005
【図４】
2017076161.tif 000006
【図５】
2017076161.tif 000007
【図６】
2017076161.tif 000008
【図７】
2017076161.tif 000009
【図８】
2017076161.tif 000010
【図９】
2017076161.tif 000011
【図１０】
2017076161.tif 000012
【図１１】
2017076161.tif 000013
【図１２】
2017076161.tif 000014
【図１３】
2017076161.tif 000015
【図１４】
2017076161.tif 000016
【図１５】
2017076161.tif 000017
【図１６】
2017076161.tif 000018
【図１７】
2017076161.tif 000019
【図１８】
2017076161.tif 000020
【図１９】
2017076161.tif 000021
【図２０】
2017076161.tif 000022
【図２１】
2017076161.tif 000023
【図２２】
2017076161.tif 000024