(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-22
(45)【発行日】2024-07-30
(54)【発明の名称】ログ解析装置、ログ解析システム及びプログラム
(51)【国際特許分類】
G06F 11/34 20060101AFI20240723BHJP
【FI】
G06F11/34 176
(21)【出願番号】P 2020083478
(22)【出願日】2020-05-11
【審査請求日】2023-02-27
(31)【優先権主張番号】P 2019215736
(32)【優先日】2019-11-28
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】高杉 大輔
【審査官】北川 純次
(56)【参考文献】
【文献】特開2016-014980(JP,A)
【文献】特開2002-108659(JP,A)
【文献】特開平11-272513(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/34
(57)【特許請求の範囲】
【請求項1】
機器の動作状態を示す情報であるログデータを取得する取得部と、
入力装置を介したユーザによる入力を受け付ける入力受付部と、
前記入力受付部が受け付けた前記入力に基づいて、所定の条件を設定する設定部と、
前記設定部が設定した前記所定の条件に基づいて、前記取得部が取得した前記ログデータを複数の要素に分ける解析部と、
を備え
、
前記設定部は、
前記ログデータを出力する複数のアプリケーションのそれぞれに対して、前記所定の条件を設定し、
前記複数のアプリケーションの前記所定の条件の紐付けを行い、
前記解析部は、前記複数のアプリケーションのログをまとめて解析する、
ログ解析装置。
【請求項2】
機器の動作状態を示す情報であるログデータを出力する情報処理装置と、前記ログデータを解析するログ解析装置を有するログ解析システムであって、
前記情報処理装置は、
前記ログ解析装置へ前記ログデータを送信する送信部を備え、
前記ログ解析装置は、
前記ログデータを取得する取得部と、
入力装置を介したユーザによる入力を受け付ける入力受付部と、
前記入力受付部が受け付けた前記入力に基づいて、所定の条件を設定する設定部と、
前記設定部が設定した前記所定の条件に基づいて、前記取得部が取得した前記ログデータを複数の要素に分ける解析部と
を備え
、
前記設定部は、
前記ログデータを出力する複数のアプリケーションのそれぞれに対して、前記所定の条件を設定し、
前記複数のアプリケーションの前記所定の条件の紐付けを行い、
前記解析部は、前記複数のアプリケーションのログをまとめて解析する、
ログ解析システム。
【請求項3】
ログ解析装置に
、
機器の動作状態を示す情報であるログデータを取得する取得手順と、
入力装置を介したユーザによる入力を受け付ける入力受付手順と、
前記入力受付手順で受け付けた前記入力に基づいて、所定の条件を設定する設定手順と、
前記設定手順で設定した前記所定の条件に基づいて、前記取得手順で取得した前記ログデータを複数の要素に分ける解析手順と、
を実行させ
、
前記設定手順は、
前記ログデータを出力する複数のアプリケーションのそれぞれに対して、前記所定の条件を設定し、
前記複数のアプリケーションの前記所定の条件の紐付けを行い、
前記解析手順は、前記複数のアプリケーションのログをまとめて解析する、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ログ解析装置、ログ解析システム及びプログラムに関する。
【背景技術】
【0002】
従来、情報処理において、エラー等が発生したことを記録するデータを保存する方法が知られている。
【0003】
具体的には、まず、複数のモジュールに対して、それぞれのログデータを生成するロガーが配置される。そして、それぞれのロガーは、モジュールごとに、それぞれのログデータを生成する。ゆえに、全体として、複数種類のログデータが生成される。そして、生成される複数種類のログデータをまとめて、出力ログを生成することで、ログデータの確認をする手間を軽減させる方法が知られている(例えば、特許文献1等を参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の方法では、あらかじめサポートできる範囲内、すなわち、特定のアプリケーションが出力するフォーマットのログを取りまとめているに過ぎない。そのため、従来の方法では、サポートされていないアプリケーションのログデータは、扱うことができない場合が多い。一方で、ログデータは、アプリケーション等のソフトウェアの種類、開発の時期、ベンダー、担当者又は情報処理装置等が異なると、フォーマットが異なる場合がある。このようにフォーマットが変わると、ログデータを解析できない場合がある。すなわち、従来の方法では、特定のアプリケーションが特定のフォーマットで出力するログデータとは異なるフォーマットのログデータを解析できず、ログデータを解析する人が直接ログをみることで解析することとなり、手間がかかる。
【0005】
本発明の一態様は、様々なフォーマットのログデータを解析する手間を軽減させることを目的とする。
【課題を解決するための手段】
【0006】
本発明の一実施形態による、ログ解析装置は、機器の動作状態を示す情報であるログデータを取得する取得部と、入力装置を介したユーザによる入力を受け付ける入力受付部と、前記入力受付部が受け付けた前記入力に基づいて、所定の条件を設定する設定部と、前記設定部が設定した前記所定の条件に基づいて、前記取得部が取得した前記ログデータを複数の要素に分ける解析部と、を備え、前記設定部は、前記ログデータを出力する複数のアプリケーションのそれぞれに対して、前記所定の条件を設定し、前記複数のアプリケーションの前記所定の条件の紐付けを行い、前記解析部は、前記複数のアプリケーションのログをまとめて解析する。
【発明の効果】
【0007】
本発明の実施形態によって、様々なフォーマットのログデータを解析する手間を軽減できる。
【図面の簡単な説明】
【0008】
【
図1】ログ解析装置のハードウェア構成例を示す図である。
【
図3】出力装置に表示されている画面の一例を示す第1の図である。
【
図5】出力装置に表示されている画面の一例を示す第2の図である。
【
図6】出力装置に表示されている画面の一例を示す第3の図である。
【
図7】出力装置に表示されている画面の一例を示す第4の図である。
【
図8】出力装置に表示されている画面の一例を示す第5の図である。
【
図14】処理の流れを説明するフローチャートである。
【
図16】第2の実施形態におけるログ解析装置の機能構成例を示す図である。
【
図17】入力受付部が、複数のアプリケーションのログデータを解析する際に参照する条件の入力を受け付ける画面の一例を示す図である。
【
図18】ユーザが、複数のアプリケーションの解析条件の紐づけを行う際の画面の一例を示す図である。
【
図19】複数のアプリケーションのログをまとめて解析した結果を出力する出力条件を設定する画面の一例を示す図である。
【
図20】
図19の出力条件を設定する画面例にてユーザにより入力された出力条件に基づいて、出力したログデータの解析結果例を示す図である。
【発明を実施するための形態】
【0009】
以下、発明を実施するための最適な形態について、図面を参照して説明する。
【0010】
<第1の実施形態>
<ログ及びログデータについて>
以下の説明では、「ログ」とは、アプリケーションや情報処理装置にどのようなイベントが起こったかを示す記録をいう。そして、ログは、人が識別できるものをいう。
【0011】
また、「ログデータ」は、ログを示すデータをいう。また、ログデータは、CPU(Central Processing Unit)等の演算装置が処理する対象である。
【0012】
ログデータは、例えば、テキスト又はCSV等のデータ形式である。なお、ログデータは、表計算ソフト又はデータベースソフト等のソフトウェアで開く形式でもよい。
【0013】
<ログ解析装置のハードウェア構成例>
図1は、ログ解析装置のハードウェア構成例を示す図である。図示するように、ログ解析装置100は、CPU101、ROM102、RAM103、HDD(Hard Disk Drive)/SSD(Solid State Drive)104、I/F(Interface)105、入力装置106、出力装置107を有する。
【0014】
CPU101は、RAM103を作業領域として利用し、ROM102又はHDD/SSD104に格納されているプログラムを実行する。
【0015】
HDD/SSD104は、CPU101が実行するプログラムや、プログラム実行時に利用する様々な情報を格納する。
【0016】
I/F105は、ログ解析装置100と、他の装置とを接続し、通信可能にするインターフェースである。
【0017】
入力装置106は、ユーザがログ解析装置100へ入力を行う際に利用するマウスやキーボード等の装置である。
【0018】
出力装置107は、液晶ディスプレイ(LCD)等のユーザに情報を表示又は提示する装置である。
【0019】
なお、ハードウェア構成は、図示する構成に限られず、ログ解析装置100は、さらにCPU、ROM、RAM、HDD/SSD、I/F、入力装置、出力装置等のハード構成を有してもよい。
【0020】
<ログ解析装置の機能構成例>
図2は、ログ解析装置100の機能構成例を示す図である。図示するように、ログ解析装置100は、取得部201、入力受付部202、設定部203、解析部204及び表示制御部205を備える機能構成である。
【0021】
取得部201、入力受付部202、設定部203、解析部204及び表示制御部205は、CPU101がROM102に格納されているプログラムを実行することにより実現される。なお、これに限られず、専用回路により各機能を実現させてもよい。
【0022】
取得部201は、アプリケーションや情報処理装置等が出力したログデータを取得する。また、取得部201は、取得したログデータを、後述の解析部204へ出力する。
【0023】
入力受付部202は、ユーザによるマウスやキーボード等の入力装置を介した入力を受け付ける。また、入力受付部202は、受け付けた入力を設定部203へ出力する。
【0024】
設定部203は、入力受付部202から受け取った入力に基づいて、後述の解析部204がログデータを解析する際に参照する条件(すなわち、解析条件の一例となる。)や、後述の表示制御部205が解析部204の解析結果を表示する際に参照する条件(すなわち、出力条件の一例となる。)を設定する。また、設定部203は、設定した条件を、記憶部の一例であるHDD/SSD104が記憶しているデータベース(DB)に格納する、又は、解析部204若しくは表示制御部205へ出力する。
【0025】
解析部204は、データベースに格納されている解析条件又は設定部203から受け取った解析条件に基づいて、取得部201から受け取ったログデータの解析を行う。また、解析部204は、解析した結果である解析結果を表示制御部205へ出力する。
【0026】
表示制御部205は、データベースに格納されている出力条件又は設定部203から受け取った出力条件に基づいて、解析部204から受け取った解析結果を表示部に表示させる制御を行う。
【0027】
図3は、出力装置に表示されている画面の一例を示す第1の図である。以下、入力受付部202は、図示するような画面に対して入力される操作を受け付ける例とする。入力されたログデータに対して、例えば、以下のようにルールを設定することで、ログデータのどのカラムを何と認識するか等が定まる。例えば、図示するようなGUI(Graphical User Interface)等を用いて、ユーザが入力を行うと、CPU101側にルールが設定される。なお、GUIは、図示するような配置及び種類でなくともよい。
【0028】
まず、図示する例では、ログデータが入力されると、ログデータが示すログが、図示するような形式で表示される。具体的には、ログデータが示す内容が、画面上にログLGのように表示される。すなわち、この例では、表示されるログLGを示すログデータが、解析の対象となることを示す。
【0029】
例えば、解析を行うのに、以下のような第1解析ルール入力部AN1及び第2解析ルール入力部AN2等のGUIを用いて、ユーザが操作を行う。なお、ユーザによる操作の入力は、図示するように、チェックボックス及びテキストボックス等のGUIを用いる態様に限られず、他のGUI又はコマンド入力等でもよい。
【0030】
図における第1解析ルール入力部AN1のGUIには、1ラインを区切る、すなわち、どこからどこまでが1つのイベントであるかが入力される。具体的には、例えば、図示するように、「改行」を選択するように操作されるとする。このような操作が行われると、設定部203は、ログデータ内に存在する改行を目印にして、1ラインが1つのイベントについてのログであると、ログ解析装置が認識するように設定する。
【0031】
なお、図における「行頭キーワード」のテキストボックスに、「改行」以外の文字又は数値等を入力する操作が行われてもよい。このような操作が行われると、設定部203は、操作で入力された文字又は数値等を目印にして、ログデータ内に存在する目印の文字又は数値ごとに、1つのイベントについてのログであるとログ解析装置が認識するように設定する。
【0032】
また、図における「カラム数設定」のテキストボックスには、1ラインにおける要素の数が入力される。具体的には、図示するように、「6」という数値を入力する操作が行われると、設定部203は、「A」乃至「F」の6つの要素で1ラインが構成されているとログ解析装置が認識するように設定する。
【0033】
図における第2解析ルール入力部AN2のGUIには、カラム、すなわち、1ラインを構成する要素を区切る文字等の目印を選択する操作が入力される。具体的には、図示するように、「スペース」を目印にするように選択する操作が行われると、設定部203は、ログデータ内に存在する1ラインにおいてスペースがあるごとに、1つの要素であると、ログ解析装置が認識するように設定する。
【0034】
図示するように、各要素を区切る文字等は、「タブ」、「セミコロン」、「カンマ」又は「その他」の文字等を目印としてもよい。また、図示するように、各要素を区切る文字等は、「文字数」に設定される文字数を目印にしてもよい。このように、ユーザが、イベント及び要素を区切る目印を選択する操作ができるのが望ましい。
【0035】
このように、第1解析ルール入力部AN1及び第2解析ルール入力部AN2等のGUIを用いると、フォーマットの変更により、1ラインの区切り、又は、要素の区切りとなる目印が異なる文字等に変えられても、ユーザは、目印を変更する操作を行うことができる。このような操作が行われると、設定部203は、1ライン及び1要素をログ解析装置が認識できるように設定できる。
【0036】
また、画面には、図示するように、プレビューPVが表示されてもよい。図示する例は、第1解析ルール入力部AN1及び第2解析ルール入力部AN2に入力された操作に基づいて設定が行われた場合、ログLGに含まれる各要素を区切った場合の例を示す。このようなプレビュー結果に対して、各要素の形式等を定義できるのが望ましい。
【0037】
図における定義入力ボックスSEのGUIには、各要素のデータ形式が入力される。図示する例は、定義入力ボックスSEに、「A」、すなわち、1ラインにおける最初の要素を「日付」とするように入力した操作が行われた例を示す。このように、定義入力ボックスSEのGUIによって、データ形式等が入力されると、設定部203は、ログ解析装置が各要素のデータ形式を認識できるように設定する。例えば、同じデータ形式の要素であれば、ログ解析装置は、同じ内容を示すと認識できるため、異なるログデータの間であっても、同じデータ形式の要素を照合、比較又は参照することができる。
【0038】
具体的には、同じ日付を含むログであっても、一方では、日付は、年を下2桁で示すのに、他方では、日付は、4桁で示すような場合等がある。このような場合であっても、設定部203が定義を設定すると、ログ解析装置が「18」と「2018」とを同じ年であると認識できる。
【0039】
【0040】
例えば、ログデータには、時系列となるように、イベント等が記憶される。このようなログデータに基づいて、例えば、ログLG(図では、上から下に向かって時間が経つ順にデータが記憶される例である。)が画面に表示される。
【0041】
この例は、1ラインLNが1つのイベントとなるようにログデータに記憶される例である。なお、イベントは、あらかじめ設定される。具体的には、イベントは、ハードウェア又はソフトウェアにおける処理の開始、終了等を示す。また、イベントは、ハードウェア又はソフトウェア等に発生するエラー等を示す。そして、1ラインLNは、例えば、以下のような構成要素で構成される。
【0042】
第1要素C1は、イベントが発生した日時を示す。
【0043】
第2要素C2は、イベントが発生した時刻を示す。
【0044】
第3要素C3は、イベントに関する情報を16進数の数値で示す。
【0045】
第4要素C4は、イベントに関する情報を10進数の数値で示す。
【0046】
第5要素C5は、イベントの種類を文字で示す。例えば、第5要素C5は、「E」であると「Error」であることを示す。ほかにも、第5要素C5は、「I」であると「Information」であることを示す。
【0047】
第6要素C6は、イベントの内容等を文字で示す。
【0048】
例えば、第1要素C1及び第2要素C2は、イベントが発生した時点で時刻を取得すると生成できる。また、第1要素C1及び第2要素C2は、1つの要素になってもよいし、日付又は時刻だけという構成でもよい。
【0049】
第3要素C3、第4要素C4、第5要素C5及び第6要素C6等は、イベントの内容、イベントが発生したハードウェア、イベントが発生したソフトウェア又はこれらの組み合わせ等を示す。また、第3要素C3及び第4要素C4のように、数値で示すような構成でもよい。この数値がどういった意味を示すかは、あらかじめ定義される。したがって、数値が分かれば、ログ解析装置は、イベントが発生した位置又はイベントの種類等を認識できる。
【0050】
また、解析部204でログデータを解析するには、例えば、画面上で以下のような操作が行われる。
【0051】
図5は、出力装置に表示されている画面の一例を示す第2の図である。例えば、画面PNには、選択画面SEL等のGUIがある。図示する画面PNでは、選択画面SEL等のGUIには、解析の種類を指定する操作が行われる。
【0052】
以下、図示するようなGUIでユーザが操作を行う場合の例を説明する。
【0053】
図6は、出力装置に表示されている画面の一例を示す第3の図である。例えば、所定のイベントが開始されてから終了するまでの時間を計測する解析を行う場合には、ユーザは、画面PNに、図示するように入力する。
【0054】
開始条件入力部INSのGUIには、図示するように、解析の対象とする要素を入力する「対象カラム」のテキストボックスと、対象とするイベントを特定する「条件」のテキストボックスに、文字等が入力される。そして、特定の処理等の開始を示すイベント(以下「開始イベント」という。)は、開始条件入力部INS等に入力される内容に基づいて定義される。このような操作が行われると、設定部203は、定義に基づいて、ログ解析装置が開始イベントを認識するように設定する。
【0055】
同様に、終了条件入力部INEのGUIには、「対象カラム」のテキストボックスと、「条件」のテキストボックスとに、文字等が入力される。そして、処理等の終了を示すイベント(以下「終了イベント」という。)は、終了条件入力部INE等に入力される内容に基づいて定義される。このような操作が行われると、設定部203は、定義に基づいて、ログ解析装置が終了イベントを認識するように設定する。
【0056】
このように、設定部203によってログ解析装置が開始イベント及び終了イベントを認識するように設定がされると、ログ解析装置は、開始イベントをトリガにイベントが発生している時間の計測を開始し、かつ、終了イベントをトリガに処理が行われている等の該当イベントが発生している時間の計測を終了する。
【0057】
図7は、出力装置に表示されている画面の一例を示す第4の図である。例えば、所定のイベントが所定の時間内に発生する回数をカウントする解析を行う場合には、ユーザは、画面PNに、図示するように入力する。
【0058】
まず、画面PNには、カウント入力部SCNによって、所定のイベントが所定の時間内に発生する回数をカウントする解析を行うように選択する入力が行われる。このように、カウント入力部SCNのチェックボックスがチェックされると、以下のように、画面PNには、イベントをカウントする解析の条件等が入力可能となる。
【0059】
計測時間単位入力部INTMのテキストボックスには、図示するように、解析の対象とする時間単位を示す数値等が入力される。具体的には、図示するように、計測時間単位入力部INTMに、「1h(1時間)」と入力する操作が行われると、設定部203は、ログ解析装置が1時間ごとに区切ってカウント値を出力するように設定する。
【0060】
同様に、対象入力部INTGは、「対象カラム」のテキストボックスと、「条件」のテキストボックスとで構成される。「対象カラム」のテキストボックスには、時間計測の場合と同様に、対象とする要素を特定する文字等が入力される。また、「条件」のテキストボックスには、抽出する所定条件が入力される。具体的には、図示するように、対象入力部INTGに「="E"」と入力すると、「E」のカラム(すなわち、
図3に示す「E」のカラムであって、
図4における左から5カラム目である。)が「E」という入力値であると、設定部203は、ログ解析装置が所定条件と一致すると判断するように設定する。
【0061】
以下、このように、ルールで定まる所定条件を満たすイベントのうち、単位時間あたりに発生した回数のカウント対象、又は、カウントの対象となるイベントを「カウントイベント」という。そして、上記の例では、「E」のカラムが「E」であるカウントイベントがあると、設定部203は、ログ解析装置がカウントアップを行うように設定する。また、単位時間あたりで回数を特定する場合には、設定部203は、カウントが時間単位ごとにリセットされるように設定する。一方で、カウントする時間が特に定められない場合には、設定部203は、全体を通してカウントイベントがカウントされるように設定する。
【0062】
したがって、設定部203は、ログ解析装置が、計測時間単位入力部INTMのテキストボックスに入力される時間単位ごとに、対象入力部INTGに入力される所定条件を満たすイベントが発生した回数をカウントするように設定する。
【0063】
図8は、出力装置に表示されている画面の一例を示す第5の図である。例えば、所定のイベントが所定の時間内に発生した回数をカウントする解析を行う場合には、ユーザは、画面PNに、図示するように入力する。
【0064】
まず、画面PNにおいて、時間抽出入力部STGがチェックされると、以下のように、イベントが発生した時間に関する解析の入力が可能となる。
【0065】
対象抽出イベント入力部INIVは、「対象カラム」のテキストボックスと、「条件」のテキストボックスとで構成される。「対象カラム」のテキストボックスには、時間計測の場合等と同様に、対象とする要素を特定する文字等が入力される。「条件」のテキストボックスには、抽出する所定条件を示す文字等が入力される。具体的には、図示するように、対象抽出イベント入力部INIVに「="更新の適用がキャンセルされました。"」と入力すると、「F」のカラム(すなわち、
図3に示す「F」のカラムであって、
図4における左から6カラム目である。)が「更新の適用がキャンセルされました。」という入力値であると、設定部203は、ログ解析装置が所定条件と一致する入力値と判断するように設定する。
【0066】
以下、このように、ルールで定まる所定条件を満たすイベントのうち、時刻を解析する対象となるイベントを「抽出イベント」いう。
【0067】
したがって、設定部203は、ログ解析装置が、対象抽出イベント入力部INIVに設定される所定条件を満たした抽出イベントが発生した時点を特定するように設定する。
【0068】
図3、
図4、
図5、
図6、
図7、及び、
図8に示したように、設定部203は、入力受付部202から受け取った入力に基づいて、所定の条件を設定する。次に、設定部203は、設定した所定の条件をデータベース(DB)に格納する。
【0069】
例えば、ログ解析装置は、以下のように解析及び出力を行うことができる。
【0070】
図9は、解析及び出力の例を示す図である。例えば、解析結果DT、すなわち、ログを解析すると、例えば、第1出力ルールRL21のようなログを抽出して、第1出力データDE1を生成できる。
【0071】
解析部204は、第1出力ルールRL21に基づいて、図示するように、「ソフトAAA」というツールが開始されてから終了するまでの時間を計測する。そして、「ソフトAAA」が開始及び終了するというイベントが複数回ある場合には、複数の計測結果を示す一覧が生成される。このような一覧が、表示制御部205によって、表示部に表示される。
【0072】
具体的には、ログデータを解析して、「ソフトAAAを開始しました。」というイベントが抽出されると、解析部204は、この時点を「ソフトAAAの開始」の時点とする。次に、「ソフトAAAを終了しました。」というイベントが抽出されると、解析部204は、この時点を「ソフトAAAの終了」の時点とする。そして、解析部204は、「ソフトAAAの開始」から「ソフトAAAの終了」までの時間を計算すると、1つの「ソフトAAA」の稼働時間を算出できる。
【0073】
解析部204は、第2出力ルールRL22に基づいて、図示するように、「5カラム目(
図3に示す例では、「E」のカラムとなる。)」に、「E」が出現する回数の一覧を生成する。このような一覧が、表示制御部205によって、表示部に表示される。
【0074】
具体的には、解析部204は、設定された時間内に、「E」、すなわち、エラーが発生した回数をカウントする。このように、エラーの回数等をカウントできると、アプリケーション等を実行中にエラーの有無又はエラーの発生頻度等を特定することができる。
【0075】
解析部204は、第3出力ルールRL23に基づいて、所定条件に定めるイベントの例である「更新の適用がキャンセルされました。」というイベントが発生した時刻の一覧を生成する。このような一覧が、表示制御部205によって、表示部に表示される。
【0076】
具体的には、解析部204は、「更新の適用がキャンセルされました。」というイベントを認識すると、認識したイベントが発生した時点を示す時刻等を一覧にして表示する。このように、所定のイベントが発生した時点を特定できると、いつイベントが発生したかが分かりやすく、デバック等が行いやすい。
【0077】
例えば、解析部204は、
図15に示す第13イベントIV13により、「管理ソフト」の開始を認識する。
【0078】
このような結果の一覧が生成されると、例えば、以下のような表示が表示部にされる。
【0079】
【0080】
解析部204が、
図15に示すログを
図5のように入力したルールに基づいて解析すると、表示制御部205は、表示部に、例えば、図示するような第1解析結果RS1を表示する。
【0081】
図示するように、第11イベントIV11により、開始時刻RS11が出力される。また、第12イベントIV12により、終了時刻RS12が出力される。このように抽出される開始時刻RS11及び終了時刻RS12の差を計算すると、経過時間RS13が算出される。すなわち、表示部には、「管理ソフト」による処理のイベントが行われていた時間を示す経過時間RS13が表示される。
【0082】
なお、解析結果には、グラフ等が含まれて出力されるのが望ましい。すなわち、グラフ等により、視覚的に分かりやすい形式で解析結果が出力されると、開発者以外のような専門知識のない者等でも、解析結果が分かりやすい。
【0083】
また、解析結果には、統計値等が含まれて出力されるのが望ましい。すなわち、複数の経過時間等がある場合には、平均値、標準偏差、中央値又は分散等の統計値が出力されると、性能等の解析が容易になる。
【0084】
【0085】
解析部204が、
図15に示すログを
図7のように入力したルールに基づいて解析すると、表示制御部205は、表示部に、例えば、図示するような第2解析結果RS2を表示する。
【0086】
また、
図15に示すログを用いると、解析部204は、第21イベントIV21を「E」が出力されるイベントと認識する。さらに、解析部204は、第21イベントIV21を時点LGTが示すように、「09:14:07」の時刻に発生しているイベントと認識する。したがって、解析部204は、第21解析結果RS21が示すように、第21イベントIV21を「09:00」から1時間の間に発生したイベントとしてカウントする。このように、解析部204は、「E」のイベントを「09:00」から1時間の間に、1つしか発生していないと認識するため、表示制御部205は、表示部に、「件数」を「1」とする第21解析結果RS21を表示する。
【0087】
同様に、表示制御部205は、表示部に、「件数」を「0」とする第22解析結果RS22を表示する。
図15に示すログを用いると、解析部204は、第31イベントIV31を「10:00」から1時間の間に発生したイベントと認識する。そして、解析部204は、第31イベントIV31が「E」でないと認識するため、解析部204は、カウントしない。したがって、表示制御部205は、表示部に、「件数」が「0」となる第22解析結果RS22を表示する。
【0088】
なお、解析結果には、グラフ等が含まれて出力されるのが望ましい。すなわち、グラフ等により、視覚的に分かりやすい形式で解析結果が出力されると、開発者以外のような専門知識のない者等でも、解析結果が分かりやすい。
【0089】
また、このようにエラーの発生等を統計処理して出力できるのが望ましい。このようにエラーの発生を特定しやすいと、エラーの原因となる処理等を特定してトレースするのが容易にできる。
【0090】
【0091】
解析部204が、
図15に示すログを
図8のように入力したルールに基づいて解析すると、表示制御部205は、表示部に、例えば、図示するような第3解析結果RS3を表示する。
【0092】
また、
図15に示すログを用いると、解析部204は、第31イベントIV31を「更新の適用がキャンセルされました。」が出力されるイベントと認識する。そして、解析部204は、第31イベントIV31が発生した時点を時点LGTが示すように、「18/08/23」の「10:01:49」と認識する。
【0093】
その結果、表示制御部205は、表示部に、時点LGTが示す時点を「日付」及び「時刻」を第31解析結果RS31のように表示する。
【0094】
<全体処理例>
図13は、全体の処理の概要を示す図である。以下、図示するように、アプリケーションAPによって、ログデータLGDを生成する例で説明する。
【0095】
なお、ログデータLGDは、アプリケーションが生成するに限られない。例えば、ログデータLGDは、電子回路等の装置に生成されてもよいし、ミドルウェア等が生成してもよい。以下、図示するように、1つのアプリケーションが、ログデータLGDを1つ生成する場合を例に説明する。
【0096】
ただし、ログデータLGDは、フォーマット等が場合によって異なるとする。したがって、同様の内容を示すログデータLGDであっても、異なるフォーマットで作成したログデータLGDが入力される。
【0097】
図示するように、設定部203は、例えば、ログデータLGDに対して解析ルールRL1を設定する。そして、解析ルールRL1に基づいて解析部204は、解析を行い、ログデータを複数の要素に分けて解析結果DTを生成する。このように、設定部203が、ログデータLGDを解析するルールを設定すると、どのようなフォーマットであっても、ログデータLGDをどのように複数の要素に分けるかが把握できる。
【0098】
この解析結果DTに基づいて、出力データが生成される。このように出力データを生成するには、図示するように、あらかじめ出力ルールが設定される。例えば、4通りの出力データを生成するには、4つの出力ルールが設定される。
【0099】
以下、設定部203によって設定される第1出力ルールRL21に基づいて第1出力データDE1が出力されるとする同様に、設定部203によって設定される第2出力ルールRL22に基づいて第2出力データDE2が出力され、設定部203によって設定される第3出力ルールRL23に基づいて第3出力データDE3が出力される。さらに、設定部203によって設定される第4出力ルールRL24に基づいて第4出力データDE4が出力される。
【0100】
図14は、処理の流れを説明するフローチャートである。
【0101】
ステップS1では、設定部203は、ルールを設定する。例えば、設定部203は、ログデータを解析する上で、ログデータを構成する要素及びイベントを認識させるルール(以下「解析ルール」という。)を設定する。また、設定部203は、解析結果の内容及び出力する形式等を設定するルール(以下「出力ルール」という。)等の設定も行ってよい。以下、解析ルール及び出力ルールがどちらも設定される場合を例に説明する。
【0102】
ステップS2では、取得部201は、ログデータを取得する。
【0103】
ステップS3では、解析部204は、ログデータを解析する。すなわち、解析部204は、設定ルールに基づいてステップS2で入力されるログデータを解析する。
【0104】
ステップS4では、出力部は、出力データを出力する。すなわち、出力部は、出力ルール等で設定される形式で解析結果を示す出力データを生成し、出力する。
【0105】
図15は、解析の対象例を示す図である。以下、例えば、図示するようなログが解析の対象となる。
【0106】
この例では、第11イベントIV11により、「管理ソフト」の開始が認識される。
【0107】
図示するように、イベント名LGNが示す内容が開始条件入力部INSに入力される内容と一致する。したがって、解析部204は、第11イベントIV11が発生した時点(図では、時点LGTの要素が示す時刻となる。以下単に「時点LGT」という。)がイベントの開始と認識する。次に、第12イベントIV12により、「管理ソフト」の終了が認識される。したがって、解析部204は、第11イベントIV11の時点LGTを「開始時刻」とし、第12イベントIV12の時点LGTを「終了時刻」と認識する。そして、解析部204は、「開始時刻」から「終了時刻」までを「経過時間」として算出する。
【0108】
なお、解析結果には、グラフ等が含まれて出力されるのが望ましい。すなわち、グラフ等により、視覚的に分かりやすい形式で解析結果が出力されると、開発者以外のような専門知識のない者等でも、解析結果が分かりやすい。
【0109】
また、解析結果には、統計値等が含まれて出力されるのが望ましい。すなわち、複数の時刻等がある場合には、平均値、標準偏差、中央値又は分散等の統計値が出力されると、性能の改善等が容易になる。
【0110】
上記のように、設定部203が解析ルール等を設定できると、解析部204は、ログデータの要素等を認識することができる。このようにすると、アプリケーション等のソフトウェアの種類、開発の時期、ベンダー、担当者又は情報処理装置が異なることで、ログデータのフォーマット等が異なっても、同様の内容が含まれていることを解析部204が認識できる。ゆえに、異なるフォーマットのログデータ等を入力しても、解析部204がログデータを構成する要素を認識して解析を行うことができる。このように、解析を行う上のルールが設定できると、ログデータのフォーマット等が勝手に定められても、解析部204は、ルールにより、ログデータの要素等を認識できるため、あらかじめ定義されたフォーマット以外であっても、ログ解析装置に、ログデータを複数の要素に分ける解析等を行わせることができる。そのため、異なるフォーマットのログデータを解析のために、1つ1つ手動で変更するような手間が少なくできる。特に、ログデータが大量の場合には、人間の目視に頼ると、手間が多く、時間がかかる。一方で、このように、ルールでログ解析装置に認識及び解析等をさせることができると、解析にかかる手間を少なくできる。ゆえに、解析に係る時間も少なくできる。
【0111】
さらに、このようなログ解析装置があれば、ログデータのフォーマットをあらかじめ定義し、その後も固定するようなことを少なくできる。すなわち、開発者等が、アプリケーションの開発等に合わせて、様々にログデータのフォーマットを柔軟に変更しやすくできる。
【0112】
このように、フォーマットごとに、ルールを設定すると、解析されたデータは、メモリ上に展開できる。ゆえに、コンピュータの処理能力で解析等が可能であるため、大量のログデータを高速に解析できる。また、場合によっては、高速にログデータから情報を抽出できる。さらに、解析等が高速にできるため、人間が分かりやすい形式に、高速にデータを加工することも可能となる。
【0113】
また、設定部203が出力ルール等を設定できると、出力部は、出力ルールで設定されたイベントを抽出したり、時間を計測したり、発生した回数をカウントしたり、単位時間あたりに発生した回数を特定したり、イベントが発生した時刻を特定したりする解析が可能となる。すなわち、ユーザが指設定する所定条件を満たす内容を解析部204が解析して出力することができる。このように、解析及び出力がされると、人間が目視で解析していくより、効率的にログデータを解析できる。
【0114】
また、上記のように、出力部は、出力ルールに基づいて、目的ごとに、異なる出力データを出力するのが望ましい。
【0115】
例えば、1週間で5GByte以上のデータ量となるログデータが発生するように、大きなデータ量が発生する場合には、人間による目視又は操作等での解析では、長時間の作業となる場合がある。一方で、それぞれのログデータのフォーマットが異なると、複数のログをまとめて解析することが難しい場合がある。
【0116】
ログデータのデータ量が、大きなデータ量、例えば、1GByte以上であると、表計算ソフト等では展開できない場合等がある。このよう大きなデータ量を人の操作で処理するのは、処理がとても煩雑である。したがって、ログ解析装置を用いると、大きなデータ量のログデータであっても、容易に解析することができる。
【0117】
<その他の実施形態>
ルールは、上記のように、GUI等で設定されなくともよい。例えば、設定部203は、設定の内容を示すファイル等を入力してルールを設定してもよい。ほかにも、設定部203は、例えば、教師データ等を用いる機械学習等によってルールを設定してもよい。
【0118】
各装置は、1つの装置でなくともよい。すなわち、各装置は、複数の装置の組み合わせであってもよい。なお、図示する以外の装置が更に含まれる構成であってもよい。
【0119】
なお、本発明に係る各処理の全部又は一部は、コンピュータ言語で記述され、コンピュータにログ解析方法を実行させるためのプログラムによって実現されてもよい。すなわち、プログラムは、ログ解析装置又はログ解析システム等といったコンピュータに各処理を実行させるためのコンピュータプログラムである。
【0120】
したがって、プログラムに基づいてログ解析方法が実行されると、コンピュータが有する演算装置及び制御装置は、各処理を実行するため、プログラムに基づいて演算及び制御を行う。また、コンピュータが有する記憶装置は、各処理を実行するため、プログラムに基づいて、処理に用いられるデータを記憶する。
【0121】
また、プログラムは、コンピュータが読み取り可能な記録媒体に記録されて頒布することができる。なお、記録媒体は、磁気テープ、フラッシュメモリ、光ディスク、光磁気ディスク又は磁気ディスク等のメディアである。さらに、プログラムは、電気通信回線を通じて頒布することができる。
【0122】
なお、本発明に係る実施形態は、複数の情報処理装置を有するログ解析システムによって実現されてもよい。また、ログ解析システムは、各処理及びデータの記憶を冗長、分散、並列、仮想化又はこれらを組み合わせて実行してもよい。
【0123】
以上、実施形態における一例について説明したが、本発明は、上記実施形態に限定されない。すなわち、本発明の範囲内で種々の変形及び改良が可能である。
【0124】
<第2の実施形態>
第1の実施形態では、単一のアプリケーションが出力したログデータを加工する設定を行えるようにしたことで、ログ解析者の手間を減らすことができるようになった。
【0125】
本実施形態では、複数のアプリケーションが出力したログデータを加工する際の設定を紐づけることで、複数のアプリケーションが出力したログデータをログ解析者が解析する場合でも手間を減らすことができるようになる。
【0126】
<ログ解析装置のハードウェア構成例>
第1の実施形態と同様であるため、説明を省略する。
【0127】
<ログ解析装置の機能構成例>
図16は、第2の実施形態におけるログ解析装置の機能構成例を示す図である。
図16に示す様に、ログ解析装置100は、取得部201、入力受付部202、設定部1601、解析部204、表示制御部205を備える。
【0128】
取得部201は、第1の実施形態と同様のため、説明を省略する。
【0129】
入力受付部202は、第1の実施形態と同様のため、説明を省略する。
【0130】
解析部204は、第1の実施形態と同様のため、説明を省略する。
【0131】
表示制御部205は、第1の実施形態と同様のため、説明を省略する。
【0132】
設定部1601は、入力受付部202から受け取った入力に基づいて、解析部204がログデータを解析する際に参照する解析条件や、後述の表示制御部205が解析部204の解析結果を表示する際に参照する出力条件を設定する。また、設定部203は、設定した条件を、記憶部の一例であるHDD/SSD104が記憶しているデータベース(DB)に格納する、又は、解析部204、若しくは、表示制御部205へ出力する。
【0133】
図17は、入力受付部が、複数のアプリケーションのログデータを解析する際に参照する条件の入力を受け付ける画面の一例を示す図である。
【0134】
図17の画面例には、「設定名」という欄がある。ユーザは、この欄にアプリAのログデータのファイルである「アプリAのログファイル」を紐づける。その他、
図3の画面例と同様のため、説明を省略する。
【0135】
このように、本実施形態では、ユーザが複数のアプリケーションそれぞれに対して、ログの解析条件を設定する。
【0136】
次に、ユーザは、
図17の画面にて設定した複数のアプリケーションの解析条件の紐づけを行う。
【0137】
図18は、ユーザが、複数のアプリケーションの解析条件の紐づけを行う際の画面の一例を示す図である。
【0138】
図18には、ユーザが解析条件を設定したアプリケーションである、アプリA、アプリB、アプリCのそれぞれのカラムの要素が、
図17に示した画面例でどのような属性に設定されているかが一覧になって表示されている。ここで、属性とは、日付、時刻、文字列、数値(10進)、数値(16進)、文字数、等、カラムの要素の設定である。
【0139】
そして、
図18の画面例には、複数のアプリケーションのログデータをまとめて表示する際のカラムである統合配列の設定が表示されている。
【0140】
図18の例では、統合配列のカラム1のデータ型である属性が「日付」になっている。統合配列のカラム1の属性が「日付」に設定されると、アプリA、アプリB、アプリCのカラムのうち、属性が「日付」であるカラムがカラム1に関連付けられる。同様に統合配列のカラム2の属性が「時刻」に設定されると、アプリA、アプリB、アプリCのカラムのうち、属性が「時刻」であるカラムがカラム2に関連付けられる。
【0141】
このように、ユーザは、複数のアプリケーションのログを解析するための解析条件をまとめる設定をすることができるようになる。
【0142】
図19は、複数のアプリケーションのログをまとめて解析した結果を出力する出力条件を設定する画面の一例を示す図である。
【0143】
図19の画面例では、「対象カラム」の欄には、
図18の画面例で示した統合配列のカラムのうち、どのカラムを解析の対象にするかを入力される。時間計測、件数カウント、時刻抽出については、第1の実施形態と同様のため説明を省略する。
【0144】
「キーワード行検出」では、「キーワード」の欄に、ログデータ中で検出したい文字列を入力することができる。
【0145】
図20は、
図19の出力条件を設定する画面例にてユーザにより入力された出力条件に基づいて、出力したログデータの解析結果例を示す図である。このように、ユーザは、複数のアプリケーションをまとめて解析することができ、ログデータの解析の時間を削減することができる。
【符号の説明】
【0146】
100 ログ解析装置
AN1 第1解析ルール入力部
AN2 第2解析ルール入力部
C1 第1要素
C2 第2要素
C3 第3要素
C4 第4要素
C5 第5要素
C6 第6要素
DE1 第1出力データ
DE2 第2出力データ
DE3 第3出力データ
DE4 第4出力データ
DT 解析結果
INE 終了条件入力部
INIV 対象抽出イベント入力部
INS 開始条件入力部
INTG 対象入力部
INTM 計測時間単位入力部
IV11 第11イベント
IV12 第12イベント
IV13 第13イベント
IV21 第21イベント
IV31 第31イベント
LG ログ
LG1 第1ログ
LG2 第2ログ
LG3 第3ログ
LGN イベント名
LGT 時点
PN 画面
PV プレビュー
RL1 解析ルール
RL11 第1解析ルール
RL12 第2解析ルール
RL13 第3解析ルール
RL21 第1出力ルール
RL22 第2出力ルール
RL23 第3出力ルール
RL24 第4出力ルール
RS1 第1解析結果
RS2 第2解析結果
RS11 開始時刻
RS12 終了時刻
RS13 経過時間
RS21 第21解析結果
RS22 第22解析結果
RS31 第31解析結果
SCN カウント入力部
SE 定義入力ボックス
SEL 選択画面
STG 時間抽出入力部
【先行技術文献】
【特許文献】
【0147】