以下、図面に基づいて、本発明の実施の形態を説明する。本実施形態に係るログ情報解析装置1は、一台以上の計算機を有する情報処理システム(計算機システム)において、ログ情報D1、解析定義情報D2、合成定義情報D4を受け付け、ログ情報を解析してシーケンス情報D3を作成する。そして、ログ情報解析装置1は、複数のシーケンス情報と合成定義情報に基づいて、シーケンスの重複部分、差異部分、分岐地点、合流地点を抽出することで、シーケンス情報を合成した合成情報D5を得る。
本実施形態によれば、複数のログ情報から得る複数のシーケンス情報を合成することで、情報処理システムの挙動(計算機の挙動)を検出しやすくなるため、エラー原因の解析作業の効率を改善することができる。
図1〜図10を用いて第1実施例を説明する。図1は、ログ情報解析装置1および情報処理システム2を含むシステム全体の機能構成例を示す。ログ情報解析装置1の詳細な構成例は、図2で後述する。
本実施例のログ情報解析装置1は、解析対象の情報処理システム2からログ情報D1を取得して解析する。
情報処理システム2は、例えば、複数の計算機21,22と、ネットワーク監視装置23を含んでおり、それら装置21〜23は通信ネットワークCNを介して双方向に通信可能に接続されている。ネットワーク監視装置23は、第1計算機21と第2計算機22との間で送受信されるパケットを監視する。図1では、2つの計算機21,22を示すが、これに限らず、情報処理システム1は3つ以上の計算機を含んでもよい。
本実施例では、例えば第1計算機21はサーバ計算機であり、第2計算機22はクライアント計算機である。クライアント・サーバ方式のアーキテクチャに限らず、第1計算機21と第2計算機22とが対等の立場で通信するピア・ツー・ピア方式のアーキテクチャにも、本実施例は適用可能である。後述する他の実施例では、例えば、鉄道システム、電力システム、上下水道システム等の各種社会インフラストラクチャシステムに適用する場合を述べる。
ログ情報解析装置1が情報処理システム2から取得するログ情報D1は、例えば、各計算機21,22における処理のログD11,D13と、各計算機21,22間の通信に関するパケットログD12とを含む。
第1計算機21で実施された処理のログは、処理ログD11として第1計算機21から出力される。第2計算機22で実施された処理のログは、処理ログD13として第2計算機22から出力される。第1計算機21と第2計算機22の間で送受信されるパケット通信のログは、パケットログD12としてネットワーク監視装置23から出力される。パケットログD12は、通信ログD12と呼ぶこともできる。ログ情報D1は、通常、各ログD11〜D13を複数ずつ含んでいる。ログ情報D1は、複数のログ情報D11〜D13の集合体である。
ログ情報解析装置1は、コンピュータに所定のコンピュータプログラムを実行させることで実現される。ログ情報解析装置1は、複数の機能を備えるが、主な機能構成を以下に説明する。
解析部F11は、ログ情報D1を解析定義情報D2を用いて解析することで、シーケンス情報D3を生成する。解析定義情報D2とは、ログ情報D1を解析するための定義を含む情報である。解析定義情報D2の構成例は、図4で後述する。シーケンス情報D3とは、情報処理システム1における一連の処理の流れを示す情報である。例えば、第2計算機22が第1計算機21の提供するサービスへログインし、第1計算機21に所定の処理の実行を要求し、第1計算機21が所定の処理の実行結果を第2計算機22へ返す場合、ログイン、認証実行、特定の処理の実行、実行結果の応答等が一連の処理となる。通常、第1計算機21と第2計算機22の間では、複数の一連の処理が並列的に実行されるため、解析部F11は、それぞれ異なる複数のシーケンス情報D3を生成する。
合成部F12は、複数のシーケンス情報D3を合成定義情報D4を用いることで合成し、合成情報D5を生成する。合成定義情報D4とは、複数のシーケンス情報D3を合成するための定義を含む情報である。合成定義情報D4の構成例は、図6で後述する。合成部F12は、合成情報D5に新たなシーケンス情報D3をさらに追加して、合成情報D5を作り直すこともできる。
可視化部F13は、合成情報D5をディスプレイ等に表示する。合成情報D5は、情報処理システム2における複数の一連の処理を集約したものである。合成情報D5は、情報処理システム2の各計算機21,22の挙動を示す。ログ情報D1が通常時のログを多く含む場合、そのログ情報D1に基づく合成情報D5には、情報処理システム2における通常時の処理の流れが反映されている。したがってシステム管理者は、表示された合成情報D5を通じて、情報処理システム2の通常時の処理の流れを確認できる。
比較部F14は、合成情報D5と他のシーケンス情報D3とを比較し、両者の異同を提示する。比較対象となる他のシーケンス情報D3は、例えば、情報処理システム2にエラー等の事象が発生した場合のログ情報D1に基づくシーケンス情報である。比較部F14は、通常時の処理の流れを集約した合成情報D5とエラー時のログ情報D1に基づくシーケンス情報D3とを比較し、その比較結果を可視化部F13を介してシステム管理者へ提示する。これにより、システム管理者は、エラーの原因が一連の処理の流れのどこに存在するのかを効率よく見つけることができる。
再現部F15は、合成情報D5またはシーケンス情報D3に基づいて、第1計算機21または第2計算機22の代役を務める。合成情報D5は、情報処理システム1の通常時における一連の処理の流れを集約しているため、再現部F15は、合成情報D5を用いることで、第1計算機21または第2計算機22のいずれかに成り代わって、相手方の計算機22,21と通信できる。例えば、再現部F15は、第2計算機22に成り代わって、第1計算機21と通信できる。または、再現部F15は、第1計算機21に成り代わって、第2計算機22と通信することもできる。再現部F15に情報処理システム2の計算機21,22のいずれかの代役をさせることで、通常時の挙動またはエラー発生時の挙動を再現させることができる。
図2は、ログ情報解析装置1の構成例を示す。ログ情報解析装置1のハードウェア構成を先に説明する。ログ情報解析装置1は、例えば、CPU(Central Processing Unit)11、メモリ12、ネットワークインターフェース部13、ユーザインターフェース部14、および記憶装置15を含む。図中では、ネットワークインターフェースを「ネットワーク」と、ユーザインターフェースを「UI」と、表示する。
ネットワークインターフェース部13は、ログイン情報解析装置1が情報処理システム2と通信するための装置である。ログイン情報解析装置1は、ネットワークインターフェース部13を介して通信ネットワークCNに接続し、各計算機21,22およびネットワーク監視装置23と通信する。
ユーザインターフェース部14は、システム管理者等のユーザと情報交換するための装置である。ユーザインターフェース部14は、ユーザがログ情報解析装置1へ情報を入力するための情報入力装置と、ログ情報解析装置1からユーザへ情報を提供するための情報出力装置を備える。情報入力装置には、例えば、キーボード、ポインティングデバイス、タッチパネル、音声指示装置等がある。情報出力装置には、例えば、ディスプレイ、プリンタ、音声合成装置等がある。なお、ログ情報解析装置1は、電子メールまたは電子メールに添付する文書ファイルにより、ユーザへ情報を提供することもできる。
記憶装置15は、例えばハードディスクドライブやフラッシュメモリデバイス等から構成されており、各機能F11〜F19に対応するコンピュータプログラムと、各情報D1〜D5とを保持する。CPU11が、記憶装置15に記憶されたコンピュータプログラムをメモリ12へ読み出して実行することで、各機能F11〜F19が実現する。
ログ入力部F16にはログ情報D1が入力される。解析定義入力部F17には解析定義情報D2が入力される。合成定義入力部F18には合成定義情報D4が入力される。各情報D1〜D3は、例えば、メモリ、ハードディスク、磁気テープ等の記録媒体に固定されてもよい。この場合、各入力部F16〜F18は、それら記録媒体からデータを読み出すためのインターフェースを備える。各情報D1〜D3は、公衆回線または専用回線等の通信ネットワークを介してログ情報解析装置1へ入力することもできる。
評価部F19は、シーケンス情報D3または合成情報D5を評価し、その評価結果を出力する。評価部F19は、例えば、合成情報D5がどの程度通常時の状態を反映しているかを評価し、その評価値を出力する。例えば、分岐する箇所が多い合成情報D5は、通常時以外のイレギュラーなログ情報D1の影響を受けていると判断できる。この場合、評価部F19は、その合成情報D5に対して低い評価値を与えることができる。
ここで、例えば、解析部F11と、ログ入力部F16と、解析定義入力部F17とで、ログ情報解析機能を構成すると考えることができる。さらに、例えば、合成部F12と、可視化部F13と、比較部F14と、合成定義入力部F18とで、ログ情報合成比較部を構成すると考えることもできる。
図3は、ログ情報D1の例である。ログ情報D1は、例えば、時刻情報C11、端末情報C12、ログ内容情報C13を含む。
時刻情報(図中、時刻と略記)C11は、ログ情報の発生要因である事象の発生時刻である。端末情報C12は、ログ情報の発生要因である端末を特定する情報である。複数の計算機間での通信に関するログの場合、送信元の計算機を特定する情報と送信先の計算機を特定する情報の両方が端末情報C12に記載される。ログ内容情報C13は、ログの内容を示す。
図4は、解析定義情報D2の例である。解析定義情報D2は、例えば、参照情報C21、条件C22、出力C23を含む。解析定義情報D2は、システム管理者等が設定することができる。
参照情報C21は、ログ情報D1に記載された各項目のうち参照すべき項目を特定する情報である。参照対象の項目としては、例えば「端末情報」「ログ内容」がある。条件C22は、参照情報C21に対する判定条件である。条件C22に設定された値と、ログ情報の参照先項目の値とが一致する場合、条件C22は成立したものと判定される。出力C23は、条件C22が成立した際に出力する情報であり、解析結果を示す。条件C22が成立するときは、解析定義情報D2によってログ情報の該当項目の解析に成功した場合であり、出力C23の内容がログ情報D1の解析結果として出力される。出力C23の内容としては、例えば「ログ概要」「ログ種別」等がある。ログ種別には、「要求」や「応答」がある。これに限らず、情報の分類や解析の必要性に応じて、ログ情報D1に含まれる任意の値を出力C23の内容として設定してもよい。
図5は、シーケンス情報D3の例である。シーケンス情報D3は、例えば、時刻情報C31、送信元情報C32、送信先情報C33、ログ概要C34、および種別情報C35を含む。シーケンス情報D3に含まれる情報は、ログ情報D1および解析定義情報D2により決定される。なお、図中では、「情報」という語句を適宜省略している。
時刻情報C31は、ログの発生時刻を示す。送信元情報C32は、送信元の端末(計算機。以下同じ)を特定する情報である。送信先情報C33は、送信先の端末を特定する情報である。ログ概要C34は、ログの概要を示す。種別情報C35は、例えば「要求」「応答」「処理」のような、ログの種類を示す。
図6は、複数のシーケンス情報D3を合成するために使用する合成定義情報D4の例である。合成定義情報D4は、例えば、入力情報D41、判定条件C42、合成処理内容C43を含む。
入力情報C41は、シーケンス情報D3の中から参照すべき情報を示す。判定条件C42は、入力情報C41に対する判定条件である。合成処理内容C43は、判定条件C42が成立した場合に実施する合成処理の内容である。
図6の例を説明する。図6の1番目の合成定義は、通信ログを合成する場合の定義を示している。この合成定義では、各シーケンス情報から「端末a1から端末a2へ内容Aが送信された」「端末b1から端末b2へ内容Bが送信された」という通信ログが、入力情報C41として入力されたとする。判定条件C42は、「内容Aのログ概要と内容Bのログ概要が等しい、かつ、内容Aの種別と内容Bの種別が等しいこと」である。各シーケンス情報D3が判定条件C42を満たす場合、合成部F12は、端末a1と端末b1を合成し、端末a2と端末b2を合成し、内容Aと内容Bを合成する。
2番目の合成定義は、計算機の内部処理のログを合成する場合の定義である。入力情報C41は、各シーケンス情報D3から検出される「処理A」と「処理B」である。判定条件C42は、「処理Aの内容と処理Bの内容が等しいこと」である。各シーケンス情報D3が判定条件C42を満たす場合、合成部F12は、処理Aと処理Bを合成する。
図7は、複数のログ情報を合成する処理を示すフローチャートである。ログ情報解析装置1は、ログ入力部F16を介してログ情報D1を取得し(S10)、さらに解析定義入力部F17を介して解析定義情報D2を取得する(S11)。
ログ情報解析装置1の解析部F11は、ログ情報D1を解析定義情報D2を用いて解析する(S12)。解析部F11は、ログ情報を解析することでシーケンス情報D3を生成し、記憶装置15に保存する(S13)。
ログ情報解析装置1の合成部F12は、合成定義入力部F18を介して合成定義情報D4を取得する(S14)。合成部F12は、複数のシーケンス情報D3を合成定義情報D4に基づいて合成する(S15)。合成部F12は、作成した合成情報D5を記憶装置15に保存する(S16)。
ログ情報解析装置1の可視化部F13は、合成情報D5をユーザインターフェース部14の画面に表示する(S17)。さらに可視化部F13は、ユーザ操作に応じて、詳細情報を画面に表示する(S18)。詳細情報には、例えば、処理の流れが分岐している箇所の説明や、特定のログ情報(詳しくはシーケンス情報D3)の流れの表示等がある。画面例は、図8〜図10で後述する。
図8は、複数のログ情報を合成した結果の画面G1の例である。合成結果表示画面G1は、正確には、複数のシーケンス情報D3の合成結果を示す。シーケンス情報D3に含まれるログ情報D1を合成した画面が画面G1である。以下の画面G2,G3についても同様である。
合成結果表示画面G1は、例えば、合成対象のログ情報を選択するログ情報選択部G10_1,G10_2と、シーケンス表示指示部GP11と、経路表示部GP12と、合成開始指示部GP13と、合成結果表示部GP14を含む。合成結果表示部GP14の上側に配置されたGP10_1,GP10_2,GP11,GP12,GP13は、例えば、「合成処理指示部」と呼ぶこともできる。
ユーザは、合成対象のログ情報をログ情報選択部GP10_1,GP10_2で選択した後、合成開始指示部GP13を操作する。これにより、選択されたログ情報(シーケンス情報D3を構成するログ情報)が合成されて、その合成結果が合成結果表示部GP14に表示される。
合成結果表示部GP14では、合成対象のシーケンス情報に含まれるログ情報が計算機ごとにフローチャートの形式で表示される。図8には、クライアント計算機とサーバ計算機の間の処理が示されている。この場合、合成結果表示部GP14には、クライアント計算機での処理と、サーバ計算機での処理とがそれぞれフローチャート形式で表現され、さらに、クライアント計算機とサーバ計算機の間の通信処理の内容も表示される。通信処理の内容とは、図8の例では「ログイン認証」「ログインOK」「ログインNG」「処理A要求」「共通応答」である。
合成対象のシーケンス情報の一部が一致せず、処理内容が分岐する場合、その分岐地点は分岐箇所GP15として抽出され、合成結果表示部GP14に表示される。
図9は、分岐箇所GP15に関する情報を表示する画面G2の例である。ユーザが分岐箇所GP15を選択すると、画面G2に分岐情報表示部GP20が表示される。分岐情報表示部GP20は、例えば、分岐条件を表示する。図9の例では、ログインの結果がOKであるかNGであるかによって、その後の処理が分かれることが表示されている。
図10は、経路情報を表示する画面G3の例である。ユーザが経路表示部GP12を選択すると、その表示部GP12で選択されたログ情報に基づくシーケンス情報の流れGP14が、合成結果表示部GP14に表示された合成結果に重ねて表示される。
このように構成される本実施例によれば、情報処理システム2のログ情報を効率的に解析することができ、情報処理システム2の保守作業の効率を改善できる。
本実施例によれば、複数のログ情報から得る複数のシーケンス情報を合成することで、情報処理システムの挙動(計算機の挙動)を検出できるため、システム管理者等のユーザは、エラー原因の解析作業を効率よく行うことができ、使い勝手が向上する。
本実施例によれば、シーケンス情報の合成結果を計算機毎のフローチャートとして表示するため、ユーザは、各計算機でどのような処理が行われているのかを容易に把握することができる。
さらに本実施例によれば、計算機毎フローチャートに加えて、計算機間の通信処理の内容も表示するため、ユーザは、情報処理システム2の計算機間でどのような処理が実行されており、かつ、そのような通信処理が実行されているかを容易に把握できる。これによりエラー解析等の作業性を向上することができる。
本実施例では、合成対象のシーケンス情報の間で処理が分岐する箇所を表示すると共に、ユーザの要求に応じて分岐条件を表示することができる。したがって、ユーザは、合成対象の各シーケンス情報での相違箇所を、一連の処理の全体の中で容易に特定することができるため、エラー解析等の作業性がさらに向上する。
図14,図15を用いて第4実施例を説明する。本実施例では、情報処理システム2の構成変更に対応して、合成情報を生成する。
図14は、本実施例によるログ情報解析装置1Aとセンサネットワークシステム2Aとを含む全体システムの例を示す。
情報処理システムとしてのセンサネットワークシステム2Aは、例えば、複数のセンサノード22A、ゲートウェイ23A、管理サーバ21A、保守端末24を含む。
センサノード22Aは、例えば、電力メータや水道メータのような、通信機能付きの計測装置である。各センサノード22Aは、ゲートウェイ23Aを介して管理サーバ21Aに接続されている。保守端末24は、センサノード22Aの構成変更に関する情報等を管理サーバ21Aに入力する。各センサノード22Aは、隣接するノードと例えば無線通信することができる。
センサネットワークシステム2Aの設置範囲等にも依存するが、ビルディング等の構造物の建築や取り壊し、センサノードの保守点検等により、センサネットワークシステム2Aの構成は比較的頻繁に変化する。例えば、或るセンサノードと他のセンサノードの間にトラック等の大型車両が停止すると、それらセンサノード間で安定した通信を行うことができなくなり、別の経路が設定される。
保守点検等の計画された構成変更は、保守端末24からログ情報解析装置1Aへ通知することができる。センサノード間の通信経路の変更等も、保守端末24、ゲートウェイ23Aあるいは管理サーバ21Aからログ情報解析装置1Aへ通知できる。
センサネットワークシステム2Aの構成変更の前と構成変更の後とでは、ログ情報の内容も変化する。そこで、本実施例では、情報処理システムとしてのセンサネットワークシステム2Aの構成変更の前後で、合成情報をそれぞれ作成する。
図15は、本実施例によるログ情報合成処理を示すフローチャートである。ログ情報解析装置1Aは、センサネットワークシステム2Aから定期的にまたは不定期にログ情報D1を取得して保存している(S30)。
ログ情報解析装置1Aは、センサネットワークシステム2Aの構成変更情報を保守端末24等から取得すると(S31)、保存したログ情報D1を構成変更の前後で分類する(S32)。構成変更前に取得したログ情報を第1ログ情報と呼び、構成変更後に取得するログ情報を第2ログ情報と呼ぶ。
以下、構成変更前に対応する情報を、第1解析定義情報、第1シーケンス情報、第1合成定義情報、第1合成情報と呼ぶ。構成変更後に対応する情報を、第2解析定義情報、第2シーケンス情報、第2合成定義情報、第2合成情報と呼ぶ。
ログ情報解析装置1Aは、第1解析定義情報を用いて第1ログ情報を解析することで、第1シーケンス情報を生成し、保存する(S33)。ログ情報解析装置1Aは、第2シーケンス情報と第2合成定義情報を用いて第2合成情報を生成し、保存する(S34)。第2合成情報は、可視化部F13によりユーザインターフェース部14で画面表示される(S35)。
さらに、ログ情報解析装置1Aは、第2解析定義情報を用いて第2ログ情報を解析することで、第2シーケンス情報を生成し、保存することもできる(S36)。ログ情報解析装置1Aは、第2合成定義情報と第2シーケンス情報とから第2合成情報を生成し(S37)、画面に表示させることもできる(S38)。
このように構成される本実施例も第1実施例と同様の作用効果を奏する。さらに本実施例では、情報処理システムの構成変更に応じて合成情報を生成できるため、情報処理システムの実態に応じてエラー解析等を行うことができる。本実施例によれば、情報処理システムの構成変更と合成情報の変化とを比べることで、情報処理システムの構成変更が処理の流れに与える影響等も解析することができ、使い勝手が向上する。
なお、本発明は、上述した実施形態に限定されない。当業者であれば、本発明の範囲内で、種々の追加や変更等を行うことができる。上述の実施形態において、添付図面に図示した構成例に限定されない。本発明の目的を達成する範囲内で、実施形態の構成や処理方法は適宜変更することが可能である。
また、本発明の各構成要素は、任意に取捨選択することができ、取捨選択した構成を具備する発明も本発明に含まれる。さらに特許請求の範囲に記載された構成は、特許請求の範囲で明示している組合せ以外にも組み合わせることができる。
情報処理システムは、クライアント・サーバ型システムや、センサネットワークシステムに限定しない。他の情報処理システムであってもよい。