以下に添付図面を参照して、本発明にかかる情報蓄積プログラム、情報蓄積方法、情報蓄積装置、および情報蓄積システムの実施の形態を詳細に説明する。
(情報蓄積システムの一実施例)
図1は、本実施の形態にかかる情報蓄積システムの一実施例を示す説明図である。情報蓄積装置100は、業務処理システムを提供する提供者側に存在し、情報蓄積プログラムを実行するコンピュータである。
情報蓄積装置100は、管理テーブル101と、業務処理システムを実現する複数の情報処理装置110の情報処理装置110単位の動作情報履歴102とを記憶する。以下の説明では、情報処理装置110に接尾語「−i(iは自然数)」を付与して、情報処理装置110のそれぞれを区別する場合がある。例えば、図1の左側に存在する情報処理装置110を「情報処理装置110−1」と表記する場合がある。
ここで、管理テーブル101は、業務処理システムを使用する使用者の識別情報に、業務処理システムを実現する情報処理装置110単位の動作情報履歴102を記憶する記憶領域のアドレスを対応付けたテーブルである。動作情報履歴102は、情報処理装置110により採取された動作情報と、当該動作情報の採取時刻とを対応付けた情報である。
情報蓄積装置100は、情報処理装置110により採取された動作情報と、当該動作情報の採取時刻以前に採取された動作情報の採取時刻一覧111とを情報処理装置110から取得して、情報処理装置110の動作情報履歴102を更新する。動作情報は、情報処理装置110の動作内容を示す情報である。
情報処理装置110は、業務処理システムを使用する使用者側に存在し、情報処理プログラムを実行するコンピュータである。情報処理装置110は、それぞれ、情報処理装置110により採取された動作情報の採取時刻一覧111を記憶する。採取時刻一覧111は、動作情報の採取指示を受け付けた時刻、または動作情報の採取が終了した時刻などの一覧である。
情報処理装置110は、業務処理システムに障害が発生した場合などに採取指示を受け付けると、情報処理装置110の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録し、当該動作情報と採取時刻一覧111とを出力する。
図1では、業務処理システムを実現する複数の情報処理装置110に含まれる情報処理装置110において障害が発生した場合を例に挙げる。業務処理システムを使用する使用者は、情報処理装置110において障害が発生したため、情報処理装置110に採取指示を入力する。
情報処理装置110は、採取指示を受け付けると、情報処理装置110の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録し、当該動作情報と採取時刻一覧111とを出力する。ここで、情報処理装置110は、情報漏洩対策のため、情報処理装置110のIPアドレスなどを動作情報や採取時刻一覧111に付与しない。ここで、情報処理装置110は、動作情報とともに、障害調査のためのログファイルやダンプファイルなどを出力してもよい。
また、情報処理装置110は、例えば、情報漏洩対策のため、情報蓄積装置100と直接通信せず、動作情報と採取時刻一覧111とを他の装置に出力して、動作情報と採取時刻一覧111とを他の装置を介して情報蓄積装置100に取得させる。情報蓄積装置100は、情報処理装置110から出力された動作情報と採取時刻一覧111とを取得する。
次に、情報蓄積装置100は、情報処理装置110単位の動作情報履歴102の中から、取得した採取時刻一覧111に基づいて、情報処理装置110の動作情報履歴102を特定する。情報蓄積装置100は、IPアドレスなどの情報がなくても、動作情報履歴102に含まれる過去に取得した動作情報の採取時刻が、採取時刻一覧111に含まれる採取時刻と一致するか否かに基づいて、情報処理装置110の動作情報履歴102を特定する。そして、情報蓄積装置100は、採取時刻一覧111に基づいて、取得した動作情報に、当該動作情報の採取時刻を対応付けて、特定した動作情報履歴102に記録する。
これにより、情報蓄積装置100は、IPアドレスなどといった、業務処理システムを使用する使用者側から漏洩させない方がよい情報を取得しなくても、動作情報を採取した情報処理装置110の動作情報履歴102を特定して更新することができる。結果として、情報蓄積装置100は、情報処理装置110単位で動作情報履歴102を記憶することができる。
また、業務処理システムを使用する使用者は、情報処理装置110の識別情報が漏洩することを防止することができ、業務処理システムの安全性を向上させることができる。また、情報蓄積装置100は、特定した動作情報履歴102を出力して、情報蓄積装置100の使用者に通知することができる。このため、情報蓄積装置100の使用者は、取得した動作情報に加えて、情報処理装置110により過去に採取された動作情報を参照して、障害対策を行うことができ、障害対策の精度を向上することができる。
情報蓄積装置100の利用者は、例えば、いずれかの情報処理装置110において、過去に発生した障害を参照して、いずれかの情報処理装置110の障害対策を行うことができる。また、情報蓄積装置100の利用者は、例えば、いずれかの情報処理装置110だけで、頻繁に同様の障害が発生しているかどうかを把握して、障害対策を行うことができる。また、情報蓄積装置100の利用者は、例えば、複数の情報処理装置110で、共通して、同様の障害が発生しているかどうかを把握して、障害対策を行うことができる。
ここでは、情報蓄積装置100が、情報処理装置110単位の動作情報履歴102の中から、取得した採取時刻一覧111に基づいて、情報処理装置110の動作情報履歴102を特定する場合について説明したが、これに限らない。例えば、情報蓄積装置100は、情報処理装置110単位の動作情報履歴102の中から、取得した採取時刻に基づいて、情報処理装置110の動作情報履歴102を特定してもよい。具体的には、情報蓄積装置100は、情報処理装置110単位の動作情報履歴102に含まれる採取時刻に規則性がある場合に、取得した採取時刻が規則性に沿っている動作情報履歴102を特定する。
(情報蓄積システム200の構成例)
図2は、情報蓄積システム200の構成例を示す説明図である。図2において、情報蓄積システム200は、情報蓄積装置100と、業務処理システム210と、を有する。業務処理システム210は、情報処理装置110と、管理装置201と、作業装置202と、調査装置203と、を有する。
情報処理装置110と、管理装置201と、作業装置202と、調査装置203とは、ネットワークにより接続される。ネットワークは、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、携帯電話網などである。
管理装置201は、情報処理装置110を管理するコンピュータである。作業装置202は、情報処理装置110を使用して作業するコンピュータである。調査装置203は、情報処理装置110に関連するアプリケーションを調査するコンピュータである。
情報蓄積装置100は、例えば、サーバ、ノート型パソコン、デスクトップ型パソコンなどである。情報処理装置110は、例えば、サーバ、ノート型パソコン、デスクトップ型パソコンなどである。管理装置201は、例えば、ノート型パソコン、デスクトップ型パソコン、携帯電話機、スマートフォン、PHS(Personal Handyphone System)、タブレット型端末などである。作業装置202は、例えば、ノート型パソコン、デスクトップ型パソコン、携帯電話機、スマートフォン、PHS、タブレット型端末などである。調査装置203は、例えば、ノート型パソコン、デスクトップ型パソコン、携帯電話機、スマートフォン、PHS、タブレット型端末などである。
(情報蓄積装置100のハードウェア構成例)
次に、図3を用いて、情報蓄積装置100を実現するコンピュータ300のハードウェア構成例について説明する。
図3は、コンピュータ300のハードウェア構成例を示すブロック図である。図3において、コンピュータ300は、CPU(Central Processing Unit)301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、を有する。
また、コンピュータ300は、さらに、磁気ディスクドライブ(Hard Disk Drive)304と、磁気ディスク305と、光ディスクドライブ306と、光ディスク307と、を有する。また、コンピュータ300は、さらに、ディスプレイ308と、インターフェース(I/F:Interface)309と、キーボード310と、マウス311と、スキャナ312と、プリンタ313と、を有する。また、各構成部はバス320によってそれぞれ接続されている。
ここで、CPU301は、コンピュータ300の全体の制御を司る。ROM302は、例えば、本実施の形態にかかる情報蓄積プログラム、およびブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。RAM303は、例えば、図9に後述するユーザテーブル900、図10に後述する動作情報履歴テーブル1000、図11に後述する故障管理テーブル1100などを記憶する。磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータのリード/ライトを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記憶する。
光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータのリード/ライトを制御する。光ディスク307は、光ディスクドライブ306の制御で書き込まれたデータを記憶したり、光ディスク307に記憶されたデータをコンピュータ300に読み取らせたりする。
ディスプレイ308は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ308は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
I/F309は、通信回線を通じてLAN、WAN、インターネットなどのネットワーク314に接続され、このネットワーク314を介して他の装置に接続される。そして、I/F309は、ネットワーク314と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F309には、例えば、モデムやLANアダプタなどを採用することができる。
キーボード310は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス311は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
スキャナ312は、画像を光学的に読み取り、コンピュータ300内に画像データを取り込む。なお、スキャナ312は、OCR(Optical Character Reader)機能を持たせてもよい。また、プリンタ313は、画像データや文書データを印刷する。プリンタ313には、例えば、レーザプリンタやインクジェットプリンタを採用することができる。また、光ディスクドライブ306、光ディスク307、ディスプレイ308、キーボード310、マウス311、スキャナ312、およびプリンタ313の少なくともいずれか1つは、なくてもよい。
(情報処理装置110のハードウェア構成例)
次に、情報処理装置110を実現するコンピュータのハードウェア構成例について説明する。情報処理装置110を実現するコンピュータのハードウェア構成例は、ROM302およびRAM303の記憶内容を除き、図3に示したコンピュータ300のハードウェア構成例と同様のため、説明を省略する。情報処理装置110を実現する場合、ROM302は、例えば、業務処理を行うプログラム、動作情報を採取する採取プログラム、情報処理装置110の障害の発生を監視する監視プログラム、およびブートプログラムなどのプログラムを記憶している。また、RAM303は、CPU301のワークエリアとして使用される。RAM303は、例えば、図4に後述する関連性テーブル400、図5に後述する採取履歴テーブル500、図6に後述する調査情報600、図7に後述するログファイル700などを記憶する。
(管理装置201のハードウェア構成例)
次に、管理装置201を実現するコンピュータのハードウェア構成例について説明する。管理装置201を実現するコンピュータのハードウェア構成例は、ROM302およびRAM303の記憶内容を除き、図3に示したコンピュータ300のハードウェア構成例と同様のため、説明を省略する。管理装置201を実現する場合、ROM302は、例えば、情報処理装置110の障害の発生を監視する監視プログラム、およびブートプログラムなどのプログラムを記憶している。また、RAM303は、CPU301のワークエリアとして使用される。RAM303は、例えば、図8に後述するIPテーブル800などを記憶する。
(作業装置202のハードウェア構成例)
次に、作業装置202を実現するコンピュータのハードウェア構成例について説明する。作業装置202を実現するコンピュータのハードウェア構成例は、図3に示したコンピュータ300のハードウェア構成例と同様のため、説明を省略する。作業装置202を実現する場合、ROM302は、例えば、ブートプログラムなどのプログラムを記憶している。また、RAM303は、CPU301のワークエリアとして使用される。
(調査装置203のハードウェア構成例)
次に、調査装置203を実現するコンピュータのハードウェア構成例について説明する。調査装置203を実現するコンピュータのハードウェア構成例は、図3に示したコンピュータ300のハードウェア構成例と同様のため、説明を省略する。調査装置203を実現する場合、ROM302は、例えば、ブートプログラムなどのプログラムを記憶している。また、RAM303は、CPU301のワークエリアとして使用される。
(関連性テーブル400の記憶内容)
次に、図4を用いて、関連性テーブル400の記憶内容の一例について説明する。関連性テーブル400は、情報処理装置110によって記憶される。関連性テーブル400は、例えば、情報処理装置110が図3に示したハードウェア構成である場合、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
図4は、関連性テーブル400の記憶内容の一例を示す説明図である。図4に示すように、関連性テーブル400は、名称項目に対応付けて、関連性項目を有し、アプリケーションごとに各項目に情報が設定されることにより、レコードを記憶する。
名称項目には、業務処理の名称が記憶される。関連性項目には、名称項目の業務処理が、関連性テーブル400を記憶する情報処理装置110に関連する業務処理であるか否かが記憶される。例えば、レコード401は、業務処理の名称「アプリA」と、関連性「あり」と、を含む関連性情報を示す。情報処理装置110は、関連性テーブル400に基づいて、業務処理が自装置に関連するか否かを判定する。
(採取履歴テーブル500の記憶内容)
次に、図5を用いて、採取履歴テーブル500の記憶内容の一例について説明する。採取履歴テーブル500は、情報処理装置110によって記憶される。採取履歴テーブル500は、例えば、情報処理装置110が図3に示したハードウェア構成である場合、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
図5は、採取履歴テーブル500の記憶内容の一例を示す説明図である。図5に示すように、採取履歴テーブル500は、時刻項目に対応付けて、内容項目を有し、採取時刻ごとに各項目に情報が設定されることにより、レコードを記憶する。
時刻項目には、採取時刻が記憶される。内容項目には、情報処理装置110の動作を示す動作情報が記憶される。例えば、レコード501は、採取時刻「2011/06/28 05:14:18」と、動作情報「アプリA」と、を含む採取履歴情報を示す。情報処理装置110は、採取履歴テーブル500を用いて、採取時刻一覧111を記録する。
(調査情報600の内容)
次に、図6を用いて、調査情報600の内容の一例について説明する。調査情報600は、情報処理装置110によって記憶される。調査情報600は、例えば、情報処理装置110が図3に示したハードウェア構成である場合、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
図6は、調査情報600の内容の一例を示す説明図である。図6に示すように、調査情報600は、図5に示す採取履歴テーブル500、図7に後述するログファイル700、およびダンプファイルなどを含む。ログファイル700とは、エラー情報をサイクリックに記録したファイルである。ダンプファイルは、ある時点における、メモリ、レジスタ、ファイル、またはディスクなどの内容をすべて記録したファイルである。情報処理装置110は、調査情報600を用いて、障害対策のための情報を記録する。
(ログファイル700の内容)
次に、図7を用いて、ログファイル700の内容の一例について説明する。ログファイル700は、情報処理装置110によって記憶される。ログファイル700は、例えば、情報処理装置110が図3に示したハードウェア構成である場合、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
図7は、ログファイル700の内容の一例を示す説明図である。図7に示すように、ログファイル700は、ID項目に対応付けて、種類項目と、時刻項目と、ソース項目とを有し、エラーごとに各項目に情報が設定されることにより、レコードを記憶する。
ID項目には、エラーの識別子が記憶される。種類項目には、ID項目のエラーの種類が記憶される。時刻項目には、ID項目のエラーが発生した時刻が記憶される。ソース項目には、ID項目のエラーの内容が記憶される。
例えば、レコード701は、エラーの種類「エラー」と、エラーの発生した時刻「2013/08/05 12:22:57」と、エラーのソース「Service Control Manager」と、エラーの識別子「7011」とを含む動作情報を示す。情報処理装置110は、ログファイル700を用いて、所定回数分のエラーの内容を記録する。
(IPテーブル800の記憶内容)
次に、図8を用いて、IPテーブル800の記憶内容の一例について説明する。IPテーブル800は、例えば、管理装置201によって記憶される。IPテーブル800は、例えば、管理装置201が図3に示したハードウェア構成である場合、管理装置201が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
図8は、IPテーブル800の記憶内容の一例を示す説明図である。図8に示すように、IPテーブル800は、IPアドレス項目を有し、情報処理装置110ごとに各項目に情報が設定されることにより、レコードを記憶する。IPアドレス項目には、情報処理装置110のIPが記憶される。例えば、レコード801は、情報処理装置110のIPアドレス「192.168.10.1」を含むIP情報を示す。管理装置201は、IPテーブル800に基づいて、データの送信先になる情報処理装置110を特定する。
(ユーザテーブル900の記憶内容)
次に、図9を用いて、ユーザテーブル900の記憶内容の一例について説明する。ユーザテーブル900は、情報蓄積装置100によって記憶される。ユーザテーブル900は、例えば、情報蓄積装置100が図3に示したハードウェア構成である場合、情報蓄積装置100が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
図9は、ユーザテーブル900の記憶内容の一例を示す説明図である。図9に示すように、ユーザテーブル900は、ユーザ項目に対応付けて、履歴数項目と、アドレス項目と、を有し、ユーザごとに各項目に情報が設定されることにより、レコードを記憶する。
ユーザ項目には、業務処理システム210を使用する使用者の識別子が記憶される。履歴数項目には、ユーザ項目の使用者が使用する業務処理システム210に含まれる情報処理装置110単位の動作情報履歴102の数が記憶される。アドレス項目には、ユーザ項目の使用者が使用する業務処理システム210に含まれる情報処理装置110単位の動作情報履歴102の格納場所が記憶される。例えば、レコード901は、ユーザの識別子「032−1234」と、履歴の数「5」と、アドレス「XXXXX」と、を含むユーザ情報を示す。情報蓄積装置100は、ユーザテーブル900に基づいて、業務処理システム210における情報処理装置110単位の動作情報履歴102の格納場所を特定する。
(動作情報履歴テーブル1000の記憶内容)
次に、図10を用いて、動作情報履歴テーブル1000の記憶内容の一例について説明する。動作情報履歴テーブル1000は、情報蓄積装置100によって記憶される。動作情報履歴テーブル1000は、例えば、情報蓄積装置100が図3に示したハードウェア構成である場合、情報蓄積装置100が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
図10は、動作情報履歴テーブル1000の記憶内容の一例を示す説明図である。図10に示すように、動作情報履歴テーブル1000は、ID項目に対応付けて、時刻項目と、内容項目と、を有し、動作情報履歴102ごとに各項目に情報が設定されることにより、レコードを記憶する。
ID項目には、動作情報履歴102の識別子が記憶される。時刻項目には、ID項目の動作情報履歴102に含まれる動作情報を採取した採取時刻が記憶される。内容項目には、ID項目の動作情報履歴102に含まれる動作情報が記憶される。例えば、レコード1001は、「1」と、「2011/06/28 05:14」と、「アプリA」と、を含む動作情報を示す。情報蓄積装置100は、動作情報履歴テーブル1000を用いて、情報処理装置110単位の動作情報履歴102を記録する。
(故障管理テーブル1100の記憶内容)
次に、図11を用いて、故障管理テーブル1100の記憶内容の一例について説明する。故障管理テーブル1100は、情報蓄積装置100によって記憶される。故障管理テーブル1100は、例えば、情報蓄積装置100が図3に示したハードウェア構成である場合、情報蓄積装置100が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域によって実現される。
図11は、故障管理テーブル1100の記憶内容の一例を示す説明図である。図11に示すように、故障管理テーブル1100は、ID項目に対応付けて、時刻項目と、内容項目と、を有し、故障調査ごとに各項目に情報が設定されることにより、レコードを記憶する。
ID項目には、故障の識別子が記憶される。時刻項目には、ID項目の故障に関連する動作情報を採取した採取時刻が記憶される。内容項目には、ID項目の故障に関連する動作情報が記憶される。
例えば、レコード1101は、故障の識別子「1」と、採取時刻「2011/06/28 05:14:18」と、動作情報「アプリA」と、を含む動作情報を示す。情報蓄積装置100は、故障管理テーブル1100を用いて、発生した故障に関連する動作情報履歴102を記録する。
(情報処理装置110の機能的構成例)
次に、図12を用いて、情報処理装置110の機能的構成例について説明する。
図12は、情報処理装置110の機能的構成例を示すブロック図である。情報処理装置110は、制御部となる機能として、受付部1201と、記憶部1202と、判定部1203と、採取部1204と、出力部1205と、取得部1206と、記録部1207と、を含む。
情報処理装置110は、情報処理装置110の利用者から操作入力された動作情報の採取指示の種類に応じて、第1の採取パターン〜第4の採取パターンのいずれかを実行する。以下、第1の採取パターン〜第4の採取パターンのそれぞれのパターンにおける情報処理装置110の採取動作について説明する。
<第1の採取パターンにおける採取動作>
まず、第1の採取パターンにおける採取動作について説明する。第1の採取パターンは、情報処理装置110が、動作情報の採取指示として、業務処理に関連する動作情報の採取指示を受け付けた場合のパターンである。ここで、第1の採取パターンにおける採取動作は、受付部1201と、判定部1203と、採取部1204と、出力部1205とによって実現される。
受付部1201は、第1パラメータを含む採取指示を受け付ける。ここで、第1パラメータとは、動作情報の採取の原因を示す情報である。動作情報の採取の原因とは、例えば、障害が発生した業務処理、情報処理装置110のスローダウンの障害、情報処理装置110の資源不足の障害、情報処理装置110のエラーメッセージの出力、プロセスの動作の障害などである。
また、受付部1201は、第1パラメータの他に、動作情報採取の原因を示す情報を補足する、第2パラメータや第3パラメータを含む採取指示を受け付けてもよい。第2パラメータや第3パラメータは、例えば、業務処理の識別情報、資源不足の障害の識別情報、エラーメッセージの識別情報、プロセスの動作の障害の内容などである。
受付部は、例えば、監視対象の複数の情報処理装置110のいずれかが実行するプロセスを含む業務処理の識別情報を受け付ける。ここで、業務処理の識別情報とは、例えば、業務処理を行うアプリケーションの名称である。受付部1201は、具体的には、第1パラメータ「業務処理」と、業務処理のアプリケーションの名称である第2パラメータ「アプリA」を受け付ける。第1パラメータ、第2パラメータ、および第3パラメータは、情報処理装置110の利用者が、情報処理装置110が有するキーボード310、またはマウス311を用いて操作入力した情報である。
これにより、受付部1201は、第1の採取パターンにおける採取動作を行うトリガとなる、業務処理の識別情報を受け付けることができる。受付部1201は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
判定部1203は、業務処理の識別情報を受け付けたことに応じて、情報処理装置110が実行するプロセスを含む業務処理の識別情報を記憶する記憶部1202の記憶内容に、受け付けた業務処理の識別情報が含まれるか否かを判定する。ここで、情報処理装置110が実行するプロセスを含む業務処理の識別情報を記憶する記憶部1202の記憶内容とは、例えば、関連性テーブル400である。判定部1203は、名称「アプリA」を受け付けたことに応じて、関連性テーブル400の関連性項目に関連性「あり」が設定されたレコードの中に、名称「アプリA」を含むレコードが含まれるか否かを判定する。
これにより、判定部1203は、記憶部1202の記憶内容に業務処理の識別情報が含まれるか否かに基づいて、動作情報の採取を行う原因になった業務処理が、情報処理装置110に関連するか否かを判定する。判定部1203は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。
採取部1204は、情報処理装置110の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録する。採取時刻一覧111とは、例えば、採取履歴テーブル500の時刻項目によって記録される情報である。採取部1204は、例えば、業務処理の識別情報が含まれると判定したことに応じて、情報処理装置110の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録する。採取部1204は、具体的には、判定部1203がレコードが含まれると判定したことに応じて、情報処理装置110の動作情報を採取し、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。
これにより、採取部1204は、動作情報の採取を行う原因になった業務処理が、情報処理装置110に関連する場合には、情報処理装置110の動作情報を採取することができる。一方で、採取部1204は、動作情報の採取を行う原因になった業務処理が、情報処理装置110に関連しない場合には、情報処理装置110の動作情報を採取しない。
結果として、情報処理装置110は、動作情報の採取を行う原因になった業務処理に関連していない情報処理装置110の動作情報については、情報蓄積装置100に取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。採取部1204は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。
出力部1205は、採取した動作情報と採取時刻一覧111とを出力する。出力部1205は、例えば、採取履歴テーブル500を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、採取履歴テーブル500を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報蓄積装置100は、動作情報と採取時刻一覧111とを取得することができる。
また、出力部1205は、情報処理装置110に関連しない場合には、情報処理装置110に関連しないことを示す情報を出力してもよい。出力部1205は、例えば、情報処理装置110に関連しないことを示す情報を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、情報処理装置110に関連しないことを示す情報を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報処理装置110の利用者は、業務処理が情報処理装置110と関連しないことを把握することができる。
<第1のパターンにおける準備動作>
また、情報処理装置110は、第1の採取パターンにおける採取動作に使用する記憶部1202の記憶内容を作成する準備動作を行うこともできる。ここで、第1の採取パターンにおける準備動作は、取得部1206と、判定部1203と、記録部1207とによって実現される。
取得部1206は、複数の情報処理装置110のいずれかが実行するプロセスを含む業務処理の実行中における情報処理装置110に実行された複数のプロセスのそれぞれの実行情報を取得する。複数のプロセスとは、例えば、情報処理装置110における常駐プロセスである。実行情報とは、例えば、プロセスのCPU使用率、およびプロセスの実行時間などである。また、取得部1206は、当該業務処理の実行中以外における複数のプロセスのそれぞれの実行情報を取得する。
これにより、取得部1206は、比較対象になる、業務処理の実行中における複数のプロセスの実行情報と、業務処理の実行中以外における複数のプロセスの実行情報とを取得することができる。取得部1206は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。
判定部1203は、取得した複数のプロセスのそれぞれの実行情報に基づいて、当該業務処理が、情報処理装置110に実行されたプロセスを含む業務処理であるか否かを判定する。判定部1203は、例えば、業務処理の実行中以外より業務処理の実行中の方が、複数のプロセスのいずれかのプロセスのCPU使用率が上昇した場合、情報処理装置110に実行されたプロセスを含む業務処理であると判定する。
これにより、判定部1203は、情報処理装置110に実行されたプロセスを含む業務処理であるか否かに基づいて、情報処理装置110に関連する業務処理であるか否かを判定することができる。判定部1203は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。
記録部1207は、情報処理装置110に実行されたプロセスを含む業務処理であると判定したことに応じて、当該業務処理の識別情報を記憶部1202に記憶する。記録部1207は、例えば、情報処理装置110に実行されたプロセスを含む業務処理であると判定した業務処理を、業務処理の識別情報と対応付けたレコードを、関連性テーブル400に追加する。
これにより、記録部1207は、関連性テーブル400を作成することができる。記録部1207は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。
<第2の採取パターンにおける採取動作>
次に、第2の採取パターンにおける採取動作について説明する。第2の採取パターンは、情報処理装置110が、動作情報の採取指示として、スローダウンの障害に関連する動作情報の採取指示を受け付けた場合のパターンである。ここで、第2の採取パターンにおける採取動作は、受付部1201と、採取部1204と、出力部1205とによって実現される。
受付部1201は、複数の情報処理装置110のいずれかにおいて発生した、スローダウンの障害の識別情報を受け付ける。受付部1201は、例えば、障害の識別情報として、情報処理装置110の利用者が、情報処理装置110が有するキーボード310、またはマウス311を用いて操作入力した、障害の名称である第1パラメータ「スローダウン」を受け付ける。これにより、受付部1201は、第2の採取パターンにおける採取動作を行うトリガを受け付けることができる。
出力部1205は、スローダウンの障害の識別情報を受け付けたことに応じて、情報処理装置110の再起動時刻を出力する。出力部1205は、例えば、障害の名称「スローダウン」を受け付けたことに応じて、情報処理装置110の直前の再起動時刻をディスプレイ308へ表示するとともに、採取確認画面を表示する。これにより、出力部1205は、情報処理装置110の利用者に、再起動時刻を通知して、スローダウンのために再起動した情報処理装置110であるか否かを判断させることができる。情報処理装置110の利用者は、再起動時刻を確認して、情報処理装置110が動作情報の採取対象として正しいか否かを判断して、情報処理装置110が採取動作を許可するか否かを操作入力することができる。
受付部1201は、情報処理装置110の再起動時刻を出力したことに応じて、動作情報を採取するか否かを示す操作入力を受け付ける。受付部1201は、例えば、情報処理装置110の利用者が、情報処理装置110が有するキーボード310、またはマウス311を用いて、採取確認画面に対して操作入力した採取許可を受け付ける。また、受付部1201は、例えば、情報処理装置110の利用者が、情報処理装置110が有するキーボード310、またはマウス311を用いて、採取確認画面に対して操作入力した採取不許可を受け付ける。これにより、受付部1201は、採取動作の許可、または採取動作の不許可を受け付けることができる。
採取部1204は、動作情報を採取することを示す操作入力を受け付けたことに応じて、情報処理装置110の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録する。採取部1204は、例えば、採取許可を受け付けたことに応じて、情報処理装置110の動作情報を採取し、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。
これにより、採取部1204は、動作情報を採取することを示す操作入力を受け付けた場合には、情報処理装置110の動作情報を採取することができる。一方で、採取部1204は、動作情報を採取しないことを示す操作入力を受け付けた場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、動作情報の採取を行う原因になった障害「スローダウン」を発生していない情報処理装置110の動作情報については、情報蓄積装置100に取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
出力部1205は、採取した動作情報と採取時刻一覧111とを出力する。出力部1205は、例えば、採取履歴テーブル500を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、採取履歴テーブル500を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報蓄積装置100は、動作情報と採取時刻一覧111とを取得することができる。
<第2の採取パターンにおける別の採取動作>
また、情報蓄積装置100は、再起動時刻を出力せずに、第2の採取パターンにおける別の採取動作を行うこともできる。ここで、第2の採取パターンにおける別の採取動作は、受付部1201と、判定部1203と、採取部1204と、出力部1205とによって実現される。
受付部1201は、上述した第2の採取パターンにおける採取動作と同様の処理を行うため、説明を省略する。これにより、受付部1201は、第2の採取パターンにおける別の採取動作を行うトリガを受け付けることができる。
判定部1203は、スローダウンの障害の識別情報を受け付けたことに応じて、情報処理装置110の再起動時刻が、現在時刻から所定時間前までに含まれるか否かを判定する。判定部1203は、例えば、再起動時刻が、現在時刻から1時間前までに含まれるか否かを判定する。これにより、判定部1203は、現在時刻から所定時間前までに含まれるか否かに基づいて、情報処理装置110が、動作情報の採取を行う原因になった障害「スローダウン」を発生したために再起動された情報処理装置110であるか否かを判定することができる。
採取部1204は、現在時刻から所定時間前までに含まれることに応じて、情報処理装置110の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録する。採取部1204は、例えば、再起動された情報処理装置110であると判定したことに応じて、情報処理装置110の動作情報を採取し、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。これにより、採取部1204は、動作情報の採取を行う原因になった障害「スローダウン」したために再起動された情報処理装置110である場合には、情報処理装置110の動作情報を採取することができる。一方で、採取部1204は、再起動されていない情報処理装置110である場合には、情報処理装置110の動作情報を採取しない。
出力部1205は、採取した動作情報と採取時刻一覧111とを出力する。出力部1205は、例えば、採取履歴テーブル500を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、採取履歴テーブル500を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報蓄積装置100は、動作情報と採取時刻一覧111とを取得することができる。
また、出力部1205は、再起動されていない情報処理装置110である場合には、再起動されていない情報処理装置110であることを示す情報を出力してもよい。出力部1205は、例えば、再起動されていない情報処理装置110であることを示す情報を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、再起動されていない情報処理装置110であることを示す情報を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報処理装置110の利用者は、スローダウンせず、再起動されていない情報処理装置110を、誤って動作情報の採取対象にしてしまった可能性があることを把握することができる。
<第3の採取パターン>
次に、第3の採取パターンについて説明する。第3の採取パターンは、情報処理装置110が、動作情報の採取指示として、資源不足の障害またはエラーメッセージ出力の障害に関連する動作情報の採取指示を受け付けた場合のパターンである。ここで、第3の採取パターンにおける採取動作は、受付部1201と、判定部1203と、採取部1204と、出力部1205とによって実現される。
受付部1201は、複数の情報処理装置110のいずれかにおいて発生した障害の識別情報を受け付ける。受付部1201は、例えば、情報処理装置110の利用者が、第1パラメータである障害の名称「資源不足」と、「資源不足」の識別情報である第2パラメータ「Res1」とを受け付ける。また、受付部1201は、例えば、障害に応じてエラーメッセージが出力されたことを示す第1パラメータ「エラーメッセージ」と、出力されたエラーメッセージの識別情報「Mes1」を受け付けてもよい。これにより、受付部1201は、第3の採取パターンにおける採取動作を行うトリガを受け付けることができる。
判定部1203は、障害の識別情報を受け付けたことに応じて、情報処理装置110において発生した障害の識別情報を記憶する記憶部1202の記憶内容に、受け付けた障害の識別情報が含まれるか否かを判定する。ここで、情報処理装置110において発生した障害の識別情報を記憶する記憶部1202の記憶内容とは、例えば、情報処理装置110が実行する監視プログラムによって作成された監視ファイルである。管理装置201が実行する監視プログラムによって作成され、管理装置201から取得した監視ファイルであってもよい。これにより、判定部1203は、受け付けた障害の識別情報が含まれるか否かに基づいて、情報処理装置110が、動作情報の採取を行う原因になった障害が発生した情報処理装置110であるか否かを判定することができる。
採取部1204は、障害の識別情報が含まれると判定したことに応じて、情報処理装置110の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録する。採取部1204は、例えば、判定部1203が監視ファイルに障害の識別情報が含まれると判定したことに応じて、情報処理装置110の動作情報を採取し、採取した動作情報を当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。
これにより、採取部1204は、動作情報の採取を行う原因になった障害が、情報処理装置110において発生した障害である場合には、情報処理装置110の動作情報を採取することができる。一方で、採取部1204は、動作情報の採取を行う原因になった障害が、情報処理装置110において発生していない場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、動作情報の採取を行う原因になった障害を発生していない情報処理装置110の動作情報については、情報蓄積装置100に取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
出力部1205は、採取した動作情報と採取時刻一覧111とを出力する。出力部1205は、例えば、採取履歴テーブル500を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、採取履歴テーブル500を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報蓄積装置100は、動作情報と採取時刻一覧111とを取得することができる。
また、出力部1205は、動作情報の採取を行う原因になった障害を発生していない情報処理装置110であると判定した場合には、動作情報の採取を行う原因になった障害を発生していないことを示す情報を出力してもよい。出力部1205は、例えば、動作情報の採取を行う原因になった障害を発生していないことを示す情報を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、動作情報の採取を行う原因になった障害を発生していないことを示す情報を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報処理装置110の利用者は、動作情報の採取を行う原因になった障害を発生していない情報処理装置110を、誤って動作情報の採取対象にしてしまった可能性があることを把握することができる。
<第4の採取パターン>
次に、第4の採取パターンについて説明する。第4の採取パターンは、情報処理装置110が、動作情報の採取指示として、プロセスの障害に関連する動作情報の採取指示を受け付けた場合のパターンである。ここで、第4の採取パターンにおける採取動作は、受付部1201と、判定部1203と、採取部1204と、出力部1205とによって実現される。
受付部1201は、採取指示として、情報処理装置110が実行するプロセスの起動確認要求、または完了確認要求を受け付ける。受付部1201は、例えば、情報処理装置110が実行するプロセスの識別情報を受け付け、プロセスの障害の内容を示す情報を受け付ける。受付部1201は、具体的には、プロセスの障害を示す第1パラメータ「プロセス」、プロセスの障害の内容を示す第2パラメータ「終了指示を受け付けない」または「開始指示を受け付けない」、第3パラメータ「PID(Process ID)」を受け付ける。これにより、受付部1201は、第4の採取パターンにおける採取動作を行うトリガを受け付けることができる。
判定部1203は、情報処理装置110において実行中のプロセスの識別情報を記憶する記憶部1202の記憶内容に、受け付けたプロセスの識別情報が含まれるか否かを判定する。実行中のプロセスの識別情報を記憶する記憶部1202の記憶内容とは、プロセスリストである。プロセスリストとは、例えば、OS固有のコマンドによって取得可能な情報である。判定部1203は、例えば、プロセスリストに、受け付けたPIDが含まれるか否かを判定する。
これにより、判定部1203は、PIDが含まれるか否かに基づいて、開始指示を受け付けないプロセスとして指定された、動作情報採取の原因になったプロセスが、実際に開始しているか否かを判定することができる。また、判定部1203は、PIDが含まれるか否かに基づいて、終了指示を受け付けないプロセスとして指定された、動作情報採取の原因になったプロセスが、実際に終了しているか否かを判定することができる。
採取部1204は、プロセスの識別情報が含まれるか否かに応じて、情報処理装置110の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録する。採取部1204は、例えば、開始指示を受け付けないプロセスとして指定されたプロセスの識別情報が含まれていないことに応じて、情報処理装置110の動作情報を採取する。そして、採取部1204は、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。
これにより、採取部1204は、開始指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際に開始できていない場合には、情報処理装置110の動作情報を採取することができる。一方で、採取部1204は、開始指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際には開始できている場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、実際には開始できている場合には、情報蓄積装置100に動作情報を取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
また、採取部1204は、例えば、終了指示を受け付けないプロセスとして指定されたプロセスの識別情報が含まれていることに応じて、情報処理装置110の動作情報を採取する。そして、採取部1204は、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。
これにより、採取部1204は、終了指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際に終了できていない場合には、情報処理装置110の動作情報を採取することができる。一方で、採取部1204は、終了指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際には終了できている場合には、情報処理装置110の動作情報を採取しない。結果として、実際には終了できている場合には、情報蓄積装置100に動作情報を取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
出力部1205は、採取した動作情報と採取時刻一覧111とを出力する。出力部1205は、例えば、採取履歴テーブル500を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、採取履歴テーブル500を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報蓄積装置100は、動作情報と採取時刻一覧111とを取得することができる。
また、出力部1205は、開始指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際には開始できている場合には、実際には開始できていることを示す情報を出力してもよい。出力部1205は、例えば、実際には開始できていることを示す情報を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、実際には開始できていることを示す情報を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報処理装置110の利用者は、情報処理装置110を、誤って動作情報の採取対象にしてしまった可能性があることを把握することができる。
また、出力部1205は、終了指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際には終了できている場合には、実際には終了できていることを示す情報を出力してもよい。出力部1205は、例えば、実際には終了できていることを示す情報を、情報処理装置110が有するディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1205は、実際には終了できていることを示す情報を、情報処理装置110が有するRAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。これにより、情報処理装置110の利用者は、情報処理装置110を、誤って動作情報の採取対象にしてしまった可能性があることを把握することができる。
(管理装置201の機能的構成例)
次に、図13を用いて、管理装置201の機能的構成例について説明する。
図13は、管理装置201の機能的構成例を示すブロック図である。管理装置201は、制御部となる機能として、受付部1301と、出力部1302と、取得部1303と、送信部1304と、受信部1305と、を含む。
管理装置201は、情報処理装置110に採取指示が直接操作入力されない場合には、情報処理装置110に採取指示を出力する。管理装置201は、例えば、管理装置201の利用者から操作入力された動作情報の採取指示の種類に応じて、情報処理装置110に、第1の採取パターン〜第4の採取パターンのいずれかの採取指示を出力する。
<第1の採取パターンの採取指示の出力動作>
まず、第1の採取パターンの採取指示の出力動作について説明する。ここで、第1の採取パターンの採取指示の出力動作は、受付部1301と、出力部1302と、取得部1303と、送信部1304とによって実現される。
受付部1301は、第1パラメータを含む採取指示を受け付ける。また、受付部1301は、第1パラメータの他に、動作情報採取の原因を示す情報を補足する、第2パラメータや第3パラメータを含む採取指示を受け付けてもよい。
受付部1301は、例えば、監視対象の複数の情報処理装置110のいずれかが実行するプロセスを含む業務処理の識別情報を受け付ける。これにより、受付部1301は、第1の採取パターンにおける採取動作を行うトリガになる情報を受け付けることができる。受付部1301は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
出力部1302は、受付部1301によって受け付けられた業務処理の識別情報を、複数の情報処理装置110のそれぞれに出力する。これにより、出力部1302は、複数の情報処理装置110のそれぞれに、第1の採取パターンにおける採取動作を行わせることができる。出力部1302は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
取得部1303は、いずれかの情報処理装置110により採取された動作情報と採取時刻一覧111とを、いずれかの情報処理装置110から取得する。これにより、取得部1303は、情報蓄積装置100に蓄積させる動作情報を取得することができる。取得部1303は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
送信部1304は、いずれかの情報処理装置110により採取された動作情報と採取時刻とを対応付けた動作情報履歴102を記憶する情報蓄積装置100に、取得した動作情報と採取時刻一覧111とを送信する。これにより、情報蓄積装置100は、動作情報と採取時刻一覧111とを取得することができる。送信部1304は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
<第2の採取パターンの採取指示の出力動作>
次に、第2の採取パターンの採取指示の出力動作について説明する。ここで、第2の採取パターンの採取指示の出力動作は、受付部1301と、出力部1302と、取得部1303と、送信部1304と、受信部1305とによって実現される。
受付部1301は、複数の情報処理装置110のいずれかの情報処理装置110の識別情報と、いずれかの情報処理装置110において発生した、スローダウンの障害の識別情報とを受け付ける。受付部1301は、例えば、IPテーブル800に含まれるいずれかのIPアドレスと、IPアドレスが示す情報処理装置110において発生したスローダウンの障害の識別情報とを受け付ける。
これにより、受付部1301は、第2の採取パターンにおける採取動作を行うトリガになる情報を受け付けることができ、第2の採取パターンにおける採取動作を行わせる情報処理装置110の識別情報を受け付けることができる。
出力部1302は、いずれかの情報処理装置110に応答要求を出力する。ここで、応答要求とは、例えば、pingのコマンドにより出力される要求である。これにより、出力部1302は、いずれかの情報処理装置110が、実際にスローダウンしているか否かを確認することができる。
受信部1305は、所定時間、応答を受信するまで待機する。受信部1305は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
出力部1302は、複数の情報処理装置110のいずれかに送信した応答要求に対する応答を受信しなかったことに応じて、いずれかの情報処理装置110の再起動要求を出力する。出力部1302は、例えば、受信部1305によって所定時間待機しても応答を受信できなかった場合、いずれかの情報処理装置110がスローダウンしていると判定して、いずれかの情報処理装置110に再起動要求を出力する。これにより、出力部1302は、いずれかの情報処理装置110を再起動させることができる。
また、出力部1302は、受付部1301によって受け付けられたスローダウンの障害の識別情報を、いずれかの情報処理装置110に出力する。これにより、出力部1302は、いずれかの情報処理装置110に、第2の採取パターンにおける採取動作を行わせることができる。
取得部1303は、いずれかの情報処理装置110の再起動通知を受け付けたことに応じて、いずれかの情報処理装置110により採取された動作情報と採取時刻一覧111とを、いずれかの情報処理装置110から取得する。これにより、取得部1303は、情報蓄積装置100に蓄積させる動作情報を取得することができる。
送信部1304は、情報蓄積装置100に、取得した動作情報と採取時刻一覧111とを送信する。これにより、情報蓄積装置100は、動作情報と採取時刻一覧111とを取得することができる。
<第3の採取パターンの採取指示の出力動作>
次に、第3の採取パターンの採取指示の出力動作について説明する。ここで、第3の採取パターンの採取指示の出力動作は、受付部1301と、出力部1302と、取得部1303と、送信部1304とによって実現される。
受付部1301は、複数の情報処理装置110のいずれかの情報処理装置110の識別情報と、いずれかの情報処理装置110において発生した障害の識別情報とを受け付ける。受付部1301は、例えば、IPテーブル800に含まれるいずれかのIPアドレスと、IPアドレスが示す情報処理装置110において発生した障害の識別情報とを受け付ける。これにより、受付部1301は、第3の採取パターンにおける採取動作を行うトリガを受け付けることができる。
出力部1302は、受付部1301によって受け付けられた障害の識別情報を、いずれかの情報処理装置110に出力する。これにより、出力部1302は、いずれかの情報処理装置110に、第3の採取パターンにおける採取動作を行わせることができる。
取得部1303は、上述した第1の採取パターンの採取指示の出力動作と同様の処理を行うため、説明を省略する。これにより、取得部1303は、情報蓄積装置100に蓄積させる動作情報を取得することができる。
送信部1304は、上述した第1の採取パターンの採取指示の出力動作と同様の処理を行うため、説明を省略する。これにより、情報蓄積装置100は、動作情報と採取時刻一覧111とを取得することができる。
<第4の採取パターンの採取指示の出力動作>
次に、第4の採取パターンの採取指示の出力動作について説明する。ここで、第4の採取パターンの採取指示の出力動作は、受付部1301と、出力部1302と、取得部1303と、送信部1304とによって実現される。
受付部1301は、複数の情報処理装置110のいずれかの情報処理装置110の識別情報と、いずれかの情報処理装置110が実行するプロセスの識別情報を受け付ける。受付部1301は、例えば、いずれかの情報処理装置110のIPアドレスと、PIDを受け付ける。
また、受付部1301は、例えば、PIDが示すプロセスを、開始指示を受け付けないプロセス、または終了指示を受け付けないプロセスとして指定する情報を受け付ける。これにより、受付部1301は、第4の採取パターンにおける採取動作を行うトリガを受け付けることができる。
出力部1302は、受付部1301によって受け付けられた障害の識別情報を、いずれかの情報処理装置110に出力する。これにより、出力部1302は、いずれかの情報処理装置110に、第3の採取パターンにおける採取動作を行わせることができる。
取得部1303は、上述した第1の採取パターンの採取指示の出力動作と同様の処理を行うため、説明を省略する。これにより、取得部1303は、情報蓄積装置100に蓄積させる動作情報を取得することができる。
送信部1304は、上述した第1の採取パターンの採取指示の出力動作と同様の処理を行うため、説明を省略する。これにより、情報蓄積装置100は、動作情報と採取時刻一覧111とを取得することができる。
(情報蓄積装置100の機能的構成例)
次に、図14を用いて、情報蓄積装置100の機能的構成例について説明する。
図14は、情報蓄積装置100の機能的構成例を示すブロック図である。情報蓄積装置100は、制御部となる機能として、記憶部1401と、取得部1402と、特定部1403と、記録部1404と、出力部1405と、を含む。
記憶部1401は、複数の情報処理装置110のそれぞれにより採取された動作情報と採取時刻とを対応付けた情報処理装置110単位の動作情報履歴102を記憶する。ここで、動作情報とは、情報処理装置110の動作内容を示す情報である。動作情報とは、例えば、情報処理装置110の障害の内容を示す情報である。動作情報とは、例えば、ログファイル700、またはダンプファイルであってもよい。採取時刻とは、動作情報の採取指示を受け付けた時刻、または動作情報の採取が終了した時刻などである。採取時刻とは、例えば、ミリ秒単位の時刻である。記憶部1401は、例えば、動作情報履歴102を記憶する。
これにより、記憶部1401は、情報処理装置110の故障の対策を行うための情報処理装置110の動作情報履歴102を記憶することができる。記憶部1401は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置により、その機能を実現する。
取得部1402は、複数の情報処理装置110のいずれかの情報処理装置110により採取された動作情報と、当該動作情報の採取時刻以前にいずれかの情報処理装置110により採取された動作情報の採取時刻一覧111とを取得する。取得部1402は、例えば、複数の情報処理装置110のそれぞれと通信可能である管理装置201から、いずれかの情報処理装置110により採取された動作情報と採取時刻一覧111とを取得する。取得部1402は、具体的には、いずれかの情報処理装置110のIPアドレスなどを含まず、動作情報と採取時刻一覧111とを含む調査情報600を、管理装置201から受信する。
これにより、取得部1402は、故障が発生した情報処理装置110の動作情報と、採取時刻一覧111とを取得することができる。取得されたデータは、例えば、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。取得部1402は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
特定部1403は、記憶部1401から、取得した採取時刻一覧111に基づいて、いずれかの情報処理装置110に対応する動作情報履歴102を特定する。特定部1403は、例えば、動作情報履歴102のいずれかの動作情報履歴102を取得し、取得した動作情報履歴102に含まれる採取時刻のそれぞれが、採取時刻一覧111に含まれる採取時刻と一致するか否かを判定する。そして、特定部1403は、一致すると判定した場合に、取得した動作情報履歴102を、いずれかの情報処理装置110に対応する動作情報履歴102として特定する。一方で、特定部1403は、一致しないと判定した場合、取得した動作情報履歴102を、いずれかの情報処理装置110に対応する動作情報履歴102ではないと判定する。
これにより、特定部1403は、故障が発生した情報処理装置110に対応する動作情報履歴102を特定することができる。特定されたデータは、例えば、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶される。特定部1403は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、その機能を実現する。
記録部1404は、取得した動作情報を、当該動作情報の採取時刻に対応付けて、特定した動作情報履歴102に記録する。記録部1404は、例えば、取得した動作情報を、当該動作情報の採取時刻に対応付けたレコードを、特定した動作情報履歴102に追加する。
また、記録部1404は、いずれかの情報処理装置110に対応する動作情報履歴102が存在しないことに応じて、取得した動作情報と当該動作情報の採取時刻とを対応付けた動作情報履歴102を、動作情報履歴テーブル1000に記憶する。記録部1404は、例えば、いずれかの情報処理装置110に対応する動作情報履歴102ではないと判定した場合、取得した動作情報と当該動作情報の採取時刻とを対応付けた動作情報履歴102を、動作情報履歴テーブル1000に記憶する。
これにより、記録部1404は、記憶部1401の記憶内容を更新することができる。記録部1404は、例えば、図3に示したROM302、RAM303、磁気ディスク305、光ディスク307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F309により、その機能を実現する。
出力部1405は、特定した動作情報履歴102を出力する。出力部1405は、例えば、特定した動作情報履歴102を、ディスプレイ308へ表示、プリンタ313へ印刷出力、またはI/F309により外部装置へ送信する。また、出力部1405は、特定した動作情報履歴102を、RAM303、磁気ディスク305、光ディスク307などの記憶領域に記憶してもよい。
これにより、出力部1405は、障害対策を行う対象になる情報処理装置110に対応する動作情報履歴102を、情報蓄積装置100の利用者に通知することができる。情報処理装置110の利用者は、動作情報履歴102に基づいて、障害対策を行う対象になる情報処理装置110の過去の動作情報を参照して、障害対策を行うことができ、障害対策の精度向上を図ることができる。
(第1の採取パターン)
次に、図15〜19を用いて、第1の採取パターンについて説明する。
図15〜図18は、第1の採取パターンにおける準備動作を示す説明図である。図15において、調査装置203は、第1の採取パターンにおける準備動作を複数の情報処理装置110に要求するための調査プログラムを有する。また、情報処理装置110は、第1の採取パターンにおける準備動作を実行するための準備プログラムを有する。
(1)調査装置203は、アプリケーションAの実行要求を作業装置202に送信する。また、調査装置203は、準備プログラムによるアプリケーションAの実行中の常駐プロセスの実行情報の取得の開始通知を、作業装置202を介して複数の情報処理装置110のそれぞれに送信する。これにより、情報処理装置110は、準備プログラムによる、アプリケーションAの実行中の常駐プロセスの実行情報の記録を開始する。
(2)作業装置202は、アプリケーションAの実行要求を受信すると、アプリケーションAの実行要求を情報処理装置110−3に送信する。(3)情報処理装置110−3は、アプリケーションAの実行要求を受信すると、アプリケーションAに含まれるいずれかのプロセスを実行するとともに、アプリケーションAに含まれる他のプロセスの実行要求を情報処理装置110−2に送信する。情報処理装置110−2は、他のプロセスの実行要求を受信すると、他のプロセスを実行する。
(4)情報処理装置110−2は、他のプロセスの実行結果を、情報処理装置110−3に送信する。(5)情報処理装置110−3は、他のプロセスの実行結果を受信すると、アプリケーションAの実行結果を作成して、作業装置202に送信する。
(6)作業装置202は、アプリケーションAの実行結果を受信すると、アプリケーションAの終了通知を調査装置203に送信する。調査装置203は、アプリケーションAの終了通知を受信すると、準備プログラムによるアプリケーションAの実行中の常駐プロセスの実行情報の取得の終了通知を、作業装置202を介して複数の情報処理装置110のそれぞれに送信する。また、調査装置203は、アプリケーションAの実行時間Tを算出する。
これにより、情報処理装置110は、常駐プロセスの実行情報の記録を終了する。結果として、情報処理装置110は、アプリケーションAによる業務処理の実行中における、常駐プロセスのCPU使用率、および累計実行時間を取得することができる。
図16において、(7)調査装置203は、待機要求を作業装置202に送信する。また、調査装置203は、準備プログラムによる待機中の常駐プロセスの実行情報の取得の開始通知を、作業装置202を介して複数の情報処理装置110のそれぞれに送信する。これにより、情報処理装置110は、準備プログラムによる、待機中の常駐プロセスの実行情報の記録を開始する。(8)作業装置202は、待機要求を受信すると、待機要求を複数の情報処理装置110のそれぞれに送信する。
(9)調査装置203は、アプリケーションAの実行時間T分待機すると、待機の解除要求を作業装置202に送信する。また、調査装置203は、準備プログラムによる待機中の常駐プロセスの実行情報の取得の終了通知を、作業装置202を介して複数の情報処理装置110のそれぞれに送信する。
これにより、情報処理装置110は、常駐プロセスの実行情報の記録を終了する。結果として、情報処理装置110は、待機中における、常駐プロセスのCPU使用率、および累計実行時間を取得することができる。(10)作業装置202は、待機の解除要求を受信すると、待機の解除要求を複数の情報処理装置110のそれぞれに送信する。
図17において、情報処理装置110は、図15および図16において取得した、業務処理の実行中における常駐プロセスのCPU使用率、および待機中における常駐プロセスのCPU使用率に基づいて、業務処理が自装置に関連するか否かを判定する。
図17の例では、(11)情報処理装置110−1は、業務処理の実行中における常駐プロセスのCPU使用率の平均値「11%」が、待機中における常駐プロセスのCPU使用率の平均値「11%」より、閾値以上大きいか否かを判定する。閾値は、例えば、2%である。ここで、閾値以上大きくないため、情報処理装置110−1は、アプリケーションAによる業務処理が、情報処理装置110−1に関連しないと判定する。そして、情報処理装置110−1は、業務処理の識別情報「アプリA」を、関連性「なし」と対応付けたレコードを、関連性テーブル400に追加する。
(12)情報処理装置110−2は、業務処理の実行中における常駐プロセスのCPU使用率の平均値「32%」が、待機中における常駐プロセスのCPU使用率の平均値「8%」より、閾値以上大きいか否かを判定する。ここで、閾値以上大きいため、情報処理装置110−2は、アプリケーションAによる業務処理が、情報処理装置110−2に関連すると判定する。そして、情報処理装置110−2は、業務処理の識別情報「アプリA」を、関連性「あり」と対応付けたレコードを、関連性テーブル400に追加する。
(13)情報処理装置110−3は、業務処理の実行中における常駐プロセスのCPU使用率の平均値「10%」が、待機中における常駐プロセスのCPU使用率の平均値「7%」より、閾値以上大きいか否かを判定する。ここで、閾値以上大きいため、情報処理装置110−3は、アプリケーションAによる業務処理が、情報処理装置110−3に関連すると判定する。そして、情報処理装置110−3は、業務処理の識別情報「アプリA」を、関連性「あり」と対応付けたレコードを、関連性テーブル400に追加する。これにより、情報処理装置110は、業務処理が自装置に関連するか否かを記憶しておき、動作情報の採取の原因である業務処理が自装置に関連する場合のみ、自装置の動作情報を採取することができる。
ここでは、情報処理装置110が、CPU使用率の平均値に基づいて、業務処理が自装置に関連するか否かを判定する場合について説明したが、これに限らない。例えば、情報処理装置110は、CPU使用率の最大値、または最小値に基づいて、業務処理が自装置に関連するか否かを判定してもよい。
また、情報処理装置110は、図18に後述するように、業務処理の実行中における常駐プロセスの累積実行時間、および待機中における常駐プロセスの累積実行時間に基づいて、業務処理が自装置に関連するか否かを判定してもよい。
図18の例では、(14)情報処理装置110−1は、業務処理の実行中における常駐プロセスの累積実行時間の増加分「321−211=110」を算出し、待機中における常駐プロセスの累積実行時間の増加分「511−321=190」を算出する。そして、情報処理装置110−1は、業務処理の実行中における常駐プロセスの累積実行時間の増加分「110」が、待機中における常駐プロセスの累積実行時間の増加分「190」より、閾値以上大きいか否かを判定する。閾値は、例えば、「50」である。ここで、閾値以上大きくないため、情報処理装置110−1は、アプリケーションAによる業務処理が、情報処理装置110−1に関連しないと判定する。そして、情報処理装置110−1は、業務処理の識別情報「アプリA」を関連性「なし」と対応付けたレコードを、関連性テーブル400に追加する。
(15)情報処理装置110−2は、業務処理の実行中における常駐プロセスの累積実行時間の増加分「612−555=57」が、待機中における常駐プロセスの累積実行時間の増加分「612−612=0」より、閾値以上大きいか否かを判定する。ここで、閾値以上大きいため、情報処理装置110−2は、アプリケーションAによる業務処理が、情報処理装置110−2に関連すると判定する。そして、情報処理装置110−2は、業務処理の識別情報「アプリA」を、関連性「あり」と対応付けたレコードを、関連性テーブル400に追加する。
(16)情報処理装置110−3は、業務処理の実行中における常駐プロセスの累積実行時間の増加分「586−333=253」が、待機中における常駐プロセスの累積実行時間の増加分「586−586=0」より、閾値以上大きいか否かを判定する。ここで、閾値以上大きいため、情報処理装置110−3は、アプリケーションAによる業務処理が、情報処理装置110−3に関連すると判定する。そして、情報処理装置110−3は、業務処理の識別情報「アプリA」を、関連性「あり」と対応付けたレコードを、関連性テーブル400に追加する。これにより、情報処理装置110は、業務処理が自装置に関連するか否かを記憶しておき、動作情報の採取の原因である業務処理が自装置に関連する場合のみ、自装置の動作情報を採取することができる。
ここでは、情報処理装置110が、いずれかの常駐プロセスの累積実行時間の増加分に基づいて、業務処理が自装置に関連するか否かを判定する場合について説明したが、これに限らない。例えば、情報処理装置110は、すべての常駐プロセスの累積実行時間の合計の増加分に基づいて、業務処理が自装置に関連するか否かを判定してもよい。
図19は、第1の採取パターンにおける採取動作を示す説明図である。図19の例では、アプリケーションAによる業務処理において障害が発生した場合を例に挙げて、第1の採取パターンにおける採取動作について説明する。
(17)情報処理装置110−1の利用者は、アプリケーションAによる業務処理において障害が発生したため、業務処理の識別情報「アプリA」を情報処理装置110−1に入力する。情報処理装置110−1は、情報処理装置110−1の利用者から、動作情報の採取指示として、業務処理の識別情報「アプリA」を受け付ける。情報処理装置110−1は、業務処理の識別情報を受け付けると、関連性テーブル400に基づいて、業務処理が自装置に関連するか否かを判定する。ここで、情報処理装置110−1は、自装置に関連しないため、動作情報を採取しない。
(18)情報処理装置110−2の利用者は、アプリケーションAによる業務処理において障害が発生したため、業務処理の識別情報「アプリA」を情報処理装置110−2に入力する。情報処理装置110−2は、情報処理装置110−2の利用者から、動作情報の採取指示として、業務処理の識別情報「アプリA」を受け付ける。情報処理装置110−2は、業務処理の識別情報を受け付けると、関連性テーブル400に基づいて、業務処理が自装置に関連するか否かを判定する。ここで、情報処理装置110−2は、自装置に関連するため、動作情報を採取し、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。
(19)情報処理装置110−3の利用者は、アプリケーションAによる業務処理において障害が発生したため、業務処理の識別情報「アプリA」を情報処理装置110−3に入力する。情報処理装置110−3は、情報処理装置110−3の利用者から、動作情報の採取指示として、業務処理の識別情報「アプリA」を受け付ける。情報処理装置110−3は、業務処理の識別情報を受け付けると、関連性テーブル400に基づいて、業務処理が自装置に関連するか否かを判定する。ここで、情報処理装置110−3は、自装置に関連するため、動作情報を採取し、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。
これにより、情報処理装置110は、動作情報の採取を行う原因になった業務処理が、情報処理装置110に関連する場合には、情報処理装置110の動作情報を採取することができる。一方で、情報処理装置110は、動作情報の採取を行う原因になった業務処理が、情報処理装置110に関連しない場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、動作情報の採取を行う原因になった業務処理に関連していない情報処理装置110の動作情報については、情報蓄積装置100に取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
ここでは、情報処理装置110の利用者が、業務処理の識別情報を情報処理装置110に入力した場合について説明したが、これに限らない。例えば、管理装置201の利用者が、業務処理の識別情報を管理装置201に入力し、管理装置201が、業務処理の識別情報を情報処理装置110に入力してもよい。
(第2の採取パターン)
次に、図20を用いて、第2の採取パターンについて説明する。
図20は、第2の採取パターンにおける採取動作を示す説明図である。図20の例では、情報処理装置110−1にスローダウンの障害が発生した場合を例に挙げて、第2の採取パターンにおける採取動作について説明する。
(20)情報処理装置110−1の利用者は、情報処理装置110−1にスローダウンの障害が発生したため、情報処理装置110−1を再起動する。次に、情報処理装置110−1の利用者は、障害の識別情報「スローダウン」を情報処理装置110−1に入力する。情報処理装置110−1は、情報処理装置110−1の利用者から、動作情報の採取指示として、障害の識別情報「スローダウン」を受け付ける。情報処理装置110−1は、障害の識別情報「スローダウン」を受け付けると、直前の再起動時刻を出力する。
情報処理装置110−1の利用者は、再起動時刻を参照して、情報処理装置110−1がスローダウンの障害を解消するために再起動した情報処理装置110であるか否かを確認する。情報処理装置110−1の利用者は、情報処理装置110−1がスローダウンの障害を解消するために再起動した情報処理装置110であることを確認すると、採取許可を情報処理装置110−1に入力する。
情報処理装置110−1は、採取許可を受け付けると、動作情報を採取し、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。これにより、情報処理装置110は、採取許可を受け付けた場合には、情報処理装置110の動作情報を採取することができる。一方で、情報処理装置110は、採取不許可を受け付けた場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、動作情報の採取を行う原因になった障害「スローダウン」を発生していない情報処理装置110の動作情報については、情報蓄積装置100に取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
ここでは、情報処理装置110の利用者が、障害の識別情報「スローダウン」を情報処理装置110に入力した場合について説明したが、これに限らない。例えば、管理装置201の利用者が、障害の識別情報「スローダウン」を管理装置201に入力し、管理装置201が、障害の識別情報「スローダウン」を情報処理装置110に入力してもよい。このとき、管理装置201は、情報処理装置110にpingを送信し、情報処理装置110においてスローダウンが発生していたか否かを確認して、管理装置201の利用者に確認結果を通知してもよい。また、管理装置201は、スローダウンが発生していたことを確認してから、障害の識別情報「スローダウン」を情報処理装置110に入力してもよい。
(第3の採取パターン)
次に、図21を用いて、第3の採取パターンについて説明する。
図21は、第3の採取パターンにおける採取動作を示す説明図である。図21の例では、情報処理装置110−1に資源不足の障害が発生した場合を例に挙げて、第3の採取パターンにおける採取動作について説明する。また、図21の例では、情報処理装置110は、監視プログラムを起動し、情報処理装置110において発生した障害の識別情報を記憶する監視ファイルを作成するとする。
(21)情報処理装置110−1の利用者は、情報処理装置110−1に資源不足の障害が発生したため、障害の識別情報「資源不足」を情報処理装置110−1に入力する。情報処理装置110−1は、情報処理装置110−1の利用者から、動作情報の採取指示として、障害の識別情報「資源不足」を受け付ける。情報処理装置110−1は、障害の識別情報「資源不足」を受け付けると、監視ファイルを参照して、資源不足の障害が、自装置で発生したか否かを判定する。情報処理装置110−1は、資源不足の障害が、自装置で発生したと判定すると、動作情報を採取し、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。
これにより、情報処理装置110は、動作情報の採取を行う原因になった障害が、情報処理装置110において発生した障害である場合には、情報処理装置110の動作情報を採取することができる。一方で、情報処理装置110は、動作情報の採取を行う原因になった障害が、情報処理装置110において発生していない場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、動作情報の採取を行う原因になった障害を発生していない情報処理装置110の動作情報については、情報蓄積装置100に取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
ここでは、情報処理装置110の利用者が、障害の識別情報「資源不足」を情報処理装置110に入力した場合について説明したが、これに限らない。例えば、管理装置201の利用者が、障害の識別情報「資源不足」を管理装置201に入力し、管理装置201が、障害の識別情報「資源不足」を情報処理装置110に入力してもよい。
(第4の採取パターン)
次に、図22を用いて、第4の採取パターンについて説明する。
図22は、第4の採取パターンにおける採取動作を示す説明図である。図22の例では、情報処理装置110−1に終了指示をしたプロセスが終了しない場合を例に挙げて、第4の採取パターンにおける採取動作について説明する。
(22)情報処理装置110−1の利用者は、プロセスのPIDと、当該プロセスを終了指示を受け付けないプロセスとして指定する情報とを、情報処理装置110−1に入力する。情報処理装置110−1は、情報処理装置110−1の利用者から、プロセスのPIDと、当該プロセスを終了指示を受け付けないプロセスとして指定する情報とを受け付ける。情報処理装置110−1は、プロセスのPIDを受け付けると、プロセスリストを参照して、当該プロセスが実行中であるか否かを判定する。情報処理装置110−1は、終了指示を受け付けないプロセスとして指定されたプロセスが実行中である場合、実際に終了指示を受け付けないプロセスであると判定する。そして、情報処理装置110−1は、動作情報を採取し、採取した動作情報を、当該動作情報の採取時刻と対応付けたレコードを、採取履歴テーブル500に追加する。
これにより、情報処理装置110は、開始指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際に開始できていない場合には、情報処理装置110の動作情報を採取することができる。一方で、情報処理装置110は、開始指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際には開始できている場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、実際には開始できている場合には、情報蓄積装置100に動作情報を取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
また、情報処理装置110は、終了指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際に終了できていない場合には、情報処理装置110の動作情報を採取することができる。一方で、情報処理装置110は、終了指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際には終了できている場合には、情報処理装置110の動作情報を採取しない。結果として、実際には終了できている場合には、情報蓄積装置100に動作情報を取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
ここでは、情報処理装置110の利用者が、プロセスのPIDと、当該プロセスを終了指示を受け付けないプロセスとして指定する情報を情報処理装置110に入力した場合について説明したが、これに限らない。例えば、管理装置201の利用者が、プロセスのPIDと、当該プロセスを終了指示を受け付けないプロセスとして指定する情報を管理装置201に入力してもよい。この場合、管理装置201が、プロセスのPIDと、当該プロセスを終了指示を受け付けないプロセスとして指定する情報を情報処理装置110に入力する。
(準備動作の指示処理手順)
次に、図23を用いて、第1の採取パターンにおける準備動作の指示処理手順の一例について説明する。
図23は、準備動作の指示処理手順の一例を示すフローチャートである。図23において、調査装置203は、複数の情報処理装置110に、業務処理を実行させる(ステップS2301)。次に、調査装置203は、情報処理装置110からログファイル700を取得する(ステップS2302)。そして、調査装置203は、業務の実行時間を算出する(ステップS2303)。
次に、調査装置203は、複数の情報処理装置110のそれぞれに、調査プログラムを実行させる(ステップS2304)。そして、調査装置203は、変数xに1を設定する(ステップS2305)。次に、調査装置203は、複数の情報処理装置110に、業務処理を実行させる(ステップS2306)。そして、調査装置203は、複数の情報処理装置110に、ステップS2303において算出した実行時間分の待機処理を開始させる(ステップS2307)。
次に、調査装置203は、変数xにx+1を設定する(ステップS2308)。そして、調査装置203は、変数xがnより大きいか否かを判定する(ステップS2309)。ここで、大きくない場合(ステップS2309:No)、調査装置203は、ステップS2306の処理に戻る。一方で、大きい場合(ステップS2309:Yes)、調査装置203は、準備動作の指示処理を終了する。
(準備処理手順)
次に、図24を用いて、第1の採取パターンにおける準備処理手順の一例について説明する。
図24は、準備処理手順の一例を示すフローチャートである。図24において、情報処理装置110は、プロセスリストを読み込む(ステップS2401)。次に、情報処理装置110は、調査処理を実行する(ステップS2402)。
これにより、情報処理装置110は、複数回分の業務処理のそれぞれの業務処理の実行中の平均CPU使用率および累積実行時間を取得する。また、情報処理装置110は、複数回分の待機処理のそれぞれの待機処理の実行中の平均CPU使用率および累積実行時間を取得する。
そして、情報処理装置110は、複数回分の業務処理の実行中における平均CPU使用率を算出し、複数回分の待機処理の実行中の平均CPU使用率を算出する(ステップS2403)。次に、情報処理装置110は、プロセスリストの常駐プロセスのそれぞれのプロセスについて、複数回分の業務処理の実行中における平均累積実行時間を算出し、複数回分の待機処理の実行中の平均累積実行時間を算出する(ステップS2404)。
そして、情報処理装置110は、実行中における平均CPU使用率−待機中における平均CPU使用率が、閾値より大きいか否かを判定する(ステップS2405)。ここで、大きくない場合(ステップS2405:No)、情報処理装置110は、ステップS2411の処理に移行する。
一方で、大きい場合(ステップS2405:Yes)、情報処理装置110は、変数jに1を設定する(ステップS2406)。次に、情報処理装置110は、j番目のプロセスについて、実行中における平均累積実行時間−待機中における平均累積実行時間が、閾値より大きいか否かを判定する(ステップS2407)。ここで、大きくない場合(ステップS2407:No)、情報処理装置110は、ステップS2411の処理に移行する。
一方で、大きい場合(ステップS2407:Yes)、情報処理装置110は、実行中における平均累積実行時間が0より大きく、かつ、待機中における平均累積実行時間が0であるか否かを判定する(ステップS2408)。ここで、実行中における平均累積実行時間が0であるか、または、待機中における平均累積実行時間が0より大きい場合(ステップS2408:No)、情報処理装置110は、ステップS2411の処理に移行する。
一方で、実行中における平均累積実行時間が0より大きく、かつ、待機中における平均累積実行時間が0である場合(ステップS2408:Yes)、情報処理装置110は、変数jにj+1を設定する(ステップS2409)。次に、情報処理装置110は、変数jがプロセス数より大きいか否かを判定する(ステップS2410)。ここで、プロセス数以下である場合(ステップS2410:No)、情報処理装置110は、ステップS2407の処理に戻る。一方で、プロセスより大きい場合(ステップS2410:Yes)、情報処理装置110は、準備処理を終了する。
また、ステップS2411において、情報処理装置110は、関連性テーブル400を更新して(ステップS2411)、準備処理を終了する。これにより、情報処理装置110は、第1の採取パターンにおける採取動作に用いる関連性テーブル400を更新することができる。
(調査処理手順)
次に、図25を用いて、図24のステップS2402に示した調査処理手順の一例について説明する。
図25は、調査処理手順の一例を示すフローチャートである。図25において、情報処理装置110は、業務処理の開始時の常駐プロセスの累積実行時間を取得する(ステップS2501)。次に、情報処理装置110は、業務処理の終了時の常駐プロセスの累積実行時間を取得する(ステップS2502)。そして、情報処理装置110は、業務処理の実行中における平均CPU使用率を算出する(ステップS2503)。
次に、情報処理装置110は、待機処理の開始時の常駐プロセスの累積実行時間を取得する(ステップS2504)。そして、情報処理装置110は、待機処理の終了時の常駐プロセスの累積実行時間を取得する(ステップS2505)。次に、待機処理の実行中における平均CPU使用率を算出する(ステップS2506)。
そして、情報処理装置110は、調査終了の通知を受け付けたか否かを判定する(ステップS2507)。調査終了の通知を受け付けていない場合(ステップS2507:No)、情報処理装置110は、ステップS2501の処理に戻る。一方で、調査終了の通知を受け付けた場合(ステップS2507:Yes)、情報処理装置110は、調査処理を終了する。
(採取処理手順)
次に、図26を用いて、採取処理手順の一例について説明する。図26の採取処理手順は、情報処理装置110が、情報処理装置110の利用者から、情報処理装置110の動作情報の採取指示を受け付ける場合の処理である。
図26は、採取処理手順の一例を示すフローチャートである。図26において、情報処理装置110は、第1パラメータを取得する(ステップS2601)。次に、情報処理装置110は、現在時刻を取得する(ステップS2602)。
そして、情報処理装置110は、第1パラメータが、業務処理であるか否かを判定する(ステップS2603)。ここで、業務処理である場合(ステップS2603:Yes)、情報処理装置110は、第1の採取パターンにおける採取処理を実行して(ステップS2604)、ステップS2611の処理に移行する。
一方で、業務処理ではない場合(ステップS2603:No)、情報処理装置110は、第1パラメータが、スローダウンであるか否かを判定する(ステップS2605)。ここで、スローダウンである場合(ステップS2605:Yes)、情報処理装置110は、第2の採取パターンにおける採取処理を実行して(ステップS2606)、ステップS2611の処理に移行する。
一方で、スローダウンではない場合(ステップS2605:No)、情報処理装置110は、第1パラメータが、資源不足であるか否かを判定する(ステップS2607)。ここで、資源不足である場合(ステップS2607:Yes)、情報処理装置110は、第3の採取パターンにおける採取処理を実行して(ステップS2608)、ステップS2611の処理に移行する。
一方で、資源不足ではない場合(ステップS2607:No)、情報処理装置110は、第1パラメータが、障害に応じたエラーメッセージであるか否かを判定する(ステップS2609)。ここで、エラーメッセージである場合(ステップS2609:Yes)、情報処理装置110は、第3の採取パターンにおける採取処理を実行して(ステップS2608)、ステップS2611の処理に移行する。
一方で、エラーメッセージではない場合(ステップS2609:No)、情報処理装置110は、第4の採取パターンにおける採取処理を実行して(ステップS2610)、ステップS2611の処理に移行する。
ステップS2611において、情報処理装置110は、復帰値が採取実行指示か否かを判定する(ステップS2611)。ここで、復帰値が採取実行指示ではない場合(ステップS2611:No)、情報処理装置110は、出力対象に設定されたメッセージを出力して(ステップS2612)、採取処理を終了する。
一方で、復帰値が採取実行指示である場合(ステップS2611:Yes)、情報処理装置110は、情報処理装置110の動作情報を採取して(ステップS2613)、採取履歴テーブル500を更新して(ステップS2614)、採取処理を終了する。
(第1の採取パターンにおける採取処理手順)
次に、図27を用いて、図26のステップS2604に示した第1の採取パターンにおける採取処理手順の一例について説明する。
図27は、第1の採取パターンにおける採取処理手順の一例を示すフローチャートである。図27において、情報処理装置110は、関連性テーブル400を取得する(ステップS2701)。次に、情報処理装置110は、第2パラメータとして、業務処理の識別情報を取得する(ステップS2702)。そして、情報処理装置110は、関連性テーブル400の中で第2パラメータに対応するレコードを取得する(ステップS2703)。
次に、取得したレコードの関連性項目に設定された情報が、関連性「あり」であるか否かを判定する(ステップS2704)。ここで、関連性「あり」である場合(ステップS2704:Yes)、情報処理装置110は、採取実行指示を復帰値に設定して(ステップS2705)、第1の採取パターンにおける採取処理を終了する。
一方で、関連性「なし」である場合(ステップS2704:No)、第1の採取パターンにおける採取処理を終了する。
(第2の採取パターンにおける採取処理手順)
次に、図28を用いて、図26のステップS2606に示した第2の採取パターンにおける採取処理手順の一例について説明する。
図28は、第2の採取パターンにおける採取処理手順の一例を示すフローチャートである。図28において、情報処理装置110は、直前の再起動時刻を取得し、再起動時刻を情報処理装置110の利用者に通知する(ステップS2801)。次に、情報処理装置110は、再起動時刻を通知した情報処理装置110の利用者からの操作入力を受け付ける(ステップS2802)。
そして、情報処理装置110は、操作入力が採取許可であるか否かを判定する(ステップS2803)。ここで、採取許可である場合(ステップS2803:Yes)、情報処理装置110は、採取実行指示を復帰値に設定し(ステップS2804)、第2の採取パターンにおける採取処理を終了する。一方で、採取許可ではない場合(ステップS2803:No)、情報処理装置110は、第2の採取パターンにおける採取処理を終了する。
(第3の採取パターンにおける採取処理手順)
次に、図29を用いて、図26のステップS2608に示した第3の採取パターンにおける採取処理手順の一例について説明する。
図29は、第3の採取パターンにおける採取処理手順の一例を示すフローチャートである。図29において、情報処理装置110は、第2パラメータとして、障害の識別情報を取得する(ステップS2901)。次に、情報処理装置110は、監視ファイルの中から、第2パラメータに対応する情報を取得する(ステップS2902)。
そして、情報処理装置110は、取得できたか否かを判定する(ステップS2903)。ここで、取得できた場合(ステップS2903:Yes)、情報処理装置110は、採取実行指示を復帰値に設定し(ステップS2904)、第3の採取パターンにおける採取処理を終了する。
一方で、取得できなかった場合(ステップS2903:No)、情報処理装置110は、障害が発生していないことを示す情報を、出力対象に設定して(ステップS2905)、を第3の採取パターンにおける採取処理を終了する。
(第4の採取パターンにおける採取処理手順)
次に、図30を用いて、図26のステップS2610に示した第4の採取パターンにおける採取処理手順の一例について説明する。
図30は、第4の採取パターンにおける採取処理手順の一例を示すフローチャートである。図30において、情報処理装置110は、第2パラメータを取得する(ステップS3001)。次に、情報処理装置110は、第3パラメータを取得する(ステップS3002)。そして、情報処理装置110は、第2パラメータが、起動指示を受け付けないプロセスを指定する情報であるか否かを判定する(ステップS3003)。ここで、起動指示を受け付けないプロセスを指定する情報ではない場合(ステップS3003:No)、情報処理装置110は、ステップS3008の処理に移行する。
一方で、起動指示を受け付けないプロセスを指定する情報である場合(ステップS3003:Yes)、情報処理装置110は、プロセスリストから、第3パラメータに対応するプロセスの状態を取得する(ステップS3004)。そして、情報処理装置110は、取得できなかったか否かを判定する(ステップS3005)。ここで、取得できなかった場合(ステップS3005:Yes)、情報処理装置110は、採取実行指示を復帰値に設定し(ステップS3006)、第4の採取パターンにおける採取処理を終了する。
一方で、取得できた場合(ステップS3005:No)、情報処理装置110は、プロセスが起動していることを示す情報を、出力対象に設定して(ステップS3007)、第4の採取パターンにおける採取処理を終了する。
また、ステップS3008において、情報処理装置110は、プロセスリストから、第3パラメータに対応するプロセスの状態を取得する(ステップS3008)。そして、情報処理装置110は、取得できたか否かを判定する(ステップS3009)。ここで、取得できた場合(ステップS3009:Yes)、情報処理装置110は、採取実行指示を復帰値に設定し(ステップS3010)、第4の採取パターンにおける採取処理を終了する。
一方で、取得できなかった場合(ステップS3009:No)、情報処理装置110は、プロセスが終了していることを示す情報を、出力対象に設定して(ステップS3011)、を第4の採取パターンにおける採取処理を終了する。
(採取指示処理手順)
次に、図31を用いて、採取指示処理手順の一例について説明する。図31の採取指示処理手順は、管理装置201が、管理装置201の利用者から、情報処理装置110の動作情報の採取指示を受け付け、情報処理装置110に送信する場合の処理である。
図31は、採取指示処理手順の一例を示すフローチャートである。図31において、管理装置201は、第1パラメータを取得する(ステップS3101)。次に、管理装置201は、現在時刻を取得する(ステップS3102)。
そして、管理装置201は、第1パラメータが、業務処理であるか否かを判定する(ステップS3103)。ここで、業務処理である場合(ステップS3103:Yes)、管理装置201は、第1の採取パターンにおける採取指示の出力処理を実行して(ステップS3104)、採取指示処理を終了する。
一方で、業務処理ではない場合(ステップS3103:No)、管理装置201は、第1パラメータが、スローダウンであるか否かを判定する(ステップS3105)。ここで、スローダウンである場合(ステップS3105:Yes)、管理装置201は、第2の採取パターンにおける採取指示の出力処理を実行して(ステップS3106)、採取指示処理を終了する。
一方で、スローダウンではない場合(ステップS3105:No)、管理装置201は、第1パラメータが、資源不足であるか否かを判定する(ステップS3107)。ここで、資源不足である場合(ステップS3107:Yes)、管理装置201は、第3の採取パターンにおける採取指示の出力処理を実行して(ステップS3108)、採取指示処理を終了する。
一方で、資源不足ではない場合(ステップS3107:No)、管理装置201は、第1パラメータが、障害に応じたエラーメッセージであるか否かを判定する(ステップS3109)。ここで、エラーメッセージである場合(ステップS3109:Yes)、管理装置201は、第3の採取パターンにおける採取指示の出力処理を実行して(ステップS3108)、採取指示処理を終了する。
一方で、エラーメッセージではない場合(ステップS3109:No)、管理装置201は、第4の採取パターンにおける採取指示の出力処理を実行して(ステップS3110)、採取指示処理を終了する。
(第1の採取パターンの採取指示の出力処理手順)
次に、図32を用いて、図31のステップS3104に示した第1の採取パターンの採取指示の出力処理手順の一例について説明する。
図32は、第1の採取パターンの採取指示の出力処理手順の一例を示すフローチャートである。図32において、管理装置201は、IPテーブル800を取得する(ステップS3201)。次に、管理装置201は、いずれかのIPを指定して、いずれかのIPが示す情報処理装置110に採取指示を送信する(ステップS3202)。そして、管理装置201は、一定時間待機する(ステップS3203)。
次に、管理装置201は、すべての情報処理装置110の動作情報の採取が完了したか否かを判定する(ステップS3204)。ここで、完了していない場合(ステップS3204:No)、管理装置201は、ステップS3202の処理に戻る。一方で、完了した場合(ステップS3204:Yes)、管理装置201は、出力処理を終了する。
(第2の採取パターンの採取指示の出力処理手順)
次に、図33を用いて、図31のステップS3106に示した第2の採取パターンの採取指示の出力処理手順の一例について説明する。
図33は、第2の採取パターンの採取指示の出力処理手順の一例を示すフローチャートである。図33において、管理装置201は、IPテーブル800を取得し、IPを出力する(ステップS3301)。次に、管理装置201は、いずれかのIPを指定する操作入力を受け付ける(ステップS3302)。そして、管理装置201は、指定されたIPが示す情報処理装置110に、pingを送信する(ステップS3303)。
次に、管理装置201は、応答があったか否かを判定する(ステップS3304)。ここで、応答があった場合(ステップS3304:Yes)、管理装置201は、応答ありを出力して(ステップS3305)、ステップS3307の処理に移行する。一方で、応答がなかった場合(ステップS3304:No)、管理装置201は、応答なしを出力して(ステップS3306)、ステップS3307の処理に移行する。
ステップS3307において、管理装置201は、採取を実行させるか否かを判定する(ステップS3307)。ここで、採取を実行させる場合(ステップS3307:Yes)、管理装置201は、情報処理装置110に採取指示を送信して(ステップS3308)、出力処理を終了する。一方で、採取を実行させない場合(ステップS3307:No)、管理装置201は、出力処理を終了する。
(第3の採取パターンの採取指示の出力処理手順)
次に、図34を用いて、図31のステップS3108に示した第3の採取パターンの採取指示の出力処理手順の一例について説明する。
図34は、第3の採取パターンの採取指示の出力処理手順の一例を示すフローチャートである。図34において、管理装置201は、IPテーブル800を取得し、IPを出力する(ステップS3401)。次に、管理装置201は、いずれかのIPを指定する操作入力を受け付ける(ステップS3402)。そして、管理装置201は、指定されたIPが示す情報処理装置110に、採取指示を送信する(ステップS3403)。
次に、管理装置201は、復帰値に採取実行指示が設定されているか否かを判定する(ステップS3404)。ここで、設定されていない場合(ステップS3404:No)、管理装置201は、障害が発生していないことを示す情報を出力して(ステップS3405)、出力処理を終了する。一方で、設定されている場合(ステップS3404:Yes)、管理装置201は、出力処理を終了する。
(第4の採取パターンの採取指示の出力処理手順)
次に、図35を用いて、図31のステップS3110に示した第4の採取パターンの採取指示の出力処理手順の一例について説明する。
図35は、第4の採取パターンの採取指示の出力処理手順の一例を示すフローチャートである。図35において、管理装置201は、IPテーブル800を取得し、IPを出力する(ステップS3501)。次に、管理装置201は、いずれかのIPを指定する操作入力を受け付ける(ステップS3502)。そして、管理装置201は、指定されたIPが示す情報処理装置110に、採取指示を送信する(ステップS3503)。
次に、管理装置201は、復帰値に採取実行指示が設定されているか否かを判定する(ステップS3504)。ここで、設定されていない場合(ステップS3504:No)、管理装置201は、プロセスが正常に起動、または終了していることを示す情報を出力して(ステップS3505)、出力処理を終了する。一方で、設定されている場合(ステップS3504:Yes)、管理装置201は、出力処理を終了する。
(情報蓄積処理手順)
次に、図36および図37を用いて、情報蓄積処理手順の一例について説明する。
図36および図37は、情報蓄積処理手順の一例を示すフローチャートである。図36において、情報蓄積装置100は、動作情報履歴テーブル1000の動作情報履歴102を取得して、それぞれA1、・・・Asumに設定する(ステップS3601)。次に、情報蓄積装置100は、A1、・・・Asumから採取時刻を抽出して、それぞれA1(1)、・・・Ak(Nk)に設定する(ステップS3602)。
そして、情報蓄積装置100は、情報処理装置110から出力された調査情報600に含まれる採取履歴テーブル500を取得し、採取履歴テーブル500の中の採取時刻一覧111から採取時刻を抽出して、それぞれB(1)、・・・B(M)に設定する(ステップS3603)。次に、情報蓄積装置100は、図37のステップS3701の処理に移行する。
図37において、情報蓄積装置100は、変数kに1を設定する(ステップS3701)。次に、情報蓄積装置100は、変数lに1を設定する(ステップS3702)。そして、情報蓄積装置100は、変数jに0を設定する(ステップS3703)。
次に、情報蓄積装置100は、B(M−l)=Ak(Nk−j)であるか否かを判定する(ステップS3704)。ここで、B(M−l)=Ak(Nk−j)である場合(ステップS3704:Yes)、情報蓄積装置100は、変数jにj+1を設定する(ステップS3705)。
次に、情報蓄積装置100は、jがNkより大きいか否かを判定する(ステップS3706)。ここで、大きくない場合(ステップS3706:No)、情報蓄積装置100は、ステップS3704の処理に戻る。
一方で、大きい場合(ステップS3706:Yes)、情報蓄積装置100は、変数lにl+1を設定する(ステップS3707)。次に、情報蓄積装置100は、lがMより大きいか否かを判定する(ステップS3708)。ここで、大きくない場合(ステップS3708:No)、情報蓄積装置100は、ステップS3703の処理に戻る。
一方で、大きい場合(ステップS3708:Yes)、情報蓄積装置100は、取得した動作情報履歴102が、新しい情報処理装置110の動作情報履歴102であると特定する(ステップS3709)。次に、情報蓄積装置100は、動作情報履歴テーブル1000に、取得した動作情報履歴102を記録する(ステップS3710)。そして、情報蓄積装置100は、情報蓄積処理を終了する。
一方で、ステップS3704において、B(M−l)=Ak(Nk−j)ではない場合(ステップS3704:No)、情報蓄積装置100は、変数NUMにkを設定し、変数LINE_Aにjを設定し、変数LINE_Bにlを設定し、図38に示す確認処理を実行する(ステップS3711)。次に、情報蓄積装置100は、復帰値が0であるか否かを判定する(ステップS3712)。ここで、復帰値が0ではない場合(ステップS3712:No)、情報蓄積装置100は、変数kにNUM+1を設定して(ステップS3713)、ステップS3702の処理に戻る。
一方で、復帰値が0である場合(ステップS3712:Yes)、情報蓄積装置100は、Akに設定された動作情報履歴102を特定する(ステップS3714)。次に、情報蓄積装置100は、動作情報履歴テーブル1000における、Akに設定された動作情報履歴102を更新する(ステップS3715)。そして、情報蓄積装置100は、情報蓄積処理を終了する。
(確認処理手順)
次に、図38を用いて、図37のステップS3711に示した確認処理手順の一例について説明する。
図38は、確認処理手順の一例を示すフローチャートである。図38において、情報蓄積装置100は、変数jにLINE_A+1を設定する(ステップS3801)。次に、情報蓄積装置100は、変数lにLINE_B+1を設定する(ステップS3802)。
そして、情報蓄積装置100は、B(M−l)=Ak(Nk−j)であるか否かを判定する(ステップS3803)。ここで、B(M−l)=Ak(Nk−j)ではない場合(ステップS3803:No)、情報蓄積装置100は、ステップS3807の処理に移行する。
一方で、B(M−l)=Ak(Nk−j)である場合(ステップS3803:Yes)、情報蓄積装置100は、変数lにl+1を設定する(ステップS3804)。次に、情報蓄積装置100は、jがNより大きいか否かを判定する(ステップS3805)。ここで、大きい場合(ステップS3805:Yes)、情報蓄積装置100は、復帰値に0を設定して(ステップS3806)、確認処理を終了する。一方で、大きくない場合(ステップS3805:No)、情報蓄積装置100は、ステップS3807の処理に移行する。
ステップS3807において、情報蓄積装置100は、変数lにl+1を設定する(ステップS3807)。次に、情報蓄積装置100は、変数lがMより大きいか否かを判定する(ステップS3808)。ここで、大きくない場合(ステップS3808:No)、情報蓄積装置100は、ステップS3803の処理に戻る。
一方で、大きい場合(ステップS3808:Yes)、情報蓄積装置100は、復帰値に1を設定して(ステップS3809)、確認処理を終了する。
以上説明したように、情報蓄積装置100によれば、情報処理装置110により採取された動作情報と、採取時刻一覧111とを取得することができる。そして、情報蓄積装置100によれば、動作情報履歴テーブル1000から、取得した採取時刻一覧111に基づいて、情報処理装置110に対応する動作情報履歴102を特定することができる。これにより、情報蓄積装置100は、情報処理装置110のIPアドレスなどを取得しなくても、情報処理装置110単位で動作情報を蓄積することができる。また、情報処理装置110は、情報処理装置110の識別情報が漏洩することを防止することができ、業務処理システムの安全性を向上させることができる。
また、情報蓄積装置100は、特定した動作情報履歴102を出力して、情報蓄積装置100の使用者に通知することができる。このため、情報蓄積装置100の使用者は、取得した動作情報に加えて、情報処理装置110により過去に採取された動作情報を参照して、障害対策を行うことができ、障害対策の精度を向上することができる。情報蓄積装置100の利用者は、例えば、情報処理装置110において頻繁に同様の障害が発生しているか、他の情報処理装置110でも同様の障害が発生しているかなどを把握しながら、障害対策を行うことができる。
また、情報蓄積装置100によれば、複数の情報処理装置110のそれぞれと通信可能である管理装置201を介して、いずれかの情報処理装置110により採取された動作情報と採取時刻一覧111とを取得することができる。これにより、情報蓄積装置100は、いずれかの情報処理装置110のIPアドレスが漏洩するリスクを低減することができる。
また、情報蓄積装置100によれば、いずれかの情報処理装置110に対応する動作情報履歴102が動作情報履歴テーブル1000に存在しない場合、取得した動作情報が、新しい動作情報履歴102になる動作情報であると判定することができる。そして、情報蓄積装置100によれば、取得した動作情報と当該動作情報の採取時刻とを対応付けた動作情報履歴102を、動作情報履歴テーブル1000に記憶することができる。これにより、情報蓄積装置100は、新しく動作情報履歴102を追加することができる。
また、情報処理装置110によれば、業務処理の識別情報を受け付けたことに応じて、関連性テーブル400に基づいて、識別情報を受け付けた業務処理が自装置に関連するか否かを判定することができる。そして、情報処理装置110によれば、関連する場合に、自装置の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録することができる。これにより、情報処理装置110は、動作情報の採取を行う原因になった業務処理が、情報処理装置110に関連する場合には、情報処理装置110の動作情報を採取することができる。一方で、情報処理装置110は、動作情報の採取を行う原因になった業務処理が、情報処理装置110に関連しない場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、動作情報の採取を行う原因になった業務処理に関連していない情報処理装置110の動作情報については、情報蓄積装置100に取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
また、情報処理装置110によれば、業務処理の実行中と、待機処理の実行中とにおける、常駐プロセスの実行情報に基づいて、当該業務処理が、自装置に関連するか否かを判定することができる。これにより、情報処理装置110は、関連性テーブル400を作成することができる。
また、情報処理装置110によれば、障害の識別情報を受け付けたことに応じて、識別情報を受け付けた障害が自装置において発生した障害である場合に、自装置の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録することができる。これにより、情報処理装置110は、動作情報の採取を行う原因になった障害が、情報処理装置110において発生した障害である場合には、情報処理装置110の動作情報を採取することができる。一方で、情報処理装置110は、動作情報の採取を行う原因になった障害が、情報処理装置110において発生していない場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、動作情報の採取を行う原因になった障害を発生していない情報処理装置110の動作情報については、情報蓄積装置100に取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
また、情報処理装置110によれば、プロセスの起動確認要求を受け付けたことに応じて、識別情報を受け付けたプロセスが自装置において実行中のプロセスであるか否かを判定することができる。そして、情報蓄積装置100によれば、実行中のプロセスではない場合、自装置の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録することができる。これにより、情報処理装置110は、開始指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際に開始できていない場合には、情報処理装置110の動作情報を採取することができる。一方で、情報処理装置110は、開始指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際には開始できている場合には、情報処理装置110の動作情報を採取しない。結果として、情報処理装置110は、実際には開始できている場合には、情報蓄積装置100に動作情報を取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
また、情報処理装置110によれば、プロセスの完了確認要求を受け付けたことに応じて、識別情報を受け付けたプロセスが自装置において実行中のプロセスであるか否かを判定することができる。そして、情報蓄積装置100によれば、実行中のプロセスである場合、自装置の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録することができる。これにより、情報処理装置110は、終了指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際に終了できていない場合には、情報処理装置110の動作情報を採取することができる。一方で、情報処理装置110は、終了指示を受け付けないプロセスとして指定された、動作情報の採取を行う原因になったプロセスが、実際には終了できている場合には、情報処理装置110の動作情報を採取しない。結果として、実際には終了できている場合には、情報蓄積装置100に動作情報を取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
また、情報処理装置110によれば、再起動の完了後に、自装置の動作情報の採取指示を受け付けたことに応じて、自装置の動作情報を採取し、当該動作情報の採取時刻を採取時刻一覧111に記録することができる。これにより、情報処理装置110は、再起動の完了後の動作情報を取得することができる。
また、管理装置201によれば、情報処理装置110からの応答の有無に基づいて、情報処理装置110に動作情報を採取させるか否かを判定することができる。これにより、管理装置201は、応答がない場合にのみ、動作情報を取得するようにして、誤って動作情報を取得することを防止することができる。これにより、管理装置201は、動作情報の採取を行う原因になった障害「スローダウン」を発生していない情報処理装置110の動作情報については、情報蓄積装置100に取得させず、情報蓄積装置100における障害対策の精度向上を図ることができる。
ここで、従来の情報処理装置が、動作情報にIPアドレスを付与して出力し、従来の情報蓄積装置が、IPアドレスに基づいて情報処理装置単位で動作情報を蓄積する場合が考えられる。しかしながら、この場合、IPアドレスなどの情報処理装置の識別情報が漏洩してしまう。また、情報処理装置が、IPアドレスを常時参照可能な状態にしておく場合は、情報処理装置の安全性が損なわれてしまう。一方で、本実施の形態にかかる情報処理装置110は、IPアドレスなどの情報処理装置110の識別情報を出力せず、動作情報と採取時刻一覧111を出力する。また、本実施の形態にかかる情報蓄積装置100は、採取時刻一覧111に基づいて、情報処理装置110単位で動作情報を蓄積する。これにより、情報蓄積装置100は、情報処理装置110の安全性を向上することができる。
ここで、従来の情報処理装置が、情報処理装置の利用者により任意のIDを割り振られ、動作情報に当該IDを付与して出力し、従来の情報蓄積装置が、IDに基づいて情報処理装置単位で動作情報を蓄積する場合が考えられる。しかしながら、この場合、情報処理装置の利用者が、IDの割り振り忘れてしまったり、重複するIDを割り振ってしまった場合には、情報蓄積装置が情報処理装置単位で動作情報を蓄積することができない。一方で、本実施の形態にかかる情報処理装置110は、IDを割り振られることなく、動作情報と採取時刻一覧111を出力する。また、本実施の形態にかかる情報蓄積装置100は、採取時刻一覧111に基づいて、情報処理装置110単位で動作情報を蓄積する。これにより、情報蓄積装置100は、情報処理装置110単位で動作情報を蓄積する確実性を向上することができる。
ここで、従来の情報処理装置が、IPアドレスに対して暗号化などの変換処理を行い、動作情報に変換処理した情報を付与して出力する場合が考えられる。この場合、従来の情報蓄積装置が、変換処理した情報からIPアドレスを復元し、IPアドレスに基づいて情報処理装置単位で動作情報を蓄積する。しかしながら、この場合、変換処理の内容が漏洩してしまうと、IPアドレスなどの情報処理装置の識別情報が漏洩してしまう。また、変換処理されていたとしても、IPアドレスなどの情報処理装置の識別情報が外部に存在する状況は好ましくない場合がある。また、情報処理装置が、変換処理のために、IPアドレスを常時参照可能な状態にしておく場合は、情報処理装置の安全性が損なわれてしまう。一方で、本実施の形態にかかる情報処理装置110は、IPアドレスなどの情報処理装置110の識別情報を出力せず、動作情報と採取時刻一覧111を出力する。また、本実施の形態にかかる情報蓄積装置100は、採取時刻一覧111に基づいて、情報処理装置110単位で動作情報を蓄積する。これにより、情報蓄積装置100は、情報処理装置110の安全性を向上することができる。
ここで、従来の情報処理装置が、動作情報にログファイル700を付与して出力し、従来の情報蓄積装置が、取得したログファイル700と、過去に取得したログファイル700と比較することにより、情報処理装置単位で動作情報を蓄積する場合が考えられる。しかしながら、この場合、ログファイル700は、サイクリックに更新されるため、過去のログファイル700と一致しない場合があり、従来の情報処理装置を特定可能な情報にならないことがある。一方で、本実施の形態にかかる情報処理装置110は、動作情報と、サイクリックに更新されない採取時刻一覧111を出力する。また、本実施の形態にかかる情報蓄積装置100は、採取時刻一覧111に基づいて、情報処理装置110単位で動作情報を蓄積する。これにより、情報蓄積装置100は、情報処理装置110単位で動作情報を蓄積する確実性を向上することができる。
なお、本実施の形態で説明した情報蓄積方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本情報蓄積プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本情報蓄積プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
複数の情報処理装置のいずれかの情報処理装置についての動作情報と、当該動作情報の採取時刻以前における前記いずれかの情報処理装置についての動作情報の採取時刻とを取得し、
前記コンピュータがアクセス可能な記憶部に記憶される履歴であって、前記複数の情報処理装置のそれぞれについて取得した前記動作情報と取得した前記採取時刻とを対応付けて蓄積する動作情報履歴から、取得した前記採取時刻に基づいて、前記いずれかの情報処理装置に対応する動作情報履歴を特定し、
取得した前記動作情報と、当該動作情報の採取時刻とを対応付けて、特定した前記動作情報履歴として前記記憶部に蓄積する、
処理を実行させることを特徴とする情報蓄積プログラム。
(付記2)前記取得する処理は、前記複数の情報処理装置のそれぞれと通信可能である管理装置から、前記いずれかの情報処理装置についての動作情報と、当該動作情報の採取時刻以前における前記いずれかの情報処理装置についての動作情報の採取時刻とを取得することを特徴とする付記1に記載の情報蓄積プログラム。
(付記3)前記コンピュータに、
前記いずれかの情報処理装置に対応する動作情報履歴が前記記憶部に存在しないことに応じて、取得した前記動作情報と、当該動作情報の採取時刻とを対応付けて、動作情報履歴として前記記憶部に蓄積する、
処理を実行させることを特徴とする付記1または2に記載の情報蓄積プログラム。
(付記4)コンピュータが、
複数の情報処理装置のいずれかの情報処理装置についての動作情報と、当該動作情報の採取時刻以前における前記いずれかの情報処理装置についての動作情報の採取時刻とを取得し、
前記コンピュータがアクセス可能な記憶部に記憶される履歴であって、前記複数の情報処理装置のそれぞれについて取得した前記動作情報と取得した前記採取時刻とを対応付けて蓄積する動作情報履歴から、取得した前記採取時刻に基づいて、前記いずれかの情報処理装置に対応する動作情報履歴を特定し、
取得した前記動作情報と、当該動作情報の採取時刻とを対応付けて、特定した前記動作情報履歴として前記記憶部に蓄積する、
処理を実行することを特徴とする情報蓄積方法。
(付記5)複数の情報処理装置のいずれかの情報処理装置についての動作情報と、当該動作情報の採取時刻以前における前記いずれかの情報処理装置についての動作情報の採取時刻とを取得し、記憶部に記憶される履歴であって、前記複数の情報処理装置のそれぞれについて取得した前記動作情報と取得した前記採取時刻とを対応付けて蓄積する動作情報履歴から、取得した前記採取時刻に基づいて、前記いずれかの情報処理装置に対応する動作情報履歴を特定し、取得した前記動作情報と、当該動作情報の採取時刻とを対応付けて、特定した前記動作情報履歴として蓄積する制御部、
を有することを特徴とする情報蓄積装置。
(付記6)複数の情報処理装置に含まれ、自装置についての動作情報を採取し、自装置についての動作情報を採取する都度、採取した前記動作情報と、当該動作情報の採取時刻以前における自装置についての動作情報の採取時刻とを出力する情報処理装置と、
前記情報処理装置についての動作情報と、前記採取時刻とを取得し、記憶部に記憶される履歴であって、前記複数の情報処理装置のそれぞれについて取得した前記動作情報と取得した前記採取時刻とを対応付けて蓄積する動作情報履歴から、取得した前記採取時刻に基づいて、前記情報処理装置に対応する動作情報履歴を特定し、取得した前記動作情報と、当該動作情報の採取時刻とを対応付けて、特定した前記動作情報履歴として前記記憶部に蓄積する情報蓄積装置と、
を有することを特徴とする情報蓄積システム。
(付記7)前記情報処理装置は、
前記複数の情報処理装置のいずれかが実行するプロセスを含む業務処理の識別情報を受け付けたことに応じて、自装置が実行するプロセスを含む業務処理の識別情報を記憶する記憶部の記憶内容に、受け付けた前記業務処理の識別情報が記憶されているか否かを判定し、
前記業務処理の識別情報が記憶されていると判定したことに応じて、自装置の動作情報を採取する、
ことを特徴とする付記6に記載の情報蓄積システム。
(付記8)前記情報処理装置は、
前記複数の情報処理装置のいずれかが実行するプロセスを含む業務処理の実行中における自装置が実行した複数のプロセスのそれぞれの第1実行情報と、当該業務処理の実行中以外における前記複数のプロセスのそれぞれの第2実行情報とを取得し、
取得した前記複数のプロセスのそれぞれの第1実行情報および第2実行情報に基づいて、当該業務処理が、自装置が実行したプロセスを含む業務処理であるか否かを判定し、
自装置が実行したプロセスを含む業務処理であると判定したことに応じて、当該業務処理の識別情報を前記記憶部に記憶する、
ことを特徴とする付記7に記載の情報蓄積システム。
(付記9)前記情報処理装置は、
前記複数の情報処理装置のいずれかにおいて発生した障害の識別情報を受け付けたことに応じて、自装置において発生した障害の識別情報を記憶する記憶部の記憶内容に、受け付けた前記障害の識別情報が記憶されているか否かを判定し、
前記障害の識別情報が記憶されていると判定したことに応じて、自装置の動作情報を採取する、
ことを特徴とする付記6〜8のいずれか一つに記載の情報蓄積システム。
(付記10)前記情報処理装置は、
自装置が実行するプロセスの完了確認要求を受け付け、自装置において実行中のプロセスの識別情報を記憶する記憶部の記憶内容に、完了確認要求された前記プロセスの識別情報が記憶されているか否かを判定し、
前記プロセスの識別情報が記憶されていることに応じて、自装置の動作情報を採取する、
ことを特徴とする付記6〜9のいずれか一つに記載の情報蓄積システム。
(付記11)前記情報処理装置は、
自装置が実行するプロセスの起動確認要求を受け付け、自装置において実行中のプロセスの識別情報を記憶する記憶部の記憶内容に、起動確認要求された前記プロセスの識別情報が記憶されているか否かを判定し、
前記プロセスの識別情報が記憶されていないことに応じて、自装置の動作情報を採取する、
ことを特徴とする付記6〜10のいずれか一つに記載の情報蓄積システム。
(付記12)前記情報処理装置は、
再起動の要求を受け付けたことに応じて、自装置の再起動を行い、
再起動が完了したことに応じて、再起動の完了通知を出力する、
ことを特徴とする付記6〜11のいずれか一つに記載の情報蓄積システム。
(付記13)さらに、前記情報処理装置と通信可能な管理装置を有し、
前記管理装置は、
前記情報処理装置の動作情報の採取指示を受け付けたことに応じて、前記情報処理装置に応答要求を送信し、
前記応答要求に対する応答を受信しなかったことに応じて、前記情報処理装置に再起動要求を出力し、
前記情報処理装置から再起動の完了通知を受け付けたことに応じて、前記情報処理装置に前記情報処理装置の動作情報の採取指示を送信し、
前記情報処理装置により採取された動作情報と、当該動作情報の採取時刻以前における前記情報処理装置についての動作情報の採取時刻とを、前記情報処理装置から取得し、
前記情報蓄積装置に、取得した前記動作情報と取得した前記採取時刻とを送信する、
ことを特徴とする付記12に記載の情報蓄積システム。