(57)【要約】      （修正有）【課題】管理者による障害原因の解析作業の効率を向上させる。【解決手段】監視装置２において、収集部２０１は，業務処理を実行する業務システムが処理する業務データの単位データを収集し、受付部２０２２は収集した単位データを受け付け、格納部２０２３は単位データを記憶装置２４に記憶する。複数の処理の何れかの処理においてエラーが発生し、ログ処理部２０２５がこのエラーを検知すると、ログ退避部２０２６は、定義ファイル２４２において発生した前記エラーと一致するエラーの内容と対応付けられた記憶領域に記憶されたログを、複数の記憶領域Ｌ１〜Ｌ５を含む記憶領域２４１とは異なる退避ログファイル２４３に複製する。【選択図】図２
2014067369.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理それぞれの実行に応じて該複数の処理それぞれの処理の履歴を示す履歴情報を記憶する，前記複数の処理それぞれに対して割り当てられた複数の記憶領域を備え，前記複数の処理の何れかの処理において発生する障害の内容と前記複数の記憶領域のうちの少なくとも１つの記憶領域とが対応付けられた対応情報を記憶する記憶手段と，
前記複数の処理の何れかの処理において障害が発生した場合，前記記憶手段に記憶された前記対応情報において発生した前記障害と一致する障害の内容と対応付けられた記憶領域に記憶された履歴情報を，前記複数の記憶領域とは異なる記憶領域に複製する制御部と，
を有することを特徴とする情報処理装置。 
【請求項２】
請求項1において，
前記対応情報は，前記障害の内容として履歴情報を複製する条件を含み，
前記制御部は，発生した前記障害の内容が前記条件に一致するか判定し，発生した前記障害の内容が前記条件に一致する場合，前記条件と対応付けられた記憶領域に記憶された履歴情報を，前記複数の記憶領域とは異なる記憶領域に複製する
ことを特徴とする情報処理装置。 
【請求項３】
請求項2において，
前記対応情報は，さらに，複製対象の履歴情報を記憶する記憶領域を特定する記憶領域特定情報と，複製対象の履歴情報を特定する履歴情報特定情報とを含み，
前記制御部は，発生した前記障害の内容が前記条件に一致する場合，前記複数の記憶領域の中から，前記記憶領域特定情報に基づき，複製対象の履歴情報を記憶する記憶領域を特定し，前記特定した記憶領域の履歴情報の中から，前記履歴情報特定情報に基づき，複製対象の履歴情報を特定し前記特定した履歴情報を前記複数の記憶領域とは異なる記憶領域に複製する
ことを特徴とする情報処理装置。 
【請求項４】
請求項1において，
前記制御部は，前記複数の処理として，業務処理を実行する業務システムが処理する業務データの単位データを収集する処理と，前記単位データを記憶手段に記憶しデータベースを作成する処理と，前記データベースの前記単位データを監視する処理を有する
ことを特徴とする情報処理装置。 
【請求項５】
コンピュータに，
複数の処理それぞれの実行に応じて該複数の処理それぞれの処理の履歴を示す履歴情報を記憶する記憶手段における記憶領域を前記複数の処理それぞれに対して割り当て，
前記複数の処理の何れかの処理において障害が発生した場合，前記記憶手段に記憶された，前記複数の処理の何れかの処理において発生する障害の内容と複数の前記記憶領域のうちの少なくとも１つの記憶領域とが対応付けられた対応情報において，発生した前記障害と一致する障害の内容と対応付けられた記憶領域に記憶された履歴情報を，前記複数の記憶領域とは異なる記憶領域に複製する処理を実行させる
ことを特徴とするプログラム。 
【請求項６】
複数の処理それぞれの実行に応じて該複数の処理それぞれの処理の履歴を示す履歴情報を記憶する，前記複数の処理それぞれに対して割り当てられた複数の記憶領域を備えた記憶手段を備えた情報処理装置で実行される情報処理方法であって，
前記情報処理装置は，前記複数の処理の何れかの処理において障害が発生した場合，前記記憶手段に記憶された，前記複数の処理の何れかの処理において発生する障害の内容と前記複数の記憶領域のうちの少なくとも１つの記憶領域とが対応付けられた対応情報において，発生した前記障害と一致する障害の内容と対応付けられた記憶領域に記憶された履歴情報を，前記複数の記憶領域とは異なる記憶領域に複製する 
ことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，情報処理装置，プログラム，情報処理方法に関する。
【背景技術】
【０００２】
情報処理装置は，複数の処理を順次実行し実行した処理の履歴を示す履歴情報(以下，ログと適宜記す)を処理毎に出力する。そして，情報処理装置は，処理毎に出力した各ログを，それぞれ処理毎のログファイルに記憶する。
【０００３】
処理の実行において障害が発生すると，情報処理装置の管理者は，前記処理のログを解析し障害原因の解析(障害発生原因の解析とも呼ぶ)を行う。そこで，障害原因の解析に資する技術が様々提案されている。例えば，情報処理を実行する複数のコンポーネントを含むシステムにおいて，障害が発生したイベントを検出することが可能な検出ルールを生成することができる装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2007-18131号公報
【特許文献２】特開2008-198123号公報
【特許文献３】特開2009-110318号公報
【特許文献４】国際公開第WO2010-024133号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし，かかる検出ルールを作成することができる装置は，事前にコンポーネント間の依存関係を把握しなければ，かかる検出ルールを作成することができない。そのため，コンポーネント間の依存関係を把握しない場合には，かかる装置は，かかる検出ルールを作成することができず，その結果，障害原因の解析に有用な情報を提供することができない。
【０００６】
また，情報処理装置は，ログファイルの容量が所定の容量を超えると，前記ログファイルのログの中から最も過去に記憶したログを削除して，前記ログファイルの容量を所定の容量以下にする(巡回方式のログ記憶とも呼ぶ)。従って，障害が発生してから管理者が障害原因の解析を行うまでの時間が長い場合には，情報処理装置において，管理者が前記解析を行うまでに，ログファイルのログの中から障害原因の解析に必要なログが削除されてしまうことがある。その結果，管理者は，障害原因の解析をすることができない。
【０００７】
また，管理者は，複数のログファイルを解析して障害原因を解析することがある。解析対象のログファイルが多数あると，管理者は，多数のログファイルを解析しなければならず，障害原因の解析が手間取る。
【０００８】
1つの側面では，本発明は，管理者による障害原因の解析作業の効率を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
情報処理装置の第1の側面は，複数の処理それぞれの実行に応じて該複数の処理それぞれの処理の履歴を示す履歴情報を記憶する，前記複数の処理それぞれに対して割り当てられた複数の記憶領域を備え，前記複数の処理の何れかの処理において発生する障害の内容と前記複数の記憶領域のうちの少なくとも１つの記憶領域とが対応付けられた対応情報を記憶する記憶手段と，前記複数の処理の何れかの処理において障害が発生した場合，前記記憶手段に記憶された前記対応情報において発生した前記障害と一致する障害の内容と対応付けられた記憶領域に記憶された履歴情報を，前記複数の記憶領域とは異なる記憶領域に複製する制御部とを有する。
【発明の効果】
【００１０】
一実施形態によれば，管理者による障害原因の解析作業の効率を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態における全体システムを説明するハードウェアブロック図である。
【図２】図1のソフトウェアモジュールのブロック図である。
【図３】図2で説明したソフトウェアと監視装置が実行する他のソフトウェアとの階層関係を模式的に示す図である。
【図４】収集ログファイルの一例を示す図である。
【図５】受付ログファイルの一例を示す図である。
【図６】格納ログファイルの一例を示す図である。
【図７】集計ログファイルの一例を示す図である。
【図８】検索ログファイルの一例を示す図である。
【図９】図2の定義ファイルの一例を示す図である。
【図１０】図2の退避ログファイルの一例を示す図である。
【図１１】監視装置が実行する初期化処理の流れを説明するフロー図である。
【図１２】監視装置がエラー発生時に実行する処理の流れを説明するフロー図である。
【図１３】収集ログファイルの他の例を示す図である。
【図１４】受付ログファイルの他の例を示す図である。
【図１５】格納ログファイルの他の例を示す図である。
【図１６】検索ログファイルの他の例を示す図である。
【図１７】図2の退避ログファイルの他の例を示す図である。
【図１８】図2の定義ファイルの他の例を示す図である。
【発明を実施するための形態】
【００１２】
(システム)
図1は，本実施の形態における全体システムSYSを説明するハードウェアブロック図である。なお，以下の説明において，同一の要素については同じ符号を付してその説明を適宜省略する。
【００１３】
全体システムSYSは，ネットワークNTに接続される，業務システム1と，監視装置2と，端末装置(管理者)3と，端末装置(利用者)4とを有する。ネットワークNTは，例えば，LAN(Local Area Network)である。
【００１４】
業務システム1は，業務処理を実行(管理とも呼ぶ)する業務システムであり，例えば，在庫管理処理を実行する在庫管理システムや，宅配便貨物管理処理を実行する宅配便貨物管理システムである。業務システム1は，内部ネットワーク(図示しない)を介して接続される，業務サーバ11と，業務データベース12とを有する。
【００１５】
業務サーバ11は，この業務システム1が処理する業務データを収集し，業務データベース12に送信する。
【００１６】
業務データベース12は，業務サーバ11から送信された業務データを受信し，記憶する。業務サーバ11は，1レコード単位で，業務データの内容を管理する。以下の説明において，前記1レコード単位の業務データをイベントと適宜記す。業務データベース12は，監視装置2からのイベント送信要求に応答して，記憶している業務データをイベント単位で取得し，取得したイベントを監視装置2に送信する。
【００１７】
業務システム1が，例えば，在庫管理システムの場合，前記イベントは，ある店舗が有するある商品の名前，この店舗におけるある日時でのこの商品の在庫数量を有する。なお，以下の説明において日時とは年月日および時分を含むものとする。具体的には，店舗Xにおける日時"2012-02-19 12:21"での在庫商品名AAAの在庫数量300個である。
【００１８】
業務システム1が在庫管理システムの場合，業務サーバ11は，例えば，POS(Point Of Sale)システムなどを利用して，業務データを収集する。前記例の場合，業務サーバ11は，店舗Xにおける日時"2012-02-19 12:21"での在庫商品名AAAの在庫数量300個というデータを有する業務データを収集し，１イベントとして業務データベース12に記憶する。本実施の形態では，業務システム1として，在庫管理システムを例示して説明する。
【００１９】
監視装置2は，業務内容の実施状況や実績を監視し，業務システムの管理者がBPM(Business Process Management)を行うために必要な情報を提供する。
【００２０】
監視装置2は，例えば，業務データのイベントの各種数値を逐次監視することで最新の業務状況を可視化する処理を実行する。監視装置2は，前記可視化として，イベントの各種数値を集計し，時系列でグラフ化して，各種数値の時系列での変化内容を監視装置2の利用者の端末装置4に出力する。監視装置2の利用者は，業務システムの管理者でもある。他にも，監視装置2は，業務プロセス上の発生するさまざまな事象に対して，重要業績評価指標(KPI：Key Performance Indicator)を設定して監視を自動化するアラーティング処理を実行する。監視装置2は，前記アラーティング処理として，監視対象となる数値とこの数値の閾値とを比較し，この比較結果に基づき，アラートを利用者の端末装置4に出力する。
【００２１】
監視装置2は，例えばバスBを介して相互に接続された，CPU(Central Processing Unit)21と，メモリ22と，通信装置23と，記憶装置24と，イベントデータベース25と，記録媒体読み取り装置26とを有する。なお，記憶装置24は，記憶手段とも呼ばれる。
【００２２】
CPU21は，監視装置2の全体を制御するコンピュータ(制御部)である。メモリ22は，CPU21が実行する各種情報処理において処理されたデータや各種プログラムを一時的に記憶する。さらに，メモリ22は，後記する各種プログラムが出力したログをログデータ221として一時的に記憶する。ログは，処理の履歴を示す履歴情報とも呼ばれる。
【００２３】
通信装置23は，例えばネットワークインターフェイスカード(NIC:Network Interface Card)であり，ネットワークNTに接続し，このネットワークNTに接続している各種装置との通信を行う。記憶装置24は，例えば，ハードディスクドライブ(HDD:Hard Disk Drive)などの磁気記憶装置や，不揮発性のメモリ(Non-volatile memory)である。記憶装置24は，図4〜図8で説明するログファイル群241，図9で説明する定義ファイル242，図10で説明する退避ログファイル243を記憶する。なお，監視装置2は，1つの記憶装置にログファイル群241，定義ファイル242，退避ログファイル243を記憶するのではなく，これらファイル(241〜243)をそれぞれ異なる記憶装置に記憶してもよい。すなわち，監視装置2は，ログファイル群241を記憶する第1の記憶装置と，定義ファイル242を記憶する第2の記憶装置と，退避ログファイル243を記憶する第3の記憶装置とを有してもよい。
【００２４】
イベントデータベース25は，HDDなどの記憶装置を有し，図2で説明する収集部が業務システム1の業務データベース12から収集したイベントを所定の形式で格納し管理するデータベースである。
【００２５】
記録媒体読み取り装置26は，記録媒体261に記録されたデータを読み取る装置である。記録媒体261は，例えば，CD-ROM(Compact Disc Read Only Memory)，DVD(Digital Versatile Disc)，USB(Universal Serial Bus)メモリなどの可搬型記録媒体である。なお，図2で説明するプログラムをこの記録媒体261に記録してもよい。
【００２６】
端末装置3は，監視装置2を管理する管理者用の端末装置であり，図9で説明する定義ファイル242の作成を行う。
【００２７】
端末装置4は，監視装置2の利用者用の端末装置であり，例えば，ウェブブラウザを介して監視装置2に接続して，監視装置2が出力する各種情報を受信し表示出力する。
【００２８】
(ソフトウェアモジュール)
図2は，図1の監視装置2のソフトウェアモジュールのブロック図である。監視装置2において，ハードウェア要素である，メモリ22，記憶装置24，イベントデータベース25は，点線で図示している。監視装置2は，管理部200と，収集部201と，処理部202と，出力部203と，外部インターフェイス204とを有する。
【００２９】
管理部200は，監視装置2が実行するソフトウェアモジュールを管理する。具体的には，管理部200は，収集部201，処理部202，出力部203，外部インターフェイス204を管理する。収集部201は，イベントの収集処理を実行する。具体的には，収集部201は，所定の時間間隔毎に，業務システム1(図1参照)の業務データベース12に接続して，未収集のイベントを送信するように要求する。所定の時間とは，例えば，10秒，1分，10分，1時間，12時間，24時間である。以下の説明では，業務データベース12におけるイベントの更新頻度が頻繁でないことから，所定の時間を1時間とする。業務データベース12は，前記要求に応答して，収集部201が未収集のイベントを収集し，収集したイベントを収集部201に送信する。収集部201は，業務データベース12から送信されたイベントを受信し，処理部202に出力する。
【００３０】
さらに，収集部201は，イベントを業務システム1から収集し，収集したイベントを処理部202に出力する処理のログを示す収集ログをメモリ22にログデータ221として記憶する。収集部201は，業務システム1の業務データベース12に接続処理を実行した日時，前記接続処理が成功したかまたは失敗したかを示す接続情報を収集ログに含める。さらに，収集部201は，前記接続処理が成功した場合に，業務データベース12から業務データを収集する処理を実行した日時，収集処理が成功したかまたは失敗したかを示す収集情報を収集ログに含める。
【００３１】
処理部202は，収集部201が収集したイベントに各種処理を実行する。処理部202は，管理部2021と，受付部2022と，格納部2023と，集計部2024と，ログ処理部2025と，ログ退避部2026とを有する。
【００３２】
管理部2021は，運用マネージャーとも呼ばれ，処理部202全体を管理する。具体的には，管理部2021は，受付部2022，格納部2023，集計部2024，ログ処理部2025，ログ退避部2026の動作管理を行う。
【００３３】
受付部2022は，収集部201に対するインターフェイスとして機能し，収集部201から入力されたイベントを受け付け，格納部2023に出力する。受付部2022は，イベントを受け付ける処理のログを示す受付ログをメモリ22にログデータ221として記憶する。受付部2022は，イベントの受付が成功したかまたは失敗したかを示す受付情報と，前記成功または失敗の日時とを受付ログに含める。
【００３４】
格納部2023は，受付部2022から入力されたイベントを記憶装置に格納しイベントデータベース25を作成する。換言すれば，格納部2023は，受付部2022から入力されたイベントをイベントデータベース25に格納する。格納部2023は，イベントをイベントデータベース25に格納する処理のログを示す格納ログをメモリ22にログデータ221として記憶する。格納部2023は，イベントデータベース25に接続処理を実行した日時，前記接続処理が成功したかまたは失敗したかを示す接続情報を格納ログに含める。さらに，格納部2023は，前記接続処理が成功した場合に，イベントをイベントデータベース25に格納する格納処理を実行した日時，格納処理が成功したかまたは失敗したかを示す格納情報を格納ログに含める。
【００３５】
集計部2024は，例えば格納部2023がイベントをイベントデータベース25に格納する処理が終了したタイミングで，イベントデータベース25に接続する。そして，集計部2024は，イベントデータベース25が格納するイベントを取得し，取得したイベントの各種数値に対して，BPMを実行する上で必要な各種計算処理を実行し計算済みデータとして，出力部203に出力する。また，処理部202は，計算済みデータをイベントデータベース25に記憶する。前記各種計算処理の一例として，前記数値の平均や合計を算出する集計処理がある。なお，他にも，集計部2024は，所定時間間隔(例えば10分間隔)や，外部インターフェイス204，管理部200を介して端末装置4から入力された集計開始指示に応答して，イベントデータベース25への接続処理，イベントの取得処理，集計処理を実行してもよい。
【００３６】
集計部2024は，イベントを集計する処理のログを示す集計ログをメモリ22にログデータ221として記憶する。集計部2024は，イベントデータベース25に接続処理を実行した日時，前記接続処理が成功したかまたは失敗したかを示す接続情報を集計ログに含める。
【００３７】
集計部2024は，前記接続処理が成功した場合に，イベントの取得処理を実行した日時，取得処理が成功したかまたは失敗したかを示す取得情報を集計ログに含める。さらに，集計部2024は，前記取得処理が成功した場合に，集計処理を実行した日時，集計処理が成功したかまたは失敗したかを示す集計情報を集計ログに含める。
【００３８】
出力部203は，イベントデータベース25が格納するイベントや，処理部202が出力したデータに基づき，図1で説明したように，最新の業務状況を可視化した内容を利用者用の端末装置4に表示出力したり，アラートを端末装置4に表示出力する。これら表示出力機能は，ダッシュボード機能とも呼ばれる。なお，出力部203は，前記可視化した内容や前記アラートを，電子メールを利用して利用者に通知してもよい。他にも，出力部203は，前記可視化した内容を出力するためのスクリプトや，アラート出力用のスクリプトがある場合には，これらスクリプトを起動してもよい。これらスクリプトは，例えばバッチファイルである。また，出力部203は，業務データの各種数値をCSV(Comma Separated Values)形式のファイルで出力してもよい。
【００３９】
以下の説明では，出力部203は，最新の業務状況を可視化した内容を表示する場合を例示して説明する。出力部203は，最新の業務状況を可視化した内容を表示する場合，イベントデータベース25が格納する複数のイベントを取得し，複数のイベントがそれぞれ有する複数の数値の時系列における変化をグラフ化して表示出力する。前記数値としては，前記イベントが1店舗におけるある商品の在庫数量を有する場合，商品の在庫量である。
【００４０】
出力部203の検索部2031は，イベントの検索用API(Application Program Interface)であり，イベントデータベース25が格納する複数のイベントの中から，検索条件に一致するイベントを検索する。出力部203は，例えば利用者により指定された検索条件を有する検索命令を検索部2031に行う。検索部2031は，検索命令に応答して，イベントデータベース25に接続し，イベントデータベース25が格納する複数のイベントの中から，指定された検索条件に一致するイベントを検索する。出力部203は，検索部2031が検索したイベントに基づき，前記数値の時系列における変化をグラフ化して表示出力する。
【００４１】
ログ処理部2025は，複数の処理それぞれの実行に応じて該複数の処理それぞれの処理のログを記憶する記憶装置24の記憶領域を前記複数の処理それぞれに対して割り当てる。これら複数の処理それぞれに対して割り当てられた各記憶領域が，前記複数の処理における各処理のログを記憶するログファイルに対応している。
【００４２】
ログ処理部2025は，収集部201が収集処理を実行することにより出力した収集ログを記憶する記憶領域(図2の符号L1参照)を前記収集処理に対して割り当てる。ログ処理部2025は，受付部2022が受付処理を実行することにより出力した受付ログを記憶する記憶領域(図2の符号L2参照)を前記受付処理に対して割り当てる。ログ処理部2025は，格納部2023が格納処理を実行することにより出力した格納ログを記憶する記憶領域(図2の符号L3参照)を前記格納処理に対して割り当てる。
【００４３】
さらに，ログ処理部2025は，集計部2024が集計処理を実行することにより出力した集計ログを記憶する記憶領域(図2の符号L4参照)を前記集計処理に対して割り当てる。ログ処理部2025は，検索部2031が検索処理を実行することにより出力した検索ログを記憶する記憶領域(図2の符号L5参照)を前記検索処理に対して割り当てる。
【００４４】
記憶装置24が，複数の処理それぞれの実行に応じて該複数の処理それぞれの処理の履歴を示す履歴情報(ログとも呼ぶ)を記憶する，前記複数の処理それぞれに対して割り当てられた複数の記憶領域を備えた記憶手段の一例である。前記複数の記憶領域は，例えば，記憶装置24の符号L1〜L5で模式的に示した領域である。
【００４５】
ログ処理部2025は，収集部201が出力した収集ログ，受付部2022が出力した受付ログ，格納部2023が出力した格納ログ，集計部2024が出力した集計ログ，検索部2031が出力した検索ログを，それぞれ異なるログファイルに記録する。出力された収集ログ，受付ログ，格納ログ，集計ログ，検索ログは，メモリ22が記憶するログ(オンメモリログとも呼ぶ)である。すなわち，メモリ22は，メモリ上にログをバッファリングするだけである。
【００４６】
ログ処理部2025は，収集ログ，受付ログ，格納ログ，集計ログ，検索ログがメモリ22に記憶されたタイミングで，これらのログをそれぞれ異なるログファイルとして記憶装置24に記憶する。収集ログのログファイルを符号"L1"でも示し，受付ログのログファイルを符号"L2"でも示し，格納ログのログファイルを符号"L3"でも示す。集計ログのログファイルを符号"L4 "でも示し，検索ログのログファイルを符号"L5"でも示す。
【００４７】
さらに，ログ処理部2025は，前記記憶領域に記憶したログの情報量が所定の量を超えると，前記所定の量を超えたログを記憶する記憶領域が記憶するログの中から，最も過去に記憶したログを削除する。具体的には，ログ処理部2025は，これらのログファイル(L1〜L5)の中の何れかのログファイルの容量が所定の容量を超えると，所定の容量を超えたログファイルが記憶するログの中から，最も過去に記憶したログを削除する，巡回方式のログ記憶を行う。所定の容量とは，例えば500Kバイト，1Mバイトである。かかる巡回方式により，ログファイルの容量を所定の容量以下にすることで，ログファイルのファイル容量の増大を抑制する。
【００４８】
ログ退避部2026は，収集部201，受付部2022，格納部2023，集計部2024，検索部2031が処理を実行中に障害(以下，エラーと適宜記す)が発生した場合，エラーの発生を検知して，以下の処理を実行する。すなわち，ログ退避部2026は，前記した複数のログファイルのログの中から，図9の定義ファイルD1に基づきログを抽出し，記憶装置24に退避ログファイル243として退避する。ここで，退避とは，複製とも呼ぶ。
【００４９】
外部インターフェイス204は，管理者用の端末装置3，利用者用の端末装置4に対するインターフェイスを提供する。具体的には，外部インターフェイス204は，端末装置3，端末装置4からの操作指示を受信し管理部200に転送する。管理部200は，入力された操作指示に対応する処理を実行する。例えば，外部インターフェイス204は，端末装置3が送信した定義ファイルを有する記憶要求を受信すると，管理部200に転送する。管理部200は，入力された記憶要求を受信すると，外部インターフェイス204を介して記憶要求が有する定義ファイルを記憶装置24に記憶する(符号242参照)。このように，外部インターフェイス204は，外部装置の一例である管理者用の端末装置3を用いて監視装置2の管理者により作成された定義ファイル242を端末装置3から受信し，記憶装置24に記憶する。
【００５０】
収集部201，処理部202，出力部203，外部インターフェイス204は，いわゆるプログラム(ソフトウェアとも呼ぶ)である。同じく，管理部2021，受付部2022，格納部2023，集計部2024，ログ処理部2025，ログ退避部2026，検索部2031は，いわゆるプログラムである。これらのプログラムは，例えば，記憶装置24に記憶されている。図1のCPU21は，起動時に，これらのプログラムを記憶装置24から読み出して，メモリ22に展開することにより，これらのプログラムをソフトウェアモジュールとして機能させる。
【００５１】
以上説明した，監視装置2は，情報処理装置とも呼ばれ，複数の処理を順次実行し実行した各処理の履歴情報を示す各ログを各処理のログファイルに記憶する処理を繰り返して実行する。ここで処理の履歴とは，例えば，この処理が実行された日時，この処理の内容などである。
【００５２】
監視装置2は，前記複数の処理として，連続して実行する複数の処理を有する第1の処理系列と，第1の処理系列の処理結果を利用して処理を行う第2の処理系列とを有し，第1の処理系列を繰り返し実行する。
【００５３】
監視装置2は，第1の処理系列として，例えば，以下の処理を有する。すなわち，業務処理を実行する業務システムが処理する業務データの単位データを収集する処理(収集部201参照)と，収集した単位データを受け付ける処理(受付部2022参照)と，単位データを記憶装置(記憶手段とも呼ぶ)に記憶しデータベースを作成する処理(格納部2023参照)とである。そして，監視装置2は，例えば，第2の処理系列として，イベントデータベース25から単位データを検索する処理(検索部2031参照)を有する。前記単位データは，図2で説明したイベントである。
【００５４】
表現を替えれば，監視装置2は，前記複数の処理として，イベントを収集する処理と，イベントを記憶装置に記憶しデータベースを作成する処理と，データベースの単位データを監視する処理(出力部203参照)を有する。
【００５５】
図3は，図2で説明したソフトウェアと監視装置2が実行する他のソフトウェアとの階層関係を模式的に示す図である。符号OSは，コンピュータシステム全般を管理するいわゆるオペレーティングシステム(Operating System)を示す。
【００５６】
符号APBは，図2で説明したソフトウェアモジュール(アプリケーションとも呼ぶ)を動作させる実行基盤である，いわゆるアプリケーション基盤を示す。アプリケーション基盤APBは，オペレーティングシステムOS上で動作する。
【００５７】
符号BPMAは，図2で説明した，収集部201，処理部202，出力部203，外部インターフェイス204を有するビジネスプロセスマネージメントアプリBPMAを示す。ビジネスプロセスマネージメントアプリBPMAは，アプリケーション基盤APB上で動作する。
【００５８】
オペレーティングシステムOS，ビジネスプロセスマネージメントアプリBPMAは，いわゆるプログラムである。このプログラムは，例えば，記憶装置24に記憶されている。図1のCPU21は，起動時に，これらのプログラムを記憶装置24から読み出して，メモリ22に展開することにより，オペレーティングシステム，アプリケーション基盤として機能させる。
【００５９】
(ログファイルの作成処理)
図1，図2，図4〜図8を参照して，ログファイルの作成処理について説明する。図4〜図8は，図2で説明したログファイルの一例を示し，図1の記憶装置24が記憶するログファイル群241の一例である。図4〜図8のログファイルは，日時欄，ID欄，内容欄を有する。なお，IDは識別子を意味する。図4〜図8において，"…"は記載省略を意味し，空白欄は未記載を意味する。
【００６０】
図4は，収集ログファイルの一例を示す図である。収集ログファイルL1は，図2の符号"L1"に対応する。収集ログファイルL1の内容については，後記する。図5は，受付ログファイルの一例を示す図である。受付ログファイルL2は，図2の符号"L2"に対応する。受付ログファイルL2の内容については，後記する。図6は，格納ログファイルの一例を示す図である。格納ログファイルL3は，図2の符号"L3"に対応する。格納ログファイルL3の内容については，後記する。
【００６１】
図7は，集計ログファイルの一例を示す図である。集計ログファイルL4は，図2の符号"L4"に対応する。集計ログファイルL4の内容については，後記する。図8は，検索ログファイルの一例を示す図である。検索ログファイルL5は，図2の符号"L5"に対応する。検索ログファイルL5の内容については，後記する。
【００６２】
図2の収集部201は，業務システム1(図1参照)の業務データベース12に接続し，未収集のイベントを業務データベース12から収集する。収集部201は，業務データベース12ヘの接続処理を実行した接続日時，接続処理が成功したことを示す接続情報を有する収集ログを生成し，メモリ22にログデータ221として記憶する。収集部201は，前記接続情報を一意に識別するIDである接続IDを生成し，接続IDを収集ログと共にメモリ22に記憶する。接続日時として例えば"2012-02-19 12:28"，接続情報として"業務データベースへの接続が成功しました。"がある。接続IDとして"CL010"がある。
【００６３】
収集部201は，イベントを収集した収集日時，収集処理が成功したことを示す収集情報を有する収集ログを生成し，メモリ22にログデータ221として記憶する。収集部201は，前記収集情報を一意に識別する収集IDを生成し，収集IDを収集ログと共にメモリ22に記憶する。収集日時として例えば"2012-02-19 12:28"，収集情報として"業務データベースからのイベント収集が成功しました。"がある。収集IDとして"CL011"がある。
【００６４】
ログ処理部2025は，メモリ22の収集ログを，記憶装置24にログファイル群241として記憶する。ログ処理部2025は，例えば，図9で説明する，"＄｛ＢＰＭＡ＿ＨＯＭＥ｝／ｌｏｇ／"で示す，記憶装置24のディレクトリにログファイル群241を記憶する。
【００６５】
具体的には，ログ処理部2025は，図4の収集ログファイルL1に示すように，前記した接続日時，接続ID，接続情報，収集日時，収集ID，収集情報をテーブル形式で記憶装置24に記憶する。
【００６６】
前記例では，ログ処理部2025は，図4の収集ログファイルL1の日時欄に接続日時，収集日時として"2012-02-19 12:28"を記憶し，収集ログファイルL1のID欄に接続IDとして"CL010"，収集IDとして"CL011"を記憶する。ログ処理部2025は，収集ログファイルL1の内容欄に接続情報として"業務データベースへの接続が成功しました。"，収集情報として"業務データベースからのイベント収集が成功しました。"を記憶する。
【００６７】
また，図2の収集部201は，収集したイベントを受付部2022に出力する。受付部2022は，収集部201から入力されたイベントを受け付け，格納部2023に出力する。受付部2022は，イベントの受付処理を実行した受付日時，受付処理が成功したこと示す受付情報を有する受付ログを生成し，メモリ22にログデータ221として記憶する。受付部2022は，前記受付情報を一意に識別する受付IDを生成し，受付IDを受付ログと共にメモリ22に記憶する。
【００６８】
受付日時として例えば"2012-02-19 12:28"，受付情報として"イベントの受付に成功しました。"がある。受付IDとして"NT010"がある。
【００６９】
ログ処理部2025は，メモリ22の受付ログを，記憶装置24にログファイル群241として記憶する。具体的には，ログ処理部2025は，図5の受付ログファイルL2に示すように，前記した受付日時，受付ID，受付情報をテーブル形式で記憶装置24に記憶する。
【００７０】
前記例では，ログ処理部2025は，受付ログファイルL2の日時欄に受付日時として"2012-02-19 12:28"を記憶し，受付ログファイルL2のID欄に"NT010"を記憶する。ログ処理部2025は，受付ログファイルL2の内容欄に受付情報として，"イベントの受付に成功しました。"を記憶する。
【００７１】
格納部2023は，イベントデータベース25に接続し，受付部2022から入力されたイベントをイベントデータベース25に格納する。格納部2023は，イベントデータベース25ヘの接続処理を実行した接続日時，接続処理が成功したことを示す接続情報を有する格納ログを生成し，メモリ22にログデータ221として記憶する。格納部2023は，前記接続情報を一意に識別する接続IDを生成し，接続IDを格納ログと共にメモリ22に記憶する。接続日時として例えば"2012-02-19 12:28"，接続情報として"イベントデータベースへの接続が成功しました。"がある。接続IDとして"RG010"がある。
【００７２】
格納部2023は，イベントを格納した格納日時，格納処理が成功したことを示す格納情報を有する格納ログを生成し，メモリ22にログデータ221として記憶する。格納部2023は，前記格納情報を一意に識別する格納IDを生成し，格納IDを格納ログと共にメモリ22に記憶する。格納日時として例えば"2012-02-19 12:28"，格納情報として"イベントデータベースへのイベント格納が成功しました。"がある。格納IDとして"RG011"がある。
【００７３】
ログ処理部2025は，メモリ22の格納ログを，記憶装置24にログファイル群241として記憶する。具体的には，ログ処理部2025は，図6の格納ログファイルL3に示すように，前記した接続日時，接続ID，接続情報，格納日時，格納ID，格納情報をテーブル形式で記憶装置24に記憶する。
【００７４】
前記例では，ログ処理部2025は，格納ログファイルL3の日時欄に接続日時，格納日時として"2012-02-19 12:28"を記憶し，格納ログファイルL3のID欄に接続IDとして"RG010"，格納IDとして"RG011"を記憶する。ログ処理部2025は，格納ログファイルL3の内容欄に接続情報として"イベントデータベースへの接続が成功しました。"，格納情報として"イベントデータベースへのイベント格納が成功しました。"を記憶する。
【００７５】
集計部2024は，イベントデータベース25に接続し，イベントデータベース25が格納するイベントを取得し，取得したイベントに対して集計処理を実行する。集計部2024は，イベントデータベース25ヘの接続処理を実行した接続日時，接続処理が成功したことを示す接続情報を有する集計ログを生成し，メモリ22にログデータ221として記憶する。
【００７６】
集計部2024は，前記接続情報を一意に識別する接続IDを生成し，接続IDを集計ログと共にメモリ22に記憶する。接続日時として例えば"2012-02-19 12:28"，接続情報として"イベントデータベースへの接続が成功しました。"がある。接続IDとして"ST010"がある。
【００７７】
集計部2024は，イベントの取得処理を実行した取得日時，取得処理が成功したことを示す取得情報を有する集計ログを生成し，メモリ22にログデータ221として記憶する。集計部2024は，前記取得情報を一意に識別する取得IDを生成し，取得IDを集計ログと共にメモリ22に記憶する。取得日時として例えば"2012-02-19 12:28"，取得情報として"イベントデータベースからのイベント取得が成功しました。"がある。取得IDとして"ST011"がある。
【００７８】
集計部2024は，集計処理を実行した集計日時，集計処理が成功したことを示す集計情報を有する集計ログを生成し，メモリ22にログデータ221として記憶する。集計部2024は，前記集計情報を一意に識別する集計IDを生成し，集計IDを集計ログと共にメモリ22に記憶する。集計日時として例えば"2012-02-19 12:28"，集計情報として"集計処理が成功しました。"がある。集計IDとして"ST012"がある。
【００７９】
ログ処理部2025は，メモリ22の集計ログを，記憶装置24にログファイル群241として記憶する。具体的には，ログ処理部2025は，図7の集計ログファイルL4に示すように，前記した接続日時，接続ID，接続情報，取得日時，取得ID，取得情報，集計日時，集計ID，集計情報をテーブル形式で記憶装置24に記憶する。
【００８０】
前記例では，ログ処理部2025は，集計ログファイルL4の日時欄に接続日時，取得日時，集計日時として"2012-02-19 12:28"を記憶し，集計ログファイルL4のID欄に接続IDとして"ST010"，取得IDとして"ST011"，集計IDとして"ST012"を記憶する。ログ処理部2025は，集計ログファイルL4の内容欄に接続情報として"イベントデータベースへの接続が成功しました。"，取得情報として"イベントデータベースからのイベント取得が成功しました。"を記憶する。さらに，ログ処理部2025は，集計ログファイルL4の内容欄に，集計情報として"集計処理が成功しました。"を記憶する。
【００８１】
検索部2031は，イベントデータベース25に接続し，イベントデータベース25が格納する複数のイベントの中から，例えば，検索条件として指定された日時情報に一致するイベントを検索する。
【００８２】
検索部2031は，イベントデータベース25ヘの接続処理を実行した接続日時，接続処理が成功したことを示す接続情報を有する検索ログを生成し，メモリ22にログデータ221として記憶する。
【００８３】
検索部2031は，前記接続情報を一意に識別する接続IDを生成し，接続IDを検索ログと共にメモリ22に記憶する。接続日時として例えば"2012-02-19 12:30"，接続情報として"イベントデータベースへの接続が成功しました。"がある。接続IDとして"AM010"がある。
【００８４】
検索部2031は，検索処理を実行した検索日時，検索処理が成功したことを示す検索情報を有する検索ログを生成し，メモリ22にログデータ221として記憶する。検索部2031は，前記検索情報を一意に識別する検索IDを生成し，検索IDを検索ログと共にメモリ22に記憶する。検索日時として例えば"2012-02-19 12:32"，検索情報として"イベントデータベースからのイベント検索が成功しました。"がある。検索IDとして"AM011"がある。
【００８５】
ログ処理部2025は，メモリ22の検索ログを，記憶装置24にログファイル群241として記憶する。
【００８６】
具体的には，ログ処理部2025は，図8の検索ログファイルL5に示すように，前記した接続日時，接続ID，接続情報，検索日時，検索ID，検索情報をテーブル形式で記憶装置24に記憶する。前記例では，ログ処理部2025は，検索ログファイルL5の日時欄に接続日時として"2012-02-19 12:30"，検索日時として"2012-02-19 12:32"を記憶し，検索ログファイルL5のID欄に接続IDとして"AM010"，検索IDとして"AM011"を記憶する。ログ処理部2025は，検索ログファイルL5の内容欄に接続情報として，"イベントデータベースへの接続が成功しました。"，検索情報として"イベントデータベースからのイベント検索が成功しました。"を記憶する。
【００８７】
図4〜図8で説明したように，ログ処理部2025が，各処理の各ログをそれぞれ各処理の各ログファイルに記憶するのは，各処理の内容が異なるためである。また，各ログをそれぞれ各ログファイルに記憶することで，ログ管理を容易にするためである。さらに，管理者によるログ解析作業の効率を向上させるためである。
【００８８】
さて，監視装置2が，図2で説明したように，複数種類の処理を順次実行する場合において，後段の処理を実行時にエラーが発生する場合を想定する。かかる想定の場合，後段の処理の実行前に実行されていた処理の実行時に発生したエラーを原因として，後段の処理の実行時にエラーが発生する場合がある。例えば，図2の収集部201は，業務データベース12への接続処理が失敗した場合，イベントを収集できない。その結果，イベントデータベース25は，イベントを格納しない。このとき，検索部2031による検索の対象となるイベントがイベントデータベース25に格納されていないため，検索部2031が実行する検索処理においてエラー(検索失敗)が発生することがある。
【００８９】
かかる場合，管理者は，後段の処理の実行時に発生したエラーの原因を解析するためには，後段の処理におけるログを記憶した後段のログファイルと，後段の処理の実行前に実行されていた前段の処理におけるログを記憶した前段のログファイルとを解析する必要がある。
【００９０】
特に，前段の処理から後段の処理に至るまでの間に，複数の処理がある場合，管理者は，後段の処理の実行時に発生したエラーの原因を解析するためには，少なくとも下記のログファイルを全て解析する必要があり，エラー原因の解析作業が複雑になる。すなわち，解析対象となるログファイルとは，前段の処理に対応するログファイル，後段の処理に対応するログファイル，さらに，前段の処理から後段の処理に至るまでの間に実行される複数の処理に対応する複数のログファイルである。前記例の場合，管理者は，検索処理に至る各処理をさかのぼり，図8の検索ログファイルL5，図7の集計ログファイルL4，図6の格納ログファイルL3，図5の受付ログファイルL2,図4の収集ログファイルL1を解析する必要がある。管理者は，エラー原因の解析を行うために，多数のログファイルを解析する必要があり，エラー原因の解析作業が複雑になる。
【００９１】
また，図2のログ処理部2025は，巡回方式のログ記憶を行っている。従って，エラーが発生してから管理者がこのエラーの原因解析を行うまでの時間が長い場合には，ログ処理部2025は，ログファイルからエラー原因の解析に必要なログを削除することがある。
【００９２】
そこで，監視装置2は，エラーの原因解析に資するログを特定するための情報を，図9で説明する対応情報として予め記憶し，エラーが発生した場合，この対応情報に基づきエラー原因の解析に必要なログを，ログを記憶する記憶領域(図2の符号L1〜L5参照)とは異なる記憶領域に複製(退避)する。監視装置2のログ処理部2025は，退避したログについては指示がない限り削除しない。
【００９３】
(定義ファイル)
図9は，図1の定義ファイル242の一例を示す図である。図9の定義ファイルD1は，図2で説明した，複数の処理の何れかの処理において発生するエラーの内容と前記複数の記憶領域(図2の符号L1〜符号L5参照)のうちの少なくとも１つの記憶領域とが対応付けられた対応情報の一例である。この複数の処理とは，例えば，収集部201，受付部2022，格納部2023，集計部2024，出力部203(検索部2031)が実行する処理である。
【００９４】
定義ファイルD1は，複数の処理の何れかの処理において発生するエラーの内容として，例えば，ログを退避する条件であるログ退避条件を含む。
【００９５】
定義ファイルD1は，例えば，退避対象となるログファイルを特定するログファイル特定情報と，退避対象となるログを特定するログ特定情報とを含む。ログファイル特定情報は，複製対象のログを記憶する記憶領域を特定する記憶領域特定情報の一例である。ログ特定情報は，複製対象の履歴情報を特定する履歴情報特定情報の一例である。
【００９６】
監視装置2の管理者は，端末装置3を利用して，定義ファイル242を作成し，監視装置2に記憶する。定義ファイルD1において，ログ退避条件は，文字列"{［ＳＥＡＲＣＨ＿ＥＲＲＯＲ］＝＞１｝，"である。"ＳＥＡＲＣＨ＿ＥＲＲＯＲ］＝＞１"は，検索エラーが1件以上発生した場合に，ログファイル特定情報と，ログ特定情報とで特定されるログを退避ログファイル243として退避することを示す。
【００９７】
ログファイル特定情報は，以下に示す第1〜第5のファイル文字列である。第1のファイル文字列は，”＄｛ＢＰＭＡ＿ＨＯＭＥ｝／ｌｏｇ／ｂｐｍｅｖｅｎｔｃｏｌｌｅｃｔｉｏｎ．ｌｏｇ；”である。第2のファイル文字列は，"＄｛ＢＰＭＡ＿ＨＯＭＥ｝／ｌｏｇ／ｎｏｔｉｆｉｃａｔｉｏｎ．ｌｏｇ；"である。第3のファイル文字列は，"＄｛ＢＰＭＡ＿ＨＯＭＥ｝／ｌｏｇ／ｂｐｍｅｖｅｎｔｒｅｇｉｓｔｒａｔｉｏｎ．ｌｏｇ；"である。第4のファイル文字列は，"＄｛ＢＰＭＡ＿ＨＯＭＥ｝／ｌｏｇ／ｓｔａｔｉｓｔｉｃｓ．ｌｏｇ；"である。第5のファイル文字列は，"＄｛ＢＰＭＡ＿ＨＯＭＥ｝／ｌｏｇ／ａｃｔｉｖｉｔｙｍｏｎｉｔｏｒ．ｌｏｇ"である。
【００９８】
前記ファイル文字列において，"任意の英文字．ｌｏｇ"は，退避対象となるログを有するログファイル名を示す。例えば，第1のファイル文字列においては，"ｂｐｍｅｖｅｎｔｃｏｌｌｅｃｔｉｏｎ．ｌｏｇ"が，ログファイル名を示す。なお，ここでは，説明を簡易にするため，拡張子と呼ばれる"．"以下の文字列(前記例では"ｌｏｇ")もログファイル名としている。
【００９９】
ファイル名"ｂｐｍｅｖｅｎｔｃｏｌｌｅｃｔｉｏｎ．ｌｏｇ"で示されるログファイルは，例えば図4の収集ログファイルL1である。ファイル名"ｎｏｔｉｆｉｃａｔｉｏｎ．ｌｏｇ"で示されるログファイルは，例えば図5の受付ログファイルL2である。ファイル名"ｂｐｍｅｖｅｎｔｒｅｇｉｓｔｒａｔｉｏｎ．ｌｏｇ"で示されるログファイルは，例えば図6の格納ログファイルL3である。ファイル名"ｓｔａｔｉｓｔｉｃｓ．ｌｏｇ"で示されるログファイルは，例えば図7の集計ログファイルL4である。ファイル名"ａｃｔｉｖｉｔｙｍｏｎｉｔｏｒ．ｌｏｇ"で示されるログファイルは，例えば図8の検索ログファイルL5である。
【０１００】
前記ファイル文字列において，"＄｛ＢＰＭＡ＿ＨＯＭＥ｝／ｌｏｇ／"は，記憶装置24がログファイルをディレクトリ構造で記憶している場合に，記憶装置24における前記ログファイルのファイルパスを示す。なお，"＄｛ＢＰＭＡ＿ＨＯＭＥ｝"は，いわゆる環境変数であり，前記ファイルが記憶されているディレクトリを示している。また，"／ｌｏｇ"は，前記環境変数で示されるディレクトリの下位階層に設けられたログ記録用ディレクトリを示している。
【０１０１】
ログ特定情報は，文字列"［ＤＡＴＥＴＩＭＥ］＋−３００"("＋−"は"±"の意味)である。この文字列は，ログ退避条件で指定された条件に一致するエラーが発生した場合，ログファイル特定情報で特定されるログファイルのログの中から，このエラー発生日時を基準にして，前後300秒の時間範囲内に実行された処理の履歴を示すログを特定することを示している。
【０１０２】
以上説明したように，定義ファイルD1において，前記した第2の処理系列の処理(検索処理)において発生するエラーの内容と，第1，第2の処理系列の処理のログを記憶する記憶領域(図2の符号L5参照)とが対応付けられている。
【０１０３】
図2のログ処理部2025は，実行中の複数の処理のログに基づき実行中の処理において発生したエラーを検知する。前記複数のログは，図2の例では，収集ログ，受付ログ，格納ログ，集計ログ，検索ログである。
【０１０４】
ログ退避部2026は，複数の処理の何れかの処理においてエラーが発生し，ログ処理部2025が，このエラーを検知すると，以下の処理を実行する。ログ退避部2026は，図2の記憶装置24に記憶された対応情報(図9の定義ファイル参照)において発生した前記エラーと一致するエラーの内容と対応付けられた記憶領域に記憶されたログを，複数の記憶領域(図2の符号L1〜L5参照)とは異なる記憶領域に複製する。前記異なる記憶領域を図2の記憶装置24における符号243に示す。
【０１０５】
ログ退避部2026は，発生した前記エラーの内容が前記ログを退避する条件に一致するか判定する。例えば，図9の例では，ログを退避する条件は，検索エラーが1件以上発生したという条件である。この場合，ログ退避部2026は，検索エラーが1件以上発生した場合に，発生した前記エラーの内容が前記ログを退避する条件に一致すると判定する。
【０１０６】
ログ退避部2026は，発生した前記エラーの内容が前記条件に一致する場合，前記条件と対応付けられた記憶領域に記憶されたログを，前記複数の記憶領域とは異なる記憶領域に複製する。
【０１０７】
具体的には，ログ退避部2026は，前記エラーの内容が前記条件に一致する場合，前記複数の記憶領域の中から，前記記憶領域特定情報に基づき，複製対象のログを記憶する記憶領域を特定する。例えば，図9の例では，記憶領域特定情報は，第1〜第5のファイル文字列であり，この場合，ログ退避部2026は，図2の符号L1〜L5で示す記憶領域を特定する。換言すれば，ログ退避部2026は，収集ログファイルL1，受付ログファイルL2，格納ログファイルL3，集計ログファイルL4，検索ログファイルL5を特定する。
【０１０８】
そして，ログ退避部2026は，前記特定した記憶領域のログの中から，前記履歴情報特定情報に基づき，複製対象のログを特定する。例えば，図9の例では，履歴情報特定情報は，記憶領域特定情報で特定される記憶領域のログの中から，このエラー発生日時を基準にして，前後300秒の時間範囲内に実行された処理の履歴を示すログを特定することを示している。ログ退避部2026は，特定される記憶領域(図2の符号L1〜L5で示す記憶領域)のログの中から，検索エラーの発生日時を基準にして，前後300秒の時間範囲内に実行された処理の履歴を示すログを特定する。次いで，ログ退避部2026は，前記特定したログを前記複数の記憶領域とは異なる記憶領域に複製(退避)する。前記異なる記憶領域を，前記したように，図2の記憶装置24における符号243で模式的に示す。この領域に記憶されたログが，退避ログファイル243に対応するものとする。
【０１０９】
図10は，図2の退避ログファイル243の一例を示す。図10の退避ログファイルSL1は，日時欄，ID欄，内容欄を有する。退避ログファイルSL1において，"…"は記載省略を意味し，空白欄は未記載を意味する。退避ログファイルSL1の内容については，後記する。
【０１１０】
(監視装置が実行する処理の流れ)
以下に，図11，図12のフロー図に基づき，監視装置2が実行する処理の流れについて説明する。まず，図11を参照して，監視装置2が実行する初期化処理を説明する。次いで，図12を参照して，エラー発生時に監視装置2が実行する処理を説明する。
【０１１１】
図11は，監視装置2が実行する初期化処理の流れを説明するフロー図である。図1〜図3，図11を参照して，監視装置2が実行する初期化処理を説明する。なお，既に，図9で説明した定義ファイル242が記憶装置24に記憶されている。
【０１１２】
ステップS1：監視装置2は，図3で説明したビジネスプロセスマネージメントアプリBPMAを起動する。具体的には，監視装置2のCPU21は，図3で説明した，オペレーティングシステムOS，アプリケーション基盤APBのプログラムを記憶装置24から読み出して，メモリ22に展開する。さらに，CPU21は，ビジネスプロセスマネージメントアプリBPMAのプログラムを記憶装置24から読み出して，メモリ22に展開する。ステップS1の実行により，監視装置2は，管理部200，収集部201，処理部202，出力部203，外部インターフェイス204を起動状態にする。
【０１１３】
ステップS2：監視装置2は，図2で説明した，処理部202の管理部2021などを起動する。具体的には，CPU21が実行する管理部200は，管理部2021，受付部2022，格納部2023，集計部2024，検索部2031，ログ処理部2025のプログラムを記憶装置24から読み出して，メモリ22に展開する。
【０１１４】
ステップS3：処理部202の管理部2021は，メモリ22においてログデータが記憶される領域を決定し，決定した領域の初期化処理を実行する。
【０１１５】
ステップS4：処理部202の管理部2021は，ステップS3における初期化処理を終了する。
【０１１６】
ステップS5：処理部202の管理部2021は，ログ退避部2026を起動し，ログ退避部2026を初期化する。具体的には，管理部2021は，ログ退避部2026のプログラムを記憶装置24から読み出して，メモリ22に展開する。
【０１１７】
ステップS6：ログ退避部2026は，記憶装置24から定義ファイル242を読み出して，メモリ22に展開する。
【０１１８】
ステップS7：処理部202の管理部2021は，ログ退避部2026の初期化処理を終了する。
【０１１９】
ステップS8：監視装置2のCPU21は，ビジネスプロセスマネージメントアプリBPMAの起動を終了する。ステップS8の実行終了により，監視装置2の収集部201，処理部202，出力部203は，順次処理を実行し，業務システムの監視を実行する。この処理の実行において，図4〜図9で説明したログの記憶処理が実行される。
【０１２０】
図12は，監視装置2がエラー発生時に実行する処理の流れを説明するフロー図である。図2，図9，図12を参照して，監視装置2がエラー発生時に実行する処理の流れを説明する。なお，既に，図11で説明した初期化処理が終了している。また，監視装置2は，例えば，収集部202の収集処理，受付部2022の受付処理，格納部2023の格納処理を繰り返し実行し，定期的に業務データベース12からイベントを収集し，収集したイベントをイベントデータベース25に格納している。また，ログ処理部2025は，収集部201が出力した収集ログ，受付部2022が出力した受付ログ，格納部2023が出力した格納ログ，集計部2024が出力した集計ログ，検索部2031が出力した検索ログを，それぞれ異なるログファイルに記録している。
【０１２１】
ステップS11：監視装置2において何らかのエラー(エラー事象とも呼ぶ)が発生する。具体的には，収集部201，受付部2022，格納部2023，集計部2024，出力部203，検索部2031により実行される複数の処理において，前記処理を失敗した場合である。このように，前記処理を失敗した場合が，エラーの発生である。例えば，収集部201が，業務データベース12への接続を失敗した場合や，検索部2031が，検索処理を失敗した場合である。
【０１２２】
ログ処理部2025は，実行中の処理のログに基づき実行中の処理において発生したエラーを検知する。具体的には，ログ処理部2025は，メモリ22に新たなログデータが記憶されると，前記ログデータにアクセスし，このログデータの内容を取得する。そして，ログ処理部2025は，ログデータの内容に，エラー発生を示す"失敗"が含まれているか判定し，ログデータの内容に，エラー発生を示す"失敗"が含まれている場合，エラーが発生したと見なし，エラーを検知する。ログ処理部2025は，エラーを検知すると，ログ退避処理の実行指示をログ退避部2026に行う。
【０１２３】
ステップS12：ログ退避部2026は，ログ処理部2025からの実行指示に応答して，定義ファイル，ログデータにアクセスする。具体的には，ログ退避部2026は，図11のステップS6においてメモリ22に展開された定義ファイル242(図9参照)にアクセスし，さらに，メモリ22のログデータにおける，エラーに対応するログにアクセスする。
【０１２４】
ステップS13：ログ退避部2026は，エラーが，図9の定義ファイルD1が有するログ退避条件に一致するか判定する。換言すれば，図2のログ退避部2026は，複数の処理の何れかの処理においてエラーが発生した場合，発生したエラーの内容が定義ファイルD1のエラーの内容(例えばログ退避条件)に一致するか判定する。図9の例では，エラーが，検索エラーか判定する。エラーが，発生したエラーの内容が図9の定義ファイルD1のエラーの内容に一致する場合(ステップS13/YES)，ステップS14に移る。
【０１２５】
ステップS14：ログ退避部2026は，図9の定義ファイルD1が有するログファイル特定情報で特定されるログファイルを記憶装置24のログファイル群241から読み出す。換言すれば，ログ退避部2026は，各処理のログファイル(L1〜L4)のログの中から，定義ファイルD1の特定ファイル情報に基づき，退避対象のログを記憶するログファイルを特定し，特定したログファイルを読み出す。
【０１２６】
ステップS15：ログ退避部2026は，図9の定義ファイルD1が有するログファイル特定情報で特定されたログファイルのログの中から，ログ特定情報に基づき退避対象となるログを特定し，メモリ22に記憶する。換言すれば，ログ退避部2026は，特定したログファイルのログの中から，定義ファイルD1のログ特定情報に基づき，退避対象のログを特定し，メモリ22に記憶する。
【０１２７】
ステップS16：ログ退避部2026は，ステップS15でメモリ22に記憶したログ(特定したログ)を退避ログファイル243として記憶装置24に退避(記憶)する。具体的には，ログ退避部2026は，記憶装置24における所定のディレクトリの直下に，退避ログファイルを記憶するディレクトリを作成する。なお，ログ退避部2026は，作成したディレクトリに作成日時を示すタイムスタンプを付与する。ログ退避部2026は，作成したディレクトリに，ステップS15でメモリ22に記憶した退避対象のログを，退避ログファイル243として記憶する。
【０１２８】
ステップS17：管理部200は，出力部203を介して，管理者用の端末装置3，利用者用の端末装置4にエラーが発生した旨を通知する。
【０１２９】
(ログ退避を説明する第1の具体例)
ログ退避を説明する第1の具体例を，図2，図4〜図11を参照して説明する。第1の具体例を説明する前に，記憶装置24は，図4〜図8で説明したログファイルを記憶し，図9で説明した定義ファイルを記憶している。
【０１３０】
図2の収集部201は，図6で説明した日時"2012-02-19 12:28"における業務データベース12への接続処理が終了してから1時間が経過すると，再度，業務システム1の業務データベース12に接続する処理を実行する。しかし，例えば，業務データベース12が動作していない場合や，業務システム1と監視装置2とを接続するネットワークNTに障害があり，業務データベース12に接続することができない。すなわち，収集部201が接続処理を実行する過程において接続処理が失敗したことによる，接続エラーが発生する(ステップS11)。
【０１３１】
収集部201は，接続日時，接続処理が失敗したことを示す接続情報を有する収集ログを生成し，メモリ22にログデータ221として記憶する。収集部201は，接続IDを生成し，接続IDを収集ログと共にメモリ22に記憶する。接続日時として例えば"2012-02-19 13:28"，接続情報として"業務データベースへの接続が失敗しました。"がある。接続IDとして"CL020"がある。
【０１３２】
ログ処理部2025は，メモリ22の収集ログを，記憶装置24にログファイル群241として記憶する。具体的には，ログ処理部2025は，図4の収集ログファイルL1に示すように，前記した接続日時，接続ID，接続情報をテーブル形式で記憶装置24に記憶する。前記例では，ログ処理部2025は，収集ログファイルL1の日時欄に接続日時として"2012-02-19 13:28"を記憶し，収集ログファイルL1のID欄に"CL020"を記憶する。ログ処理部2025は，収集ログファイルL1の内容欄に接続情報として"業務データベースへの接続が失敗しました。"，を記憶する。
【０１３３】
収集部201は，業務データベース12への接続が失敗した結果，未収集のイベントの収集処理も失敗する。そのため，収集部201は，受付部2022に対してイベントの出力処理を実行しない。その結果，受付部2022は受付ログの出力を実行せず，格納部2023は格納ログの出力を実行せず，集計部2024は，集計ログの出力を実行しない。そのため，図5の受付ログファイルL2，図6の格納ログファイルL3，図7の集計ログファイルL4のログは更新されない。
【０１３４】
ログ退避部2026は，記憶装置24の定義ファイル242，メモリ22のログデータ221にアクセスする(ステップS12)。具体的には，ログ退避部2026は，メモリ22のログデータ221の一部として記憶されている，前記した接続エラーログに該当する接続日時"2012-02-19 13:28"，接続情報"業務データベースへの接続が失敗しました。"，接続ID"CL020"にアクセスする。
【０１３５】
ログ退避部2026は，エラーが，図9の定義ファイルD1が有するログ退避条件に一致するか判定する(ステップS13)。業務データベース12への接続が失敗する接続エラーは，前記ログ退避条件(図9の例では"検索エラーが1件以上発生")に一致しないので，ステップS13でNOとなる。その結果，管理部200は，出力部203を介して，端末装置3，端末装置4にエラーが発生した旨を通知する(ステップS17)。
【０１３６】
さて，この時点では，イベントデータベース25は，日時"2012-02-19 12:28"に収集したイベントを格納しているが，前記日時以降のイベントは格納していない。日時"2012-02-19 12:28"に収集したイベントは，例えば店舗Xにおける日時"2012-02-19 12:21"での在庫商品名AAAの在庫数量300個である。換言すれば，イベントデータベース25は，日時"2012-02-19 12:21"迄の店舗Xにおける在庫商品名AAAの在庫数量を記憶しているとする。このとき，監視装置2の利用者は，検索条件として，日時"2012-02-19 12:25"以降の，店舗Xにおける在庫商品名AAAの在庫数量を指定して，監視装置2の外部インターフェイス204に検索指示メッセージを送信する。外部インターフェイス204は，検索指示メッセージを，管理部200を介して出力部203に転送する。出力部203は，検索指示メッセージを受信し，検索指示メッセージの検索条件を有する検索命令を検索部2031に出力する。検索部2031は，検索命令に応答して，イベントデータベース25に接続し，イベントデータベース25が格納する複数のイベントの中から，検索条件に一致するイベントを検索する処理を実行する。
【０１３７】
ここで，検索部2031は，イベントデータベース25への接続は成功したとする。しかし，イベントデータベース25は前記検索条件に一致するイベントを記憶していないので，検索部2031は，イベントの検索処理は失敗したと見なし，その旨を示す検索ログを出力する。
【０１３８】
具体的には，検索部2031は，接続日時，接続処理が成功したことを示す接続情報を有する検索ログを生成し，メモリ22にログデータ221として記憶する。検索部2031は，接続IDを生成し，接続IDを検索ログと共にメモリ22に記憶する。接続日時として例えば"2012-02-19 13:30"，接続情報として"イベントデータベースへの接続が成功しました。"がある。接続IDとして"AM020"がある。
【０１３９】
検索部2031は，検索日時，検索処理が失敗したことを示す検索情報を有する検索ログを生成し，メモリ22にログデータ221として記憶する。検索部2031は，検索IDを生成し，検索IDを検索ログと共にメモリ22に記憶する。検索日時として例えば"2012-02-19 13:32"，検索情報として"イベントデータベースからのイベント検索が失敗しました。"がある。検索IDとして"AM021"がある。
【０１４０】
ログ処理部2025は，メモリ22の検索ログを，記憶装置24にログファイル群241として記憶する。ログ退避部2026は，記憶装置24の定義ファイル242，メモリ22のログデータ221にアクセスする(ステップS12)。具体的には，ログ退避部2026は，メモリ22のログデータ221の一部として記憶されている，前記したイベント検索エラーログに該当する検索日時"2012-02-19 13:32"，検索情報"イベントデータベースからのイベント検索が失敗しました。"，検索ID"AM021"にアクセスする。
【０１４１】
ログ退避部2026は，エラーが，図9の定義ファイルD1が有するログ退避条件に一致するか判定する(ステップS13)。イベント検索が失敗する検索エラーは，前記ログ退避条件(図9の例では"検索エラーが1件以上発生")に一致するので，ステップS13でYESとなる。
【０１４２】
ログ退避部2026は，図9の定義ファイルD1が有するログファイル特定情報で特定されるログファイルを記憶装置24から読み出す(ステップS14)。具体的には，前記特定されるログファイルは，図4の収集ログファイルL1，図5の受付ログファイルL2，図6の格納ログファイルL3，図7の集計ログファイルL4，図8の検索ログファイルL5である。ログ退避部2026は，これらのログファイル(収集ログファイルL1〜検索ログファイルL5)を記憶装置24から読み出す。ログ退避部2026は，これらログファイル(収集ログファイルL1〜検索ログファイルL5)の中から，ログ特定情報に基づき退避対象となるログを特定し，メモリ22に記憶する(ステップS15)。
【０１４３】
ログ特定情報は，エラー発生日時を基準にして，前後300秒の時間範囲のログである。前記例の場合，検索エラー発生日時は"2012-02-19 13:32"であるので，ログ退避部2026は，"2012-02-19 13:27"〜"2012-02-19 13:37"の範囲内の日時を有するログを特定する。前記したログファイル(収集ログファイルL1〜検索ログファイルL5)では，ログ退避部2026は，収集ログファイルL1の日時欄が記憶する"2012-02-19 13:28"の日時を有するログの内容"業務データベース12への接続が失敗しました。"を特定し，メモリ22に記憶する(ステップS15)。ログ退避部2026は，メモリ22への記憶において，特定したログと対応して，特定したログの日時"2012-02-19 13:28"，検索ID"CL020"を記憶する(ステップS15)。
【０１４４】
さらに，ログ退避部2026は，図8の検索ログファイルL5の日時欄が記憶する"2012-02-19 13:30"の日時を有するログの内容"イベントデータベースへのイベント接続が成功しました。"を特定し，メモリ22に記憶する(ステップS15)。ログ退避部2026は，メモリ22への記憶において，特定したログと対応して，特定したログの日時"2012-02-19 13:30"，接続ID"AM020"を記憶する(ステップS15)。そして，ログ退避部2026は，検索ログファイルL5の日時欄が記憶する"2012-02-19 13:32"の日時を有するログの内容"イベントデータベースからのイベント検索が失敗しました。"を特定し，メモリ22に記憶する(ステップS15)。ログ退避部2026は，メモリ22への記憶において，特定したログと対応して，特定したログの日時"2012-02-19 13:32"，検索ID"AM021"を記憶する(ステップS15)。
【０１４５】
ログ退避部2026は，退避ログファイル243(図10参照)に示すように，ステップS15でメモリ22に記憶したログ，記憶したログの日時，IDをテーブル形式で記憶装置24に記憶する(ステップS16)。図10の退避ログファイルSL1が，退避ログファイル243の一例である。
【０１４６】
管理部200は，出力部203を介して，端末装置3，端末装置4にエラーが発生した旨を通知する(ステップS17)。端末装置3，端末装置4は，通知されたエラーを表示装置(図示しない)に表示出力する。監視装置2の管理者は，表示された通知内容を見て，検索エラーが発生したことを認識し，エラー原因の解析を行う。管理者は，端末装置4を介して，監視装置2の外部インターフェイス204に退避ログファイル243の取得指示を行う。外部インターフェイス204は，記憶装置24の退避ログファイル243を取得し，例えばHTML(ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ)形式に変換し，端末装置3に送信する。端末装置3は，HTML形式の退避ログファイルを受信し，表示装置(図示しない)に表示出力する。前記表示装置は，例えば，図10の退避ログファイルSL1を表示出力する。
【０１４７】
管理者は，退避ログファイルSL1を参照することにより，業務データベース12への接続が失敗した結果，前記指定した検索条件に基づく検索が失敗したとエラー原因の解析を行うことができる。
【０１４８】
ログ退避部2026は，定義ファイル242が有するログ退避条件に一致するエラーが発生した場合に，前記一致するエラーの発生をトリガーとして，ログファイル特定情報に対応するログファイルから，ログ特定情報に対応するログのみを自動的に抽出する。そして，ログ退避部2026は，抽出したログファイルを退避ログファイル243として記憶(退避)している。すなわち，ログ退避部2026は，多数のログの中から，エラー原因の解析に資するログを効率的に抽出し，記憶している。なお，前記抽出は，複数のログファイルからログを横断的に抽出するので，横串抽出とも呼ぶ。従って，管理者は，エラー原因の解析にあたり，多数のログファイルを解析する必要はなく，退避ログファイル243の内容を解析すれば，エラー原因の解析をすることができる。その結果，管理者は，エラー原因の解析を効率的に行うことができる。
【０１４９】
また，前記したように，ログ処理部2025は，巡回方式のログ記憶を行っているため，ログファイルから，エラー原因の解析に必要なログファイルを削除することがある。しかし，ログ退避部2026は，退避条件に一致するエラーが発生したタイミングで，エラー原因の解析に資するログを自動的に抽出し，記憶するので，前記ログが削除されることがない。そのため，エラーが発生してから管理者によるエラー原因の解析を行うまでの時間が長い場合であっても，管理者は，退避ログファイル243の内容を参照すれば，エラー原因の解析をすることができる。
【０１５０】
また，管理者は，ログ退避の定義ファイルの内容を自由に変更することができる。換言すれば，管理者自らが，エラー内容に応じて，ログ退避条件，退避対象となるログファイル，退避対象となるログを，ログ退避の定義情報として作成できる。
【０１５１】
そのため，監視装置は，ソフトウェアモジュール間(換言すれば，コンポーネント間)の依存関係を事前に把握することなく，エラー原因の解析に資するログを効率的に抽出し，記憶することができる。前記ソフトウェアモジュール間の依存関係とは，例えば，図2の例で言えば，収集部201の処理の後に，処理部202の処理を実行し，処理部202の処理の後に，出力部203の処理を実行するといった，各ソフトウェアモジュールの処理の実行順序関係を意味する。
【０１５２】
(ログ退避を説明する第2の具体例)
ログ退避を説明する第2の具体例を，図2，図6，図9，図12〜図17を参照して説明する。図2の収集部201は，図6で説明した日時"2012-02-19 12:28"における業務データベース12への接続処理が終了してから1時間が経過すると，再度，業務システム1の業務データベース12に接続する処理を実行する。
【０１５３】
図13は，収集ログファイルの他の例を示す図である。図13の収集ログファイルL11において，図4の収集ログファイルL1の日時"2012-02-19 12:28"に対応するID欄のID，内容欄のログ内容は同一である。図14は，受付ログファイルの他の例を示す図である。図14の受付ログファイルL12において，図5の受付ログファイルL2の日時"2012-02-19 12:28"に対応するID欄のID，内容欄のログ内容は同一である。
【０１５４】
図15は，格納ログファイルの他の例を示す図である。図15の格納ログファイルL13において，図6の格納ログファイルL3の日時"2012-02-19 12:28"に対応するID欄のID，内容欄のログ内容は同一である。図16は，検索ログファイルの他の例を示す図である。図16の検索ログファイルL15において，図8の検索ログファイルL5の日時"2012-02-19 12:30"，"2012-02-19 12:32"に対応するID欄のID，内容欄のログ内容は同一である。
【０１５５】
ログ退避を説明する第1の具体例では，収集部201が接続処理を実行する過程において，接続エラーが発生した。第2の具体例では，接続エラーが発生せず，収集部201はイベントの収集を成功し，受付部2022はイベントの受付を成功したが，格納部2023がイベントデータベース25へのイベントの格納を失敗したとする。
【０１５６】
図2の収集部201は，業務システム1の業務データベース12に接続し，未収集のイベントを業務データベース12から収集する。収集部201は，接続日時，接続情報を有する収集ログを生成し，メモリ22にログデータ221として記憶する。収集部201は，接続IDを生成し，接続IDを収集ログと共にメモリ22に記憶する。接続日時として例えば"2012-02-19 13:28"，接続情報として"業務データベースへの接続が成功しました。"がある。接続IDとして"CL020"がある。
【０１５７】
収集部201は，収集日時，収集情報を有する収集ログを生成し，メモリ22にログデータ221として記憶する。収集部201は，収集IDを生成し，収集IDを収集ログと共にメモリ22に記憶する。収集日時として例えば"2012-02-19 13:28"，収集情報として"業務データベースからのイベント収集が成功しました。"がある。収集IDとして"CL021"がある。
【０１５８】
ログ処理部2025は，メモリ22の収集ログを，記憶装置24にログファイル群241として記憶する。具体的には，ログ処理部2025は，図13の収集ログファイルL11に示すように，前記した接続日時，接続ID，接続情報，収集日時，収集ID，収集情報をテーブル形式で記憶装置24に記憶する。前記例では，ログ処理部2025は，収集ログファイルL11の日時欄に接続日時，収集日時として"2012-02-19 13:28"を記憶し，収集ログファイルL11のID欄に接続IDとして"CL020"，収集IDとして"CL021"を記憶する。ログ処理部2025は，収集ログファイルL11の内容欄に接続情報として"業務データベースへの接続が成功しました。"，収集情報として"業務データベースからのイベント収集が成功しました"を記憶する。
【０１５９】
また，図2の収集部201は，収集したイベントを受付部2022に出力する。受付部2022は，収集部201から入力されたイベントを受け付け，格納部2023に出力する。受付部2022は，受付日時，受付情報を有する受付ログを生成し，メモリ22にログデータ221として記憶する。受付部2022は，受付IDを生成し，受付IDを受付ログと共にメモリ22に記憶する。
【０１６０】
受付日時として例えば"2012-02-19 13:28"，受付情報として"イベントの受付に成功しました。"がある。受付IDとして"NT020"がある。
【０１６１】
ログ処理部2025は，メモリ22の受付ログを，記憶装置24にログファイル群241として記憶する。具体的には，ログ処理部2025は，図14の受付ログファイルL12に示すように，前記した受付日時，受付ID，受付情報をテーブル形式で記憶装置24に記憶する。前記例では，ログ処理部2025は，受付ログファイルL12の日時欄に受付日時として"2012-02-19 13:28"を記憶し，受付ログファイルL12のID欄に受付IDとして"NT020"を記憶する。ログ処理部2025は，受付ログファイルL12の内容欄に受付情報として，"イベントの受付に成功しました。"を記憶する。
【０１６２】
格納部2023は，イベントデータベース25に接続する処理を実行する。しかし，イベントデータベース25に障害が発生し，格納部2023は，イベントデータベース25に接続できないとする。すなわち，格納部2023が接続処理を実行する過程において接続処理が失敗したことによる接続エラーが発生する(ステップS11)。
【０１６３】
格納部2023は，接続日時，接続処理が失敗したことを示す接続情報を有する格納ログを生成し，メモリ22にログデータ221として記憶する。格納部2023は，接続IDを生成し，接続IDを格納ログと共にメモリ22に記憶する。接続日時として例えば"2012-02-19 13:28"，接続情報として"イベントデータベースへの接続が失敗しました。"がある。接続IDとして"RG020"がある。
【０１６４】
ログ処理部2025は，メモリ22の格納ログを，記憶装置24にログファイル群241として記憶する。具体的には，ログ処理部2025は，図15の格納ログファイルL13に示すように，前記した接続日時，接続ID，接続情報をテーブル形式で記憶装置24に記憶する。前記例では，ログ処理部2025は，格納ログファイルL13の日時欄に接続日時として"2012-02-19 13:28"を記憶し，格納ログファイルL13のID欄に格納IDとして"RG020"を記憶する。ログ処理部2025は，格納ログファイルL13の内容欄に接続情報として"イベントデータベースへの接続が失敗しました。"を記憶する。以後，格納部2023がイベントデータベース25への接続が失敗した結果，集計部2024は集計処理を実行しないので，集計ログファイルは，図7の集計ログファイルL4の状態である。
【０１６５】
ログ退避部2026は，記憶装置24の定義ファイル242，メモリ22のログデータ221にアクセスする(ステップS12)。具体的には，ログ退避部2026は，メモリ22のログデータ221の一部として記憶されている，前記した接続エラーログに該当する接続日時"2012-02-19 13:28"，接続情報"イベントデータベースへの接続が失敗しました。"，接続ID"RG020"にアクセスする。
【０１６６】
ログ退避部2026は，エラーが，図9の定義ファイルD1が有するログ退避条件に一致するか判定する(ステップS13)。イベントデータベース25への接続が失敗する接続エラーは，前記ログ退避条件(図9の例では"検索エラーが1件以上発生")に一致しないので，ステップS13でNOとなる。その結果，管理部200は，出力部203を介して，端末装置3，端末装置4にエラーが発生した旨を通知する(ステップS17)。
【０１６７】
ここで，第1の具体例で説明したように，検索部2031は，出力部203からのイベント検索命令に応答して，イベントデータベース25に接続する処理を実行する。この時点で，イベントデータベース25は，障害発生のため動作していない。そのため，検索部2031は，イベントデータベース25に接続することができない。そこで，検索部2031は，イベントの検索処理は失敗したと見なし，その旨を示す検索ログを出力する。
【０１６８】
具体的には，検索部2031は，接続日時，接続処理が失敗したことを示す接続情報を有する検索ログを生成し，メモリ22にログデータ221として記憶する。検索部2031は，接続IDを生成し，接続IDを検索ログと共にメモリ22に記憶する。接続日時として例えば"2012-02-19 13:30"，接続情報として"イベントデータベースへの接続が失敗しました。"がある。接続IDとして"AM020"がある。
【０１６９】
さらに，検索部2031は，検索日時，検索処理が失敗したことを示す検索情報を有する検索ログを生成し，メモリ22にログデータ221として記憶する。検索部2031は，検索IDを生成し，検索IDを検索ログと共にメモリ22に記憶する。検索日時として例えば"2012-02-19 13:32"，検索情報として"イベントデータベースからのイベント検索が失敗しました。"がある。検索IDとして"AM021"がある。
【０１７０】
ログ処理部2025は，メモリ22の検索ログを，記憶装置24にログファイル群241として記憶する。具体的には，ログ処理部2025は，図16の検索ログファイルL15に示すように，前記した接続日時，接続ID，接続情報，検索日時，検索ID，検索情報をテーブル形式で記憶装置24に記憶する。前記例では，ログ処理部2025は，検索ログファイルL15の日時欄に接続日時として"2012-02-19 13:30"，検索日時として"2012-02-19 13:32"を記憶し，検索ログファイルL15のID欄に接続IDとして"AM020"，検索IDとして"AM021"を記憶する。ログ処理部2025は，検索ログファイルL15の内容欄に接続情報として，"イベントデータベースへの接続が失敗しました。"，検索情報として"イベントデータベースからのイベント検索が失敗しました。"を記憶する。
【０１７１】
ログ退避部2026は，記憶装置24の定義ファイル242，メモリ22のログデータ221にアクセスする(ステップS12)。具体的には，ログ退避部2026は，メモリ22のログデータ221の一部として記憶されている，前記した接続エラーログに該当する接続日時"2012-02-19 13:30"，接続情報"業務データベースへの接続が失敗しました。"，接続ID"AM020"にアクセスする。さらに，ログ退避部2026は，メモリ22のログデータ221の一部として記憶されている，前記した検索エラーログに該当する検索日時"2012-02-19 13:32"，検索情報"イベントデータベースからのイベント検索が失敗しました。"，検索ID"AM021"にアクセスする。
【０１７２】
ログ退避部2026は，エラーが，図9の定義ファイルD1が有するログ退避条件に一致するか判定する(ステップS13)。イベント検索が失敗する検索エラーは，前記ログ退避条件(図9の例では"検索エラーが1件以上発生")に合致するので，ステップS13でYESとなる。
【０１７３】
ログ退避部2026は，図9の定義ファイルD1が有するログファイル特定情報で特定されるログファイルを記憶装置24から読み出す(ステップS14)。具体的には，前記特定されるログファイルは，図13の収集ログファイルL11，図14の受付ログファイルL12，図15の格納ログファイルL13，図7の集計ログファイルL4，図16の検索ログファイルL15である。ログ退避部2026は，これらのログファイルを記憶装置24から読み出す。ログ退避部2026は，これらログファイル(収集ログファイルL11〜L15)の中から，ログ特定情報に基づき退避対象となるログを特定し，メモリ22に記憶する(ステップS15)。
【０１７４】
ログ特定情報は，エラー発生日時を基準にして，前後300秒の時間範囲のログである。前記例の場合，検索エラー発生日時は"2012-02-19 13:32"であるので，ログ退避部2026は，"2012-02-19 13:27"〜"2012-02-19 13:37"の範囲内の日時を有するログを特定する。前記したログファイルでは，ログ退避部2026は，図13の収集ログファイルL11の日時欄が記憶する"2012-02-19 13:28"の日時を有するログの内容"業務データベース12への接続が成功しました。"を特定し，メモリ22に記憶する(ステップS15)。ログ退避部2026は，メモリ22への記憶において，特定したログと対応して，特定したログの日時"2012-02-19 13:28"，接続ID"CL020"を記憶する(ステップS15)。
【０１７５】
前記したログファイルでは，ログ退避部2026は，図13の収集ログファイルL11の日時欄が記憶する"2012-02-19 13:28"の日時を有するログの内容"業務データベース12からのイベント取得が成功しました。"を特定し，メモリ22に記憶する(ステップS15)。ログ退避部2026は，メモリ22への記憶において，特定したログと対応して，特定したログの日時"2012-02-19 13:28"，取得ID"CL021"を記憶する(ステップS15)。
【０１７６】
前記したログファイルでは，ログ退避部2026は，図14の受付ログファイルL12の日時欄が記憶する"2012-02-19 13:28"の日時を有するログの内容"イベントの受付に成功しました。"を特定し，メモリ22に記憶する(ステップS15)。ログ退避部2026は，メモリ22への記憶において，特定したログと対応して，特定したログの日時"2012-02-19 13:28"，受付ID"NT020"を記憶する(ステップS15)。
【０１７７】
前記したログファイルでは，ログ退避部2026は，図15の格納ログファイルL13の日時欄が記憶する"2012-02-19 13:28"の日時を有するログの内容"イベントデータベースへの接続が失敗しました。"を特定し，メモリ22に記憶する(ステップS15)。ログ退避部2026は，メモリ22への記憶において，特定したログと対応して，特定したログの日時"2012-02-19 13:28"，接続ID"RG020"を記憶する(ステップS15)。
【０１７８】
前記したログファイルでは，ログ退避部2026は，図16の検索ログファイルL15の日時欄が記憶する"2012-02-19 13:30"の日時を有するログの内容"イベントデータベースへの接続が失敗しました。"を特定し，メモリ22に記憶する(ステップS15)。ログ退避部2026は，メモリ22への記憶において，特定したログと対応して，特定したログの日時"2012-02-19 13:30"，接続ID"AM020"を記憶する(ステップS15)。
【０１７９】
前記したログファイルでは，ログ退避部2026は，図16の検索ログファイルL15の日時欄が記憶する"2012-02-19 13:32"の日時を有するログの内容"イベントデータベースからのイベント検索が失敗しました。"を特定し，メモリ22に記憶する(ステップS15)。ログ退避部2026は，メモリ22への記憶において，特定したログと対応して，特定したログの日時"2012-02-19 13:32"，検索ID"AM021"を記憶する(ステップS15)。
【０１８０】
ログ退避部2026は，退避ログファイル243(図2参照)に示すように，ステップS15でメモリ22に記憶したログ，記憶したログの日時， IDをテーブル形式で記憶装置24に記憶する(ステップS16)。図17の退避ログファイルSL11が，第2の具体例における退避ログファイル243の一例である。
【０１８１】
管理部200は，出力部203を介して，端末装置3，端末装置4にエラーが発生した旨を通知する(ステップS17)。端末装置3，端末装置4は，通知されたエラーを表示装置(図示しない)に表示出力する。監視装置2の管理者は，表示された通知内容を見て，検索エラーが発生したことを認識し，エラー原因の解析を行う。
【０１８２】
管理者は，第1の具体例で説明したように，退避ログファイルSL11を参照する。管理者は，退避ログファイルSL11を参照することにより，イベントデータベース25への接続が失敗した結果，前記指定した検索条件に基づく検索が失敗したとエラー原因の解析を行うことができる。
【０１８３】
(ログ退避を説明する第3の具体例)
図18は，図2の定義ファイルの他の例を示す図である。図18の定義ファイルD11は，図9の定義ファイルD1のログ退避条件を文字列"｛［ＳＴＡＴＩＳＴＩＣＳ＿ＥＲＲＯＲ］＝＞１｝"としたものである。さらに，図18の定義ファイルD11は，図9の定義ファイルD1のログファイル特定情報から，第5のファイル文字列"＄｛ＢＰＭＡ＿ＨＯＭＥ｝／ｌｏｇ／ａｃｔｉｖｉｔｙｍｏｎｉｔｏｒ．ｌｏｇ"を削除したものである。
【０１８４】
管理者は，端末装置3を操作して，図18の定義ファイルD11を作成し，監視装置2に送信する。監視装置2の外部インターフェイス204は，図18の定義ファイルD11を受信し，記憶装置24に定義ファイル242として記憶する。このとき，記憶装置24は，図9の定義ファイルD1も記憶しているとする。
【０１８５】
ログ退避条件"｛［ＳＴＡＴＩＳＴＩＣＳ＿ＥＲＲＯＲ］＝＞１｝は，集計部2024において取得エラー，または，集計エラーが1件以上発生した場合に，ログファイル特定情報と，ログ特定情報とで特定されるログを退避ログファイル243として退避することを示す。
【０１８６】
ログ退避部2026は，集計部2024において取得エラー，または，集計エラーが発生すると，換言すれば，集計部2024が，ログの内容として"イベントデータベースからのイベント取得が失敗しました"，または，"集計処理が失敗しました"を出力すると，以下の処理を実行する。すなわち，ログ退避部2026は，取得エラー，または，集計エラーの発生日時を基準にして，前後300秒の時間範囲のログを，収集ログファイル，受付ログファイル，格納ログファイル，集計ログファイルから抽出し，退避ログファイル243として退避する。
【０１８７】
このように，管理者は，ログ退避の定義ファイルの内容を自由に変更することができる。そのため，管理者は，エラーの内容に応じて，エラー原因の解析に必要なログ(換言すれば，退避させたいログ)を自由に定義できる。その結果，監視装置は，エラーが発生すると，定義ファイルの内容に応じたログを自動的に退避する。この退避されたログは，エラー原因の解析に必要なログである。そのため，管理者は，エラー原因の解析に必要なログのみを解析すればよく，エラー原因を効率的に解析できる。
【０１８８】
以上，本実施の形態では，監視装置におけるログ退避処理を説明したが，複数の処理を順次実行し前記処理の履歴を示すログを出力する情報処理装置にも，本実施の形態のログ退避処理を適用することができる。
【０１８９】
以上の実施の形態をまとめると，次の付記のとおりである。
【０１９０】
（付記１）
複数の処理それぞれの実行に応じて該複数の処理それぞれの処理の履歴を示す履歴情報を記憶する，前記複数の処理それぞれに対して割り当てられた複数の記憶領域を備え，前記複数の処理の何れかの処理において発生する障害の内容と前記複数の記憶領域のうちの少なくとも１つの記憶領域とが対応付けられた対応情報を記憶する記憶手段と，
前記複数の処理の何れかの処理において障害が発生した場合，前記記憶手段に記憶された前記対応情報において発生した前記障害と一致する障害の内容と対応付けられた記憶領域に記憶された履歴情報を，前記複数の記憶領域とは異なる記憶領域に複製する制御部と，
を有することを特徴とする情報処理装置。
【０１９１】
（付記２）
付記1において，
前記対応情報は，前記障害の内容として履歴情報を複製する条件を含み，
前記制御部は，発生した前記障害の内容が前記条件に一致するか判定し，発生した前記障害の内容が前記条件に一致する場合，前記条件と対応付けられた記憶領域に記憶された履歴情報を，前記複数の記憶領域とは異なる記憶領域に複製する
ことを特徴とする情報処理装置。
【０１９２】
（付記３）
付記2において，
前記対応情報は，さらに，複製対象の履歴情報を記憶する記憶領域を特定する記憶領域特定情報と，複製対象の履歴情報を特定する履歴情報特定情報とを含み，
前記制御部は，発生した前記障害の内容が前記条件に一致する場合，前記複数の記憶領域の中から，前記記憶領域特定情報に基づき，複製対象の履歴情報を記憶する記憶領域を特定し，前記特定した記憶領域の履歴情報の中から，前記履歴情報特定情報に基づき，複製対象の履歴情報を特定し前記特定した履歴情報を前記複数の記憶領域とは異なる記憶領域に複製する
ことを特徴とする情報処理装置。
【０１９３】
(付記４)
付記1において，
前記制御部は，前記複数の処理として，連続して実行する複数の処理を有する第1の処理系列と，前記第1の処理系列の処理結果を利用して処理を行う第2の処理系列とを有し，前記第1の処理系列を繰り返し実行し，
前記対応情報において，前記第2の処理系列の処理において発生する障害の内容と，前記第1，第2の処理系列の処理の履歴を示す履歴情報を記憶する記憶領域とが対応付けられている
ことを特徴とする情報処理装置。
【０１９４】
（付記５）
付記4において，
前記制御部は，前記第1の処理系列として，業務処理を実行する業務システムが処理する業務データの単位データを収集する処理と，前記収集した単位データを受け付ける処理と，前記単位データを記憶手段に記憶しデータベースを作成する処理とを有する
ことを特徴とする情報処理装置。
【０１９５】
（付記６）
付記5において，
前記制御部は，前記第2の処理系列として，前記データベースから前記単位データを検索する処理を有する
ことを特徴とする情報処理装置。 
【０１９６】
（付記７）
付記1において，
前記制御部は，前記複数の処理として，業務処理を実行する業務システムが処理する業務データの単位データを収集する処理と，前記単位データを記憶手段に記憶しデータベースを作成する処理と，前記データベースの前記単位データを監視する処理を有する
ことを特徴とする情報処理装置。 
【０１９７】
（付記８）
付記1において，
前記制御部は，前記記憶領域が記憶する履歴情報の情報量が所定の量を超えると，前記所定の量を超えた履歴情報を記憶する記憶領域が記憶する履歴情報の中から，最も過去に記憶した履歴情報を削除する
ことを特徴とする情報処理装置。
【０１９８】
（付記９）
付記1において，
前記制御部は，外部装置を用いて前記情報処理装置の管理者により作成された前記対応情報を前記外部装置から受信し，前記記憶手段に記憶する
ことを特徴とする情報処理装置。
【０１９９】
（付記１０）
コンピュータに，
複数の処理それぞれの実行に応じて該複数の処理それぞれの処理の履歴を示す履歴情報を記憶する記憶手段における記憶領域を前記複数の処理それぞれに対して割り当て，
前記複数の処理の何れかの処理において障害が発生した場合，前記記憶手段に記憶された，前記複数の処理の何れかの処理において発生する障害の内容と複数の前記記憶領域のうちの少なくとも１つの記憶領域とが対応付けられた対応情報において，発生した前記障害と一致する障害の内容と対応付けられた記憶領域に記憶された履歴情報を，前記複数の記憶領域とは異なる記憶領域に複製する処理を実行させる
ことを特徴とするプログラム。 
【０２００】
（付記１１）
複数の処理それぞれの実行に応じて該複数の処理それぞれの処理の履歴を示す履歴情報を記憶する，前記複数の処理それぞれに対して割り当てられた複数の記憶領域を備えた記憶手段を備えた情報処理装置で実行される情報処理方法であって，
前記情報処理装置は，前記複数の処理の何れかの処理において障害が発生した場合，前記記憶手段に記憶された，前記複数の処理の何れかの処理において発生する障害の内容と前記複数の記憶領域のうちの少なくとも１つの記憶領域とが対応付けられた対応情報において，発生した前記障害と一致する障害の内容と対応付けられた記憶領域に記憶された履歴情報を，前記複数の記憶領域とは異なる記憶領域に複製する 
ことを特徴とする情報処理方法。
【符号の説明】
【０２０１】
1…業務システム，11…業務サーバ，12…業務データベース，2…監視装置，21…CPU，22…メモリ，221…ログデータ，23…通信装置，24…記憶装置，241…定義ファイル，242…ログファイル群，243…退避ログファイル，25…イベントデータベース，26…記録媒体読み取り装置，261…記録媒体，200…管理部，201…収集部，202…処理部，2021…管理部，2022…受付部，2023…格納部，2024…集計部，2025…ログ処理部，2026…ログ退避部，203…出力部，2031…検索部，204…外部インターフェイス，3…管理者用の端末装置，4…利用者用の端末装置。
【図１】
2014067369.tif 000003
【図２】
2014067369.tif 000004
【図３】
2014067369.tif 000005
【図４】
2014067369.tif 000006
【図５】
2014067369.tif 000007
【図６】
2014067369.tif 000008
【図７】
2014067369.tif 000009
【図８】
2014067369.tif 000010
【図９】
2014067369.tif 000011
【図１０】
2014067369.tif 000012
【図１１】
2014067369.tif 000013
【図１２】
2014067369.tif 000014
【図１３】
2014067369.tif 000015
【図１４】
2014067369.tif 000016
【図１５】
2014067369.tif 000017
【図１６】
2014067369.tif 000018
【図１７】
2014067369.tif 000019
【図１８】
2014067369.tif 000020