まず、本実施例に係るトランザクション監視および詳細分析の概念について説明する。図1は、本実施例に係るトランザクション監視および詳細分析の概念を説明するための説明図である。同図に示すように、本実施例に係るトランザクション監視では、WEBサーバ、APLサーバ(アプリケーションサーバ)、DBサーバ(データベースサーバ)から構成される業務システムでやりとりされるメッセージを観測し、観測したメッセージからトランザクションを抽出する。
そして、抽出したトランザクションとトランザクション・モデルとの間でマッチング処理を行い、マッチングがとれたトランザクションの率に基づいて業務システムの処理状況を監視する。そして、業務システムの異常を検出した場合には、トランザクション・モデルとマッチしなかったトランザクションを詳細に分析し、分析結果を表示する。なお、トランザクション・モデルは、観測メッセージから抽出されたトランザクションに基づいてトランザクションの種類ごとにモデル化したものである。
また、本実施例に係るトランザクション監視では、分析結果に基づいてトランザクション・モデルの更新が必要と判断したシステム運用者から更新指示を受け付けてトランザクション・モデルを更新する。ここで、システム運用者は、表示された分析結果から、トランザクション・モデルにマッチしない原因がシステムの更新や利用パターンの変化によるものでトランザクション・モデルの更新が必要と判断した場合に、トランザクション・モデルの更新を指示する。
このように、本実施例に係るトランザクション監視では、業務システムでやりとりされるメッセージから抽出したトランザクションとトランザクション・モデルとの間でマッチング処理を行い、マッチングがとれたトランザクションの率に基づいて業務システムの処理状況を監視する。そして、業務システムの異常を検出した場合には、トランザクション・モデルとマッチしなかったトランザクションを詳細に分析して分析結果を表示することによって、システム運用者による分析を支援することができる。
また、本実施例に係るトランザクション監視では、システム運用者からのトランザクション・モデル更新要求を受け付けてトランザクション・モデルを更新することによって、業務システムの更新や利用パターンに変化があった場合にも、正確に業務システムを監視することができる。
なお、以下では、トランザクション監視装置が業務システムを監視し、トランザクション詳細分析装置がトランザクションの詳細分析を行う場合について説明するが、一つの装置が業務システムの監視とトランザクションの詳細分析を行うようにすることもできる。
次に、本実施例に係るトランザクション監視装置の構成について説明する。図2は、本実施例に係るトランザクション監視装置の構成を示す機能ブロック図である。同図に示すように、このトランザクション監視装置100は、入力部110と、出力部120と、新規トラン情報格納部131と、モニタリング設定情報格納部132と、モデル情報格納部133と、トラン構成要素間非類似度格納部134と、分析結果トラン情報格納部135と、モニタリング情報格納部136と、トラン抽出部141と、モニタリング設定情報読込部142と、モデル情報読込部143と、新規トラン情報読込部144と、トラン構成要素間非類似度読込部145と、トラン−モデルマッチング処理部146と、モデル・マッチ率評価部147と、モニタリング情報表示部148と、参照情報記憶部150と、制御部160とを有する。
入力部110は、トランザクションの監視に関する各種の指示をシステム運用者から受け付ける処理部であり、具体的には、システム運用者によるマウスやキーボードを用いた指示を受け付ける。出力部120は、トランザクション監視装置100の監視結果を出力する処理部であり、具体的には、表示装置に監視結果を表示する。
新規トラン情報格納部131は、監視対象である新規のトランザクションに関する情報を新規トラン情報として格納する格納部である。図3は、新規トラン情報格納部131が格納する新規トラン情報の一例を示す図である。同図に示すように、新規トラン情報格納部131は、トランザクションごとに、トランザクションを識別するトランID、トランザクションの開始時刻および終了時刻、ならびに"トラン表記"(トラン表記を文字列として引用符で囲ったもの)を新規トラン情報として格納する。
ここで、トラン表記は、トランザクションを構成する複数のメッセージの階層構造で表したものである。図4は、トラン表記を説明するための説明図である。同図に示すように、トランザクションは、3階層の階層構造を有し、「階層0」はWEBサーバ階層であり、「階層1」はアプリケーションサーバ階層であり、「階層2」はデータベースサーバ階層である。
例えば、トランザクション「M1」では、初めに「階層0」におけるメッセージ「HTTP;/dir/program1.cgi?x=a」が実行され、次に「階層1」におけるメッセージ「IIOP;method1」が実行され、その後に「階層2」におけるメッセージが実行された後に「階層1」に戻る処理が行われる。
ここで、「階層2」においては、メッセージ「SQL;Open_A」と、メッセージ「SQL;Fetch_A」と、メッセージ「SQL;Close_A」とが実行され、これらがすべて実行された後に「階層1」、「階層0」の順に戻りこれらの処理が終了する。そして、すべての処理が終了したところでこのトランザクションによる処理結果が返され、トランザクションは終了する。
そこで、トラン表記では、各メッセージの前に階層を示す「0」、「0-0」、「0-0-1」などを付加してトラザクションを表す。ここで、「0」は、「階層0」における最初のメッセージであることを表し、「0-0」は、「階層1」における最初のメッセージであることを表し、「0-0-1」は、「階層2」における2番目のメッセージであることを表す。
モニタリング設定情報格納部132は、システム監視に関する設定情報をモニタリング設定情報として格納する格納部である。図5は、モニタリング設定情報格納部132が格納するモニタリング設定情報の一例を示す図である。同図に示すように、このモニタリング設定情報格納部132は、モデル・マッチ率評価条件およびモデル・マッチ率判定基準をモニタリング設定情報として格納する。
ここで、モデル・マッチ率評価条件は、モデル・マッチ率すなわち新規のトランザクションがトランザクション・モデルとマッチする率を評価する時間間隔である。また、モデル・マッチ率判定基準は、モデル・マッチ率に基づいてシステムの処理状況を判定する基準であり、この例では、トランザクション監視装置100は、モデル・マッチ率が「0.95以上1.00以下」の場合にはシステムの処理状況を「正常」と判定し、「0.85以上0.95未満」の場合にはシステムの処理状況を「注意」と判定し、「0.00以上0.85未満」の場合にはシステムの処理状況を「警告」と判定する。
モデル情報格納部133は、トランザクション・モデルの情報をモデル情報として格納する格納部である。図6は、モデル情報格納部133が格納するモデル情報の一例を示す図である。同図に示すように、このモデル情報格納部133は、「M1」、「M2」などトランザクション・モデルを識別するモデルIDと"トラン表記"と対応させてトランザクション・モデルごとにモデル情報として格納する。
トラン構成要素間非類似度格納部134は、トランザクションを構成する要素間すなわちトラン構成要素間の非類似度をトラン構成要素間非類似度として格納する格納部である。図7は、トラン構成要素間非類似度格納部134が格納するトラン構成要素間非類似度の一例を示す図である。同図に示すように、このトラン構成要素間非類似度格納部134は、構成要素を識別する記号に、「HTTP」、「IIOP」などのトラン構成要素のプロトコル種別、プロトコル種別以外のトラン構成要素を構成する"文字列"、文字列長を対応させて格納するとともに、トラン構成要素間の編集距離および非類似度を格納する。
ここで、トラン構成要素p、q間の編集距離とは、トラン構成要素pからトラン構成要素qを得るまでに文字を挿入・削除・置換する回数であり、トラン構成要素p、q間の非類似度ed(p,q)は、p、qが同一種別のプロトコルである場合は、
ed(p,q)=(p、q間の編集距離)/(pとqの文字列長の和)
で定義され、p,qが異種別のプロトコルである場合は、
ed(p,q)=1 (規定値)
で定義される。
例えば、図7において、トラン構成要素Aとトラン構成要素Iとは同一種別のプロトコルであり、トラン構成要素間の編集距離が3、すなわちトラン構成要素Aの文字列「/dir/program1.cgi?x=a」に対して文字の挿入・削除・置換を3回行うことでトラン構成要素Iの文字列「/dir/program3.cgi?y=b」が得られ、さらに、トラン構成要素Aの文字列長は「21」であり、トラン構成要素Iの文字列長は「21」であることから、これらのトラン構成要素A、I間の非類似度ed(A,I)は、
ed(A,I)=3/(21+21)=0.0714
となる。
また、トラン構成要素Aとトラン構成要素Bとは、プロトコル種別が異なることから、これらのトラン構成要素A、B間の非類似度ed(A,B)は規定値をとり、
ed(A,B)=1
となる。
分析結果トラン情報格納部135は、新規のトランザクションの分析結果を分析結果トラン情報として格納する格納部である。図8は、分析結果トラン情報格納部135が格納する分析結果トラン情報の一例を示す図である。同図に示すように、この分析結果トラン情報格納部135は、新規トラン情報にモデルIDが分析結果として追加された情報を分析結果トラン情報として格納する。ここで、モデルIDは、新規のトランザクションにマッチしたトランザクション・モデルのモデルIDである。
モニタリング情報格納部136は、業務システムの処理状況のモニタリング結果をモニタリング情報として格納する格納部である。図9は、モニタリング情報格納部136が格納するモニタリング情報の一例を示す図である。同図に示すように、このモニタリング情報格納部136は、60秒ごとに業務システムのモニタリング結果として時刻、処理したトランザクションの数であるトランザクション観測数、トランザクション・モデルにマッチしたトランザクションの数であるモデル・マッチ数、モデル・マッチ率、業務システムの状態をモニタリング情報として格納する。
ここで、60秒はモデル・マッチ率評価条件として設定された値であり、業務システムの状態はモデル・マッチ率判定基準に基づいて判定された業務システムの状態である。また、モデル・マッチ率評価条件およびモデル・マッチ率判定基準はモニタリング設定情報としてシステム運用者により設定される値である。
トラン抽出部141は、ネットワーク上でトランザクション処理のためにやりとりされるメッセージのログを収集し、そのログ内のメッセージ間の呼び出し関係に基づいて、トランザクションを抽出する処理部であり、抽出したトランザクションに関する情報を新規トラン情報格納部131に格納する。なお、ここでは、トラン抽出部141をトランザクション監視装置100内に設けることとしたが、トラン抽出部141を別の装置に設けることもできる。
モニタリング設定情報読込部142は、モニタリング設定情報格納部132からモニタリング設定情報を読み出して参照情報記憶部150に書き込む処理部であり、モデル情報読込部143は、モデル情報格納部133からモデル情報を読み出して参照情報記憶部150に書き込む処理部である。
新規トラン情報読込部144は、新規トラン情報格納部131から新規のトランザクションの情報を読み出してトラン−モデルマッチング処理部146に一つずつ渡す処理部であり、トラン構成要素間非類似度読込部145は、トラン構成要素間非類似度格納部134からトラン構成要素間非類似度を読み出して参照情報記憶部150に書き込む処理部である。
トラン−モデルマッチング処理部146は、新規トラン情報読込部144から新規のトランザクションの情報を一つずつ受け取り、参照情報記憶部150に記憶されたモデル情報およびトラン構成要素間非類似度を参照して新規のトランザクションがトランザクション・モデルのいずれかにマッチするか否かを判定するマッチング処理を行う処理部であり、判定結果をトランザクションの情報に付加して分析結果トラン情報格納部135に書き込む。
図10は、トラン−モデルマッチング処理部146が行うマッチング処理を説明するための説明図である。同図は、新規トランザクション「t10054」、トランザクション・モデル「M1」および「M3」を対象としてトラン−モデルマッチング処理部146が行うマッチング処理を示している。
トラン−モデルマッチング処理部146は、トランザクションtiと各トランザクション・モデルMj間の距離L(ti,Mj)をトラン構成要素間非類似度を用いて算出し、L(ti、Mk)が最小でかつ所定の閾値以内である場合に、トランザクションtiとトランザクション・モデルMkがマッチすると判定する。
例えば、「t10054」の「HTTP:/dir/program1.cgi?x=a」と「M1」の「HTTP:/dir/program1.cgi?x=a」は同一であるので、トラン構成要素間非類似度は0である。また、「t10054」の「IIOP;method3」と「M1」の「IIOP;method1」は図7からトラン構成要素間非類似度は0.0714であり、「t10054」の「SQL;Open_B」と「M1」の「SQL;Open_A」は図7からトラン構成要素間非類似度は0.0833である。また、「t10054」の「SQL;Fetch_B」と「M1」の「SQL;Fetch_A」は図7からトラン構成要素間非類似度は0.0714であり、「t10054」の「SQL;Close_B」と「M1」の「SQL;Close_A」は図7からトラン構成要素間非類似度は0.0714である。したがって、L(t10054,M1)=0+0.0714+0.0833+0.0714+0.0714=0.2975となる。
同様に、L(t10054,M3)=0.0714となり、トラン−モデルマッチング処理部146は、「t10054」と「M3」の距離が最も小さいと判定する。そして、トラン−モデルマッチング処理部146は、L(t10054,M3)の値を所定の閾値と比較して、所定の閾値以内であれば「t10054」は「M3」にマッチすると判定し、所定の閾値以内でなければ「t10054」はいずれのトランザクション・モデルにもマッチしないと判定する。
このように、トラン−モデルマッチング処理部146が、トランザクションtiと各トランザクション・モデルMj間の距離L(ti,Mj)をトラン構成要素間非類似度を用いて算出し、最小な距離L(ti,Mk)が所定の閾値以内である場合に、トランザクションtiとトランザクション・モデルMkがマッチすると判定することによって、新規のトランザクションがトランザクション・モデルにマッチするか否かを判定することができる。また、このトラン−モデルマッチング処理部146は、マッチング処理を行ったトランザクションの数およびマッチしたトランザクションの数を計測する。
モデル・マッチ率評価部147は、モデル・マッチ率評価条件の時間間隔でモデル・マッチ率を計算し、業務システムの処理状態をモデル・マッチ率判定基準に基づいて特定する処理部であり、特定した状態をモニタリング情報としてモニタリング情報格納部136に格納する。
モニタリング情報表示部148は、モニタリング情報格納部136に格納されたモニタリング情報を出力部120を介して表示する処理部である。図11は、モニタリング情報表示部148が表示するモニタリング画面の一例を示す図である。同図に示すように、このモニタリング画面では、モデル・マッチ率評価条件の時間間隔でモデル・マッチ率が表示され、モデル・マッチ率評価部147によって業務システムの処理状況が「正常」でないと判定された時間帯はアラート情報が付加される。
参照情報記憶部150は、モニタリング設定情報読込部142、モデル情報読込部143、新規トラン情報読込部144およびトラン構成要素間非類似度読込部145によってそれぞれ読み込まれたモニタリング設定情報、モデル情報、新規トラン情報およびトラン構成要素間非類似度を記憶する記憶部である。この参照情報記憶部150が記憶する情報は、トラン−モデルマッチング処理部146およびモデル・マッチ率評価部147によって参照される。
制御部160は、上述した入力部110、出力部120、トラン抽出部141、モニタリング設定情報読込部142、モデル情報読込部143、新規トラン情報読込部144、トラン構成要素間非類似度読込部145、トラン−モデルマッチング処理部146、モデル・マッチ率評価部147、モニタリング情報表示部148を制御してトランザクション監視装置100を一つの装置として機能させる。なお、図2において格納部は磁気ディスク装置内に設けられ、格納部と処理部間の矢印は、処理部から格納部へのアクセスを表す。
次に、本実施例に係るトランザクション監視装置100によるトランザクション監視処理の処理手順について説明する。図12は、本実施例に係るトランザクション監視装置100によるトランザクション監視処理の処理手順を示すフローチャートである。
同図に示すように、このトランザクション監視処理では、モニタリング設定情報読込部142がモニタリング設定情報を読み込んで参照情報記憶部150に書き込み(ステップS101)、モデル情報読込部143がモデル情報を読み込んで参照情報記憶部150に書き込む(ステップS102)。また、トラン構成要素間非類似度読込部145がトラン構成要素間非類似度を読み込んで参照情報記憶部150に書き込む(ステップS103)。
そして、新規トラン情報読込部144が新規トランザクションtを読み込んでトラン−モデルマッチング処理部146に渡し(ステップS104)、トラン−モデルマッチング処理部146がトランザクションの観測数に「1」を加える(ステップS105)。なお、トランザクションの観測数は「0」に初期化されているものとする。
そして、トラン−モデルマッチング処理部146は、トラザクションtとマッチするトランザクション・モデルを参照情報記憶部150から検索し(ステップS106)、トラザクションtにマッチするトランザクション・モデルがあるか否かを判定する(ステップS107)。その結果、トラザクションtにマッチするトランザクション・モデルがある場合には、モデル・マッチ数に「1」を加える(ステップS108)。なお、モデル・マッチ数は「0」に初期化されているものとする。
そして、トラン−モデルマッチング処理部146は、トランザクションtの情報とマッチ結果を分析結果トラン情報格納部135に書き入れる(ステップS109)。そして、モデル・マッチ率評価部147が、参照情報記憶部150のモデル・マッチ率評価条件を参照し、モデル・マッチ率評価条件を満たすか否か、すなわち、モデル・マッチ率を評価する時間になったか否かを判定し(ステップS110)、モデル・マッチ率評価条件を満たさない場合には、ステップS117に進む。
一方、モデル・マッチ率評価条件を満たす場合には、モデル・マッチ率評価部147は、トランザクションの観測数およびモデル・マッチ数を用いてモデル・マッチ率を計算する。そして、モデル・マッチ率評価部147は、計算したモデル・マッチ率から業務システムの状態をモデル・マッチ率判定基準に基づいて特定し、特定した状態をモニタリング情報格納部136に書き入れる(ステップS111)。
そして、モニタリング情報表示部148が、モニタリング情報格納部136に書き入れられたモデル・マッチ率が正常範囲内か否かを判定し(ステップS112)、正常範囲内である場合には、モデル・マッチ率のグラフ表示を更新し(ステップS113)、正常範囲内でない場合には、アラート情報を付けてモデル・マッチ率のグラフ表示を更新する(ステップS114)。また、制御部160が、トランザクション詳細分析装置に詳細分析を指示する(ステップS115)。
そして、制御部160は、トランザクションの観測数およびモデル・マッチ数を「0」に初期化し(ステップS116)、所定のモニター終了条件を満たすか否かを判定し(ステップS117)、所定のモニター終了条件を満たさない場合には、ステップS104に戻って次のトランザクションを処理し、所定のモニター終了条件を満たす場合には、トランザクション監視処理を終了する。
このように、モデル・マッチ率が正常範囲内でない場合にトランザクション詳細分析装置に詳細分析を指示することによって、詳細分析を開始することができる。
次に、トランザクション詳細分析装置が行う詳細分析について説明する。図13−1および図13−2は、トランザクション詳細分析装置が行う詳細分析を説明するための説明図である。
図13−1に示すように、トランザクション詳細分析装置は、トランザクション・モデルのいずれにもマッチしなかったトランザクションについて、最も類似するトランザクション・モデルを類似モデルとして特定し、類似モデルとの相違箇所を抽出する。
そして、トランザクション詳細分析装置は、抽出した相違箇所を強調してトランザクションを表示する。具体的には、トランザクション詳細分析装置は、トランザクションの構成要素が類似モデルと異なる箇所は太字で表示し、類似モデルにはない箇所は下線を付加して表示し、類似モデルにあってトランザクションにはない構成要素は斜体で表示する。
また、トランザクション詳細分析装置は、過去に発生したトランザクションの障害事例に関する情報を性能劣化・障害パターンとしてデータベースに記憶し、データベースに同様の性能劣化・障害パターンがある場合には、その性能劣化・障害パターンの発生時刻、障害タイプ、基本モデル(類似モデル)など情報をバックグラウンド情報として表示する。
また、トランザクション詳細分析装置は、図13−2に示すように、トランザクションの分析結果表示に基づいてシステム運用者が当該トランザクションはシステム更新などに由来する正常なトランザクションであると判定した場合には、システム運用者から「正常」との判定を受け付けて、当該トランザクションを新たなトランザクション・モデルとして追加登録する。
一方、システム運用者が当該トランザクションはシステムの性能劣化・障害などに由来するトランザクションであると判定した場合には、トランザクション詳細分析装置は、当該トランザクションをトランザクションの性能劣化・障害パターンをデータベースにバックグラウンド情報とともに追加登録する。
このように、トランザクション詳細分析装置が、類似モデルとの相違箇所を強調してトランザクションを表示し、過去に同様の性能劣化・障害パターンがある場合には、そのバックグラウンド情報を表示することによって、システム運用者による分析を支援することができる。
また、トランザクション詳細分析装置が、システム運用者から「正常」との判定を受け付けたトランザクションを新たなトランザクション・モデルとして追加登録することによって、システムの更新や利用パターンの変化に対応可能なようにトランザクション・モデルを更新することができる。また、トランザクション詳細分析装置が、トランザクションの性能劣化・障害パターンをデータベースに追加登録していくことによって、データベースを充実させることができる。
次に、トランザクション詳細分析装置の構成について説明する。図14は、トランザクション詳細分析装置の構成を示す機能ブロック図である。同図に示すように、このトランザクション詳細分析装置200は、入力部210と、出力部220と、詳細分析用設定情報格納部231と、トラン構成要素間非類似度格納部232と、モデル情報格納部233と、分析結果トラン情報格納部234と、性能劣化・障害パターンDB235と、詳細分析結果格納部236と、詳細分析用設定処理部241と、トラン構成要素間非類似度読込部242と、モデル情報読込部243と、トラン情報読込部244と、類似モデル検索部245と、トラン−類似モデル相違箇所抽出部246と、モデル更新処理部247と、性能劣化・障害パターン検索部248と、性能劣化・障害パターンDB更新処理部249と、トラン情報更新処理部250と、詳細分析結果表示部251と、参照情報記憶部260と、制御部270とを有する。
入力部210は、詳細分析結果に対する指示などをシステム運用者から受け付ける処理部であり、具体的には、システム運用者によるマウスやキーボードを用いた指示を受け付ける。出力部220は、トランザクション詳細分析装置200の分析結果を出力する処理部であり、具体的には、表示装置にトランザクションの分析結果などを表示する。
詳細分析用設定情報格納部231は、詳細分析に関する設定情報を詳細分析用設定情報として格納する格納部である。図15は、詳細分析用設定情報格納部231が格納する詳細分析用設定情報の一例を示す図である。同図に示すように、詳細分析用設定情報格納部231は、モデル用および性能劣化・障害パターン用の非類似度の閾値を詳細分析用設定情報として格納する。
ここで、モデル用の非類似度の閾値は、トランザクションに類似するトランザクション・モデルを検索する際に用いる閾値であり、この閾値以下の非類似度のトランザクション・モデルがない場合には、類似モデルは検索されない。また、性能劣化・障害パターン用の非類似度の閾値は、トランザクションに類似する性能劣化・障害パターンを検索する際に用いる閾値であり、この閾値以下の非類似度の性能劣化・障害パターンがない場合には、性能劣化・障害パターンは検索されない。図15では、この性能劣化・障害パターン用の非類似度の閾値を「0」としているので、性能劣化・障害パターンとしてはトランザクションに完全に一致するものだけが検索される。
トラン構成要素間非類似度格納部232は、トラン構成要素間非類似度格納部134と同様に、トラン構成要素間の非類似度をトラン構成要素間非類似度として格納する格納部である。モデル情報格納部233は、モデル情報格納部133と同様に、トランザクション・モデルの情報をモデル情報として格納する格納部である。
分析結果トラン情報格納部234は、分析結果トラン情報格納部135と同様に、トランザクションの分析結果を分析結果トラン情報として格納する格納部であるが、類似モデルやバックグラウンド情報に関する情報も格納する。
図16は、分析結果トラン情報格納部234が格納する分析結果トラン情報の一例を示す図である。同図に示すように、分析結果トラン情報格納部234は、トランID、開始時刻、終了時刻、"トラン表記"に加えて類似モデルのモデルID、障害事例IDおよび"障害タイプ"を格納する。ここで、類似モデルのモデルIDはカッコに囲まれて格納される。また障害事例IDは、トランザクションと一致する性能劣化・障害パターンのIDであり、"障害タイプ"は、"DB障害"、"APL障害"など障害の種別を示す情報である。
性能劣化・障害パターンDB235は、過去に発生した異常なトランザクションの情報をバックグランド情報とともに性能劣化・障害パターンとして記憶するデータベースである。図17は、性能劣化・障害パターンDB235が記憶する性能劣化・障害パターンの一例を示す図である。同図に示すように、性能劣化・障害パターンDB235は、性能劣化・障害パターンをパターン部と事例部に分けて記憶する。
パターン部は、過去に発生した異常なトランザクションの"トラン表記"を"パターン表記"として記憶し、"パターン表記"ごとに対応する事例のIDのリストを障害事例IDリストとして記憶する。また、事例部は、過去に発生した異常なトランザクションの情報をバックグランド情報とともに記憶する。具体的には、事例部は、障害事例を識別する障害事例ID、トランID、開始時刻、終了時刻、"パターン表記"、基本モデル、"障害タイプ"を記憶する。ここで、基本モデルは、最も類似するトランザクション・モデルのモデルIDである。
詳細分析結果格納部236は、トランザクションの詳細分析結果を格納する格納部であり、具体的には、"トラン表記"、類似モデルのモデルID、類似モデルとの相違箇所に関する情報、バックグラウンド情報などを格納する。
詳細分析用設定処理部241は、詳細分析用設設定情報格納部231から詳細分析用設情報を読み出して参照情報記憶部260に書き込む処理部であり、トラン構成要素間非類似度読込部242は、トラン構成要素間非類似度格納部232からトラン構成要素間非類似度を読み出して参照情報記憶部260に書き込む処理部である。
モデル情報読込部243は、モデル情報格納部233からモデル情報を読み出して参照情報記憶部260に書き込む処理部であり、トラン情報読込部244は、分析結果トラン情報格納部234からトランザクション・モデルとマッチしなかったトランザクションの情報を読み出して参照情報記憶部260に書き込む処理部である。
類似モデル検索部245は、トランザクション・モデルとマッチしなかったトランザクションに類似するトランザクション・モデルを参照情報記憶部260から検索する処理部であり、検索結果をトランザクションの情報に加えて詳細分析結果格納部236に書き入れる。この類似モデル検索部245は、モデル用の非類似度の閾値より小さなトランザクション・モデルがない場合には、検索結果を類似モデルなしとする。
トラン−類似モデル相違箇所抽出部246は、トランザクションと類似モデルとを比較して相違箇所を抽出する処理部であり、類似モデルと比較して異なる箇所、不足する箇所および余分な箇所を抽出し、抽出結果を詳細分析結果格納部236に書き入れる。
モデル更新処理部247は、トランザクションの詳細分析結果からシステム運用者が当該トランザクションをモデルとして追加することを指示した場合に、モデル情報格納部233に新たなトランザクション・モデルとして登録する処理部である。図18は、図6に示したモデル情報の更新例を示す図である。同図に示すように、この更新例では、トランザクション・モデルとして新たに「M4」が追加されている。
性能劣化・障害パターン検索部248は、性能劣化・障害パターンDB235を検索して性能劣化・障害パターンを検索する処理部であり、検索結果を詳細分析結果格納部236に書き入れる。
性能劣化・障害パターンDB更新処理部249は、トランザクションの詳細分析結果からシステム運用者が当該トランザクションが異常であると判定した場合に、性能劣化・障害パターンDB235に新たな障害事例として登録する処理部である。図19は、図17に示した性能劣化・障害パターンの更新例を示す図である。同図に示すように、この更新例では、障害事例IDが「245」および「246」である障害事例が新たに追加されている。
トラン情報更新処理部250は、詳細分析結果に基づいて分析結果トラン情報格納部234の分析結果トラン情報を更新する処理部である。図20は、図16に示した分析結果トラン情報の更新例を示す図である。同図に示すように、この更新例では、トランザクション・モデルとマッチしなかったトランザクションについて、新たなモデルID「M4」、類似モデルID「(M3)」、「(M1)」、障害事例ID「245」、「246」、障害タイプ「システム更新ミス」、「DB障害」が追加されている。
詳細分析結果表示部251は、詳細分析結果格納部236に格納された詳細分析結果を出力部220を介して表示する処理部である。システム運用者は、この詳細分析結果表示部251が表示する詳細分析結果に基づいてトランザクションがトランザクション・モデルにマッチしない原因を究明する。
参照情報記憶部260は、詳細分析用設定処理部241、トラン構成要素間非類似度読込部242、モデル情報読込部243およびトラン情報読込部244によってそれぞれ読み込まれた詳細分析用設定情報、トラン構成要素間非類似度、モデル情報およびトラン情報を記憶する記憶部である。この参照情報記憶部260が記憶する情報は、類似モデル検索部245、トラン−類似モデル相違箇所抽出部246、性能劣化・障害パターン検索部248などによって参照される。
制御部270は、上述した入力部210、出力部220、詳細分析用設定処理部241、トラン構成要素間非類似度読込部242、モデル情報読込部243、トラン情報読込部244、類似モデル検索部245、トラン−類似モデル相違箇所抽出部246、モデル更新処理部247、性能劣化・障害パターン検索部248、性能劣化・障害パターンDB更新処理部249、トラン情報更新処理部250、詳細分析結果表示部251を制御してトランザクション詳細分析装置200を一つの装置として機能させる。なお、図14において格納部は磁気ディスク装置内に設けられ、格納部と処理部間の矢印は、処理部から格納部へのアクセスを表す。
次に、本実施例に係るトランザクション詳細分析装置200によるトランザクション詳細分析処理の処理手順について説明する。図21は、本実施例に係るトランザクション詳細分析装置200によるトランザクション詳細分析処理の処理手順を示すフローチャートである。
同図に示すように、このトランザクション詳細分析処理では、詳細分析用設定処理部241が詳細分析用設定情報を読み込んで参照情報記憶部260に書き込み(ステップS201)、モデル情報読込部243がモデル情報を読み込んで参照情報記憶部260に書き込む(ステップS202)。また、トラン構成要素間非類似度読込部242がトラン構成要素間非類似度を読み込んで参照情報記憶部260に書き込む(ステップS203)。
そして、トラン情報読込部244が分析結果トラン情報格納部234から所定期間内のモデル非マッチ・トラン情報、すなわち、トランザクション・モデルのいずれにもマッチしなかったトランザクションt1,・・・,tnの情報を読み込んで参照情報記憶部260に書き込む(ステップS204)。そして、制御部270は、各トランザクションの情報tiに対してステップS205〜ステップS213を行うように制御する。
すなわち、類似モデル検索部245が参照情報記憶部260からtiを読み出し、tiに最も類似するトランザクション・モデルM’を検索して、tiに類似モデルの情報としてM’を加えて詳細分析結果格納部236に書き込む(ステップS205)。そして、トラン−類似モデル相違箇所抽出部246がtiとM’との相違箇所を抽出し、相違箇所の情報を詳細分析結果格納部236に書き入れる(ステップS206)。そして、性能劣化・障害パターン検索部248が性能劣化・障害パターンDB235からtiとパターンが一致する障害事例を検索し、検索結果を詳細分析結果格納部236に書き入れる(ステップS207)。
そして、詳細分析結果表示部251がtiとパターンが一致する障害事例があるか否かを判定し(ステップS208)、一致する障害事例がある場合にはバックグラウンド情報、M’の情報、相違箇所を表示し(ステップS209)、一致する障害事例がない場合にはM’の情報、相違箇所を表示する(ステップS210)。
そして、モデル更新処理部247がtiをトランザクション・モデルに追加するか否かの指示をシステム運用者から受け付け(ステップS211)、追加する指示を受け付けた場合には、tiをトランザクション・モデルに追加してモデル情報格納部233を更新する(ステップS212)。
一方、追加しない指示を受け付けた場合には、性能劣化・障害パターンDB更新処理部249が性能劣化・障害パターンDB235に追加するか否かの指示をシステム運用者から受け付け(ステップS213)、追加する指示を受け付けた場合には、tiをバックグラウンド情報とともに性能劣化・障害パターンDB235に追加する(ステップS214)。
そして、トラン情報更新処理部250が分析結果トラン情報格納部234のtiの情報を更新する(ステップS215)。
このように、トランザクション詳細分析装置200が、トランザクション・モデルにマッチしなかったトランザクションを詳細に分析し、分析結果を表示することによってシステム運用者の異常分析を支援することができる。
なお、ここでは、詳細分析結果表示部251は、性能劣化・障害パターンDB235から検索したバックグラウンド情報を障害事例ごとに表示することとしたが、基本モデルや障害タイプごとにグループ化してバックグラウンド情報を表示するようにすることもできる。
図22は、障害記録のグループ化表示の一例を示す図である。同図に示す例では、バックグラウンド情報を障害タイプごとにグループ化し、障害タイプの発生回数をバックグラウンド情報の一部として表示する。そしてシステム運用者が詳細な情報の表示を指示した場合に、個々の障害事例の記録を表示する。
また、図22に示す例では、トランザクション詳細分析装置は、システム運用者の指示に基づいて、過去に同一の障害タイプの事例が発生した最初の発生時刻から最近の発生時刻までのモデル・マッチ率の推移を表示する。このように、トランザクション詳細分析装置が障害が発生した際のモデル・マッチ率の推移を表示することによって、システム運用者の障害分析を支援することができる。
上述してきたように、本実施例では、トランザクション監視装置100がトランザクション・モデルに基づいてトランザクションを監視し、モデル・マッチ率が所定の閾値より小さい場合に、マッチしなかったトランザクションを詳細に分析するようにトランザクション詳細分析装置200に指示することとしたので、システム分析者によるシステム分析を支援することができる。
具体的には、マッチしなかったトランザクションについて、トランザクション詳細分析装置200の類似モデル検索部245が最も類似する類似モデルを検索し、トラン−類似モデル相違箇所抽出部246が類似モデルとの相違箇所を抽出し、詳細分析結果表示部251が相違箇所を強調表示することとしたので、システム運用者はトランザクションが異常であるか否かを容易に判断することができる。また、システム運用者が異常でないと判断したトランザクションをモデル更新処理部247が新たなトランザクション・モデルとして追加登録することとしたので、システムの更新や利用パターンの変化にトランザクション監視装置100を対応させることができる。
また、性能劣化・障害パターン検索部248が性能劣化・障害パターンDB235から過去に発生した同一の障害事例を検索し、障害事例のバックグラウンド情報を表示することとしたので、システム運用者は過去に発生した同一障害の情報を用いてシステムの異常を分析することができる。また、システム運用者が障害であると判断したトランザクションを性能劣化・障害パターンDB更新処理部249が性能劣化・障害パターンDB235の障害事例として追加登録することとしたので、障害事例の情報をデータベースに蓄積し障害分析に活用することができる。
なお、本実施例では、詳細分析結果表示部251が表示する詳細分析結果に基づいてシステム運用者がトランザクション・モデルの更新を行うか否かを判断し、トランザクション詳細分析装置200に指示することとしたが、トランザクション詳細分析装置200がトランザクション・モデルの更新を行うか否かを自動判定するようにすることもできる。
例えば、トランザクション・モデルにマッチしなかったトランザクションの相違箇所がSQL文の「Fetch」の数だけである場合には、そのトランザクションは「正常」であると判定してトランザクション・モデルに自動的に追加するようにすることもできる。あるいは、「Fetch」の数の違いが「3」以内である場合には「正常」であると判定してトランザクション・モデルに自動的に追加し、「3」を超えた場合にはシステム運用者の判断に委ねるようにすることもできる。このように、トランザクション詳細分析装置が自動でトランザクション・モデルを更新することによって、システム運用者の負担を軽減することができる。
また、本実施例では、トランザクション監視装置およびトランザクション詳細分析装置について説明したが、トランザクション監視装置またはトランザクション詳細分析装置が有する構成をソフトウェアによって実現することで、同様の機能を有するトランザクション監視プログラムまたはトランザクション詳細分析プログラムを得ることができる。そこで、これらのプログラムを実行するコンピュータについて説明する。
図23は、本実施例に係るトランザクション監視プログラムを実行するコンピュータの構成を示す機能ブロック図である。なお、トランザクション詳細分析プログラムも同様の構成を有するコンピュータで実行することができる。同図に示すように、このコンピュータ300は、RAM310と、CPU320と、HDD330と、LANインタフェース340と、入出力インタフェース350と、DVDドライブ360とを有する。
RAM310は、プログラムやプログラムの実行途中結果などを記憶するメモリであり、CPU320は、RAM310からプログラムを読み出して実行する中央処理装置である。HDD330は、プログラムやデータを格納するディスク装置であり、LANインタフェース340は、コンピュータ300をLAN経由で他のコンピュータに接続するためのインタフェースである。入出力インタフェース350は、マウスやキーボードなどの入力装置および表示装置を接続するためのインタフェースであり、DVDドライブ360は、DVDの読み書きを行う装置である。
そして、このコンピュータ300において実行されるトランザクション監視プログラム311は、DVDに記憶され、DVDドライブ360によってDVDから読み出されてコンピュータ300にインストールされる。あるいは、このトランザクション監視プログラム311は、LANインタフェース340を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ300にインストールされる。そして、インストールされたトランザクション監視プログラム311は、HDD330に記憶され、RAM310に読み出されてCPU320によって実行される。
また、本実施例では、トランザクションを監視、分析する場合について説明したが、本発明はこれに限定されるものではなく、トランザクションのような単位処理を処理するコンピュータシステムに同様に適用することができる。
(付記1)複数種類の単位処理を実行するシステムを監視するシステム監視プログラムであって、
前記複数種類の単位処理のそれぞれをモデル化した複数の単位処理モデルのいずれかにシステムが実行した単位処理がマッチするか否かを判定する単位処理判定手順と、
前記単位処理判定手順による判定結果に基づいてシステムの処理状況の分析が必要であるか否かを判定する分析必要性判定手順と、
前記分析必要性判定手順によりシステムの処理状況の分析が必要であると判定された場合に、前記単位処理判定手順により単位処理モデルのいずれにもマッチしないと判定された単位処理について最も類似する単位処理モデルとの相異点を表示する分析実行手順と
をコンピュータに実行させることを特徴とするシステム監視プログラム。
(付記2)前記分析実行手順は、システムの障害を示す単位処理と障害情報とを対応させて記憶した障害情報データベースを前記単位処理判定手順により単位処理モデルのいずれにもマッチしないと判定された単位処理を用いて検索し、一致する単位処理が検索された場合に、該検索された単位処理に対応する障害情報をさらに表示することを特徴とする付記1に記載のシステム監視プログラム。
(付記3)前記分析実行手順は、前記単位処理判定手順により単位処理モデルのいずれにもマッチしないと判定された単位処理を最も類似する単位処理モデルに基づいてグループ化して障害情報を表示することを特徴とする付記2に記載のシステム監視プログラム。
(付記4)前記分析実行手順により分析が行われた単位処理についてシステム運用者から正常か否かの判定を受け付け、正常との判定を受け付けた場合には該単位処理を新たな単位処理モデルとして追加するモデル更新処理手順をさらにコンピュータに実行させることを特徴とする付記1、2または3に記載のシステム監視プログラム。
(付記5)複数種類の単位処理を実行するシステムを分析するシステム分析プログラムであって、
前記複数種類の単位処理のそれぞれをモデル化した複数の単位処理モデルのいずれにもマッチしなかった新規単位処理に最も類似する単位処理モデルを検索する類似モデル検索手順と、
前記類似モデル検索手順により検索された類似モデルと前記新規単位処理との相違箇所を抽出する相違箇所抽出手順と、
前記相違箇所抽出手順により抽出された相違箇所を強調して前記新規単位処理の情報を表示する強調表示手順と、
をコンピュータに実行させることを特徴とするシステム分析プログラム。
(付記6)複数種類の単位処理を実行するシステムを監視するシステム監視装置によるシステム監視方法であって、
前記複数種類の単位処理のそれぞれをモデル化した複数の単位処理モデルのいずれかにシステムが実行した単位処理がマッチするか否かを判定する単位処理判定ステップと、
前記単位処理判定ステップによる判定結果に基づいてシステムの処理状況の分析が必要であるか否かを判定する分析必要性判定ステップと、
前記分析必要性判定ステップによりシステムの処理状況の分析が必要であると判定された場合に、前記単位処理判定ステップにより単位処理モデルのいずれにもマッチしないと判定された単位処理について最も類似する単位処理モデルとの相異点を表示する分析実行ステップと
を含んだことを特徴とするシステム監視方法。
(付記7)前記分析実行ステップは、システムの障害を示す単位処理と障害情報とを対応させて記憶した障害情報データベースを前記単位処理判定ステップにより単位処理モデルのいずれにもマッチしないと判定された単位処理を用いて検索し、一致する単位処理が検索された場合に、該検索された単位処理に対応する障害情報をさらに表示することを特徴とする付記6に記載のシステム監視方法。
(付記8)前記分析実行ステップは、前記単位処理判定ステップにより単位処理モデルのいずれにもマッチしないと判定された単位処理を最も類似する単位処理モデルに基づいてグループ化して障害情報を表示することを特徴とする付記7に記載のシステム監視方法。
(付記9)前記分析実行ステップにより分析が行われた単位処理についてシステム運用者から正常か否かの判定を受け付け、正常との判定を受け付けた場合には該単位処理を新たな単位処理モデルとして追加するモデル更新処理ステップをさらに含んだことを特徴とする付記6、7または8に記載のシステム監視方法。
(付記10)複数種類の単位処理を実行するシステムを分析するシステム分析装置によるシステム分析方法であって、
前記複数種類の単位処理のそれぞれをモデル化した複数の単位処理モデルのいずれにもマッチしなかった新規単位処理に最も類似する単位処理モデルを検索する類似モデル検索ステップと、
前記類似モデル検索ステップにより検索された類似モデルと前記新規単位処理との相違箇所を抽出する相違箇所抽出ステップと、
前記相違箇所抽出ステップにより抽出された相違箇所を強調して前記新規単位処理の情報を表示する強調表示ステップと、
を含んだことを特徴とするシステム分析方法。
(付記11)複数種類の単位処理を実行するシステムを監視するシステム監視装置であって、
前記複数種類の単位処理のそれぞれをモデル化した複数の単位処理モデルのいずれかにシステムが実行した単位処理がマッチするか否かを判定する単位処理判定手段と、
前記単位処理判定手段による判定結果に基づいてシステムの処理状況の分析が必要であるか否かを判定する分析必要性判定手段と、
前記分析必要性判定手段によりシステムの処理状況の分析が必要であると判定された場合に、前記単位処理判定手段により単位処理モデルのいずれにもマッチしないと判定された単位処理について最も類似する単位処理モデルとの相異点を表示する分析実行手段と
を備えたことを特徴とするシステム監視装置。
(付記12)前記分析実行手段は、システムの障害を示す単位処理と障害情報とを対応させて記憶した障害情報データベースを前記単位処理判定手段により単位処理モデルのいずれにもマッチしないと判定された単位処理を用いて検索し、一致する単位処理が検索された場合に、該検索された単位処理に対応する障害情報をさらに表示することを特徴とする付記11に記載のシステム監視装置。
(付記13)前記分析実行手段は、前記単位処理判定手段により単位処理モデルのいずれにもマッチしないと判定された単位処理を最も類似する単位処理モデルに基づいてグループ化して障害情報を表示することを特徴とする付記12に記載のシステム監視装置。
(付記14)前記分析実行手段により分析が行われた単位処理についてシステム運用者から正常か否かの判定を受け付け、正常との判定を受け付けた場合には該単位処理を新たな単位処理モデルとして追加するモデル更新処理手段をさらにコンピュータに実行させることを特徴とする付記11、12または13に記載のシステム監視装置。
(付記15)複数種類の単位処理を実行するシステムを分析するシステム分析装置であって、
前記複数種類の単位処理のそれぞれをモデル化した複数の単位処理モデルのいずれにもマッチしなかった新規単位処理に最も類似する単位処理モデルを検索する類似モデル検索手段と、
前記類似モデル検索手段により検索された類似モデルと前記新規単位処理との相違箇所を抽出する相違箇所抽出手段と、
前記相違箇所抽出手段により抽出された相違箇所を強調して前記新規単位処理の情報を表示する強調表示手段と、
を備えたことを特徴とするシステム分析装置。