(57)【要約】【課題】従来は、調査者が採取したいファイル名を決定しなければならず、時間が掛かるとともに、プロセスがアクセスしたファイルに要因があるが、どのファイルなのか分からない場合、採取をせずに正確な調査ができないという問題があった。【解決手段】上記課題を解決するために、監視対象プロセス名を入力するユーザインタフェース部、前記入力されたプロセス名を管理する監視リスト管理部、前記入力されたプロセスを管理するプロセス管理部を備えた管理マネージャと、前記管理マネージャから通知されたプロセス名を監視し、採取ファイル名一覧を作成するフィルタドライバと、前記フィルタドライバから採取ファイル一覧を取得してファイルを採取するファイル採取コマンドを備えることを特徴とするプロセス別ファイル採取システムにより解決する。【選択図】図１
2007122406.tif 000002
【特許請求の範囲】
【請求項１】
入力装置から監視対象となるプロセス名を入力するユーザインタフェース部、前記入力されたプロセス名からプロセスIDを求め、その組を監視リストとして記録管理する監視リスト管理部、前記作成された監視リストを元にプロセスを監視し、プロセスIDに変更があれば監視リストを変更するプロセス管理部を備えた管理マネージャと、前記作成または前記変更された監視リストを元にプロセスのファイルアクセスを監視し、監視リスト内のプロセス名と、アクセスしたファイル名を組として採取ファイル名一覧として作成するフィルタドライバと、前記フィルタドライバから採取ファイル名一覧を取得して、一覧中のファイルを採取するファイル採取コマンドとを備えることを特徴とするプロセス別ファイル採取システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム障害時に原因特定するための資料収集の方法およびそのシステムに関するものである。
【背景技術】
【０００２】
システムの障害発生時、障害原因を特定するために、システム運用者がログファイル等の調査に必要なファイルを採取して調査者に調査依頼をする。この際、採取対象ファイルのファイル名をコピーコマンド等に指定してファイルを採取するが、採取対象ファイルが多い場合、操作に時間が掛かる、ファイルの採取漏れが起こり易い等があった。特開２００２−３４２１４１号公報によると、採取（バックアップ）するファイルのファイル名若しくは、ディレクトリ名を記録（登録）したバックアップセット定義ファイルを予め準備しておき、ファイル採取時の手間を軽減する方法を提示している。
【０００３】
【特許文献１】特開２００２−３４２１４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記従来技術では、以下の点が考慮されていない。
【０００５】
採取対象ファイルが一定の場合には対応できるが、予め定めておくことができないファイル、例えばプロセスが使用するファイルが一定でない場合、必要なファイルを採取することができず、その一定でないファイルがシステム障害の原因となっている場合、障害の原因を特定できない事があった。
【０００６】
本発明の目的は、プロセスがアクセスしたファイルを人間が意識すること無く、自動的に漏れなく採取し、より正確かつ迅速な障害調査が可能なファイル採取システムを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、入力装置から監視対象のプロセス名を登録する機能を提供する。さらに、監視対象プロセスのプロセスＩＤを求めて監視対象プロセスのファイルアクセスをフィルタドライバによって監視し、障害調査時に採取するファイル名の一覧を自動作成する機能を備えたものである。さらに、採取するファイル名の一覧から、実際にファイルを採取するコマンドを提供するものである。さらに、監視しているプロセスが再起動してプロセスＩＤが変更しても、誤りなくファイルアクセス監視ができる機能を備えていることを特徴としたものである。
【発明の効果】
【０００８】
本発明によれば、監視対象に指定したプロセスがアクセスしたファイル名の一覧を漏れなく自動的に作成できるので、監視対象プロセスのアクセスしたファイルが原因と関連している場合、障害原因特定に必要なファイルが採取できる。また、障害発生時に調査に必要なファイルを自分で調査する必要が無くなるという利点がある。さらに、ファイル採取コマンドによって自動的にファイルを採取できるので、迅速な障害調査が可能になるという利点がある。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。
【００１０】
図１は、本発明における一実施例であるプロセス別ファイル採取システムの構成を示すものである。本実施例では、コンピュータ１と入力装置２、ディスク装置３で構成され、コンピュータ１には監視対象プロセスを管理する管理マネージャ４およびファイルの内容を取得するファイル採取コマンド５、プロセスがアクセスするファイルを監視するフィルタドライバ６、ファイルに対するI／Ｏを行うファイルシステム７、監視対象となるアプリケーションプロセス群８が割り当てられている。管理マネージャ４はユーザインタフェース部９、監視リスト管理部１０およびプロセス管理部１１で構成されている。また、コンピュータ１には監視対象となるプロセスを監視するためのデータ構造である監視リスト２０が割り当てられている。更に、ディスク装置３には採取するファイル名の一覧を保存するためのデータ構造である採取ファイル名一覧２１が割り当てられている。
【００１１】
図２は図１で示した構成の各要素をさらに詳細化したものである。
【００１２】
ユーザインタフェース部９には入力装置２から監視対象のプロセス名を入力する手段を提供するユーザ入力受付機能１２を備える。さらに、プロセス管理部１１には前記入力されたプロセス名からプロセスＩＤを求めるプロセスＩＤ取得機能１３を備える。さらに、監視リスト管理部１０には前記入力されたプロセス名と前記求めたプロセスＩＤを組として監視リスト２０として記録管理する監視リスト反映機能１４を備える。さらに、プロセス管理部１１には前記作成された監視リスト２０を元にプロセスを監視し、プロセスＩＤに変更があれば監視リスト２０を変更するプロセスＩＤ変更監視機能１５を備える。さらに、フィルタドライバ６には前記作成または前記変更された監視リスト２０を元に監視対象となるプロセスのファイルアクセスを監視するファイルアクセス監視機能１６を備える。さらに、フィルタドライバ６には前記ファイルアクセス監視機能１６において、ファイルアクセスしたプロセスが監視対象であった場合に、監視リスト２０内のプロセス名と、アクセスしたファイル名の組を採取ファイル名一覧２１として作成する採取ファイル名一覧反映機能１７を備える。さらに、プロセス管理部１１には前記ファイルアクセス監視機能１６において、プロセスの再起動によりプロセスＩＤが変更されたが、まだプロセスＩＤ変更監視機能１５が監視リスト２０を反映していない時に、再起動する前のプロセスＩＤで監視対象外のプロセスが起動しファイルアクセスした場合、アクセスしたファイル名を監視対象プロセスのファイル名として誤って採取ファイル名一覧２１に登録しないために、アクセスしたプロセスＩＤに対応するプロセス名を確認するプロセス名確認機能１８を備える。さらに、ファイル採取コマンド５には前記作成した採取ファイル名一覧２１から実際にファイルを採取するファイル採取機能１９を備える。
【００１３】
なお、ユーザ入力受付機能１２は、監視対象プロセス名の登録だけでなく、監視対象プロセスの削除も行うことができる。その際、監視リスト反映機能１４によって、監視リスト２０から対象となるプロセス名およびプロセスＩＤの組を削除する。さらに、採取ファイル名一覧反映機能１７に対してプロセス名と対応したファイル名の組の削除を依頼する。
【００１４】
図３は各リストのデータ構造である。監視リスト２０では、プロセス名と、プロセス名に対応したプロセスＩＤの組で構成される。プロセス名は複数登録することが出来る。また、プロセス名に対するプロセスＩＤも複数登録することができる。監視リスト２０はコンピュータ２内の主記憶装置上に記録される。採取ファイル名一覧２１のデータ構造２１は、プロセス名と、そのプロセスがアクセスしたファイル名の組で構成される。プロセス名は複数登録することができる。また、プロセス名に対応するファイル名も複数登録することが出来る。採取ファイル名一覧２１はディスク装置３上に記録される。
【００１５】
図４は入力装置２のインタフェースを示した図である。入力装置２は、ユーザ入力受付機能１２に対して、プロセス名と、変更種別を送信する。変更種別は、プロセスの登録時は「登録」、プロセスの削除時は「削除」である。
【００１６】
図５はユーザインタフェース部９のインタフェースを示した図である。ユーザ入力受付機能１２は、監視リスト反映機能１４に対して、プロセス名と、変更種別を送信する。変更種別は、プロセスの登録時は「登録」、プロセスの削除時は「削除」である。
【００１７】
図６は監視リスト管理部１０のインタフェースを示した図である。監視リスト反映機能１４はユーザ入力受付機能１２から呼ばれ、受信した変更種別が「登録」の場合、プロセスＩＤ取得機能１３にプロセス名を送信し、プロセスＩＤ取得機能１３からプロセスＩＤを受信する。その後、前記で求めたプロセス名とプロセスＩＤを監視リスト２０に追加する。また、採取ファイル名一覧反映機能１７に対してプロセス名と変更種別を送信する。この時の変更内容は、「登録」である。しかし、ユーザ入力受付機能１２から渡されたプロセス名が既に監視リスト２０に存在する場合は、プロセスＩＤ取得機能１３および採取ファイル一覧反映機能１７を呼ばずに、エラーをユーザ入力受付機能１２に返す。また、プロセスＩＤ取得機能１３でプロセスＩＤ取得が失敗した場合、該当するプロセスが存在しないと判断し、ユーザ入力受付機能１２に対してエラーを返し、処理を中断する。
【００１８】
ユーザ入力受付機能１２から受信した変更種別が「削除」の場合は、プロセスＩＤ取得機能１３は呼ばずに、採取ファイル名一覧反映機能１７に対してプロセス名と変更種別を送信する。この時の変更内容は「削除」である。しかし、ユーザ入力受付機能１２から渡されたプロセス名が監視リスト２０に存在しない場合は、採取ファイル名一覧反映機能１７を呼ばずに、エラーをユーザ入力受付機能１２に返す。
【００１９】
採取ファイル名一覧反映機能１７では、監視リスト反映機能１４から受信した変更種別が「登録」の場合は、採取ファイル名一覧２１にプロセス名を追加する。変更種別が「削除」の場合は、採取ファイル名一覧２１からプロセス名と、対応するファイル名の組を削除する。
【００２０】
図７はプロセス管理部１１のインタフェースを示した図である。プロセスＩＤ変更監視機能１５は、プロセス名をプロセスＩＤ取得機能１３に送信し、対応するプロセスＩＤを取得する。もしプロセスＩＤに変更があれば、プロセス名とプロセスＩＤの組および変更種別を監視リスト反映機能１４に送信する。この時の変更種別は「変更」である。監視リスト反映機能１４では、渡された変更種別が「変更」の場合、同時に渡されてきたプロセス名と同じプロセス名プロセスＩＤの組で、既存の監視リスト２０の内容を置き換える。なお、この機能は定期的に実行される。
【００２１】
図８は、フィルタドライバのインタフェースを示した図である。ファイルアクセス監視機能１６は、監視対象プロセスが一度もアクセスしたことが無いファイルにアクセスすると、ファイルにアクセスしたプロセスのプロセスＩＤをプロセス名確認機能１８に送信し、プロセス名を取得する。そして、取得したプロセス名と監視リスト２０中のプロセス名が一致していれば、ファイルアクセスしたプロセスが監視対象プロセスに間違いないと判断し、プロセス名とアクセスしたファイル名、変更種別を採取ファイル名一覧反映機能１７に送信する。この時の変更種別は「ファイル追加」である。採取ファイル名一覧反映機能１７では、ファイルアクセス監視機能１６から受信した変更種別が「ファイル追加」の場合、同じくファイルアクセス監視機能１６から受信したプロセス名と同じプロセス名を採取ファイル名一覧２１から検索し、見つかったら、その行に、ファイルアクセス監視機能１６から受信したファイル名を追加する。
【００２２】
図９は、ファイルアクセス監視機能１６によるファイルアクセス監視の流れを示す。まず、フィルタドライバが、ファイルアクセスを検知する（ステップ２２）。次に、ファイルアクセスしたプロセスが監視対象プロセスかどうかを、監視リスト２０から調べる(ステップ２３)。ファイルアクセスしたプロセスが監視対象プロセスで無い場合、処理を終了する。ファイルアクセスしたプロセスが監視対象プロセスの場合、そのプロセス名を保存しておく（ステップ２４）。次に、アクセスしたファイル名が既に採取ファイル名一覧２１に存在しているかを調べる（ステップ２５）。既に存在する場合、処理を終了する。存在していない場合、プロセス名を確認する（ステップ２６）。具体的には、図８において、ファイルアクセス監視機能１６がプロセス名確認機能１８に対し確認したいプロセスＩＤを送信し、対応するプロセス名を取得する。その後、前記保存したプロセス名と、前記確認したプロセス名を比較（ステップ２７）し、異なる場合は処理を終了する。一致した場合は、採取ファイル名一覧２１にファイル名を追加する（ステップ２８）。具体的には、図８において、ファイルアクセス監視機能１６がファイル採取名一覧反映機能１７に対しファイルアクセスしたプロセス名、ファイルアクセス対象となるファイル名および変更種別「ファイル追加」を送信する。
【００２３】
図１０は、ファイル採取コマンド５実行時の流れを示す。まず、ユーザが、ファイル採取取得コマンド５を実行する。次に、ファイル採取コマンド５が、ディスク装置３から採取ファイル名一覧２１を読み（ステップ２９）、一覧中のファイルを取得する（ステップ３０）。
【００２４】
図１１は、プロセスＩＤ変更監視機能１５の処理の流れを示す。まず、監視リスト２０から１行取り出す（ステップ３２）。次に、取り出したプロセス名に対するプロセスＩＤをＯＳに問合せる（ステップ３３）。具体的には、図７において、プロセスＩＤ変更監視機能１５がプロセスＩＤ取得機能１３にプロセス名を送信し、対応するプロセスＩＤを取得する。次に、プロセスＩＤに変更があるか判断（ステップ３４）し、変更があれば、監視リスト２０の内容を上書きする（ステップ３５）。具体的には、図７において、プロセスＩＤ変更監視機能１５が変更のあったプロセス名とプロセスＩＤの組および変更種別「変更」を監視リスト反映機能１４に対して送信する。以上を監視リスト２０の最後の行まで繰り返す（ステップ３１）。監視リスト２０の最後の行まで繰り返した後は、一定時間待ち（ステップ３６）、また監視リスト２０の先頭から１行づつ取り出し（ステップ３２）て監視を繰り返す。
【００２５】
図１２は、ユーザによる、プロセス名登録の流れを示す。まず、ユーザが管理マネージャ４に対しプロセス名の登録を通知する。（ステップ３７）。具体的には、図４において、入力装置２から、登録したいプロセス名と変更種別「登録」をユーザ入力受付機能１２に送信する。その後、図５において、ユーザ入力受付機能１２から、登録したいプロセス名と変更種別「登録」を監視リスト反映機能１４に送信する。次に、管理マネージャ４が、対応するプロセスＩＤを求める（ステップ３８）。具体的には、図６において、監視リスト反映機能１４がプロセスＩＤ取得機能１３にプロセス名を送信し、対応するプロセスＩＤを取得する。次に、管理マネージャ４が、プロセス名とプロセスＩＤの組を監視リスト２０に追加する（ステップ３９）。最後に、フィルタドライバ６が、採取ファイル名一覧２１にプロセス名を登録する（ステップ４０）。具体的には、図６において、監視リスト反映機能１４から登録したいプロセス名と変更種別「登録」を採取ファイル名一覧反映機能１７に送信する。
【００２６】
図１３は、ユーザによる、プロセス名削除の流れを示す。まず、ユーザが管理マネージャ４に対しプロセス名の削除を通知する（ステップ４１）。具体的には、図４において、入力装置２から、削除したいプロセス名と変更種別「削除」をユーザ入力受付機能１２に送信する。その後、図５において、ユーザ入力受付機能１２から、削除したいプロセス名と変更種別「削除」を監視リスト反映機能１４に送信する。次に、管理マネージャ４が、監視リスト２０からプロセス名とそれに対応したプロセスＩＤを削除する（ステップ４２）。最後に、フィルタドライバ６が、採取ファイル名一覧２１から、プロセス名とプロセスＩＤを削除する（ステップ４３）。具体的には、図６において、監視リスト反映機能１４から削除したいプロセス名と変更種別「削除」を採取ファイル名一覧反映機能１７に送信する。
【図面の簡単な説明】
【００２７】
【図１】システム構成図である。
【図２】機能構成図である。
【図３】監視リスト及び採取ファイル名一覧のデータ構造図である。
【図４】入力装置のインタフェース図である。
【図５】ユーザインタフェース部のインタフェース図である。
【図６】監視リスト管理部のインタフェース図である。
【図７】プロセス管理部のインタフェース図である。
【図８】フィルタドライバのインタフェース図である。
【図９】ファイルアクセス監視機能の処理フロー図である。
【図１０】ファイル採取コマンド実行時の処理フロー図である。
【図１１】プロセスＩＤ変更監視機能の処理フロー図である。
【図１２】ユーザによる、プロセス名登録時のフロー図である。
【図１３】ユーザによる、プロセス名削除時のフロー図である。
【符号の説明】
【００２８】
１…コンピュータ、２…入力装置、３…ディスク装置、４…管理マネージャ、５…ファイル採取コマンド、６…フィルタドライバ、７…ファイルシステム、８…アプリケーションプロセス群、９…ユーザインタフェース部、１０…監視リスト管理部、１１…プロセス管理部、２０…監視リスト、２１…採取ファイル名一覧。
【図１】
2007122406.tif 000003
【図２】
2007122406.tif 000004
【図３】
2007122406.tif 000005
【図４】
2007122406.tif 000006
【図５】
2007122406.tif 000007
【図６】
2007122406.tif 000008
【図７】
2007122406.tif 000009
【図８】
2007122406.tif 000010
【図９】
2007122406.tif 000011
【図１０】
2007122406.tif 000012
【図１１】
2007122406.tif 000013
【図１２】
2007122406.tif 000014
【図１３】
2007122406.tif 000015