説明

データ収集装置

【課題】データ収集処理におけるアプリケーション情報の比較処理を高速に実行し、処理遅延の発生を防止することを課題とする。
【解決手段】データ収集装置は、収集されたアプリケーション情報のうち、異常が発生したアプリケーション情報と、当該異常によって影響を受けるアプリケーション情報とを特定する。そして、データ収集装置は、特定されたアプリケーション情報については、詳細情報を含む全情報と前回の契機で収集された詳細情報を含むアプリケーション情報の全情報とを比較する。また、データ収集装置は、特定されたアプリケーション情報以外のアプリケーション情報については、詳細情報を除く情報と前回の契機で収集されたアプリケーション情報のうち詳細情報を除く情報とを比較する。そして、データ収集装置は、差異があるとアプリケーション情報を抽出し、抽出されたアプリケーション情報をデータ管理装置に送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ収集装置に関する。
【背景技術】
【0002】
従来、高速な通信技術や通信回線が普及するにつれて、例えば、Webサーバ、アプリケーションサーバ、データベースサーバ、ストレージ等を連携させてクライアントに各種IT(Information Technology)サービスを提供するITシステムが普及している。また、このようなITシステムでは、障害の早期検出、各サーバが実行するアプリケーションの管理等を行うために、各サーバからアプリケーション情報を収集するデータ収集装置も利用されている。
【0003】
ここで、データ収集装置を含むITシステムについて具体的に説明する。具体的には、ITシステムは、図24に示すように、監視対象サーバ群とデータ収集装置とデータ管理装置とを有する。監視対象サーバ群は、クライアントに対してITサービスを提供するサーバ装置各々であり、例えば、Webサーバ、アプリケーションサーバ、データベースサーバ、ストレージなどである。
【0004】
データ収集装置は、アプリケーション情報として、例えばアプリケーションを構成するプロセスやアプリケーション上で動作しているデプロイドアプリケーションなどを、監視対象サーバの各サーバから収集する。そして、データ収集装置は、収集したインスタンス情報をデータ管理装置に送信する。データ管理装置は、構成管理データベース(Configuration Management Database)を有するサーバ装置であり、データ収集装置から受信したインスタンス情報を一元的に記憶し、各アプリケーション情報を関連付けて管理することもできる。
【0005】
上述したITシステムでは、データ収集装置によって、例えば1分間間隔など定期的にアプリケーション情報が監視対象サーバから収集されてデータ管理装置に格納される。管理者等は、データ管理装置に格納されたアプリケーション情報を分析することで障害を検出したり、追加や削除されたアプリケーション情報やアプリケーションを管理したりすることができる。
【0006】
ところが、監視対象サーバの台数が多い大規模ITシステムの場合、データ収集装置がアプリケーション情報を収集して、データ管理装置に格納するまでに時間がかかる。また、よりリアルタイムにアプリケーション情報を収集するために収集間隔を短くすると、次の収集タイミングまでに、アプリケーション情報を収集して格納するまでのデータ収集処理を終了させることができず、処理に遅延が発生する。
【0007】
そこで、最近では、収集したアプリケーション情報と前回収集したアプリケーション情報とを比較し、差分があるアプリケーション情報だけをデータ管理装置に格納することで、データ収集処理時間を短縮することができるデータ収集装置が利用されている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平02−277114号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来の技術では、監視対象サーバの台数が多い大規模ITシステムの場合、アプリケーション情報の比較処理が高負荷になる。その結果として、アプリケーション情報を収集して格納するまでのデータ収集処理に遅延が発生するという課題があった。
【0010】
開示の技術は、上記に鑑みてなされたものであって、データ収集処理におけるアプリケーション情報の比較処理を高速に実行し、処理遅延の発生を防止することが可能であるデータ収集装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
本願の開示するデータ収集装置は、一つの態様において、アプリケーションを実行してサービスを提供するサーバ装置から収集した、前記アプリケーションの詳細を示す詳細情報を含むアプリケーション情報を記憶する情報記憶部と、前記サーバ装置から前記アプリケーション情報を収集する情報収集部と、前記情報収集部によって収集されたアプリケーション情報のうち、異常が発生したアプリケーションのアプリケーション情報と、当該異常によって影響を受けるアプリケーションのアプリケーション情報とを特定する情報特定部と、前記情報特定部によって特定されたアプリケーション情報については、前記詳細情報を含む全情報と前記情報記憶部に記憶される前回の契機で収集された詳細情報を含むアプリケーション情報の全情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する第一比較部と、前記情報特定部によって特定されたアプリケーション情報以外のアプリケーション情報については、前記詳細情報を除く情報と前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報のうち前記詳細情報を除く情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるとアプリケーション情報を抽出する第二比較部と、前記第一比較部または第二比較部によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信部と、を有する。
【発明の効果】
【0012】
本願の開示するデータ収集装置の一つの態様によれば、データ収集処理におけるアプリケーション情報の比較処理を高速に実行し、処理遅延の発生を防止することが可能であるという効果を奏する。
【図面の簡単な説明】
【0013】
【図1】図1は、本願が開示するデータ収集装置を含むシステムの全体構成を示す図である。
【図2】図2は、実施例2に係るデータ管理装置の構成を示すブロック図である。
【図3】図3は、アプリケーション情報DBに記憶される情報の例である。
【図4】図4は、構成情報DBに記憶される業務Aの構成情報例を示す図である。
【図5】図5は、構成情報DBに記憶される業務Bの構成情報例を示す図である。
【図6】図6は、構成情報DBに記憶される業務Cの構成情報例を示す図である。
【図7】図7は、アプリケーションの連携を説明する図である。
【図8】図8は、実施例2に係るデータ収集装置の構成を示すブロック図である。
【図9】図9は、インスタンス情報DBに記憶される情報の例を示す図である。
【図10】図10は、業務アプリDBに記憶される情報の例を示す図である。
【図11】図11は、更新頻度DBに記憶される情報の例を示す図である。
【図12】図12は、収集されたインスタンス情報の例を示す図である。
【図13】図13は、異常が発生しているインスタンス情報を特定する例を説明する図である。
【図14】図14は、前処理としての並び替え処理を説明する図である。
【図15】図15は、前処理としてのインスタンス情報削除処理を行った例を説明する図である。
【図16】図16は、比較順序を決定した例を示す図である。
【図17】図17は、今回収集されたインスタンス情報を文字列化した例を示す図である。
【図18】図18は、前回収集されたインスタンス情報を文字列化した例を示す図である。
【図19】図19は、実施例2に係るデータ収集装置における全体的な処理の流れを示すフローチャートである。
【図20】図20は、実施例2に係るデータ収集装置における詳細な処理の流れを示すフローチャートである。
【図21】図21は、実施例2に係るデータ収集装置における詳細な処理の流れを示すフローチャートである。
【図22】図22は、実施例2に係るデータ収集装置における詳細な処理の流れを示すフローチャートである。
【図23】図23は、データ収集プログラムを実行するコンピュータシステム100を示す図である。
【図24】図24は、従来技術を説明する図である。
【発明を実施するための形態】
【0014】
以下に、本願の開示するデータ収集装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例1】
【0015】
図1は、本願が開示するデータ収集装置を含むシステムの全体構成を示す図である。図1に示すように、このシステムは、Webサーバ、アプリケーションサーバ、データベースサーバなどの各種サーバと、データ管理装置1と、データ収集装置5とを有する。
【0016】
Webサーバ、アプリケーションサーバ、データベースサーバなどの各種サーバは、それぞれが実行するアプリケーションを連携させて、クライアント装置に各種IT(Information Technology)サービスを提供するサーバ群である。ここでは、Webサーバ、アプリケーションサーバ、データベースサーバを例示したが、これに限定されるものではない。
【0017】
ここで例示したWebサーバは、WWW(World Wide Web)による情報送受信機能を有する装置である。具体的には、Webサーバは、HTML(HyperText Markup Language)文書や画像などを保持し、クライアント装置からのWebブラウザによるHTTP(Hypertext Transfer Protocol)要求などの要求を受信した場合、当該要求に応じた情報を提供する。
【0018】
また、アプリケーションサーバは、プログラムの実行環境やデータベースへの接続機能、トランザクション管理などの様々な機能を有し、クライアント装置からの要求に応答する装置である。具体的には、アプリケーションサーバは、クライアント装置からのHTTP要求を処理するWebサーバからバックエンドのデータベースサーバへの橋渡しを行い、データの加工処理などを実行する。
【0019】
また、データベースサーバは、例えばリレーショナルデータベースマネジメントシステム(Relational Database Management System:RDBMS)によって構築されたデータベースを保持する。例えば、データベースサーバは、クライアント装置からのデータ検索要求やデータ更新要求に応じて、データベースに対して処理を実行し、その結果を応答する。
【0020】
データ管理装置1は、ITサービスを提供するシステムを構成する全ての構成アイテムの情報を一元的に管理する構成管理データベース(CMDB:Configuration Management Database)1aを有し、各種サーバで実行されるアプリケーションの情報を記憶する。
【0021】
データ収集装置5は、各種サーバからアプリケーション情報を収集してデータ管理装置に送信する装置であり、情報DB5aと、情報収集部5bと、情報特定部5cと、第一比較部5dと、第二比較部5eと、情報送信部5fとを有する。
【0022】
情報DB5aは、アプリケーションを実行してサービスを提供するサーバ装置から収集した、アプリケーションの詳細を示す詳細情報を含むアプリケーション情報を記憶する。例えば、情報DB5aは、詳細情報として「starttime」や「参照先URL(Uniform Resource Locator)」、詳細情報以外の情報として「プロセス名、ID、status」を含むアプリケーション情報を記憶する。なお、ここで示した情報はあくまで例示であり、これに限定されるものではない。
【0023】
情報収集部5bは、サーバ装置からアプリケーション情報を収集する。例えば、情報収集部5bは、Webサーバ、アプリケーションサーバ、データベースサーバなどクライアント装置に各種ITを提供するサーバ各々から、アプリケーション情報を収集する。そして、情報収集部5bは、収集したアプリケーション情報を情報特定部5cに出力するとともに、情報DB5aに格納する。
【0024】
情報特定部5cは、情報収集部5bによって収集されたアプリケーション情報のうち、異常が発生したアプリケーションのアプリケーション情報と、当該異常によって影響を受けるアプリケーションのアプリケーション情報とを特定する。このような情報特定部5cは、例えば、管理者等から入力された障害情報や監視ツール等によって取得された障害情報と、データ管理装置1が保持するアプリケーションの構成情報との情報に基づいて、異常が発生したアプリケーション情報を特定する。さらに、情報特定部5cは、異常の影響を受けるアプリケーション情報を特定する。そして、情報特定部5cは、特定した異常が発生したアプリケーション情報と、異常の影響を受けるアプリケーション情報とを第一比較部5dに送信する。なお、このとき、情報特定部5cは、特定しなかったアプリケーション情報、言い換えると、異常とは関係ないアプリケーション情報については、第二比較部5eに送信する。
【0025】
第一比較部5dは、情報特定部5cによって特定されたアプリケーション情報については、詳細情報を含む全情報と情報DB5aに記憶される前回の契機で収集された詳細情報を含むアプリケーション情報の全情報とを比較する。そして、第一比較部5dは、比較した結果、差異が生じているアプリケーション情報を抽出し、抽出したアプリケーション情報を情報送信部5fに送信する。
【0026】
第二比較部5eは、情報特定部5cによって特定されたアプリケーション情報以外のアプリケーション情報については、詳細情報を除く情報と情報DB5aに記憶される前回の契機で収集されたアプリケーション情報のうち詳細情報を除く情報とを比較する。そして、第二比較部5eは、比較した結果、差異が生じているアプリケーション情報を抽出し、抽出したアプリケーション情報を情報送信部5fに送信する。
【0027】
情報送信部5fは、第一比較部5dまたは第二比較部5eによって検出されたアプリケーション情報をデータ管理装置1に送信する。つまり、情報送信部5fは、第一比較部5dまたは第二比較部5eから受信した、前回収集されたアプリケーションと差異があるアプリケーション情報をデータ管理装置1に送信する。
【0028】
このように、実施例1に係るシステムのデータ収集装置5は、アプリケーション情報を収集した場合に、詳細情報まで比較する必要のある情報と、詳細情報まで比較する必要のない情報とを特定する。そして、データ収集装置5は、詳細情報を含めた比較処理と詳細情報を含めない比較処理の2つの比較処理を各々実行して、収集したアプリケーション情報のうち、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を検出する。したがって、データ収集装置5は、収集したアプリケーション全部について、詳細情報までを比較する場合に比べて、比較処理を高速化することができる。その結果、データ収集処理におけるアプリケーション情報の比較処理を高速に実行し、処理遅延の発生を防止することが可能である。
【実施例2】
【0029】
ところで、実施例1で説明したシステムにおける各装置は、実施例1で説明した処理部以外の様々な処理部を有していてもよい。そこで、実施例2では、実施例1で説明したデータ管理装置とデータ収集装置の各々について、他の様々な処理部を有する構成について説明する。なお、実施例2では、アプリケーション情報としてインスタンス情報を用いた例について説明する。インスタンス情報とは、例えば、Webサーバ等のアプリケーション情報収集先のサーバで実際に動作しているアプリケーションを構成するプロセスや、アプリケーション上で動作しているデプロイドアプリケーションの情報を含む情報である。
【0030】
[データ管理装置の構成]
まず、図2を用いて、実施例2に係るデータ管理装置の構成について説明する。図2は、実施例2に係るデータ管理装置の構成を示すブロック図である。図2に示すように、データ管理装置10は、通信制御I/F部11と、入力部12と、表示部13と、記憶部15と、制御部20とを有する。
【0031】
通信制御I/F部11は、少なくとも1つの通信ポートを有するインタフェースであり、他の装置と間でやり取りされる情報を制御する。例えば、通信制御I/F部11は、データ収集装置50からインスタンス情報を受信し、また、図示しない管理装置からの要求に応じて、記憶部15等に記憶する各種情報を管理装置に出力する。
【0032】
入力部12は、例えば、キーボードやマウス、マイクなどであり、インスタンス情報の送信指示、送信先などの情報の入力を受付け、後述する制御部20等に入力する。なお、後述する表示部13も、マウスと協働してポインティングディバイス機能を実現する。
【0033】
表示部13は、例えば、モニタ、ディスプレイ、タッチパネルやスピーカなどであり、記憶部15等に記憶されるアプリケーション情報や構成情報、データ収集装置50から受信したインスタンス情報等を表示出力する。
【0034】
記憶部15は、制御部20による各種処理に必要なデータおよびプログラムを格納するとともに、アプリケーション情報DB16と、構成情報DB17とを有する半導体メモリ素子、または、ハードディスクなどの記憶装置である。
【0035】
アプリケーション情報DB16は、各サーバ上のアプリケーションに対応付けて、データ収集装置50から収集されたインスタンス情報を記憶する。例えば、アプリケーション情報DB16は、図3に示すように、「アプリケーション名、インスタンス情報、更新日時」として「Web1、ID・status・・・、2009/08/07」を記憶する。なお、図3は、アプリケーション情報DBに記憶される情報の例である。
【0036】
ここで記憶される「アプリケーション名」とは、各種サーバ上で実行されているアプリケーションの名称であり、例えば、後述する図4〜図6のアプリケーションに対応する。また、「インスタンス情報」とは、アプリケーション情報の収集先のサーバで実際に動作しているアプリケーションを構成するプロセスや、そのアプリケーション上で動作しているデプロイドアプリケーションの情報を含む情報である。また、「更新日時」とは、データ収集装置50から受信したインスタンス情報によって、「インスタンス情報」が更新された日時を示す情報である。また、ここで示した情報は例示であり、これに限定されるものではない。
【0037】
構成情報DB17は、各サーバで実行されている業務アプリケーションがどのようなアプリケーションから構成されて、どのように連携されているかを示す構成情報を記憶する。例えば、構成情報DB17は、図4に示すように、「業務アプリケーション、アプリケーション」として「業務A、Web1、Appl1、DB1」などを記憶する。また、構成情報DB17は、図5に示すように、「業務アプリケーション、アプリケーション」として「業務B、Web2、Appl1、DB2」などを記憶する。また、構成情報DB17は、図6に示すように、「業務アプリケーション、アプリケーション」として「業務C、Web2、Appl3、DB2」などを記憶する。なお、図4は、構成情報DBに記憶される業務Aの構成情報例を示す図であり、図5は、構成情報DBに記憶される業務Bの構成情報例を示す図であり、図6は、構成情報DBに記憶される業務Cの構成情報例を示す図である。
【0038】
ここで記憶される「業務アプリケーション」とは、各サーバ上で実行されているアプリケーションが連携することによって、クライアント装置に提供するサービスを示している。また、「アプリケーション」とは、「業務アプリケーション」を構成するアプリケーションを示しており、図3のアプリケーション名に対応する。上述した図4の例では、アプリケーション「Web1、Appl1、DB1」が連携することで業務アプリケーション「業務A」をクライアント装置に提供していることを示している。
【0039】
図7を用いて、より具体的に説明する。図7は、アプリケーションの連携を説明する図である。図7に示すように、クライアント装置は、ユーザの指示操作によって、Webサーバで実行されるアプリケーションであるWeb1が提供するURL(http://m1/Appl1/webappl1)にアクセスする。この要求を受け付けたWeb1は、連携先となるアプリケーションサーバで実行されるアプリケーションAppl1に対して、受信したアクセスを送信する。そして、Appl1は、例えば、「productレコードからproduct.nameがnameであるproductレコードのproduct idを取得する」ことを示すSQLである「SELECT product.id FROM product WHERE product.name=’name’」をDB1に実行する。また、Appl1は、例えば、「orderレコードに対して(productid、count)=(1234、1)を挿入する」ことを示すSQLである「INSERT INTO order (productid、count) VALUES (1234、1)」をDB1に実行する。その後、Appl1は、SQL各々の実行結果をWeb1に送信し、Web1は、Appl1から受信した実行結果を応答としてクライアント装置に送信する。このように、アプリケーションWeb1、Appl1、DB1が連携することで、クライアント装置に対して業務アプリケーションを提供することができる。
【0040】
制御部20は、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)などの電子回路である。この制御部20は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有する。さらに、制御部20は、情報受信部21と、情報格納部22と、構成情報提供部23とを有し、これらによって各種処理を実行する。
【0041】
情報受信部21は、データ収集装置50からインスタンス情報を受信する。例えば、情報受信部21は、各サーバで実行されているアプリケーションのインスタンス情報のうち、更新や削除等変更があったインスタンス情報をデータ収集装置50から受信して、後述する情報格納部22に出力する。
【0042】
情報格納部22は、情報受信部21によって受信されたインスタンス情報をアプリケーション情報DB16に格納する。例えば、情報格納部22は、情報受信部21によって受信されたインスタンス情報で、アプリケーション情報DB16に記憶されるインスタンス情報を更新する。そして、情報格納部22は、インスタンス情報を更新した場合には、更新したインスタンス情報に対応する「更新日時」に更新した日時を格納する。
【0043】
構成情報提供部23は、データ収集装置50から構成情報の取得要求を受信した場合に、データ収集装置50に対して構成情報を送信する。例えば、構成情報提供部23は、データ収集装置50から構成情報の取得要求を受信した場合に、当該要求に含まれるアプリケーション名やIDなどの情報からアプリケーションを特定する。そして、構成情報提供部23は、特定したアプリケーションが含まれる構成情報を構成情報DB17から取得して、要求元のデータ収集装置50に対して送信する。
【0044】
[データ収集装置の構成]
次に、図8を用いて、実施例2に係るデータ収集装置の構成について説明する。図8は、実施例2に係るデータ収集装置の構成を示すブロック図である。図8に示すように、データ収集装置50は、通信制御I/F部51と、入力部52と、表示部53と、記憶部55と、制御部60とを有する。
【0045】
通信制御I/F部51は、少なくとも1つの通信ポートを有するインタフェースであり、他の装置と間でやり取りされる情報を制御する。例えば、通信制御I/F部51は、各サーバからインスタンス情報を受信し、データ管理装置10に対してインスタンス情報を送信する。
【0046】
入力部52は、例えば、キーボードやマウス、マイクなどであり、インスタンス情報の収集開始指示、収集終了指示などの情報の入力を受付け、後述する制御部60等に入力する。なお、後述する表示部53も、マウスと協働してポインティングディバイス機能を実現する。
【0047】
表示部53は、例えば、モニタ、ディスプレイ、タッチパネルやスピーカなどであり、記憶部55等に記憶されるインスタンス情報や、制御部60等によって収集されたインスタンス情報、制御部60によって比較処理された結果等を表示出力する。また、表示部53は、制御部60によって収集されたインスタンス情報や記憶部55に記憶されるインスタンス情報を表示することもできる。
【0048】
記憶部55は、例えば、制御部60による各種処理に必要なデータおよびプログラムを格納するとともに、インスタンス情報DB56と、業務アプリDB57と、更新頻度DB58とを有するハードディスクなどの記憶装置である。
【0049】
インスタンス情報DB56は、後述する制御部60の情報収集部61によって、各サーバから収集されたインスタンス情報を記憶する。例えば、インスタンス情報DB56は、図9に示すように、「Id、status」を有する「Composing Process」と、「Id、name、type、status、詳細情報」を有する「Discovered Element」とを有するインスタンスを記憶する。また、インスタンス情報DB56は、前回収集されたインスタンス情報のみを記憶してもよく、予め指定された期間分の情報を記憶してもよい。なお、図9は、インスタンス情報DBに記憶される情報の例を示す図である。
【0050】
ここで記憶される「Composing Process」とは、サーバのOS上で実行されるプロセスのインスタンス情報を示しており、更新頻度が比較的少ないインスタンス情報である。また、「Discovered Element」は、サーバのソフトウエアやミドルウエアなど実行されるデプロイドアプリケーションのインスタンス情報を示しており、更新頻度が比較的多いインスタンス情報である。そして、「Composing Process」や「Discovered Element」に含まれる「Id」とは、プロセスやデプロイドアプリケーションを一意に識別する識別子である。また、「status」とは、プロセスやデプロイドアプリケーションの状態を示す情報であり、例えば、プロセスやデプロイドアプリケーションが正常である場合は「active」となり、プロセスやデプロイドアプリケーションが異常である場合は「inactive」となる。
【0051】
さらに、図9に示すように、インスタンス情報は階層構造を有している。したがって、矢印の出力元と矢印の出力先とは、いわゆる親と子の関係となっている。具体的に説明すると、図9に示したインスタンス情報は、「Instance」を最上位の親とする階層構造になっており、子として2つの「Discovered Element」と3つの「Composing Process」を有している。そして、2つの「Discovered Element」各々は、子としてさらに2つの「Discovered Element」を有している。
【0052】
このような「Discovered Element」に含まれる「name」とは、デプロイドアプリケーションの名称を示しており、「type」とは、Application Serverなど収集先のサーバ種別やjava container、webmodule、workunitなどのデプロイドアプリケーションの種別を示している。さらに、「詳細情報」とは、デプロイドアプリケーションが開始された時間を示す「starttime」、要求を受けてから応答するまでのレスポンス時間を示す「resptime」、アクセスを受け付けた場合に参照するURLを示す「weburl」などの情報である。なお、ここで示した詳細情報は例示であり、これに限定されるものではなく、実行されているアプリケーションによって変わるアプリケーション特有の情報を記憶してもよい。
【0053】
業務アプリDB57は、サーバによって提供される業務アプリケーションの状態を記憶する。例えば、業務アプリDB57は、図10に示すように、「業務アプリケーション、ステータス、平均応答時間、応答時間閾値」として「業務A、Down、0.3、0.5」、「業務B、Active、0.2、0.5」、「業務C、Active、0.2、0.5」などと記憶する。また、ここで記憶される情報は、管理者等によって入力されてもよく、ITシステム等で一般的に利用されているアプリケーションや業務を監視する監視ツール等から取得するようにしてもよい。なお、図10は、業務アプリDBに記憶される情報の例を示す図である。
【0054】
ここで記憶される「業務アプリケーション」とは、クライアント装置に提供する業務アプリケーションの名称を示している。「ステータス」とは、業務アプリケーションの状態を示す情報である。例えば、業務アプリケーションが正常状態である場合は「Active」となり、業務アプリケーションが異常による停止状態である場合は「Down」となり、業務アプリケーションが意図的に停止された状態である場合は「Inactive」となる。「平均応答時間」とは、クライアント装置から要求を受けて応答するまでに要した時間の平均値であり、「応答時間閾値」とは、平均応答時間が異常であるか否かを判定するための閾値であり、ユーザによって任意に設定できる値である。上述した例の場合、「業務A」の「ステータス」が「Down」であることにより、「業務A」が異常状態と判断される。
【0055】
更新頻度DB58は、アプリケーション情報が過去に更新された回数を示す更新頻度を記憶する。例えば、更新頻度DB58は、図11に示すように、「インスタンス、Id、変更カウンタ」として「INS_m1_10000、DE_m1_10003、3」や「INS_m1_10000、DE_m1_10000、2」などと記憶する。なお、図11は、更新頻度DBに記憶される情報の例を示す図である。
【0056】
ここで記憶される「インスタンス」とは、階層構造を有するインスタンス情報のうち、最上位のインスタンス情報を示しており、例えば、図9では、一番上の「Instance」の「Id」である。また、「Id」とは、最上位の「Instance」の子となっているインスタンスを示す情報であり、例えば、図9では、「Discovered Element」の「Id」や「Composing Process」の「Id」が該当する。「変更カウンタ」は、更新された回数を示している。
【0057】
制御部60は、例えば、OSなどの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するCPUやMPUなどの電子回路である。さらに、制御部60は、情報収集部61と、情報特定部62と、第一比較部63と、前処理部64と、頻度優先部65と、文字列変換部66と、第二比較部67と、情報送信部68とを有し、これらによって各種処理を実行する。
【0058】
情報収集部61は、アプリケーションを実行して業務アプリケーションをクライアントに提供するサーバ各々からインスタンス情報を収集する。具体的には、情報収集部61は、管理者等によって指定された収集契機に到達すると、サーバ各々に対してアクセスし、サーバ上で実行されているアプリケーションのインスタンス情報を収集する。そして、情報収集部61は、収集したインスタンス情報を情報特定部62又は前処理部64に出力するとともに、インスタンス情報DB56に格納する。なお、収集する契機としては、例えば、入力部52で収集開始指示が受け付けられた場合、1時間ごとなど予め指定された時間に到達した場合など、任意に設定することができる。
【0059】
例えば、情報収集部61は、図12に示すような「Id=INS_m2_10000、name=Appl2、type=Application Server、status=active」を最上位インスタンスとするインスタンス情報をアプリケーションサーバから収集する。図12に示したインスタンス情報は、上記インスタンスの子として、2つの「Discovered Element」と3つの「Composing Process」を有し、さらに、2つの「Discovered Element」各々は、2つの「Discovered Element」を有している。図12は、収集されたインスタンス情報の例を示す図である。
【0060】
ここで例示した3つの「ComposingProcess」は、それぞれ「Id=PROC_m2_1000、1000、status=active」、「Id=PROC_m2_1001、1001、status=active」、「Id=PROC_m2_1002、1002、status=active」である。また、2つの「Discovered Element」は、「Id=DE_m2_10000、name=java1、type=java container、status=inactive、詳細情報(starttime=3437424000」と、「Id=DE_m2_10003、name=wuc1、type=workunit container、status=active、詳細情報(starttime=3437424000)」である。
【0061】
そして、インスタンス「Id=DE_m2_10000」の子となる一つのインスタンスは、「Id=DE_m2_10001、name=webappl1、type=webmodule、status=inactive、詳細情報(weburl=/webappl1、resptime=0.0490」で示される「Discovered Element」である。もう一つのインスタンスは、「Id=DE_m2_10002、name=webappl2、type=webmodule、status=inactive、詳細情報(weburl=/webappl2、resptime=0.052」で示される「Discovered Element」である。
【0062】
また、インスタンス「Id=DE_m2_10003」の子となる一つのインスタンスは、「Id=DE_m2_10004、name=wuc1、type=workunit、status=active、詳細情報(resptime=0.062)」で示される「Discovered Element」である。もう一つのインスタンスは、「Id=DE_m2_100054、name=wuc2、type=workunit、status=active、詳細情報(resptime=0.050)」で示される「Discovered Element」である。
【0063】
また、図12では、「Discovered Element(Id=DE_m2_10000、name=java1、type=java container、status=inactive、詳細情報(starttime=3437424000))」の「status」が「inactive」である。したがって、この「Discovered Element」は異常状態であり、この「Discovered Element」を親とするインスタンス情報も異常状態を示していることとなる。つまり、「Id」が「DE_m2_10001」である「Discovered Element」は異常状態であり、「Id」が「DE_m2_10002」である「Discovered Element」も異常状態である。
【0064】
情報特定部62は、情報収集部61によって収集されたインスタンス情報のうち、異常が発生したアプリケーションのインスタンス情報と、当該異常によって影響を受けるアプリケーションのインスタンス情報とを特定する。
【0065】
具体的には、情報特定部62は、業務アプリDB57を参照し、異常が発生している業務アプリケーションを特定し、特定した業務アプリケーションを構成する構成情報をデータ管理装置10から取得する。そして、情報特定部62は、収集されたインスタンス情報のうち、データ管理装置10から取得した構成情報で示されるアプリケーションのインスタンス情報を参照し、「status」が「inactive」になっているインスタンス情報を特定する。続いて、情報特定部62は、「status」が「inactive」になっているインスタンス情報を有するアプリケーションを異常状態である異常アプリケーションとして特定する。さらに、情報特定部62は、データ管理装置10から取得した構成情報を参照し、特定した異常アプリケーションを構成要素とする業務アプリケーションを特定する。続いて、情報特定部62は、特定した業務アプリケーションを構成する全てのアプリケーションを異常の影響を受けるアプリケーションとして特定する。そして、情報特定部62は、特定した異常アプリケーションおよび異常の影響を受けるアプリケーションのインスタンス情報を第一比較部63に送信する。また、情報特定部62は、正常なアプリケーションおよび異常の影響を受けないアプリケーションのインスタンス情報を前処理部64に送信する。
【0066】
上述した図を用いて説明すると、情報特定部62は、図10に示した業務アプリDB57を参照して、「ステータス」が「Down」になっている「業務A」を異常が発生している業務アプリケーションとして特定する。そして、情報特定部62は、図4に示す業務アプリケーション「業務A」の構成情報と、図5に示す業務アプリケーション「業務B」の構成情報と、図6に示す業務アプリケーション「業務C」の構成情報とをデータ管理装置10から取得する。続いて、情報特定部62は、異常がある「業務A」を構成するアプリケーションが「Web1」、「Appl1」、「DB1」であると認識する。続いて、情報特定部62は、情報収集部61によって取得されたアプリケーション「Web1」、「Appl1」、「DB1」各々インスタンス情報を参照し、「Appl1」のインスタンス情報が「業務A」の異常の原因であると特定する。このとき、情報特定部62は、「Appl1」を構成要素とする「業務A」の他のアプリケーションである「Web1」と「DB1」については、異常の影響を受けるアプリケーションであると特定する。
【0067】
例えば、アプリケーション「Appl1」のインスタンス情報が図13のような情報であったとする。この場合、情報特定部62は、「Id=DE_m1_10003」の「Discovered Element」、「Id=DE_m1_10004」の「Discovered Element」、「Id=DE_m1_10005」の「Discovered Element」における「status」が「inactive」となっていることを検出する。したがって、情報特定部62は、情報収集部61によって収集された「Appl1」のインスタンス情報については、異常の原因となるインスタンス情報であると特定する。
【0068】
そして、情報特定部62は、先ほど取得した図5に示す「業務B」の構成情報と図6に示す「業務C」とから、異常の原因であると特定したアプリケーション「Appl1」を構成要素とする業務アプリケーションが「業務B」であると特定する。つまり、「業務B」は、異常があった「Appl1」が他のアプリケーションと連携されることで構成されていることより、異常の影響を受けていると推測することができる。したがって、情報特定部62は、「Appl1」を構成要素とする「業務B」のアプリケーションである「Web2」と「DB2」について、異常がある「Appl1」の影響を受けるアプリケーションとして特定する。
【0069】
そして、情報特定部62は、異常あると特定した「Appl1」のインスタンス情報と、異常の影響を受けると特定した「Web1」、「DB1」、「Web2」、「DB2」のインスタンス情報については、第一比較部63に送信する。また、情報特定部62は、「Appl1」、「Web1」、「DB1」、「Web2」、「DB2」以外のアプリケーション、上述した例の場合、「業務C」を構成する「Web2」、「Appl3」、「DB2」のインスタンス情報を前処理部64に送信する。なお、図13は、異常が発生しているインスタンス情報を特定する例を説明する図である。
【0070】
第一比較部63は、情報特定部62によって特定されたインスタンス情報については、詳細情報を含む全情報とインスタンス情報DB56に記憶される前回の契機で収集された詳細情報を含むインスタンス情報の全情報とを比較する。具体的には、第一比較部63は、インスタンス情報DB56に記憶されているインスタンス情報から、情報特定部62によって異常がある又は異常の影響を受けると特定されたインスタンス情報を有するアプリケーションのインスタンス情報と取得する。続いて、第一比較部63は、取得したインスタンス情報と、インスタンス情報DB56から取得した前回の契機で収集されたインスタンス情報とを比較する。そして、第一比較部63は、比較した結果、差異が生じていると判断したインスタンス情報を情報送信部68に出力する。
【0071】
上述した例の場合、第一比較部63は、異常あると特定した「Appl1」のインスタンス情報と、異常の影響を受けると特定した「Web1」、「DB1」、「Web2」、「DB2」のインスタンス情報について、上述した比較処理を実施する。
【0072】
つまり、第一比較部63は、異常がある又は異常の影響を受けるアプリケーションのインスタンス情報については、「starttime」、「resptime」、「weburl」などの詳細情報までを含めて、前回収集されたインスタンス情報と比較する。こうすることで、第一比較部63は、具体的にどのような異常を受けたのかを特定できないアプリケーションについても、異常を受けて変更された箇所を特定し、特定したインスタンス情報をデータ管理装置10に送信することができる。
【0073】
前処理部64は、情報収集部61によって収集されたインスタンス情報と、前回の契機で収集されたインスタンス情報とを比較する前に、インスタンス情報の並び替えや削除等様々な前処理を実施する。具体的には、前処理部64は、情報収集部61によって収集されたインスタンス情報のうち、上述した情報特定部62によって異常の影響を受けないと特定されたインスタンス情報に対して前処理を実施する。また、前処理部64は、上述した情報特定部62が処理部としてデータ収集装置50に含まれていない場合には、情報収集部61によって収集されたインスタンス情報に対して前処理を実施する。また、前処理部64は、情報特定部62によって異常ある又は異常の影響を受けると特定されたインスタンス情報についても、前処理を実施してもよい。すなわち、前処理部64は、任意に指定されたインスタンス情報に対して前処理を実施する。
【0074】
図13に示したインスタンス情報を例にして説明すると、前処理部64は、収集されたインスタンス情報のうち、比較的更新頻度が多い「DiscoveredElement」が比較的更新頻度が少ない「ComposingProcess」よりも先に比較されるように並び替える。例えば、前処理部64は、図14に示すように、階層構造を有するインスタンス情報において、左に「DiscoveredElement」、右に「ComposingProcess」が配置されるように、インスタンス情報を並び替える。なお、ここでは、説明上、左に配置される方が早めに比較されるとしたが、これは例であり、これに限定されるものではない。
【0075】
また、前処理部64は、比較対象となるインスタンス情報に「status=inactive」となっているインスタンス情報がある場合には、そのインスタンス情報を親とする子のインスタンス情報を比較対象から削除する。例えば、図14に示すインスタンス情報において、「Id=DE_m1_10003」の「DiscoveredElement」の「status」が「inactive」になっている。この場合、前処理部64は、図15に示すように、「Id=DE_m1_10003」の「DiscoveredElement」を親とする子のインスタンス情報である「Id=DE_m1_10004」の「DiscoveredElement」と「Id=DE_m1_10005」の「DiscoveredElement」のインスタンス情報を削除する。つまり、「status」が「inactive」になっているインスタンス情報を親とするインスタンス情報については、親のインスタンス情報からだけで、異常を十分に把握することができ、子のインスタンス情報について処理を実施することは無駄となる。したがって、このようにすることで、後述する第二比較部67で実施される比較処理をより高速に行うことができる。なお、図14は、前処理としての並び替え処理を説明する図であり、図15は、前処理としてのインスタンス情報削除処理を行った例を説明する図である。
【0076】
頻度優先部65は、情報収集部61によって収集されたインスタンス情報を、更新頻度DB58に記憶される更新頻度が多い順に並び替える。具体的には、頻度優先部65は、情報収集部61によって収集されたインスタンス情報、又は、情報特定部62によって特定されたインスタンス情報、又は、前処理部64によって前処理が実施されたインスタンス情報等を更新頻度が多い順に並び替える。すなわち、頻度優先部65は、任意に指定されたインスタンス情報を更新頻度が多い順に並び替える。
【0077】
上述した図15および図11を例にして説明する。頻度優先部65は、図11に示した更新頻度DB58を参照し、図15に示した「Id=INS_m1_10000」を最上位するインスタンス情報について、変更回数を取得する。そして、頻度優先部65は、後述する第二比較部67による比較処理において、更新頻度が多い順に早く比較されるように、図15に示したインスタンス情報を並び替えて、並び替えたインスタンス情報を第二比較部67に出力する。
【0078】
具体的には、頻度優先部65は、更新頻度DB58を参照し、「Id=DE_m1_10003」の変更カウンタが「3」、「Id=DE_m1_10000」が「2」、「Id=DE_m1_10001」と「Id=DE_m1_10002」が「1」であることを取得する。そして、頻度優先部65は、図16に示すように、取得した更新頻度が高いインスタンスが先に比較されるように並び替えて、第二比較部67に出力する。図16では、付与した番号順に比較処理が実行される。なお、ここでは、説明上、左に配置される方が早めに比較されるとしたが、これは例であり、これに限定されるものではない。また、図16は、比較順序を決定した例を示す図である。
【0079】
文字列変換部66は、収集されたインスタンス情報を所定の条件に基づいて文字列に変換する。例えば、文字列変換部66が文字列化の対象とする情報は、情報収集部61によって収集されたインスタンス情報、情報特定部62によって特定されたインスタンス情報であってもよい。また、前処理部64によって前処理が実施されたインスタンス情報、頻度優先部65によって並び替えられたインスタンス情報であってもよい。すなわち、文字列変換部66は、任意に指定されたインスタンス情報を所定の条件に基づいて文字列に変換する。
【0080】
例えば、文字列変換部66は、図16に示したインスタンス情報に対して、頻度優先部65によって並び替えられた順番で、各インスタンスの「Id」と「status」とを抽出する文字列化を実施する。この場合、文字列変換部66は、図17に示すように、「INS_m1_10000ACTDE_m1_10003INADE_m1_10000ACTDE_m1_10001ACTDE_m1_10002ACTPROC_m1_1000ACTPROC_m1_1001ACTPROC_m1_1002ACT」を生成して、第二比較部67に出力する。また、文字列変換部66が文字列にする項目(情報)は、管理者等によって任意に設定することができ、文字列変換部66は、設定された情報を所定の条件として文字列化を実施する。例を挙げると、文字列変換部66は、所定の条件として「Id、status、詳細情報」が設定された場合には、各インスタンスの「Id、status、詳細情報」を文字列化する。なお、図17は、今回収集されたインスタンス情報を文字列化した例を示す図である。
【0081】
第二比較部67は、文字列変換部66によって文字列に変換された情報と、インスタンス情報DB56に記憶される前回の契機で収集されたインスタンス情報を所定の条件に基づいて文字列に変換した情報とを比較する。上述した例で説明すると、第二比較部67は、文字列化した図17のインスタンス情報を有するアプリケーションについて、前回の契機で収集されたインスタンス情報をインスタンス情報DB56から取得し、文字列変換部66と同様の条件にしたがって文字列化する。
【0082】
例を挙げると、第二比較部67は、図18に示すように、「INS_m1_10000ACTDE_m1_10003ACTDE_m1_10004ACTDE_m1_10005ACTDE_m1_10000ACTDE_m1_10001ACTDE_m1_10002ACTPROC_m1_1000ACTPROC_m1_1001ACTPROC_m1_1002ACT」を生成する。そして、第二比較部67は、前回収集されたインスタンス情報を文字列化した図18の情報と、今回収集された情報を文字列化した情報である図17とを比較し、差異がある場合には、文字列化する前のインスタンス情報を情報送信部68に出力する。この例では、図17では「DE_m1_10003INA」となっているが、図18では「DE_m1_10003ACT」となっていることから、第二比較部67は、差異があるインスタンス情報であると判定し、文字列化する前の情報である図13の情報を情報送信部68に出力する。なお、情報収集部61は、文字列化する前の情報、すなわち、収集されたインスタンス情報は、記憶部55やメモリなどに格納しておく。そうすることで、第二比較部67は、文字列化された情報に対応する文字列化する前のインスタンス情報を特定および取得して、情報送信部68に出力することができる。なお、図18は、前回収集されたインスタンス情報を文字列化した例を示す図である。
【0083】
また、第二比較部67は、文字列化した情報でなくも比較処理を実施することができる。つまり、第二比較部67は、受け付けた情報が文字列化されていない情報、言い換えると、収集されたインスタンス情報のままである場合には、文字列化することなく、前回の契機で収集されたインスタンス情報との比較処理を実施する。例えば、第二比較部67は、情報特定部62によって異常の影響を受けると特定されなかった情報、前処理部64によって前処理実施された情報、頻度優先部によって並び替えられた情報等、様々なインスタンス情報を比較することができる。すなわち、第二比較部67は、受け付けた情報の状態によって比較処理を実施することができる。
【0084】
情報送信部68は、第一比較部63または第二比較部67によって、前回の契機で収集されたインスタンス情報と差異があると判定されたインスタンス情報をデータ管理装置10に送信する。例えば、情報送信部68は、異常がある又は異常の影響を受けると特定されたインスタンス情報のうち、前回の契機で収集されたインスタンス情報と差異があると判定されたインスタンス情報を第一比較部63から取得して、データ管理装置10に送信する。また、情報送信部68は、異常の影響を受けないと特定されたインスタンス情報のうち、前回の契機で収集されたインスタンス情報と差異があると判定されたインスタンス情報を第二比較部67から取得して、データ管理装置10に送信する。
【0085】
[処理の流れ]
次に、図19〜図22を用いて、実施例2で説明したデータ収集装置50における処理の流れを説明する。ここでは、データ収集装置50における全体的な処理の流れと、各処理を具体的に示した詳細な処理の流れについて説明する。
【0086】
(全体的な処理の流れ)
まず、図19を用いて、データ収集装置50における全体的な処理の流れについて説明する。図19は、実施例2に係るデータ収集装置における全体的な処理の流れを示すフローチャートである。
【0087】
図19に示すように、データ収集装置50は、インスタンス情報収集契機に到達すると(ステップS101肯定)、監視対象となる各サーバからインスタンス情報を収集する(ステップS102)。
【0088】
続いて、データ収集装置50は、第一比較処理を実施する(ステップS103)。すなわち、データ収集装置50は、収集したインスタンス情報から、異常がある又は異常の影響を受けるインスタンス情報を特定し、抽出したインスタンス情報と前回の契機で収集されたインスタンス情報とを比較して、差異があるインスタンス情報を抽出する。
【0089】
第一比較処理を実施したデータ収集装置50は、比較順番処理を実施する(ステップS104)。例えば、データ収集装置50は、収集したインスタンス情報のうち第一比較処理によって異常の影響を受けると特定されたインスタンス情報以外のインスタンス情報について、情報の削除や並び替え等上述した前処理を実施する。
【0090】
そして、データ収集装置50は、前処理が実施されたインスタンス情報について文字列化処理を実施する(ステップS105)。すなわち、データ収集装置50は、前処理が実施されたインスタンス情報について、例えば、「Id」と「status」を抽出するなど、予め定められた情報のみを抽出する文字列化を実施する。
【0091】
続いて、データ収集装置50は、第二比較処理を実施する(ステップS106)。例えば、データ収集装置50は、文字列化処理で文字列化したインスタンス情報を有するアプリケーションにおける前回の契機で収集されたインスタンス情報をインスタンス情報DB56から取得して文字列化する。そして、データ収集装置50は、前回の契機で収集されたインスタンス情報を文字列化した情報と、今回収集したインスタンス情報を文字列化した情報とを比較し、差異があるインスタンス情報を抽出する。
【0092】
その後、データ収集装置50は、第一比較処理または第二比較処理において抽出された、前回の契機で収集されたインスタンス情報と差異があるインスタンス情報を、データ管理装置10に対して送信するインスタンス情報送信処理を実施する(ステップS107)。
【0093】
(詳細な処理の流れ)
次に、図20〜図22を用いて、データ収集装置50における詳細な処理の流れについて説明する。図20〜図22は、実施例2に係るデータ収集装置における詳細な処理の流れを示すフローチャートである。
【0094】
図20に示すように、データ収集装置50の情報収集部61は、インスタンス情報の収集契機に到達すると(ステップS201肯定)、監視対象となる各サーバ上で実行されているアプリケーションのインスタンス情報を収集する(ステップS202)。
【0095】
続いて、情報特定部62は、業務アプリDB57を参照し、現地点で異常が発生している業務アプリケーションがあるか否かを判定する(ステップS203)。そして、情報特定部62は、異常が発生している業務アプリケーションがある場合には(ステップS203肯定)、異常が発生している業務アプリケーションの構成情報をデータ管理装置10から取得する(ステップS204)。なお、異常が発生している業務アプリケーションがない場合には(ステップS203否定)、データ収集装置50は、後述するステップS211の処理を実行する。
【0096】
続いて、情報特定部62は、データ管理装置10から取得した異常が発生している業務アプリケーションの構成情報から、当該業務アプリケーションを構成するアプリケーションを全て特定する(ステップS205)。そして、情報特定部62は、収集されたインスタンス情報のうち、構成情報から特定したアプリケーションのインスタンス情報を参照し、「status」が「inactive」になっているインスタンス情報を、異常の原因として特定する(ステップS206)。また、情報特定部62は、異常がある全ての業務アプリケーションについて、上述したステップS204〜ステップS206の処理を実施する(ステップS207)。
【0097】
その後、異常がある全ての業務アプリケーションについて異常の原因であるアプリケーションを特定した情報特定部62は、特定したアプリケーションを構成要素とする業務アプリケーションを特定する(ステップS207肯定、ステップS208)。つまり、情報特定部62は、データ管理装置10から取得した構成情報を参照して、異常の原因となっているアプリケーションを構成要素として含む業務アプリケーションを特定する。
【0098】
続いて、情報特定部62は、データ管理装置10から取得した構成情報を参照して、ステップS208で特定した業務アプリケーションを構成するアプリケーションを特定する(ステップS209)。そして、第一比較部63は、情報特定部62によって特定されたアプリケーションについては、詳細情報を含む全情報とインスタンス情報DB56に記憶される前回の契機で収集された詳細情報を含む全情報とを比較する(ステップS210)。
【0099】
その後、図21に示すように、前処理部64は、収集されたインスタンス情報のうち、情報特定部62によって特定されなかったアプリケーションのインスタンス情報を取得する(ステップS211)。言い換えると、前処理部64は、異常に関連するアプリケーション以外のアプリケーションのインスタンス情報を取得する。
【0100】
そして、前処理部64は、収集されたインスタンス情報のうち、比較的更新頻度が多いインスタンスが比較的更新頻度が少ないインスタンスよりも先に比較されるように並び替える(ステップS212)。このとき、頻度優先部65は、更新頻度DB58に記憶される更新頻度が多い順に並び替えてもよい。
【0101】
続いて、前処理部64は、並び替えられたインスタンス情報のうち、「Discovered Element」のインスタンス情報を一つ取得し(ステップS213)、「status」が「inactive」か否かを判定する(ステップS214)。
【0102】
そして、前処理部64は、「status」が「inactive」であると判定した場合には(ステップS214肯定)、その「Discovered Element」の子となるインスタンス情報を削除する(ステップS215)。続いて、前処理部64は、「status」が「inactive」である「Discovered Element」のインスタンス情報を所定の条件にしたがって文字列化した後(ステップS216)、ステップS213の処理を実行する。
【0103】
一方、前処理部64は、「status」が「inactive」でないと判定した場合には(ステップS214否定)、その「Discovered Element」のインスタンス情報を所定の条件にしたがって文字列化する(ステップS217)。そして、文字列変換部66は、異常に関連するアプリケーション以外のアプリケーションのインスタンス情報における「Discovered Element」について、上述したステップS213〜ステップS217の処理を繰り返す(ステップS218)。
【0104】
全ての「Discovered Element」について文字列化が前処理部64によって実施されると(ステップS218肯定)、文字列変換部66は、並び替えられたインスタンス情報のうち「Composing Process」のインスタンス情報を一つ取得する(ステップS219)。続いて、文字列変換部66は、取得した「Composing Process」のインスタンス情報を所定の条件にしたがって文字列する(ステップS220)。そして、文字列変換部66は、異常に関連するアプリケーション以外のアプリケーションのインスタンス情報における「Composing Process」について、上述したステップS219〜ステップS220の処理を繰り返す(ステップS221)。
【0105】
その後、異常に関連するアプリケーション以外のアプリケーションのインスタンス情報における「Discovered Element」および「Composing Process」の文字列化が終了すると(ステップS221肯定)、第二比較部67は、比較処理を実施する(ステップS222)。すなわち、第二比較部67は、文字列変換部66によって文字列に変換された情報と、インスタンス情報DB56に記憶される前回の契機で収集されたインスタンス情報を所定の条件に基づいて文字列に変換した情報とを比較する。
【0106】
そして、図22に示すように、第二比較部67は、比較した結果、差異が生じていると判定した場合には(ステップS223肯定)、当該インスタンス情報の更新頻度が更新頻度DB58に格納されているか否かを判定する(ステップS224)。なお、第二比較部67は、差異が生じていないと判定した場合には(ステップS223否定)、後述するステップS227の処理を実行する。
【0107】
第二比較部67は、差異が生じているインスタンス情報の更新頻度が格納されている場合には(ステップS224肯定)、更新頻度をインクリメントする(ステップS225)。一方、第二比較部67は、差異が生じているインスタンス情報の更新頻度が格納されていない場合には(ステップS224否定)、当該インスタンス情報の更新頻度を示す新たなレコードを作成する(ステップS226)。
【0108】
そして、データ収集装置50は、情報収集部61によって収集されたインスタンス情報のうち、異常の影響を受けないと判定されたアプリケーションのインスタンス情報について、ステップS211〜ステップS226の処理を実行する(ステップS227)。つまり、データ収集装置50は、未処理のインスタンス情報が残っている場合には(ステップS227否定)、ステップS211に戻って以降の処理を実行する。
【0109】
その後、情報収集部61によって収集された全てのインスタンス情報について、上述した比較が行われると(ステップS227肯定)、情報送信部68は、差異があると判定されたインスタンス情報をデータ管理装置10に送信する(ステップS228)。
【0110】
また、上述した処理の例では、ステップ211〜ステップS227までの処理には、「status」が「Down」となっている業務アプリケーションを構成するアプリケーションのインスタンス情報が含まれていない。したがって、更新頻度DB58には、「status」が「inactive」となっているインスタンス情報を格納しておく必要がない。このため、頻度優先部65は、「status」が「Down」となっている業務アプリケーションを構成するアプリケーションの情報を更新頻度DB58から削除する(ステップS229)。
【0111】
[実施例2による効果]
このように、実施例2によれば、データ収集装置50は、詳細情報を含めた比較処理と詳細情報を含めない比較処理の2つの比較処理を各々実行して、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を検出する。したがって、データ収集装置50は、収集したアプリケーション全部について、詳細情報までを比較する場合に比べて、比較処理を高速化することができる。その結果、データ収集処理におけるアプリケーション情報の比較処理を高速に実行し、処理遅延の発生を防止することが可能である。
【0112】
また、実施例2によれば、監視対象のサーバ台数が増えても処理が遅延しないので、インスタンス情報のリアルタイム性が維持できる。また、データ管理装置10は、詳細な情報が必要なアプリケーションのインスタンス情報だけを取得することができる。また、アプリケーションに異常が発生したときに、その根本原因をアプリケーションの詳細情報を調べることにより特定することができる。また、アプリケーションに異常が発生したときに、その影響をうけ利用できなくなっている業務アプリケーションの一覧を作成することができる。
【実施例3】
【0113】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【0114】
(処理手順)
例えば、上述した実施例2で説明した各処理順序は任意設定することができ、各処理は独立して実行することもできる。具体的には、情報収集部61によって収集されたインスタンス情報に対して実施する処理順序は、実施例2で説明した順序に限定されるものではなく、任意の順番で実施することができる。また、情報収集部61によって収集されたインスタンス情報に対して実施する処理は、実施例2で説明したように複数の処理を組み合わせ必要はない。例えば、文字列変換と比較処理を実施するなど、実施する処理の数も任意に設定することができる。
【0115】
例えば、異常の影響を受けるアプリケーションについて詳細情報まで比較する処理、文字列化して比較する処理、更新頻度が多い順に並び替えて比較する処理、インスタンス情報のうち指定された情報のみを比較する処理各々を単独で実行してもよい。また、上述した処理各々を任意に組み合わせて実行することもできる。
【0116】
(システム)
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、例えば図3〜図6、図9〜図17等に示した各種のデータやパラメータを含む情については、特記する場合を除いて任意に変更することができる。
【0117】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、例えば情報特定部62と第一比較部63とを統合するなど各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【0118】
(プログラム)
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【0119】
図23は、データ収集プログラムを実行するコンピュータシステム100を示す図である。図23に示すように、コンピュータシステム100は、RAM101と、HDD102と、ROM103と、CPU104とを有する。ここで、ROM103には、上の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図23に示すように、情報収集プログラム103a、情報特定プログラム103b、第一比較プログラム103c、前処理プログラム103d、頻度優先プログラム103eがあらかじめ記憶されている。さらに、ROM103には、文字列変換プログラム103f、第二比較プログラム103g、情報送信プログラム103hがあらかじめ記憶されている。
【0120】
そして、CPU104には、これらのプログラム103a〜103hを読み出して実行することで、図23に示すように、各プロセスとなる。つまり、情報収集プロセス104a、情報特定プロセス104b、第一比較プロセス104c、前処理プロセス104d、頻度優先プロセス104e、文字列変換プロセス104f、第二比較プロセス104g、情報送信プロセス104hとなる。なお、情報収集プロセス104aは、図8に示した情報収集部61に対応し、同様に、情報特定プロセス104bは、情報特定部62に対応し、第一比較プロセス104cは、第一比較部63に対応し、前処理プロセス104dは、前処理部64に対応する。また、頻度優先プロセス104eは、頻度優先部65に対応し、文字列変換プロセス104fは、文字列変換部66に対応し、第二比較プロセス104gは、第二比較部67に対応し、情報送信プロセス104hは、情報送信部68に対応する。
【0121】
また、HDD102には、インスタンス情報テーブル102aと、業務アプリテーブル102bと、更新頻度テーブル102cとが設けられる。インスタンス情報テーブル102aは、図8に示したインスタンス情報DB56に対応し、業務アプリテーブル102bは、業務アプリDB57に対応し、更新頻度テーブル102cは、更新頻度DB58に対応する。
【0122】
ところで、上記したプログラム103a〜103hは、必ずしもROM93に記憶させておく必要はない。例えば、コンピュータシステム100に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させておくにしてもよい。また、コンピュータシステム100の内外に備えられるハードディスクドライブ(HDD)などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、LAN、WANなどを介してコンピュータシステム100に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータシステム100がこれらからプログラムを読み出して実行するようにしてもよい。
【0123】
すなわち、この他の実施例でいうプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものである。そして、コンピュータシステム100は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム100によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【0124】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【0125】
(付記1)アプリケーションを実行してサービスを提供するサーバ装置から収集した、前記アプリケーションの詳細を示す詳細情報を含むアプリケーション情報を記憶する情報記憶部と、
前記サーバ装置から前記アプリケーション情報を収集する情報収集部と、
前記情報収集部によって収集されたアプリケーション情報のうち、異常が発生したアプリケーションのアプリケーション情報と、当該異常によって影響を受けるアプリケーションのアプリケーション情報とを特定する情報特定部と、
前記情報特定部によって特定されたアプリケーション情報については、前記詳細情報を含む全情報と前記情報記憶部に記憶される前回の契機で収集された詳細情報を含むアプリケーション情報の全情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する第一比較部と、
前記情報特定部によって特定されたアプリケーション情報以外のアプリケーション情報については、前記詳細情報を除く情報と前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報のうち前記詳細情報を除く情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるとアプリケーション情報を抽出する第二比較部と、
前記第一比較部または第二比較部によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信部と、
を有することを特徴とするデータ収集装置。
【0126】
(付記2)アプリケーションを実行してサービスを提供するサーバ装置からアプリケーションの詳細を示す詳細情報を含むアプリケーション情報を前記サーバ装置から収集する情報収集手順と、
前記情報収集手順によって収集されたアプリケーション情報のうち、異常が発生したアプリケーションのアプリケーション情報と、当該異常によって影響を受けるアプリケーションのアプリケーション情報とを特定する情報特定手順と、
前記情報特定手順によって特定されたアプリケーション情報については、前記詳細情報を含む全情報と過去に収集された前記アプリケーション情報を記憶する情報記憶部に記憶される前回の契機で収集された詳細情報を含むアプリケーション情報の全情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する第一比較手順と、
前記情報特定手順によって特定されたアプリケーション情報以外のアプリケーション情報については、前記詳細情報を除く情報と前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報のうち前記詳細情報を除く情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する第二比較手順と、
前記第一比較手順または第二比較手順によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信手順と、
をコンピュータに実行させることを特徴とするデータ収集プログラム。
【0127】
(付記3)アプリケーションを実行してサービスを提供するサーバ装置から過去に収集した、前記アプリケーションの情報を示すアプリケーション情報を記憶する情報記憶部と、
前記サーバ装置からアプリケーション情報を収集する情報収集部と、
前記情報収集部によって収集されたアプリケーション情報を所定の条件に基づいて文字列に変換する文字列変換部と、
前記文字列変換部によって文字列に変換された情報と、前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報を所定の条件に基づいて文字列に変換した情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する比較部と、
前記比較部によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信部と、
を有することを特徴とするデータ収集装置。
【0128】
(付記4)アプリケーションを実行してサービスを提供するサーバ装置からアプリケーションの詳細を示す詳細情報を含むアプリケーション情報を前記サーバ装置から収集する情報収集手順と、
前記情報収集手順によって収集されたアプリケーション情報を所定の条件に基づいて文字列に変換する文字列変換手順と、
前記文字列変換手順によって文字列に変換された情報と、過去に収集された前記アプリケーション情報を記憶する情報記憶部に記憶される前回の契機で収集されたアプリケーション情報を所定の条件に基づいて文字列に変換した情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する比較手順と、
前記比較手順によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信手順と、
をコンピュータに実行させることを特徴とするデータ収集プログラム。
【0129】
(付記5)アプリケーションを実行してサービスを提供するサーバ装置から過去に収集した、前記アプリケーションの情報を示すアプリケーション情報を記憶する情報記憶部と、
前記アプリケーション情報が過去に更新された回数を示す更新頻度を記憶する頻度記憶部と、
前記サーバ装置から前記アプリケーション情報を収集する情報収集部と、
前記情報収集部によって収集されたアプリケーション情報を、前記頻度記憶部に記憶される更新頻度が多い順に並び替える並び替え部と、
前記並び替え部によって並び替えられた更新頻度が多い順に、前記情報収集部により収集されたアプリケーション情報と前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する比較部と、
前記比較部によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信部と、
を有することを特徴とするデータ収集装置。
【0130】
(付記6)アプリケーションを実行してサービスを提供するサーバ装置からアプリケーションの詳細を示す詳細情報を含むアプリケーション情報を前記サーバ装置から収集する情報収集手順と、
前記情報収集手順によって収集されたアプリケーション情報を、前記アプリケーション情報が過去に更新された回数を示す更新頻度を記憶する頻度記憶部に記憶される更新頻度が多い順に並び替える並び替え手順と、
前記並び替え手順によって並び替えられた更新頻度が多い順に、前記情報収集手順により収集されたアプリケーション情報と、過去に収集された前記アプリケーション情報を記憶する情報記憶部に記憶される前回の契機で収集されたアプリケーション情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する比較手順と、
前記比較手順によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信手順と、
をコンピュータに実行させることを特徴とするデータ収集プログラム。
【0131】
(付記7)アプリケーションを実行してサービスを提供するサーバ装置から過去に収集した、前記アプリケーションの情報を示すアプリケーション情報を記憶する情報記憶部と、
前記サーバ装置から前記アプリケーション情報を収集する情報収集部と、
前記情報収集部により収集されたアプリケーション情報のうち予め指定された情報と前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報における前記予め指定された情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する比較部と、
前記比較部によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信部と、
を有することを特徴とするデータ収集装置。
【0132】
(付記8)アプリケーションを実行してサービスを提供するサーバ装置からアプリケーションの詳細を示す詳細情報を含むアプリケーション情報を前記サーバ装置から収集する情報収集手順と、
前記情報収集手順により収集されたアプリケーション情報のうち予め指定された情報と、過去に収集された前記アプリケーション情報を記憶する情報記憶部に記憶される前回の契機で収集されたアプリケーション情報における前記予め指定された情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する比較手順と、
前記比較手順によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信手順と、
をコンピュータに実行させることを特徴とするデータ収集プログラム。
【符号の説明】
【0133】
1 データ管理装置
1a CMDB
5 データ収集装置
5a 情報DB
5b 情報収集部
5c 情報特定部
5d 第一比較部
5e 第二比較部
10 データ管理装置
11 通信制御I/F部
12 入力部
13 表示部
15 記憶部
16 アプリケーション情報DB
17 構成情報DB
20 制御部
21 情報受信部
22 情報格納部
23 構成情報提供部
50 データ収集装置
51 通信制御I/F部
52 入力部
53 表示部
55 記憶部
56 インスタンス情報DB
57 業務アプリDB
58 更新頻度DB
60 制御部
61 情報収集部
62 情報特定部
63 第一比較部
64 前処理部
65 頻度優先部
66 文字列変換部
67 第二比較部
68 情報送信部

【特許請求の範囲】
【請求項1】
アプリケーションを実行してサービスを提供するサーバ装置から収集した、前記アプリケーションの詳細を示す詳細情報を含むアプリケーション情報を記憶する情報記憶部と、
前記サーバ装置から前記アプリケーション情報を収集する情報収集部と、
前記情報収集部によって収集されたアプリケーション情報のうち、異常が発生したアプリケーションのアプリケーション情報と、当該異常によって影響を受けるアプリケーションのアプリケーション情報とを特定する情報特定部と、
前記情報特定部によって特定されたアプリケーション情報については、前記詳細情報を含む全情報と前記情報記憶部に記憶される前回の契機で収集された詳細情報を含むアプリケーション情報の全情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する第一比較部と、
前記情報特定部によって特定されたアプリケーション情報以外のアプリケーション情報については、前記詳細情報を除く情報と前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報のうち前記詳細情報を除く情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する第二比較部と、
前記第一比較部または第二比較部によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信部と、
を有することを特徴とするデータ収集装置。
【請求項2】
アプリケーションを実行してサービスを提供するサーバ装置から過去に収集した、前記アプリケーションの情報を示すアプリケーション情報を記憶する情報記憶部と、
前記サーバ装置からアプリケーション情報を収集する情報収集部と、
前記情報収集部によって収集されたアプリケーション情報を所定の条件に基づいて文字列に変換する文字列変換部と、
前記文字列変換部によって文字列に変換された情報と、前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報を所定の条件に基づいて文字列に変換した情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する比較部と、
前記比較部によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信部と、
を有することを特徴とするデータ収集装置。
【請求項3】
アプリケーションを実行してサービスを提供するサーバ装置から過去に収集した、前記アプリケーションの情報を示すアプリケーション情報を記憶する情報記憶部と、
前記アプリケーション情報が過去に更新された回数を示す更新頻度を記憶する頻度記憶部と、
前記サーバ装置から前記アプリケーション情報を収集する情報収集部と、
前記情報収集部によって収集されたアプリケーション情報を、前記頻度記憶部に記憶される更新頻度が多い順に並び替える並び替え部と、
前記並び替え部によって並び替えられた更新頻度が多い順に、前記情報収集部により収集されたアプリケーション情報と前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する比較部と、
前記比較部によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信部と、
を有することを特徴とするデータ収集装置。
【請求項4】
アプリケーションを実行してサービスを提供するサーバ装置から過去に収集した、前記アプリケーションの情報を示すアプリケーション情報を記憶する情報記憶部と、
前記サーバ装置から前記アプリケーション情報を収集する情報収集部と、
前記情報収集部により収集されたアプリケーション情報のうち予め指定された情報と前記情報記憶部に記憶される前回の契機で収集されたアプリケーション情報における前記予め指定された情報とを比較し、前回の契機で収集されたアプリケーション情報と差異があるアプリケーション情報を抽出する比較部と、
前記比較部によって抽出されたアプリケーション情報を、前記アプリケーション情報を管理するデータ管理装置に送信する情報送信部と、
を有することを特徴とするデータ収集装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2011−76482(P2011−76482A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−228839(P2009−228839)
【出願日】平成21年9月30日(2009.9.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】