(57)【要約】      （修正有）【課題】解析に有用でないログの収集を抑える情報処理装置を提供する。【解決手段】情報処理装置１の記憶部１ａは、管理情報３として、所定の装置の構成部品に関する複数のログレコードを含む動作情報２のうち、抽出対象とするログレコードの時間範囲とログレコードのタイプ毎の優先レベルとを、メッセージ毎に記憶する。処理部１ｂは、メッセージ（ＩＤ：Ｍ１）を検出すると、記憶部を参照して、当該メッセージに応じた現時刻＝１８：１０：００からの時間範囲ΔＴ１＝１０分および優先レベルｔｙｐｅ１＞ｔｙｐｅ２＞ｔｙｐｅ３に基づき、動作情報の中からログレコード＃ｎ−３、＃ｎ−１、＃ｎを抽出サイズ上限＝３まで抽出する。【選択図】図１
2019028878.tif 000002
【特許請求の範囲】
【請求項１】
所定の装置の構成部品に関する複数のログレコードを含む動作情報のうち、抽出対象とするログレコードの時間範囲と前記ログレコードのタイプ毎の優先レベルとを、メッセージ毎に記憶する記憶部と、
メッセージを検出すると、前記記憶部を参照して、前記メッセージに応じた現時刻からの前記時間範囲および前記優先レベルに基づき、前記動作情報の中から前記ログレコードを抽出する処理部と、
を有する情報処理装置。
【請求項２】
前記処理部は、前記複数のログレコードを、タイプ毎に時系列にリンクさせ、ログレコード間のリンクに基づき、各タイプの前記ログレコードの抽出順を決定する、請求項１記載の情報処理装置。
【請求項３】
前記記憶部は、抽出する前記ログレコードの合計サイズの上限値の算出方法を示す情報をメッセージ毎に記憶し、
前記処理部は、前記メッセージを検出すると、前記記憶部を参照して、前記メッセージに応じた前記算出方法に基づき、前記上限値を算出する、
請求項１または２記載の情報処理装置。
【請求項４】
前記処理部は、現時刻から過去の前記時間範囲に属するログレコード群のうち、第１の優先レベルに対応する第１のログレコードを、前記第１の優先レベルで示される優先順位より低い優先順位を示す第２の優先レベルに対応する第２のログレコードよりも優先的に抽出する、請求項３記載の情報処理装置。
【請求項５】
前記処理部は、前記メッセージを受け付けると、複数の情報処理装置に、情報処理装置毎の前記動作情報からの前記ログレコードの抽出を指示し、
前記ログレコードの抽出を指示する際に、前記メッセージに応じた前記算出方法に基づき、情報処理装置毎の前記上限値を決定し、決定した前記上限値を、前記複数の情報処理装置に通知する、
請求項３または４記載の情報処理装置。
【請求項６】
前記記憶部は、前記時間範囲よりも長い期間を示す他の時間範囲をメッセージ毎に記憶し、
前記処理部は、前記メッセージを検出すると、前記記憶部を参照して、前記メッセージに応じた現時刻から過去の前記時間範囲および前記優先レベルに基づき、前記動作情報の中から前記ログレコードを抽出し、その後、前記メッセージに応じた現時刻から過去の前記他の時間範囲および前記優先レベルに基づき、前記動作情報の中から他のログレコードを抽出する、
請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
メッセージを検出すると、所定の装置の構成部品に関する複数のログレコードを含む動作情報のうち、抽出対象とするログレコードの時間範囲と前記ログレコードのタイプ毎の優先レベルとを、メッセージ毎に記憶する記憶部を参照して、前記メッセージに応じた前記時間範囲および前記優先レベルに基づき、前記動作情報の中から前記ログレコードを抽出する、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
情報処理システムでは、運用管理用のコンピュータにより、情報処理システムに含まれる装置の動作に関する動作情報を取得し、当該装置の稼働状況を把握可能にすることがある。動作情報は、当該装置のハードウェアやソフトウェアなどのコンポーネントによって出力されるログを含む。
【０００３】
例えば、一連の通信パスの状態変化を表すログ情報を一括して収集し、一連の通信パスの状態変化を表すログ情報に統一したフォーマットで編集して外部記憶装置に出力するデータ通信処理装置の提案がある。
【０００４】
また、複数の監視対象が正常に稼働しているか監視し、複数の監視対象各々の稼働状況をまとめてディスプレイに表示する監視装置の提案もある。この提案では、監視装置は、ディスプレイに時間軸を表示するとともに、時間軸上に、所定数を上限として複数のイベント情報をイベント発生順またはイベント情報発生順に並べて表示する。監視装置は、新たなイベント情報を取得すると、当該イベント情報を時間軸条の所定の位置に、他のイベント情報と並べて表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２−２１２９５６号公報
【特許文献２】国際公開第２０１３／０２１５３０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
障害などの事象に対して、装置に保存されているログ情報を全て収集しようとすると、当該事象との関係が薄く、当該事象の解析に有用でないログも収集されるという問題がある。
【０００７】
１つの側面では、本発明は、解析に有用でないログの収集を抑えることを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、情報処理装置が提供される。情報処理装置は、記憶部と処理部とを有する。記憶部は、所定の装置の構成部品に関する複数のログレコードを含む動作情報のうち、抽出対象とするログレコードの時間範囲とログレコードのタイプ毎の優先レベルとを、メッセージ毎に記憶する。処理部は、メッセージを検出すると、記憶部を参照して、メッセージに応じた現時刻からの時間範囲および優先レベルに基づき、動作情報の中からログレコードを抽出する。
【発明の効果】
【０００９】
１つの側面では、解析に有用でないログの収集を抑えることができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施の形態の情報処理装置を示す図である。
【図２】第２の実施の形態のストレージシステムの例を示す図である。
【図３】第２の実施の形態のストレージ装置の接続例を示す図である。
【図４】第２の実施の形態のストレージ装置のハードウェア例を示す図である。
【図５】第２の実施の形態のＣＭの機能例を示す図である。
【図６】第２の実施の形態のページの例を示す図である。
【図７】第２の実施の形態のページリストの例を示す図である。
【図８】第２の実施の形態の割り当て方式管理テーブルの例を示す図である。
【図９】第２の実施の形態のログ抽出管理テーブルの例を示す図である。
【図１０】第２の実施の形態のログ収集例を示す図である。
【図１１】第２の実施の形態のログ収集例を示すフローチャートである。
【図１２】第２の実施の形態のＣＭ単位のログ抽出例を示すフローチャートである。
【図１３】第２の実施の形態の時間範囲内のログ抽出例を示すフローチャートである。
【図１４】第２の実施の形態の優先レベル単位のログ抽出例を示すフローチャートである。
【図１５】第２の実施の形態のログ抽出例（その１）を示す図である。
【図１６】第２の実施の形態のログ抽出例（その２）を示す図である。
【図１７】第２の実施の形態のログ抽出例（その３）を示す図である。
【図１８】第２の実施の形態のログ抽出例（その４）を示す図である。
【図１９】第３の実施の形態のログ抽出管理テーブルの例を示す図である。
【図２０】第３の実施の形態のＣＭ単位のログ抽出例を示すフローチャートである。
【図２１】第３の実施の形態のログ抽出例を示す図である。
【図２２】第３の実施の形態のログ抽出管理テーブルの第１具体例を示す図である。
【図２３】第３の実施の形態のログ抽出の第１具体例を示す図である。
【図２４】第３の実施の形態のログ抽出管理テーブルの第２具体例を示す図である。
【図２５】第３の実施の形態のログ抽出の第２具体例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理装置を示す図である。情報処理装置１は、所定の装置の構成部品の動作に関する動作情報を取得する。所定の装置は、情報処理装置１でもよいし、情報処理装置１以外の他の装置でもよい。情報処理装置１は、障害などのイベントに対して解析用の動作情報を収集する機能を提供する。情報処理装置１は、記憶部１ａおよび処理部１ｂを有する。
【００１２】
記憶部１ａは、ＲＡＭ（Random Access Memory）などの揮発性記憶装置でもよいし、ＨＤＤ（Hard Disk Drive）やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部１ｂは、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などを含み得る。処理部１ｂはプログラムを実行するプロセッサでもよい。「プロセッサ」には、複数のプロセッサの集合（マルチプロセッサ）も含まれ得る。
【００１３】
記憶部１ａは、動作情報２および管理情報３を記憶する。動作情報２は、所定の装置の構成部品に関する複数のログレコードを含む。構成部品は、例えば、該当の装置が備えるハードウェアやソフトウェアなどのコンポーネントである。あるいは、構成部品は、当該コンポーネントにおいて所定の機能を実現するモジュールでもよい。１つのログレコードは、レコード番号（図中“＃”と表記）、タイムスタンプ、ログタイプおよびログ内容を含む。レコード番号は、ログレコードの識別番号である。タイムスタンプは、ログ内容が記録された日時である。ログタイプは、ログ内容の分類を示す識別情報である。分類は、例えば、ログに関連するハードウェアの種類（記憶デバイスや通信デバイスなど）、ソフトウェアの種類（ＯＳ（Operating system）、ミドルウェアおよびアプリケーションなど）に応じて分けられる。動作情報２の例では、ログタイプは、“ｔｙｐｅ１”、“ｔｙｐｅ２”、“ｔｙｐｅ３”の３種類ある。ログ内容は、記録されたログの内容を示す情報である。
【００１４】
例えば、動作情報２は、ログ番号（＃）“ｎ−５”（ｎは６以上の整数）、タイムスタンプ“２０１７／６／３０  １７：５８：５０”、ログタイプ“ｔｙｐｅ１”、ログ内容“ｆａｕｌｔ  ａａａａ”というログレコードを含む。動作情報２の例では、ログ番号（＃）“ｎ”のログレコードが最新である。
【００１５】
管理情報３は、動作情報２のうち、抽出対象とするログレコードの時間範囲とログレコードのタイプ（ログタイプ）毎の優先レベルとが、事象の発生を示すメッセージに対して登録された情報である。メッセージは、所定の装置（情報処理装置１または他の装置）におけるハードウェアやソフトウェアなどのコンポーネントにより発行される。管理情報の１つのレコードは、メッセージＩＤ（IDentifier）、時間範囲、およびログタイプ優先レベルを含む。メッセージＩＤは、メッセージの識別情報である。時間範囲は、ログレコードの抽出対象とする時間範囲を示す情報である。ログタイプ優先レベルは、ログタイプ毎の優先度を示す情報である。メッセージの発行元のコンポーネントに対して関連性が高いログタイプほど、優先度が高くなるように予め設定される。
【００１６】
例えば、管理情報３は、メッセージＩＤ“Ｍ１”、時間範囲“ΔＴ１”、ログタイプ優先レベル“ｔｙｐｅ１＞ｔｙｐｅ２＞ｔｙｐｅ３”というレコードを含む。ここで、ログタイプ優先レベルの記号“＞”は、当該記号の左側のログタイプの方が、当該記号の右側のログタイプよりも優先度が高いことを示す。例えば、“ｔｙｐｅ１＞ｔｙｐｅ２＞ｔｙｐｅ３”の表記は、３つのログタイプのうち、“ｔｙｐｅ１”が最も優先度が高く、次いで“ｔｙｐｅ２”の優先度が高く、“ｔｙｐｅ３”の優先度が最も低いことを示す。
【００１７】
処理部１ｂは、管理情報３を取得し、記憶部１ａに格納する。管理情報３は、例えば、ユーザにより情報処理装置１に対して予め入力される。
処理部１ｂは、メッセージを検出すると、記憶部１ａを参照して、当該メッセージに応じた現時刻からの時間範囲および優先レベル（ログタイプ優先レベル）に基づき、動作情報２の中からログレコードを抽出する。
【００１８】
例えば、処理部１ｂは、メッセージＩＤ“Ｍ１”を含むメッセージを受信する。管理情報３によれば、メッセージＩＤ“Ｍ１”に応じた時間範囲は“ΔＴ１”である。管理情報３によれば、メッセージＩＤ“Ｍ１”に応じたログタイプ優先レベルは、“ｔｙｐｅ１＞ｔｙｐｅ２＞ｔｙｐｅ３”である。したがって、処理部１ｂは、現時刻からの時間範囲“ΔＴ１”およびログタイプ優先レベル“ｔｙｐｅ１＞ｔｙｐｅ２＞ｔｙｐｅ３”に基づいて動作情報２の中からログレコードを抽出する。
【００１９】
より具体的には、抽出条件の一例として、（１）ΔＴ１が１０分（ΔＴ１＝１０分）であり、（２）現時刻が２０１７／６／３０の１８：１０：００であり、（３）抽出するログレコードの合計サイズの上限が“３”（抽出サイズ上限＝３）の場合を考える。ここで、例えば、動作情報２のログレコード１つ当たりのサイズを１とする。
【００２０】
この場合、処理部１ｂは、例えば、次のようにログレコードの抽出を行う。
まず、処理部１ｂは、現時刻（１８：１０：００）から時間範囲“ΔＴ１＝１０分”だけ遡った時刻１８：００：００を計算する。そして、処理部１ｂは、時刻１８：００：００から現時刻までの時間範囲に属するログレコードを抽出対象候補とする。動作情報２の例では、抽出対象候補は、レコード番号“ｎ−４”〜“ｎ”までのログレコードである。
【００２１】
次に、処理部１ｂは、抽出対象候補のログレコードのうち、最高の優先レベルであるログタイプ“ｔｙｐｅ１”のログレコードを新しい方から古い方へ順に抽出する。まず、処理部１ｂは、ログタイプ“ｔｙｐｅ１”であるレコード番号“ｎ”のログレコードを抽出する。処理部１ｂは、ログレコードを１つ抽出するたびに、抽出したログレコードの合計サイズが上限“３”に達したか否かを判定する。この段階では、抽出したログレコードの合計サイズは“１”であり、上限“３”に達していない。次に、処理部１ｂは、ログタイプ“ｔｙｐｅ１”であるレコード番号“ｎ−３”のログレコードを抽出する。この段階では、抽出したログレコードの合計サイズは“２”であり、上限“３”に達していない。
【００２２】
次に、処理部１ｂは、抽出対象候補のログレコードのうち、２番目に高い優先レベルであるログタイプ“ｔｙｐｅ２”のログレコードを新しい方から古い方へ順に抽出する。まず、処理部１ｂは、ログタイプ“ｔｙｐｅ２”であるレコード番号“ｎ−１”のログレコードを抽出する。この段階で、抽出したログレコードの合計サイズは“３”であり、上限“３”に達する。したがって、処理部１ｂは、抽出対象候補であるレコード番号“ｎ−４”〜“ｎ”までのログレコードのうち、レコード番号“ｎ−３”、“ｎ−１”、“ｎ”のログレコードを抽出する。一方、処理部１ｂは、抽出対象候補であるレコード番号“ｎ−４”〜“ｎ”までのログレコードのうち、レコード番号“ｎ−４”（ログタイプ“ｔｙｐｅ２”）、“ｎ−２”（ログタイプ“ｔｙｐｅ３”）のレコードを抽出しない。
【００２３】
処理部１ｂは、抽出したレコード番号“ｎ−３”、“ｎ−１”、“ｎ”のログレコードを出力する。例えば、処理部１ｂは、抽出したログレコードを、情報処理装置１に接続された表示装置（図１では図示を省略している）に出力し、表示装置により抽出したログレコードに含まれるログ内容を表示させてもよい。また、処理部１ｂは、抽出したログレコードを解析することで、障害などのイベントの原因特定を支援してもよい。あるいは、処理部１ｂは、ログレコードの解析を行う他の装置（図１では図示を省略している）に、抽出したログレコードを送信してもよい。
【００２４】
このように、情報処理装置１によれば、解析に有用でないログの収集を抑えることができる。
ここで、例えば、障害などの事象（イベント）に対して、動作情報２を全て収集することも考えられる。しかし、動作情報２には、新しいものや古いもの、ハードウェアやソフトウェアなどに関する種々のログレコードが含まれる。このため、動作情報２を全て収集すると、発生した事象との関係が薄く、当該事象の解析に有用でないログレコードも収集されるという問題がある。余計なログレコードの収集は、ログレコードを他の装置に送信する際の通信量の増加や、有用でないログレコードによる解析量の増加などの要因になる。
【００２５】
例えば、収集するログサイズを小さくするために、単に、抽出対象サイズに上限を設けることも考えられる。しかし、抽出対象サイズに上限を設けただけでは、該当の事象に対して有用でないログレコードが抽出される可能性は大きい。なぜなら、発生する事象に応じて、当該事象と関連性の高いコンポーネントは異なるからである。また、現時点に対して古いログレコードほど、現時点の事象との関連が薄くなるからである。
【００２６】
そこで、情報処理装置１は、事象の発生を示すメッセージ毎に抽出対象ログレコードの時間範囲とログタイプ別の優先レベルと（管理情報３）を取得し、記憶部１ａにより記憶する。情報処理装置１は、メッセージを検出すると、当該メッセージに応じた時間範囲とログタイプ別の優先レベルとを記憶部１ａに記憶された管理情報３から検索する。そして、情報処理装置１は、現時点以前の時間範囲とログタイプ別の優先レベルとを基にログレコードを抽出する。これにより、情報処理装置１は、動作情報２のうち、障害解析に有用なログレコードのみを得ることができる。
【００２７】
以下では、情報処理装置１の機能を有するストレージ装置を例示して、当該機能を更に具体的に説明する。
［第２の実施の形態］
図２は、第２の実施の形態のストレージシステムの例を示す図である。第２の実施の形態のストレージシステムは、ストレージ装置１０，２０を含む。ストレージ装置１０，２０は、フロントエンドエンクロージャ（ＦＥ：Front-end Enclosure）３０を介して接続されている。ストレージ装置１０は、ローカルエリアネットワーク（ＬＡＮ：Local Area Network）４０に接続されている。ＬＡＮ４０は、インターネット５０に接続されている。
【００２８】
ストレージ装置１０は、ＬＡＮ４０およびインターネット５０を介して、サポートサーバ６０と通信する。サポートサーバ６０は、ストレージシステムの保守に用いられるサーバコンピュータである。サポートサーバ６０は、ストレージシステムで障害が発生した場合に、ストレージ装置１０，２０のログを取得し、取得したログに基づく保守員による保守作業（例えば、障害の原因究明や対策立案など）を支援する。
【００２９】
ストレージ装置１０，２０は、ストレージエリアネットワーク（ＳＡＮ：Storage Area Network）７０に接続されている。ＳＡＮ７０には、業務サーバ８０が接続されている。業務サーバ８０は、ユーザの業務を支援するソフトウェアを実行するサーバコンピュータである。ストレージ装置１０，２０は、業務サーバ８０の業務処理に用いられるデータを記憶する。ストレージ装置１０，２０はＳＡＮ７０を介して、業務サーバ８０によるデータアクセスを受け付ける。
【００３０】
図３は、第２の実施の形態のストレージ装置の接続例を示す図である。ストレージ装置１０は、コントローラモジュール（ＣＭ：Controller Module）１００，２００およびドライブエンクロージャ（ＤＥ：Drive Enclosure）１１，１２を有する。
【００３１】
ＣＭ１００，２００は、ＤＥ１１，１２に収納されたＨＤＤやＳＳＤ（Solid State Drive）などの記憶装置に対するデータアクセスを制御するストレージ制御装置である。ＣＭ１００，２００は、コントローラエンクロージャ（ＣＥ：Controller Enclosure）と呼ばれる１つの筐体に収められる。ＣＭ１００，２００は、ＦＥ３０に接続されている。ＣＭ１００は、ＤＥ１１，１２に接続されている。ＣＭ２００は、ＤＥ１１，１２に接続されている。
【００３２】
ＤＥ１１，１２は、ＨＤＤやＳＳＤなどの記憶装置を複数収容する。ＤＥ１１，１２は、ＣＭ１００，２００とは別筐体でも（ＣＭ１００，２００に対して外付けされても）よいし、ＣＭ１００，２００と同じ筐体に収められてもよい。ＣＭ１００は、第１の実施の形態の情報処理装置１の一例である。
【００３３】
ストレージ装置２０は、ＣＭ３００，４００およびＤＥ２１，２２を有する。
ＣＭ３００，４００は、ＤＥ２１，２２に収納されたＨＤＤやＳＳＤなどの記憶装置に対するデータアクセスを制御するストレージ制御装置である。ＣＭ３００，４００は、ＦＥ３０に接続されている。ＣＭ３００は、ＤＥ２１，２２に接続されている。ＣＭ４００は、ＤＥ２１，２２に接続されている。
【００３４】
ＤＥ２１，２２は、ＨＤＤやＳＳＤなどの記憶装置を複数収容する。ＤＥ２１，２２は、ＣＭ３００，４００とは別筐体でも（ＣＭ３００，４００に対して外付けされても）よいし、ＣＭ３００，４００と同じ筐体に収められてもよい。
【００３５】
ここで、ＣＭ１００は、ＣＭ２００，３００，４００に対するマスタＣＭとして機能する。マスタＣＭは、ストレージシステムの運用管理機能を統括するＣＭであり、ＦＥ３０を介して、他のＣＭ（ＣＭ２００，３００，４００）からログなどの情報を収集し、収集したログをサポートサーバ６０に送信する機能を担う。
【００３６】
図４は、第２の実施の形態のストレージ装置のハードウェア例を示す図である。ＣＭ１００は、プロセッサ１０１、ＲＡＭ１０２、ＮＡ（Network Adapter）１０３、ＣＡ（Channel Adapter）１０４、ＮＴＢ（Non-Transparent Bridge）１０５、ＢＵＤ（Boot-up and Utility Device）１０６、ＤＩ（Drive Interface）１０７、ＣＭ−ＩＦ（InterFace）１０８および媒体リーダ１０９を有する。これらのハードウェアは、ＣＭ１００の内部バスに接続されている。ＣＭ２００，３００，４００も同様のハードウェアにより実現される。
【００３７】
プロセッサ１０１は、ＣＭ１００の情報処理を制御するハードウェアである。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ、ＤＳＰ、ＡＳＩＣまたはＦＰＧＡなどである。プロセッサ１０１は、ＣＰＵ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡなどのうちの２以上の要素の組み合わせであってもよい。
【００３８】
ＲＡＭ１０２は、ＣＭ１００の主記憶装置である。ＲＡＭ１０２は、揮発性の半導体メモリである。ＲＡＭ１０２として、例えば、ＳＲＡＭ（Static RAM）やＤＲＡＭ（Dynamic RAM）などが用いられる。ＲＡＭ１０２は、プロセッサ１０１に実行させるＯＳやファームウェアのプログラムの少なくとも一部を一時的に記憶する。また、ＲＡＭ１０２は、プロセッサ１０１による処理に用いられる各種データを記憶する。
【００３９】
ＮＡ１０３は、ＬＡＮ４０を介してサポートサーバ６０と通信する通信インタフェースである。ＮＡ１０３として、例えばイーサネット（登録商標）のインタフェースを用いることができる。
【００４０】
ＣＡ１０４は、ＳＡＮ５０を介して業務サーバ８０と通信する通信インタフェースである。ＣＡ１０４は、業務サーバ８０からＤＥ２１，２２へのブロックアクセスに用いられる。ＣＡ１０４として、例えばＦＣ（Fibre Channel）のインタフェースを用いることができる。ＣＡ１０４として、ＦＣ以外のインタフェース（例えば、ＳＡＳ（Serial Attached SCSI、ＳＣＳＩはSmall Computer System Interfaceの略）など）が用いられることもある。
【００４１】
ＮＴＢ１０５は、ＦＥ３０と接続する通信インタフェースである。ＮＴＢ１０５は、ＦＥ３０を介して、ＣＭ２００，３００，４００と通信する。
ＢＵＤ１０６は、ＣＭ１００の補助記憶装置である。ＢＵＤ１０６は、不揮発性の半導体メモリである。例えば、ＢＵＤ１０６として、ＳＳＤが用いられる。ＢＵＤ１０６は、ＯＳやファームウェアを含むプログラムや各種データなどを記憶する。ＢＵＤ１０６は、ＣＭ１００において動作するハードウェアやソフトウェアなどのコンポーネントにより出力されたログの保存にも用いられる。
【００４２】
ＤＩ１０７は、ＤＥ２１，２２と通信するためのインタフェースである。例えば、ＤＩ１０７として、ＳＡＳなどのインタフェースを用いることができる。
ＣＭ−ＩＦ１０８は、ＣＭ２００と接続するためのインタフェースである。ＣＭ１００は、ＣＭ−ＩＦ１０８を用いて、ＣＭ２００と連携してデータアクセスを行える。例えば、ＣＭ１００を運用系、ＣＭ２００を待機系としてもよい。あるいは、ＣＭ１００，２００の両方を運用系として、データアクセスを分散して行ってもよい。何れの場合も、一方の故障時に他方でデータアクセスを引き継ぐことができ、ユーザの業務が停止されることを防げる。
【００４３】
媒体リーダ１０９は、記録媒体９１に記憶されたプログラムやデータを読み取る装置である。記録媒体９１として、例えば、フラッシュメモリカードなどの不揮発性の半導体メモリを使用することができる。媒体リーダ１０９は、例えば、プロセッサ１０１からの命令に従って、記録媒体９１から読み取ったプログラムやデータを、ＲＡＭ１０２やＢＵＤ１０６に格納することもできる。
【００４４】
図５は、第２の実施の形態のＣＭの機能例を示す図である。ＣＭ１００は、記憶部１１０、メッセージ生成部１２０、通知制御部１３０、ログ収集部１４０およびログ抽出部１５０を有する。
【００４５】
記憶部１１０は、ＲＡＭ１０２やＢＵＤ１０６の記憶領域を用いて実現される。
メッセージ生成部１２０、通知制御部１３０、ログ収集部１４０およびログ抽出部１５０は、プロセッサ１０１によって実現される。例えば、プロセッサ１０１は、ＲＡＭ１０２に記憶されたプログラムを実行することで、メッセージ生成部１２０、通知制御部１３０、ログ収集部１４０およびログ抽出部１５０の機能を発揮してもよい。あるいは、メッセージ生成部１２０、通知制御部１３０、ログ収集部１４０およびログ抽出部１５０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【００４６】
記憶部１１０は、ＣＭ１００におけるハードウェア（ＤＥ２１，２２を含む）、ＯＳ、ミドルウェアおよびアプリケーションなどのコンポーネントの動作に関するログを記憶する。また、記憶部１１０は、ＣＭ１００，２００，３００，４００のコンポーネントにより生成されるメッセージに対して、ログの抽出に用いられる管理情報を予め記憶する。管理情報は、ＣＭ１００，２００，３００，４００それぞれで抽出するログの上限サイズ（抽出量の上限値）を決定するための情報を含む。また、管理情報は、抽出候補とする時間範囲や抽出候補とするログの分類（ログタイプ）の優先レベルの情報を含む。
【００４７】
メッセージ生成部１２０は、通知制御部１３０に対して障害の発生を示すメッセージを通知する。メッセージ生成部１２０は、ＣＭ１００のコンポーネントにおける障害通知用のモジュールでもよい。また、メッセージ生成部１２０は、障害発生時以外にも、当該コンポーネントの動作に関するログを記憶部１１０に格納してもよい。
【００４８】
通知制御部１３０は、メッセージ生成部１２０およびＣＭ２００，３００，４００によるメッセージの通知を監視する。通知制御部１３０は、メッセージ生成部１２０およびＣＭ２００，３００，４００の何れかにより通知されたメッセージを取得すると、取得したメッセージをサポートサーバ６０に送信する。通知制御部１３０は、一定時間後に、ログ収集部１４０に対して、障害調査用のログ収集を依頼する。ここで、「一定時間」は、例えば、障害事象に応じた後処理を実行するための時間である。障害事象に応じた後処理の一例としては、異常部品の切り離しや再組み込みなどが挙げられる。
【００４９】
通知制御部１３０は、ログ収集部１４０からログ収集結果を取得する。通知制御部１３０は、取得したログ収集結果をサポートサーバ６０に送信する。ここで、サポートサーバ６０へのログ収集結果の送信可能なサイズには上限が設けられる。例えば、サポートサーバ６０へのログ収集結果の送信可能なサイズの上限は、１ＭＢ（Mega Bytes）である。
【００５０】
ログ収集部１４０は、通知制御部１３０によるログ収集の依頼に応じて、記憶部１１０に記憶された管理情報を参照し、今回のメッセージに対してＣＭ１００，２００，３００，４００それぞれで抽出するログのサイズ（抽出量）の上限値を決定する。ログ収集部１４０は、今回のメッセージのメッセージＩＤと決定した上限とをログ抽出部１５０およびＣＭ２００，３００，４００に通知し、通知した抽出量の上限値でのログ抽出を指示する。
【００５１】
なお、ログ収集部１４０は、ＣＭ１００，２００，３００，４００それぞれにＣＭ番号と呼ばれる識別番号を付与している。ＣＭ１００のＣＭ番号は“１”である。ＣＭ２００のＣＭ番号は“２”である。ＣＭ３００のＣＭ番号は“３”である。ＣＭ４００のＣＭ番号は“４”である。
【００５２】
ログ収集部１４０は、ログ抽出部１５０およびＣＭ２００，３００，４００により抽出されたログのレコード群を取得し、取得したレコード群をログ収集結果として、通知制御部１３０に提供する。
【００５３】
ログ抽出部１５０は、ログ収集部１４０のログ抽出の指示に応じて、記憶部１１０に記憶されたログから障害調査用のレコードを抽出する。ログ抽出部１５０は、記憶部１１０に記憶された管理情報を参照し、今回のメッセージＩＤに対して、抽出候補とする時間範囲や抽出候補とするログタイプの優先レベルを特定する。ログ抽出部１５０は、レコードの抽出に、ログ収集部１４０により通知された抽出量の上限値、および、特定した時間範囲やログタイプの優先レベルの情報を用いる。ログ抽出部１５０は、抽出したレコードをログ収集部１４０に提供する。
【００５４】
ＣＭ２００は、記憶部２１０、メッセージ生成部２２０およびログ抽出部２３０を有する。記憶部２１０は、ＣＭ２００が備えるＲＡＭやＢＵＤの記憶領域を用いて実現される。メッセージ生成部２２０およびログ抽出部２３０は、ＣＭ２００が備えるプロセッサを用いて実現される。例えば、ＣＭ２００のプロセッサは、ＣＭ２００のＲＡＭに記憶されたプログラムを実行することで、メッセージ生成部２２０およびログ抽出部２３０の機能を発揮してもよい。あるいは、メッセージ生成部２２０およびログ抽出部２３０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【００５５】
記憶部２１０は、ＣＭ２００におけるハードウェア、ＯＳ、ミドルウェアおよびアプリケーションなどのコンポーネントの動作に関するログを記憶する。
メッセージ生成部２２０は、通知制御部１３０に対して障害の発生を示すメッセージを通知する。メッセージ生成部２２０は、ＣＭ２００のコンポーネントにおける障害通知用のモジュールでもよい。また、メッセージ生成部２２０は、障害発生時以外にも、当該コンポーネントの動作に関するログを記憶部２１０に格納してもよい。
【００５６】
ログ抽出部２３０は、ログ収集部１４０のログ抽出の指示に応じて、記憶部２１０に記憶されたログから障害調査用のレコードを抽出する。ログ抽出部２３０は、記憶部２１０に記憶された管理情報を参照し、今回のメッセージＩＤに対して、抽出候補とする時間範囲や抽出候補とするログタイプの優先レベルを特定する。ログ抽出部２３０は、レコードの抽出に、ログ収集部１４０により通知された抽出量の上限値、および、特定した時間範囲やログタイプの優先レベルの情報を用いる。ログ抽出部２３０は、抽出したレコードをログ収集部１４０に送信する。
【００５７】
ＣＭ３００は、記憶部３１０、メッセージ生成部３２０およびログ抽出部３３０を有する。記憶部３１０は、ＣＭ３００が備えるＲＡＭやＢＵＤの記憶領域を用いて実現される。メッセージ生成部３２０およびログ抽出部３３０は、ＣＭ３００が備えるプロセッサを用いて実現される。例えば、ＣＭ３００のプロセッサは、ＣＭ３００のＲＡＭに記憶されたプログラムを実行することで、メッセージ生成部３２０およびログ抽出部３３０の機能を発揮してもよい。あるいは、メッセージ生成部３２０およびログ抽出部３３０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【００５８】
記憶部３１０は、ＣＭ３００におけるハードウェア、ＯＳ、ミドルウェアおよびアプリケーションなどのコンポーネントの動作に関するログを記憶する。
メッセージ生成部３２０は、通知制御部１３０に対して障害の発生を示すメッセージを通知する。メッセージ生成部３２０は、ＣＭ３００のコンポーネントにおける障害通知用のモジュールでもよい。また、メッセージ生成部３２０は、障害発生時以外にも、当該コンポーネントの動作に関するログを記憶部３１０に格納してもよい。
【００５９】
ログ抽出部３３０は、ログ収集部１４０のログ抽出の指示に応じて、記憶部３１０に記憶されたログから障害調査用のレコードを抽出する。ログ抽出部３３０は、記憶部３１０に記憶された管理情報を参照し、今回のメッセージＩＤに対して、抽出候補とする時間範囲や抽出候補とするログタイプの優先レベルを特定する。ログ抽出部３３０は、レコードの抽出に、ログ収集部１４０により通知された抽出量の上限値、および、特定した時間範囲やログタイプの優先レベルの情報を用いる。ログ抽出部３３０は、抽出したレコードをログ収集部１４０に送信する。
【００６０】
ＣＭ４００は、記憶部４１０、メッセージ生成部４２０およびログ抽出部４３０を有する。記憶部４１０は、ＣＭ４００が備えるＲＡＭやＢＵＤの記憶領域を用いて実現される。メッセージ生成部４２０およびログ抽出部４３０は、ＣＭ４００が備えるプロセッサを用いて実現される。例えば、ＣＭ４００のプロセッサは、ＣＭ４００のＲＡＭに記憶されたプログラムを実行することで、メッセージ生成部４２０およびログ抽出部４３０の機能を発揮してもよい。あるいは、メッセージ生成部４２０およびログ抽出部４３０は、ＦＰＧＡやＡＳＩＣなどのハードワイヤードロジックにより実現されてもよい。
【００６１】
記憶部４１０は、ＣＭ４００におけるハードウェア、ＯＳ、ミドルウェアおよびアプリケーションなどのコンポーネントの動作に関するログを記憶する。
メッセージ生成部４２０は、通知制御部１３０に対して障害の発生を示すメッセージを通知する。メッセージ生成部４２０は、ＣＭ４００のコンポーネントにおける障害通知用のモジュールでもよい。また、メッセージ生成部４２０は、障害発生時以外にも、当該コンポーネントの動作に関するログを記憶部４１０に格納してもよい。
【００６２】
ログ抽出部４３０は、ログ収集部１４０のログ抽出の指示に応じて、記憶部４１０に記憶されたログから障害調査用のレコードを抽出する。ログ抽出部４３０は、記憶部４１０に記憶された管理情報を参照し、今回のメッセージＩＤに対して、抽出候補とする時間範囲や抽出候補とするログタイプの優先レベルを特定する。ログ抽出部４３０は、レコードの抽出に、ログ収集部１４０により通知された抽出量の上限値、および、特定した時間範囲やログタイプの優先レベルの情報を用いる。ログ抽出部４３０は、抽出したレコードをログ収集部１４０に送信する。
【００６３】
図６は、第２の実施の形態のページの例を示す図である。ページＰ１は、ログのレコード（ログレコード）の集合である。ページＰ１のサイズは、固定サイズである。ページＰ１のサイズは、例えば、６４ＫＢ（Kilo Bytes）である。１つのページＰ１に含まれるレコードの数は、１つでもよいし、２以上でもよい。ページＰ１に含まれるレコードの数が１つの場合、ページＰ１とレコードとは同義である。ページＰ１の例では、ページＰ１の３行目以降の１行が１つのレコードである。
【００６４】
例えば、１つのレコードは、タイムスタンプ（time stamp）、ログタイプ（log type）、モジュール（module）、ログテキスト（log text）のフィールドを含む。
タイムスタンプは、レコードが記録された日時（年月日時分秒）である。ログタイプは、ログの種別である。例えば、ログタイプとして、発行元のハードウェアやソフトウェアおよび障害の内容などに応じて種々の種別が予め定められる。モジュールは、レコードの発行元のモジュール（例えば、ハードウェアやソフトウェアなどのコンポーネントにおける構成部品）の識別名である。ログテキストは、コンポーネントの動作に関するログの具体的な内容を示す情報である。
【００６５】
例えば、ページＰ１には、タイムスタンプ“２０１７／６／３０  １８：００：００”、ログタイプ“ｔｙｐｅ１”、モジュール“Ｍ１”、ログテキスト“ｆａｕｌｔ  ｘｘｘｘｘｘ”というレコードが登録されている。このレコードは、２０１７年６月３０日１８時００分００秒に、ログタイプが“ｔｙｐｅ１”、発行元のモジュールが“Ｍ１”、ログテキスト“ｆａｕｌｔ  ｘｘｘｘｘｘ”という情報が記録されたことを示す。
【００６６】
各ＣＭは、ログタイプ毎に、時系列のリスト構造により複数のページを管理する。ページのリスト構造は、各ページを時系列にリンクしたデータ構造である。例えば、あるページの時刻は、当該ページに属するレコードのうちの最も古い時刻（例えば、ページＰ１であれば“２０１７／６／３０  １８：００：００”）である。１つのログタイプに関する一連のページを、ページリストと呼ぶこととする。
【００６７】
図７は、第２の実施の形態のページリストの例を示す図である。ページリストＺ１は、ログタイプ“ｔｙｐｅ１”に関するログである。ページリストＺ１は、ページＡ１，Ａ２，Ａ３，Ａ４，Ａ５，Ａ６，Ａ７を含む。ページリストＺ１に属する各ページのうち、ページＡ１が最も古く、ページＡ２，Ａ３，Ａ４，Ａ５，Ａ６の順に新しくなり、ページＡ７が最も新しい。ここで、図中、古いページほど上側に、新しいページほど下側に記載する。すなわち、図面の上側から下側へ向かう方向が時系列の正方向である。ページリストＺ１のうち、ページＡ１は、ｔｏｐ（最古）である。ページリストＺ１のうち、ページＡ７は、ｂｏｔｔｏｍ（最新）である。
【００６８】
このように、ＣＭ１００におけるメッセージ生成部１２０などのログ生成機能は、複数のページを、ログタイプ毎に時系列にリンクさせる。そして、ログ抽出部１５０は、ページ間のリンクに基づき、各ログタイプのページの抽出順を決定する。ページには１以上のログレコードが含まれる。このため、ログ抽出部１５０は、ログレコード間のリンクに基づき、各ログタイプのログレコードの抽出順を決定するともいえる。このようなリスト構造によってログを管理することで、ログ抽出部１５０は、ログ抽出を高速に行える。
【００６９】
図８は、第２の実施の形態の割り当て方式管理テーブルの例を示す図である。割り当て方式管理テーブル１１１は、各ＣＭで抽出するページのサイズの上限値を決定するために用いられる情報である。割り当て方式管理テーブル１１１は、記憶部１１０に予め記憶されている。割り当て方式管理テーブル１１１は、マスタＣＭにより用いられる情報であるが、記憶部２１０，３１０，４１０にも記憶されていてもよい。割り当て方式管理テーブル１１１は、メッセージＩＤおよび割り当て方式の項目を含む。
【００７０】
メッセージＩＤの項目には、メッセージ生成部１２０（あるいは、他ＣＭのメッセージ生成部２２０，３２０，４２０）により生成されるメッセージに含まれ得るメッセージＩＤが登録される。割り当て方式の項目には、各ＣＭで抽出するページのサイズの決定方法（割り当て方式）の識別情報が登録される。
【００７１】
ここで、一例では、割り当て方式を、割り当て方式Ａ，Ｂ，Ｃの３種類とする。
割り当て方式Ａは、標準の割り当て方式である。割り当て方式Ａでは、各ＣＭに対する割り当てサイズ（抽出量の上限値に相当）を同じにする。サポートサーバ６０に送信可能な収集ログのサイズの上限が１ＭＢで、ＣＭ数が４の場合、ＣＭ毎に２５６ＫＢを割り当てる。この場合、１つのＣＭは、抽出量の上限値２５６ＫＢまでページを抽出する。
【００７２】
割り当て方式Ｂは、マスタＣＭ優先の割り当て方式である。割り当て方式Ｂでは、マスタＣＭに対する割り当てを、他ＣＭの２倍にする。マスタＣＭは、ストレージシステム全体を管理するＣＭであり、全体動作の調査を要する障害の場合に、割り当て方式Ｂを採用する。例えば、サポートサーバ６０に送信可能な収集ログのサイズの上限が１ＭＢで、ＣＭ数が４の場合、マスタＣＭの割り当てサイズは４１０ＫＢであり、他ＣＭの割り当てサイズは２０５ＫＢである。
【００７３】
割り当て方式Ｃは、障害検出ＣＭ優先の割り当て方式である。割り当て方式Ｃでは、障害を検出したＣＭの割り当てを、他ＣＭの２倍にする。特定の機能に関する障害であり、当該機能の処理を行っていたＣＭの情報をより多く要する場合に、割り当て方式Ｃを採用する。例えば、サポートサーバ６０に送信可能な収集ログのサイズの上限が１ＭＢで、ＣＭ数が４の場合、障害検出ＣＭの割り当てサイズは４１０ＫＢであり、他ＣＭの割り当てサイズ２０５ＫＢである。
【００７４】
例えば、割り当て方式管理テーブル１１１には、メッセージＩＤが“ａ０００００００１”、割り当て方式が“Ａ（標準）”という情報が登録される。これは、メッセージＩＤ“ａ０００００００１”を含むメッセージが検出された場合に、割り当て方式Ａにより各ＣＭに対するサイズ割り当てを行うことを示す。
【００７５】
図９は、第２の実施の形態のログ抽出管理テーブルの例を示す図である。ログ抽出管理テーブル１１２は、メッセージＩＤに応じたログ抽出対象の時間範囲およびログタイプ毎の優先レベルが登録された情報である。ログ抽出管理テーブル１１２は、記憶部１１０に予め記憶されている。ログ抽出管理テーブル１１２は、記憶部２１０，３１０，４１０にも予め記憶されている。ログ抽出管理テーブル１１２は、メッセージＩＤ、時間範囲およびログタイプの優先レベルの項目を含む。
【００７６】
メッセージＩＤの項目には、メッセージ生成部１２０（あるいは、他ＣＭのメッセージ生成部２２０，３２０，４２０）により生成されるメッセージに含まれ得るメッセージＩＤが登録される。時間範囲の項目には、ログ抽出対象の時間範囲が登録される。当該時間範囲は、障害発生時から何時間前のログまでを抽出対象とするかを示す。すなわち、障害発生時から当該時間範囲の分だけ遡った時刻までがログ抽出対象の時間範囲である。時間範囲の単位は、例えば、時間（hour）である。ログタイプの優先レベルは、ログタイプ毎の優先レベルである。優先レベルは、レベル“１”が最も優先順位が高く、レベル“２”、“３”、・・・とレベルの数値が大きくなるほど、優先順位が低くなる。なお、優先レベル“０”は、抽出しないことを示す。また、優先レベルが同じ複数のログタイプについては、時刻（タイムスタンプ）が新しいページを優先して抽出する。
【００７７】
例えば、ログ抽出管理テーブル１１２には、メッセージＩＤが“ａ０００００００１”、時間範囲が“１２”、ログタイプ“ｔｙｐｅ１”の優先レベル“１”、ログタイプ“ｔｙｐｅ２”の優先レベル“１”、ログタイプ“ｔｙｐｅ３”の優先レベル“１”、ログタイプ“ｔｙｐｅ４”の優先レベル“１”、ログタイプ“ｔｙｐｅ５”の優先レベル“１”、・・・という情報が登録される。これは、メッセージＩＤ“ａ０００００００１”を含むメッセージが検出された場合、当該検出時（障害発生時）から１２時間前に遡った時刻までをログ抽出対象の時間範囲とすることを示す。また、各ログタイプの優先レベルにしたがって、ログ抽出を行うことを示す（この場合、ログタイプ“ｔｙｐｅ１”〜“ｔｙｐｅ５”までの優先レベルは“１”で同じである）。なお、各ログタイプの優先レベルにしたがったログ抽出方法の具体例は後述される。
【００７８】
図１０は、第２の実施の形態のログ収集例を示す図である。マスタＣＭであるＣＭ１００は、ＣＭ１００，２００，３００，４００の何れかから障害に関する所定のメッセージを受け付けると、割り当て方式管理テーブル１１１に基づいて、各ＣＭのログの抽出量の上限値を決定する。また、ＣＭ１００は、ログ抽出管理テーブル１１２に基づいて、ログ抽出対象の時間範囲およびログタイプ毎の優先レベルを決定する。ＣＭ１００は、決定した上限値、時間範囲および優先レベルによるログ抽出を、ＣＭ２００，３００，４００に指示する。また、ＣＭ１００は、自装置においてもログ抽出を行う。
【００７９】
例えば、抽出ログＬ１は、ＣＭ１００においてＢＵＤ１０６に記憶されたログから抽出されたページ群である。抽出ログＬ２は、ＣＭ２００においてＢＵＤ２０６に記憶されたログから抽出されたページ群である。抽出ログＬ３は、ＣＭ３００においてＢＵＤ３０６に記憶されたログから抽出されたページ群である。抽出ログＬ４は、ＣＭ４００においてＢＵＤ４０６に記憶されたログから抽出されたページ群である。
【００８０】
ＣＭ１００は、抽出ログＬ１，Ｌ２，Ｌ３，Ｌ４を収集する。収集ログＬ０は、抽出ログＬ１，Ｌ２，Ｌ３，Ｌ４の収集結果である。ＣＭ１００は、ＬＡＮ４０およびインターネット５０を介して、サポートサーバ６０に収集ログＬ０を送信する。
【００８１】
次に、上記の各ＣＭによる処理手順を具体的に説明する。
図１１は、第２の実施の形態のログ収集例を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。ログ収集部１４０は、通知制御部１３０から障害通知のメッセージの検出結果を受け付けると下記の手順を行う。
【００８２】
（Ｓ１１）ログ収集部１４０は、記憶部１１０に記憶された割り当て方式管理テーブル１１１から、今回のメッセージに対応する割り当て方式を取得する。具体的には、ログ収集部１４０は、障害通知のメッセージに含まれるメッセージＩＤに対応する割り当て方式を、割り当て方式管理テーブル１１１から取得する。
【００８３】
（Ｓ１２）ログ収集部１４０は、ステップＳ１１で取得した割り当て方式にしたがって、各ＣＭのログ抽出量の上限値を計算する。
（Ｓ１３）ログ収集部１４０は、ＣＭ番号Ｎを、Ｎ＝０に設定する。ログ収集部１４０は、ＣＭ番号Ｎ＝０に対応するＣＭ１００のログ抽出部１５０にログ抽出を指示する。ログ抽出の指示は、ログ抽出量の上限値を含む。
【００８４】
（Ｓ１４）ログ抽出部１５０，２３０，３３０，４３０は、ログ収集部１４０のログ抽出の指示に応じて、ＣＭ単位のログ抽出処理を行う。ＣＭ単位のログ抽出処理の詳細は後述される。
【００８５】
（Ｓ１５）ログ収集部１４０は、全ＣＭ（ＣＭ１００，２００，３００，４００）のログ（抽出ログ）を収集済であるか否かを判定する。全ＣＭのログを収集済である場合、ログ収集部１４０は、ステップＳ１７に処理を進める。全ＣＭのログを収集済でない場合、ログ収集部１４０は、ステップＳ１６に処理を進める。
【００８６】
（Ｓ１６）ログ収集部１４０は、ＣＭ番号Ｎを、Ｎ＝Ｎ＋１に設定する（ＣＭ番号をインクリメントする）。そして、ログ収集部１４０は、ＣＭ番号Ｎに対応するＣＭのログ抽出部（ログ抽出部２３０，３３０，４３０の何れか）に対してログ抽出を指示して、ステップＳ１４に処理を進める。
【００８７】
（Ｓ１７）ログ収集部１４０は、通知制御部１３０に収集ログを提供する。収集ログは、各ＣＭから収集された抽出された抽出ログの集合である。通知制御部１３０は、サポートサーバ６０に収集ログを送信する。
【００８８】
このように、記憶部１１０は、抽出するページの合計サイズの上限値の算出方法（割り当て方式）をメッセージ毎に登録した割り当て方式管理テーブル１１１を記憶する。ログ収集部１４０は、メッセージを検出すると、記憶部１１０に記憶された割り当て方式管理テーブル１１１を参照して、当該メッセージに応じた算出方法に基づき、上限値を算出する。特に、ログ収集部１４０は、メッセージに応じて、複数のＣＭ（ＣＭ１００，２００，３００，４００）それぞれによるＣＭ毎（情報処理装置毎）のログ（動作情報）からのページの抽出を指示する。ログ収集部１４０は、ページの抽出を指示する際に、メッセージに応じた算出方法に基づき、ＣＭ毎の抽出ログのサイズの上限値を決定し、決定した上限値を、各ＣＭに通知する。これにより、障害に応じて、障害解析に有用なログを収集可能となる。
【００８９】
図１２は、第２の実施の形態のＣＭ単位のログ抽出例を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。以下の手順は、図１１のステップＳ１４に相当する。ここで、以下の説明では、ログ抽出部１５０の処理手順を例示するが、ログ抽出部２３０，３３０，４３０も同様の処理手順となる。
【００９０】
（Ｓ２１）ログ抽出部１５０は、記憶部１１０に記憶されたログ抽出管理テーブル１１２から、今回のメッセージに対応する時間範囲を取得する。具体的には、ログ抽出部１５０は、障害通知のメッセージに含まれるメッセージＩＤに対応する時間範囲を、ログ抽出管理テーブル１１２から取得する。
【００９１】
（Ｓ２２）ログ抽出部１５０は、取得した時間範囲内のログ抽出処理を実行する。時間範囲内のログ抽出処理の詳細は後述される。
（Ｓ２３）ログ抽出部１５０は、ステップＳ２２で抽出したログ（抽出ログ）をログ収集部１４０に提供する。
【００９２】
図１３は、第２の実施の形態の時間範囲内のログ抽出例を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。以下の手順は、図１２のステップＳ２２に相当する。
【００９３】
（Ｓ３１）ログ抽出部１５０は、優先レベルＰを、Ｐ＝１に設定する。
（Ｓ３２）ログ抽出部１５０は、優先レベル単位のログ抽出処理を行う。優先レベル単位のログ抽出処理の詳細は、後述される。
【００９４】
（Ｓ３３）ログ抽出部１５０は、ログ抽出部１５０による抽出ログの抽出量の合計が上限値に達したか否かを判定する。抽出量の合計が上限値に達した場合、ログ抽出部１５０は、処理を終了する。抽出量の合計が上限値に達していない場合、ログ抽出部１５０は、処理をステップＳ３４に進める。
【００９５】
（Ｓ３４）ログ抽出部１５０は、全優先レベルのページの抽出を行ったか否かを判定する。全優先レベルのページの抽出を行った場合、ログ抽出部１５０は、処理を終了する。全優先レベルのページの抽出を行っていない場合、ログ抽出部１５０は、ステップＳ３５に処理を進める。全優先レベルのページの抽出を行った場合とは、優先レベルＰの値が最高値（優先順位が最低であることに相当）に達した場合である。
【００９６】
（Ｓ３５）ログ抽出部１５０は、優先レベルＰを、Ｐ＝Ｐ＋１に設定する（優先レベルＰをインクリメントする）。そして、ログ抽出部１５０は、ステップＳ３２に処理を進める。
【００９７】
図１４は、第２の実施の形態の優先レベル単位のログ抽出例を示すフローチャートである。以下、図１４に示す処理をステップ番号に沿って説明する。以下の手順は、図１３のステップＳ３２に相当する。
【００９８】
（Ｓ４１）ログ抽出部１５０は、着目する優先レベルＰのログタイプのｂｏｔｔｏｍページ（最新のページ）のタイムスタンプを取得する。なお、優先レベルＰであるログタイプが複数の場合、複数のログタイプの各ｂｏｔｔｏｍページのうち、最新のタイムスタンプを取得する。
【００９９】
（Ｓ４２）ログ抽出部１５０は、タイムスタンプが全て時間範囲外であるか否かを判定する。タイムスタンプが全て時間範囲外である場合、ログ抽出部１５０は、処理を終了する。タイムスタンプが全て時間範囲外でない場合、ログ抽出部１５０は、ステップＳ４３に処理を進める。タイムスタンプが全て時間範囲外である場合とは、ステップＳ４１で取得したタイムスタンプが、現時刻から当該時間範囲分だけ遡った時刻よりも過去の時刻を示している場合である。
【０１００】
（Ｓ４３）ログ抽出部１５０は、最新のタイムスタンプのページを抽出し、当該ページが属するページリストのリンクから当該ページを外す。
（Ｓ４４）ログ抽出部１５０は、抽出量の合計が上限値に達したか否かを判定する。抽出量の合計が上限値に達した場合、ログ抽出部１５０は、処理を終了する。抽出量の合計が上限値に達していない場合、ログ抽出部１５０は、ステップＳ４５に処理を進める。
【０１０１】
（Ｓ４５）ログ抽出部１５０は、着目する優先レベルＰのログタイプのページが残っているか否かを判定する。該当のログタイプのページが残っている場合、ログ抽出部１５０は、ステップＳ４１に処理を進める。該当のログタイプのページが残っていない場合、ログ抽出部１５０は、処理を終了する。
【０１０２】
このように、ログ抽出部１５０は、現時刻から過去の時間範囲に属するページ群（ログレコード群ともいえる）のうち、第１の優先レベルに対応する第１のページ（第１のログレコード）を、第１の優先レベルで示される優先順位よりも低い優先順位を示す第２の優先レベルに対応する第２のページ（第２のログレコード）よりも優先的に抽出する。これにより、限られたサイズの中で、抽出されるページ（ログレコード）を、障害解析に有用なページ（ログレコード）に適切に絞り込むことができる。
【０１０３】
次に、ログ抽出部１５０によるログ抽出の具体例を説明する。ログ抽出部１５０について主に説明するが、ログ抽出部２３０，３３０，４３０も同様にしてログ抽出を行う。
図１５は、第２の実施の形態のログ抽出例（その１）を示す図である。図１５の例では、あるメッセージに対するログ抽出について次の条件を考える。抽出量の上限値は、ページ１１個分（例えば、１ページのサイズが６４ＫＢの場合、６４ＫＢ×１１＝７０４ＫＢ）である。ログ抽出の時間範囲はｘ時間である。抽出対象のログタイプは、“ｔｙｐｅ１”、“ｔｙｐｅ２”および“ｔｙｐｅ３”である。ログタイプ“ｔｙｐｅ１”、“ｔｙｐｅ２”、“ｔｙｐｅ３”の優先レベルは何れも“１”である。
【０１０４】
また、ページリストＺ１は、ログタイプ“ｔｙｐｅ１”のページリストである。ページリストＺ１は、タイムスタンプの古い方から新しい方へ向かって、ページＡ１，Ａ２，Ａ３，Ａ４，Ａ５，Ａ６，Ａ７を含む。ページリストＺ２は、ログタイプ“ｔｙｐｅ２”のページリストである。ページリストＺ２は、タイムスタンプの古い方から新しい方へ向かって、ページＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５，Ｂ６，Ｂ７を含む。ページリストＺ３は、ログタイプ“ｔｙｐｅ３”のページリストである。ページリストＺ３は、タイムスタンプの古い方から新しい方へ向かって、ページＣ１，Ｃ２，Ｃ３，Ｃ４，Ｃ５，Ｃ６，Ｃ７を含む。
【０１０５】
この場合、メッセージの検出時（障害発生時）を現在とすると、現在からｘ時間前までがログ抽出対象の時間範囲である。図１５の例では、ページＡ３，Ｂ３，Ｃ３以降のページにおけるタイムスタンプがログ抽出対象の時間範囲に含まれる。
【０１０６】
ここで、図１５における各ページの左側に付した数字は、ログ抽出処理において該当のページが抽出される順番を示す（以降の図に関しても同様）。
上記のように、各ログタイプの優先レベルは“１”であり、ページリストＺ１，Ｚ２，Ｚ３に属する各ページのうちの最新のページＢ７は、現在からｘ時間前の時刻よりも後の時刻である。このため、ログ抽出部１５０は、ページＢ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ２からページＢ７を外す。あるページが、あるページリストから外されると当該ページは、当該ページリストに属するページではなくなる。
【０１０７】
以降の処理でも、ログ抽出部１５０は、抽出候補のページがｘ時間前の時刻よりも後の時刻であることを確認する。
２番目に、ログ抽出部１５０は、ページリストＺ１，Ｚ２，Ｚ３に属する各ページのうち、最新のページＡ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ７を外す。
【０１０８】
３番目に、ログ抽出部１５０は、ページリストＺ１，Ｚ２，Ｚ３に属する各ページのうち、最新のページＣ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ３からページＣ７を外す。
【０１０９】
４番目に、ログ抽出部１５０は、ページリストＺ１，Ｚ２，Ｚ３に属する各ページのうち、最新のページＡ６を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ６を外す。
【０１１０】
以降、同様にして、ログ抽出部１５０は、ページの抽出を行う。５番目に抽出されるページは、ページＢ６である。６番目に抽出されるページは、ページＣ６である。７番目に抽出されるページは、ページＣ５である。８番目に抽出されるページは、ページＢ５である。９番目に抽出されるページは、ページＡ５である。１０番目に抽出されるページは、ページＡ４である。１１番目に抽出されるページは、ページＢ４である。
【０１１１】
ログ抽出部１５０は、ページＢ４を抽出すると、抽出量の上限値に達したことを検出して、ログ抽出を終了する。抽出ログＬ１ａは、上記の処理によってログ抽出部１５０により抽出されたページＢ７，Ａ７，Ｃ７，Ａ６，Ｂ６，Ｃ６，Ｃ５，Ｂ５，Ａ５，Ａ４，Ｂ４を含む。
【０１１２】
図１６は、第２の実施の形態のログ抽出例（その２）を示す図である。図１６の例では、あるメッセージに対するログ抽出について次の条件を考える。抽出量の上限値は、ページ１１個分である。ログ抽出の時間範囲はｘ時間である。抽出対象のログタイプは、“ｔｙｐｅ１”、“ｔｙｐｅ２”および“ｔｙｐｅ３”である。ログタイプ“ｔｙｐｅ１”の優先レベルは“１”である。ログタイプ“ｔｙｐｅ２”の優先レベルは“２”である。ログタイプ“ｔｙｐｅ３”の優先レベルは“３”である。ページリストＺ１，Ｚ２，Ｚ３に属する各ページは、図１５と同様である。
【０１１３】
メッセージの検出時（障害発生時）を現在とすると、現在からｘ時間前までがログ抽出対象の時間範囲である。図１６の例では、ページＡ３，Ｂ３，Ｃ３以降のページにおけるタイムスタンプがログ抽出対象の時間範囲に含まれる。
【０１１４】
最も優先順位の高いログタイプ“ｔｙｐｅ１”の最新のページＡ７は、現在からｘ時間前の時刻よりも後の時刻である。このため、ログ抽出部１５０は、ページＡ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ７を外す。
【０１１５】
以降の処理でも、ログ抽出部１５０は、抽出候補のページがｘ時間前の時刻よりも後の時刻であることを確認する。
２番目に、ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ６を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ６を外す。
【０１１６】
３番目に、ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ５を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ５を外す。
【０１１７】
４番目に、ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ４を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ４を外す。
【０１１８】
５番目に、ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ３を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ３を外す。
【０１１９】
ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ２のタイムスタンプが、現在からｘ時間前の時刻よりも前の時刻を示すことを確認し、ページリストＺ１からのログ抽出を完了する。ログ抽出部１５０は、抽出量の上限値に未だ達していないため、次に優先順位の高いログタイプ“ｔｙｐｅ２”のページリストＺ２からのログ抽出に移る。
【０１２０】
６番目に、ログ抽出部１５０は、ページリストＺ２に属する各ページのうち、最新のページＢ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ２からページＢ７を外す。
【０１２１】
以降、同様にして、ログ抽出部１５０は、ページＢ６，Ｂ５，Ｂ４，Ｂ３をページリストＺ２から順番に抽出する。そして、ログ抽出部１５０は、ページリストＺ２に属する各ページのうち、最新のページＢ２のタイムスタンプが現在からｘ時間前の時刻よりも前の時刻を示すことを確認し、ページリストＺ２からのログ抽出を完了する。ログ抽出部１５０は、抽出量の上限値に未だ達していないため、次に優先順位の高いログタイプ“ｔｙｐｅ３”のページリストＺ３からのログ抽出に移る。
【０１２２】
１１番目に、ログ抽出部１５０は、ページリストＺ３からページＣ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ３からページＣ７を外す。
ログ抽出部１５０は、ページＣ７を抽出すると、抽出量の上限値に達したことを検出して、ログ抽出を終了する。抽出ログＬ１ｂは、上記の処理によってログ抽出部１５０により抽出されたページＡ７，Ａ６，Ａ５，Ａ４，Ａ３，Ｂ７，Ｂ６，Ｂ５，Ｂ４，Ｂ３，Ｃ７を含む。
【０１２３】
図１７は、第２の実施の形態のログ抽出例（その３）を示す図である。図１７の例では、あるメッセージに対するログ抽出について次の条件を考える。抽出量の上限値は、ページ１１個分である。ログ抽出の時間範囲はｘ時間である。抽出対象のログタイプは、“ｔｙｐｅ１”、“ｔｙｐｅ２”および“ｔｙｐｅ３”である。ログタイプ“ｔｙｐｅ１”の優先レベルは“１”である。ログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ３”の優先レベルは何れも“２”である。ページリストＺ１，Ｚ２，Ｚ３に属する各ページは、図１５と同様である。
【０１２４】
メッセージの検出時（障害発生時）を現在とすると、現在からｘ時間前までがログ抽出対象の時間範囲である。図１７の例では、ページＡ３，Ｂ３，Ｃ３以降のページにおけるタイムスタンプがログ抽出対象の時間範囲に含まれる。
【０１２５】
最も優先順位の高いログタイプ“ｔｙｐｅ１”の最新のページＡ７は、現在からｘ時間前の時刻よりも後の時刻である。このため、ログ抽出部１５０は、ページＡ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ７を外す。
【０１２６】
以降の処理でも、ログ抽出部１５０は、抽出候補のページがｘ時間前の時刻よりも後の時刻であることを確認する。
２番目に、ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ６を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ６を外す。
【０１２７】
３番目に、ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ５を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ５を外す。
【０１２８】
４番目に、ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ４を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ４を外す。
【０１２９】
５番目に、ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ３を抽出する。そして、ログ抽出部１５０は、ページリストＺ１からページＡ３を外す。
【０１３０】
ログ抽出部１５０は、ページリストＺ１に属する各ページのうち、最新のページＡ２のタイムスタンプが、現在からｘ時間前の時刻よりも前の時刻を示すことを確認し、ページリストＺ１からのログ抽出を完了する。ログ抽出部１５０は、抽出量の上限値に未だ達していないため、次に優先順位の高いログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ３”のページリストＺ２，Ｚ３からのログ抽出に移る。
【０１３１】
上記のように、ログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ３”の優先レベルは“２”であり、ページリストＺ２，Ｚ３に属する各ページのうちの最新のページＢ７は、現在からｘ時間前の時刻よりも後の時刻である。このため、６番目に、ログ抽出部１５０は、ページＢ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ２からページＢ７を外す。
【０１３２】
７番目に、ログ抽出部１５０は、ページリストＺ２，Ｚ３に属する各ページのうち、最新のページＣ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ３からページＣ７を外す。
【０１３３】
８番目に、ログ抽出部１５０は、ページリストＺ２，Ｚ３に属する各ページのうち、最新のページＢ６を抽出する。そして、ログ抽出部１５０は、ページリストＺ２からページＢ６を外す。
【０１３４】
９番目に、ログ抽出部１５０は、ページリストＺ２，Ｚ３に属する各ページのうち、最新のページＣ６を抽出する。そして、ログ抽出部１５０は、ページリストＺ３からページＣ６を外す。
【０１３５】
以降、同様にして、ログ抽出部１５０は、ページの抽出を行う。１０番目に抽出されるページは、ページＣ５である。１１番目に抽出されるページは、ページＢ５である。
ログ抽出部１５０は、ページＢ５を抽出すると、抽出量の上限値に達したことを検出して、ログ抽出を終了する。抽出ログＬ１ｃは、上記の処理によってログ抽出部１５０により抽出されたページＡ７，Ａ６，Ａ５，Ａ４，Ａ３，Ｂ７，Ｃ７，Ｂ６，Ｃ６，Ｃ５，Ｂ５を含む。
【０１３６】
図１８は、第２の実施の形態のログ抽出例（その４）を示す図である。図１８の例では、あるメッセージに対するログ抽出について次の条件を考える。抽出量の上限値は、ページ１０個分（例えば、１ページのサイズが６４ＫＢの場合、６４ＫＢ×１０＝６４０ＫＢ）である。ログ抽出の時間範囲はｘ時間である。抽出対象のログタイプは、“ｔｙｐｅ１”、“ｔｙｐｅ２”および“ｔｙｐｅ３”である。ログタイプ“ｔｙｐｅ１”の優先レベルは“１”である。ログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ３”の優先レベルは何れも“２”である。
【０１３７】
また、ページリストＺ４は、ログタイプ“ｔｙｐｅ１”のページリストである。ページリストＺ４は、タイムスタンプの古い方から新しい方へ向かって、ページＡ１，Ａ２，Ａ３，Ａ４，Ａ５，Ａ６，Ａ７，Ａ８を含む。ページリストＺ５は、ログタイプ“ｔｙｐｅ２”のページリストである。ページリストＺ５は、タイムスタンプの古い方から新しい方へ向かって、ページＢ１，Ｂ２，Ｂ３，Ｂ４を含む。ページリストＺ６は、ログタイプ“ｔｙｐｅ３”のページリストである。ページリストＺ６は、タイムスタンプの古い方から新しい方へ向かって、ページＣ１，Ｃ２，Ｃ３，Ｃ４を含む。
【０１３８】
ページリストＺ４，Ｚ５，Ｚ６に属する各ページのタイムスタンプは、図１５〜図１７の場合とは異なっている。図１８の例では、ページＡ１，Ｂ１，Ｃ１以降のページにおけるタイムスタンプがログ抽出対象の時間範囲に含まれる。
【０１３９】
最も優先順位の高いログタイプ“ｔｙｐｅ１”の最新のページＡ８は、現在からｘ時間前の時刻よりも後の時刻である。このため、ログ抽出部１５０は、ページＡ８を抽出する。そして、ログ抽出部１５０は、ページリストＺ４からページＡ８を外す。
【０１４０】
以降の処理でも、ログ抽出部１５０は、抽出候補のページがｘ時間前の時刻よりも後の時刻であることを確認する。
２番目に、ログ抽出部１５０は、ページリストＺ４に属する各ページのうち、最新のページＡ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ４からページＡ７を外す。
【０１４１】
以降、同様にして、ログ抽出部１５０は、ページリストＺ４のページＡ６からページＡ１までを順に抽出し、ページリストＺ４に残りのページ（未抽出のページ）がなくなったことを検出する。ログ抽出部１５０は、抽出量の上限値に未だ達していないため、次に優先順位の高いログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ３”のページリストＺ５，Ｚ６からのログ抽出に移る。
【０１４２】
上記のように、ログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ３”の優先レベルは“２”であり、ページリストＺ５，Ｚ６に属する各ページのうちの最新のページＢ４は、現在からｘ時間前の時刻よりも後の時刻である。このため、９番目に、ログ抽出部１５０は、ページＢ４を抽出する。そして、ログ抽出部１５０は、ページリストＺ５からページＢ４を外す。
【０１４３】
１０番目に、ログ抽出部１５０は、ページリストＺ５，Ｚ６に属する各ページのうち、最新のページＣ４を抽出する。そして、ログ抽出部１５０は、ページリストＺ６からページＣ４を外す。
【０１４４】
ログ抽出部１５０は、ページＣ４を抽出すると、抽出量の上限値に達したことを検出して、ログ抽出を終了する。抽出ログＬ１ｄは、上記の処理によってログ抽出部１５０により抽出されたページＡ８，Ａ７，Ａ６，Ａ５，Ａ４，Ａ３，Ａ２，Ａ１，Ｂ４，Ｃ４を含む。
【０１４５】
このようにして、ＣＭ１００によれば、解析に有用でないログの収集を抑えることができる。
ここで、例えば、障害などの事象（イベント）に対して、ＣＭ１００，２００，３００，４００におけるログを全て収集することも考えられる。しかし、ログには、新しいものや古いもの、ハードウェアやソフトウェアなどに関する種々のログレコードが含まれる。このため、ログを全て収集すると、発生した事象との関係が薄く、当該事象の解析に有用でないログレコードも収集されるという問題がある。余計なログレコードの収集は、収集したログレコードを他の装置に送信する際の通信量の増加や、有用でないログレコードによる解析量の増加などの要因になる。
【０１４６】
例えば、収集するログサイズを小さくするために、単に、抽出対象サイズに上限を設けることも考えられる。しかし、抽出対象サイズに上限を設けただけでは、該当の事象に対して有用でないログレコードが抽出される可能性は大きい。なぜなら、発生する事象に応じて、当該事象と関連性の高いコンポーネントは異なるからである。また、現時点に対して古いログレコードほど、現時点の事象との関連が薄くなるからである。
【０１４７】
そこで、ＣＭ１００は、障害の発生を示すメッセージ毎に抽出対象のページの時間範囲とログタイプ別の優先レベルとをログ抽出管理テーブル１１２により保持する。ＣＭ１００は、メッセージを検出すると、当該メッセージに応じた時間範囲とログタイプ別の優先レベルとをログ抽出管理テーブル１１２から検索する。そして、ＣＭ１００は、現時点以前の時間範囲とログタイプ別の優先レベルとを基に、ページを抽出する。これにより、ＣＭ１００は、ＣＭ１００のログのうち、障害解析に有用なログのみを抽出することができる。ＣＭ２００，３００，４００も同様にして、障害解析に有用なログのみを抽出することができる。更に、ＣＭ１００は、ＣＭ１００，２００，３００，４００における抽出ログを収集し、サポートサーバ６０に収集ログを送信することで、障害解析に有用なログのみを、サポートサーバ６０に送信することができる。すなわち、ＣＭ１００は、サポートサーバ６０に対して収集ログを送信する際の通信量の増加を抑えつつ、有用なログに絞った情報提供を行える。その結果、サポートサーバ６０側での解析量の低減を図れる。
【０１４８】
［第３の実施の形態］
以下、第３の実施の形態を説明する。前述の第２の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
【０１４９】
図１８で例示したように、ログ抽出対象の時間範囲の設定によっては、特定のログタイプのページ（図１８の例では、ログタイプ“ｔｙｐｅ１”のページ）に偏ってログ抽出が行われる。また、抽出対象の時間範囲を広げた場合に、優先レベルの高いログの量が多いと、図１８で例示したように、優先レベルの低いログをほとんど収集できないことも考えられる。一方、障害の内容によっては、特定のログタイプのページを重点的に抽出しながら、他のログタイプのページもある程度取得して解析を行いたいこともある。そこで、第３の実施の形態では、各メッセージに対して複数の時間範囲の設定を許容することで、ログ抽出の柔軟化を図る機能を提供する。
【０１５０】
第３の実施の形態のストレージシステムのハードウェアおよび機能構成は、図２〜図５で例示した第２の実施の形態のストレージシステムのハードウェアおよび機能構成と同様である。このため、第３の実施の形態でも、第２の実施の形態と同様の名称および符号により各要素を指し示すこととする。第３の実施の形態では、ログ抽出管理テーブル１１２の代わりに、ログ抽出管理テーブル１１３を用いる点が、第２の実施の形態と異なる。
【０１５１】
図１９は、第３の実施の形態のログ抽出管理テーブルの例を示す図である。ログ抽出管理テーブル１１３は、記憶部１１０に予め記憶されている。ログ抽出管理テーブル１１３は、メッセージＩＤに応じたログ抽出対象の時間範囲およびログタイプ毎の優先レベルが登録された情報である。ログ抽出管理テーブル１１３では、ログ抽出対象の時間範囲を２種類登録可能である点が、ログ抽出管理テーブル１１２と異なる。ログ抽出管理テーブル１１３は、メッセージＩＤ、時間範囲１（ｘ）、時間範囲２（ｙ）およびログタイプの優先レベルの項目を含む。
【０１５２】
メッセージＩＤおよびログタイプの優先レベルの項目の設定内容は、ログ抽出管理テーブル１１２における同名の項目の設定内容と同様である。
時間範囲１（ｘ）の項目には、ログ抽出対象の第１の時間範囲ｘが登録される。時間範囲２（ｙ）の項目には、ログ抽出対象の第２の時間範囲ｙが登録される。第１の時間範囲ｘおよび第２の時間範囲ｙの何れも、単位は、例えば、時間（hour）である。また、第２の時間範囲ｙは、第１の時間範囲ｘよりも新しい時刻である。時間範囲１（ｘ）の項目における第１の時間範囲ｘの設定は、必須である。時間範囲２（ｙ）の項目における第２の時間範囲ｙの設定は、任意である（時間範囲２（ｙ）の項目は設定なしでもよい）。時間範囲２（ｙ）の項目が設定なしの場合、図ではハイフン記号“−”を表記する。
【０１５３】
例えば、ログ抽出管理テーブル１１２には、メッセージＩＤが“ａ０００００００５”、時間範囲１（ｘ）が“４８”、時間範囲２（ｙ）が“３”、ログタイプ“ｔｙｐｅ１”の優先レベル“１”、ログタイプ“ｔｙｐｅ２”の優先レベル“２”、ログタイプ“ｔｙｐｅ３”の優先レベル“３”、ログタイプ“ｔｙｐｅ４”の優先レベル“０”，・・・という情報が登録される。これは、メッセージＩＤ“ａ０００００００５”を含むメッセージが検出された場合、当該検出時（障害発生時）から３時間前に遡った時刻までを第１段階のログ抽出対象の時間範囲とすることを示す。また、第１段階のログ抽出が完了した後に、当該検出時（障害発生時）から４８時間前に遡った時刻までを第２段階のログ抽出対象の時間範囲とすることを示す。また、各ログタイプの優先レベルにしたがって、ログ抽出を行うことを示す。
【０１５４】
次に、第３の実施の形態におけるログ抽出部１５０によるログ抽出の手順を説明する。第３の実施の形態では、図１２で例示したＣＭ単位のログ抽出処理の手順に代えて、ログ抽出部１５０が以下に示す手順を実行する点が異なる。他の処理の手順について、第２の実施の形態で例示した手順と同様であるため、説明を省略する。また、以下では、ログ抽出部１５０について主に説明するが、ログ抽出部２３０，３３０，４３０も同様の手順によりログ抽出を行う。
【０１５５】
図２０は、第３の実施の形態のＣＭ単位のログ抽出例を示すフローチャートである。以下、図２０に示す処理をステップ番号に沿って説明する。以下に示す手順は、図１１のステップＳ１４に相当する。
【０１５６】
（Ｓ５１）ログ抽出部１５０は、記憶部１１０に記憶されたログ抽出管理テーブル１１３から、今回のメッセージに対応する時間範囲２（ｙ）の値を取得する。具体的には、ログ抽出部１５０は、障害通知のメッセージに含まれるメッセージＩＤに対応する時間範囲２（ｙ）を、ログ抽出管理テーブル１１３から取得する。
【０１５７】
（Ｓ５２）ログ抽出部１５０は、ステップＳ５１の結果を基に、時間範囲２（ｙ）が設定なしであるか否かを判定する。時間範囲２（ｙ）が設定なしの場合、ログ抽出部１５０は、ステップＳ５６に処理を進める。時間範囲２（ｙ）が設定ありの場合、ログ抽出部１５０は、ステップＳ５３に処理を進める。
【０１５８】
（Ｓ５３）ログ抽出部１５０は、時間範囲を時間範囲２（ｙ）に設定する。
（Ｓ５４）ログ抽出部１５０は、時間範囲を時間範囲２（ｙ）に設定した状態で、時間範囲内のログ抽出処理を実行する。時間範囲内のログ抽出処理の手順は、図１３の手順と同様である。
【０１５９】
（Ｓ５５）ログ抽出部１５０は、抽出量の合計が上限値に達したか否かを判定する。抽出量の合計が上限値に達した場合、ログ抽出部１５０は、処理をステップＳ５８に進める。抽出量の合計が上限値に達していない場合、ログ抽出部１５０は、ステップＳ５６に処理を進める。
【０１６０】
（Ｓ５６）ログ抽出部１５０は、ログ抽出管理テーブル１１３から、今回のメッセージに対応する時間範囲１（ｘ）の値を取得する。具体的には、ログ抽出部１５０は、障害通知のメッセージに含まれるメッセージＩＤに対応する時間範囲１（ｘ）を、ログ抽出管理テーブル１１３から取得する。
【０１６１】
（Ｓ５７）ログ抽出部１５０は、時間範囲を時間範囲１（ｘ）に設定した状態で、時間範囲内のログ抽出処理を実行する。時間範囲内のログ抽出処理の手順は、図１３の手順と同様である。
【０１６２】
（Ｓ５８）ログ抽出部１５０は、ステップＳ５４，Ｓ５７の両方または何れか一方により抽出したログ（抽出ログ）をログ収集部１４０に提供する。
このように、記憶部１１０は、時間範囲２（ｙ）および時間範囲２（ｙ）よりも長い期間を示す時間範囲１（ｘ）（他の時間範囲）をメッセージ毎に登録したログ抽出管理テーブル１１３を記憶する。そして、ログ抽出部１５０は、障害発生を示すメッセージを検出すると、記憶部１１０に記憶されたログ抽出管理テーブル１１３を参照して、メッセージに応じた現時刻から過去の時間範囲２（ｙ）および優先レベルに基づき、ログ（動作情報）の中からページ（ログレコード）を抽出する。その後、ログ抽出部１５０は、メッセージ応じた現時刻から過去の時間範囲１（ｘ）および優先レベルに基づき、ログ（動作情報）の中から他のページ（他のログレコード）を抽出する。これにより、障害に応じて、抽出ログの内容を柔軟に調整可能になる。
【０１６３】
図２１は、第３の実施の形態のログ抽出例を示す図である。図２１の例では、あるメッセージに対するログ抽出について次の条件を考える。抽出量の上限値は、ページ１０個分（例えば、１ページのサイズが６４ＫＢの場合、６４ＫＢ×１０＝６４０ＫＢ）である。ログ抽出の時間範囲１（ｘ）はｘ時間である。ログ抽出の時間範囲２（ｙ）はｙ時間である。抽出対象のログタイプは、“ｔｙｐｅ１”、“ｔｙｐｅ２”および“ｔｙｐｅ３”である。ログタイプ“ｔｙｐｅ１”の優先レベルは“１”である。ログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ３”の優先レベルは何れも“２”である。ページリストＺ４，Ｚ５，Ｚ６に属する各ページは、図１８と同様である。
【０１６４】
この場合、メッセージの検出時（障害発生時）を現在とすると、現在からｙ時間前までが第１段階のログ抽出対象の時間範囲である。図２１の例では、ページＡ５，Ｂ３，Ｃ３以降のページにおけるタイムスタンプがログ抽出対象の時間範囲に含まれる。
【０１６５】
最も優先順位の高いログタイプ“ｔｙｐｅ１”の最新のページＡ８は、現在からｙ時間前の時刻よりも後の時刻である。このため、ログ抽出部１５０は、ページＡ８を抽出する。そして、ログ抽出部１５０は、ページリストＺ４からページＡ８を外す。
【０１６６】
以降の第１段階のログ抽出処理でも、ログ抽出部１５０は、抽出候補のページがｙ時間前の時刻よりも後の時刻であることを確認する。
２番目に、ログ抽出部１５０は、ページリストＺ４に属する各ページのうち、最新のページＡ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ４からページＡ７を外す。
【０１６７】
３番目に、ログ抽出部１５０は、ページリストＺ４に属する各ページのうち、最新のページＡ６を抽出する。そして、ログ抽出部１５０は、ページリストＺ４からページＡ６を外す。
【０１６８】
４番目に、ログ抽出部１５０は、ページリストＺ４に属する各ページのうち、最新ページＡ５を抽出する。そして、ログ抽出部１５０は、ページリストＺ４からページＡ５を外す。
【０１６９】
ログ抽出部１５０は、ページリストＺ４の最新のページＡ４のタイムスタンプが現在からｙ時間前の時刻よりも前の時刻を示すことを確認し、ページリストＺ４からの第１段階のログ抽出を完了する。ログ抽出部１５０は、抽出量の上限値に未だ達していないため、次に優先順位の高いログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ３”のページリストＺ５，Ｚ６からの第１段階のログ抽出に移る。
【０１７０】
上記のように、ログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ３”の優先レベルは“２”であり、ページリストＺ５，Ｚ６に属する各ページのうちの最新のページＢ４は、現在からｙ時間前の時刻よりも後の時刻である。このため、５番目に、ログ抽出部１５０は、ページＢ４を抽出する。そして、ログ抽出部１５０は、ページリストＺ５からページＢ４を外す。
【０１７１】
６番目に、ログ抽出部１５０は、ページリストＺ５，Ｚ６に属する各ページのうち、最新のページＣ４を抽出する。そして、ログ抽出部１５０は、ページリストＺ６からページＣ４を外す。
【０１７２】
７番目に、ログ抽出部１５０は、ページリストＺ５，Ｚ６に属する各ページのうち、最新のページＢ３を抽出する。そして、ログ抽出部１５０は、ページリストＺ５からページＢ３を外す。
【０１７３】
８番目に、ログ抽出部１５０は、ページリストＺ５，Ｚ６に属する各ページのうち、最新のページＣ３を抽出する。そして、ログ抽出部１５０は、ページリストＺ６からページＣ３を外す。
【０１７４】
ログ抽出部１５０は、ページリストＺ５，Ｚ６に属する各ページのうち、最新のページＣ２のタイムスタンプが現在からｙ時間前の時刻よりも前の時刻を示すことを確認し、ページリストＺ５，Ｚ６からの第１段階のログ抽出を完了する。ログ抽出部１５０は、抽出量の上限値に未だ達していないため、第２段階のログ抽出に移る。第２段階のログ抽出の時間範囲は、現在からｘ時間前の時刻までである。
【０１７５】
最も優先順位の高いログタイプ“ｔｙｐｅ１”の最新のページＡ４は、現在からｘ時間前の時刻よりも後の時刻である。このため、９番目に、ログ抽出部１５０は、ページＡ４を抽出する。そして、ログ抽出部１５０は、ページリストＺ４からページＡ４を外す。
【０１７６】
１０番目に、ログ抽出部１５０は、ページＡ３を抽出する。そして、ログ抽出部１５０は、ページリストＺ４からページＡ３を外す。
ログ抽出部１５０は、ページＡ３を抽出すると、抽出量の上限値に達したことを検出して、第２段階のログ抽出を終了する。抽出ログＬ１ｅは、上記の処理によってログ抽出部１５０により抽出されたページＡ８，Ａ７，Ａ６，Ａ５，Ｂ４，Ｃ４，Ｂ３，Ｃ３，Ａ４，Ａ３を含む。
【０１７７】
次に、第３の実施の形態のログ抽出方法について、更に具体的な例を説明する。以下の説明では、具体的な障害内容と、具体的なログタイプとを例示することで、ＣＭ１００，２００，３００，４００によるログ抽出例を更に具体的に説明する。
【０１７８】
図２２は、第３の実施の形態のログ抽出管理テーブルの第１具体例を示す図である。ログ抽出管理テーブル１１４は、ＣＭ１００，２００，３００，４００それぞれが備える筐体内の冷却用のファン（fan）の故障に対する時間範囲１（ｘ）、時間範囲２（ｙ）およびログタイプの優先レベルを例示している。例えば、ファンの故障を示すメッセージのメッセージＩＤを“ＦＡＮ  Ｆａｕｌｔ”とする。ログ抽出管理テーブル１１４には、当該メッセージＩＤに対して、時間範囲１（ｘ）が“４８”、時間範囲２（ｙ）が“１”という情報が登録されている。また、当該メッセージＩＤに対して、ログタイプ“ｔｙｐｅ１”の優先レベル“１”、ログタイプ“ｔｙｐｅ２”の優先レベル“０”、ログタイプ“ｔｙｐｅ３”の優先レベル“０”、ログタイプ“ｔｙｐｅ４”の優先レベル“１”、ログタイプ“ｔｙｐｅ５”の優先レベル“２”、ログタイプ“ｔｙｐｅ６”の優先レベル“０”、ログタイプ“ｔｙｐｅ７”の優先レベル“０”、ログタイプ“ｔｙｐｅ８”の優先レベル“０”という情報が登録されている。
【０１７９】
ここで、ログタイプ“ｔｙｐｅ１”は、ハードウェアエラー（ハードエラー）である。ログタイプ“ｔｙｐｅ２”は、データのコピー機能に関するソフトウェアエラー（ソフトエラー）である。ログタイプ“ｔｙｐｅ３”は、データの重複排除／圧縮機能に関するソフトエラーである。ログタイプ“ｔｙｐｅ４”は、温度などの環境に関する情報である。ログタイプ“ｔｙｐｅ５”は、電源オン／オフや消費電力などの電源制御に関する情報である。ログタイプ“ｔｙｐｅ６”は、ＭＭＩ（Man Machine Interface）に対する操作（ＭＭＩ操作）に関する情報である。ログタイプ“ｔｙｐｅ７”は、データのコピー機能に関するイベントである。ログタイプ“ｔｙｐｅ８”は、データの重複排除／圧縮機能に関するイベントである。
【０１８０】
ＦＡＮ故障の解析に当たっては、故障の直接の原因を解析するために故障発生時付近のログを取得する。また、ＦＡＮ故障を加速するような間接的な要因（例えば、温度異常など）の有無を解析するために、故障発生前の比較的長時間に亘る環境ログを抽出することが好ましい。そこで、故障発生から１時間前までのログを抽出し、更に、故障発生から４８時間前までの範囲でハードエラーと環境情報のログを優先して抽出するように、ログ抽出管理テーブル１１４の設定を行う。
【０１８１】
図２３は、第３の実施の形態のログ抽出の第１具体例を示す図である。図２３では、ログ抽出管理テーブル１１４に基づくログ抽出部１５０によるログ抽出を例示する。
図２３の例では、メッセージ“ＦＡＮ  Ｆａｕｌｔ”に対するログ抽出について次の条件を考える。抽出量の上限値は、ページ１０個分（例えば、１ページのサイズが６４ＫＢの場合、６４ＫＢ×１０＝６４０ＫＢ）である。ログ抽出の時間範囲１（ｘ）は４８時間である。ログ抽出の時間範囲２（ｙ）は１時間である。抽出対象のログタイプは、“ｔｙｐｅ１”、“ｔｙｐｅ４”および“ｔｙｐｅ５”である。ただし、図２３では、比較のために、ログタイプ“ｔｙｐｅ６”も図示している。ログタイプ“ｔｙｐｅ１”、“ｔｙｐｅ４”の優先レベルは何れも“１”である。ログタイプ“ｔｙｐｅ５”の優先レベルは“２”である。
【０１８２】
また、ページリストＺ７は、ログタイプ“ｔｙｐｅ１”のページリストである。ページリストＺ７は、タイムスタンプの古い方から新しい方へ向かって、ページＡ１，Ａ２，Ａ３を含む。ページリストＺ８は、ログタイプ“ｔｙｐｅ４”のページリストである。ページリストＺ８は、タイムスタンプの古い方から新しい方へ向かって、ページＢ１，Ｂ２，Ｂ３，Ｂ４，Ｂ５を含む。ページリストＺ９は、ログタイプ“ｔｙｐｅ５”のページリストである。ページリストＺ９は、タイムスタンプの古い方から新しい方へ向かって、ページＣ１，Ｃ２，Ｃ３，Ｃ４を含む。ページリストＺ１０は、ログタイプ“ｔｙｐｅ６”のページリストである。ページリストＺ１０は、タイムスタンプの古い方から新しい方へ向かって、ページＤ１，Ｄ２，Ｄ３，Ｄ４を含む。ただし、前述のように、ページリストＺ１０は、比較のために図示したものであり、ページの抽出対象ではない。
【０１８３】
この場合、メッセージの検出時（障害発生時）を現在とすると、現在から１時間前までが第１段階のログ抽出対象の時間範囲である。図２３の例では、ページＡ２，Ｂ５，Ｃ４以降のページにおけるタイムスタンプがログ抽出対象の時間範囲に含まれる。
【０１８４】
最も優先順位の高いログタイプ“ｔｙｐｅ１”、“ｔｙｐｅ４”の最新のページＢ５は、現在から１時間前の時刻よりも後の時刻である。このため、ログ抽出部１５０は、ページＢ５を抽出する。そして、ログ抽出部１５０は、ページリストＺ８からページＢ５を外す。
【０１８５】
以降の第１段階のログ抽出処理でも、ログ抽出部１５０は、抽出候補のページが１時間前の時刻よりも後の時刻であることを確認する。
２番目に、ログ抽出部１５０は、ページリストＺ７，Ｚ８に属する各ページのうち、最新のページＡ３を抽出する。そして、ログ抽出部１５０は、ページリストＺ７からページＡ３を外す。
【０１８６】
３番目に、ログ抽出部１５０は、ページリストＺ７，Ｚ８に属する各ページのうち、最新のページＡ２を抽出する。そして、ログ抽出部１５０は、ページリストＺ７からページＡ２を外す。
【０１８７】
ログ抽出部１５０は、ページリストＺ７，Ｚ８に属する各ページのうち、最新のページＢ４のタイムスタンプが１時間前の時刻よりも前の時刻であることを確認する。すると、ログ抽出部１５０は、次の優先レベルであるログタイプ“ｔｙｐｅ５”のページリストＺ９からの第１段階のログ抽出に移る。
【０１８８】
４番目に、ログ抽出部１５０は、ページリストＺ９に属する各ページのうち、最新のページＣ４を抽出する。そして、ログ抽出部１５０は、ページリストＺ９からページＣ４を外す。
【０１８９】
ログ抽出部１５０は、ページリストＺ９に属する各ページのうち、最新のページＣ３のタイムスタンプが１時間前の時刻よりも前の時刻であることを確認する。すると、ログ抽出部１５０は、抽出対象の全てのログタイプについて第１段階のログ抽出処理を終えたので、第２段階のログ抽出処理に移る。
【０１９０】
５番目に、ログ抽出部１５０は、ページリストＺ７，Ｚ８に属する各ページのうち、最新のページＢ４を抽出する。そして、ログ抽出部１５０は、ページリストＺ８からページＢ４を外す。
【０１９１】
６番目に、ログ抽出部１５０は、ページリストＺ７，Ｚ８に属する各ページのうち、最新のページＡ１を抽出する。そして、ログ抽出部１５０は、ページリストＺ７からページＡ１を外す。この段階では、ページリストＺ７には、未抽出のページがなくなる。
【０１９２】
７番目に、ログ抽出部１５０は、ページリストＺ８に属する各ページのうち、最新のページＢ３を抽出する。そして、ログ抽出部１５０は、ページリストＺ８からページＢ３を外す。
【０１９３】
８番目に、ログ抽出部１５０は、ページリストＺ８に属する各ページのうち、最新のページＢ２を抽出する。そして、ログ抽出部１５０は、ページリストＺ８からページＢ２を外す。
【０１９４】
９番目に、ログ抽出部１５０は、ページリストＺ８に属する各ページのうち、最新のページＢ１を抽出する。そして、ログ抽出部１５０は、ページリストＺ８からページＢ１を外す。ページリストＺ８にも未抽出のページがなくなったので、ログ抽出部１５０は、次の優先レベルであるページリストＺ９からの第２段階のログ抽出処理に移る。
【０１９５】
１０番目に、ログ抽出部１５０は、ページリストＺ９に属する各ページのうち、最新のページＣ３を抽出する。そして、ログ抽出部１５０は、ページリストＺ９からページＣ３を外す。
【０１９６】
ログ抽出部１５０は、ページＣ３を抽出すると、抽出量の上限値に達したことを検出して、第２段階のログ抽出を終了する。抽出ログＬ１ｆは、上記の処理によってログ抽出部１５０により抽出されたページＢ５，Ａ３，Ａ２，Ｃ４，Ｂ４，Ａ１，Ｂ３，Ｂ２，Ｂ１，Ｃ３を含む。
【０１９７】
こうして、ＣＭ１００，２００，３００，４００は、ＦＡＮ故障の障害調査に適した調査用ログを抽出することができる。また、ＣＭ１００は、抽出された調査用ログを収集して、サポートサーバ６０に送信することで、ＦＡＮ故障の障害調査に有用な情報に絞った情報提供を行うことができる。また、余計な情報を送るよりも通信量を減らすことができる。
【０１９８】
図２４は、第３の実施の形態のログ抽出管理テーブルの第２具体例を示す図である。ログ抽出管理テーブル１１５は、ＣＭ１００，２００，３００，４００それぞれにおけるデータのコピーセッションにおけるエラー（copy session error）に対する時間範囲１（ｘ）、時間範囲２（ｙ）およびログタイプの優先レベルを例示している。例えば、コピーセッションエラーのメッセージＩＤを“ｃｏｐｙ  ｓｅｓｓｉｏｎ  ｅｒｒｏｒ”とする。ログ抽出管理テーブル１１５には、当該メッセージＩＤに対して、時間範囲１（ｘ）が“６４”、時間範囲２（ｙ）が“−”（設定なし）という情報が登録されている。また、当該メッセージＩＤに対して、ログタイプ“ｔｙｐｅ１”、“ｔｙｐｅ３”、“ｔｙｐｅ４”、“ｔｙｐｅ５”、“ｔｙｐｅ６”、“ｔｙｐｅ８”の優先レベル“０”という情報が登録されている。更に、当該メッセージＩＤに対して、ログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ７”の優先レベル“１”という情報が登録されている。
【０１９９】
ここで、ログ抽出管理テーブル１１５におけるログタイプは、ログ抽出管理テーブル１１４で例示したログタイプと同様である。
データのコピー機能のエラーの解析に当たっては、エラーに至るまでの経緯から原因を特定するために、事象発生からできるだけ長時間に亘るコピー機能に関するログを抽出することが好ましい。そこで、事象発生から６４時間前までの時間範囲でコピー機能のログを優先して抽出するように、ログ抽出管理テーブル１１５の設定を行う。
【０２００】
図２５は、第３の実施の形態のログ抽出の第２具体例を示す図である。図２５では、ログ抽出管理テーブル１１５に基づくログ抽出部１５０によるログ抽出を例示する。
図２５の例では、メッセージ“ｃｏｐｙ  ｓｅｓｓｉｏｎ  ｅｒｒｏｒ”に対するログ抽出について次の条件を考える。抽出量の上限値は、ページ１０個分（例えば、１ページのサイズが６４ＫＢの場合、６４ＫＢ×１０＝６４０ＫＢ）である。ログ抽出の時間範囲１（ｘ）は６４時間である。ログ抽出の時間範囲２（ｙ）は設定なしである。抽出対象のログタイプは、“ｔｙｐｅ２”および“ｔｙｐｅ７”である。ただし、図２５では、比較のために、ログタイプ“ｔｙｐｅ１”および“ｔｙｐｅ４”も図示している。ログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ７”の優先レベルは何れも“１”である。
【０２０１】
また、ページリストＺ１１は、ログタイプ“ｔｙｐｅ１”のページリストである。ページリストＺ１１は、タイムスタンプの古い方から新しい方へ向かって、ページＡ１，Ａ２，Ａ３を含む。ページリストＺ１２は、ログタイプ“ｔｙｐｅ２”のページリストである。ページリストＺ１２は、タイムスタンプの古い方から新しい方へ向かって、ページＢ１，Ｂ２，Ｂ３を含む。ページリストＺ１３は、ログタイプ“ｔｙｐｅ４”のページリストである。ページリストＺ１３は、タイムスタンプの古い方から新しい方へ向かって、ページＣ１，Ｃ２，Ｃ３，Ｃ４を含む。ページリストＺ１４は、ログタイプ“ｔｙｐｅ７”のページリストである。ページリストＺ１４は、タイムスタンプの古い方から新しい方へ向かって、ページＤ１，Ｄ２，Ｄ３，Ｄ４，Ｄ５，Ｄ６，Ｄ７を含む。ただし、前述のように、ページリストＺ１１，Ｚ１３は、比較のために図示したものであり、ページの抽出対象ではない。
【０２０２】
この場合、メッセージの検出時（障害発生時）を現在とすると、現在から６４時間前までがログ抽出対象の時間範囲である。なお、図２５の例では、ログ抽出の時間範囲２（ｙ）は設定なしなので、時間範囲２（ｙ）を用いたログ抽出は行われずに、時間範囲１（ｘ）を用いたログ抽出が行われる。図２５の例では、ページＢ１，Ｄ１以降のページにおけるタイムスタンプがログ抽出対象の時間範囲に含まれる。
【０２０３】
最も優先順位の高いログタイプ“ｔｙｐｅ２”、“ｔｙｐｅ７”の最新のページＤ７は、現在から６４時間前よりも後の時刻である（ただし、ここでは、優先レベル“１”のログタイプのみがログの抽出元候補である）。このため、ログ抽出部１５０は、ページＤ７を抽出する。そして、ログ抽出部１５０は、ページリストＺ１４からページＤ７を外す。
【０２０４】
以降のログ抽出処理でも、ログ抽出部１５０は、抽出候補のページが６４時間前の時刻よりも後の時刻であることを確認する。
２番目に、ログ抽出部１５０は、ページリストＺ１２，Ｚ１４に属する各ページのうち、最新のページＢ３を抽出する。そして、ログ抽出部１５０は、ページリストＺ１２からページＢ３を外す。
【０２０５】
３番目に、ログ抽出部１５０は、ページリストＺ１２，Ｚ１４に属する各ページのうち、最新のページＤ６を抽出する。そして、ログ抽出部１５０は、ページリストＺ１４からページＤ６を外す。
【０２０６】
以降、同様にして、ログ抽出部１５０は、ページリストＺ１２，Ｚ１４に属する各ページのうち、新しいページから古いページへ順に抽出する。
９番目に、ログ抽出部１５０は、ページリストＺ１２，Ｚ１４に属する各ページのうち、最新のページＤ１を抽出する。そして、ログ抽出部１５０は、ページリストＺ１４からページＤ１を外す。この段階で、ページリストＺ１４には、未抽出のページがなくなる。
【０２０７】
１０番目に、ログ抽出部１５０は、ページリストＺ１２に属する各ページのうち、最新のページＢ１を抽出する。そして、ログ抽出部１５０は、ページリストＺ１２からページＢ１を外す。この段階で、ページリストＤ１２には、未抽出のページがなくなる。
【０２０８】
ログ抽出部１５０は、ページリストＺ１２，Ｚ１４において、未抽出のページがなくなったことを検出し、ログ抽出を完了する。抽出ログＬ１ｇは、上記の処理によってログ抽出部１５０により抽出されたページＤ７，Ｂ３，Ｄ６，Ｂ２，Ｄ５，Ｄ４，Ｄ３，Ｄ２，Ｄ１，Ｂ１を含む。
【０２０９】
こうして、ＣＭ１００，２００，３００，４００は、コピー機能のエラーに適した調査用ログを抽出することができる。また、ＣＭ１００は、抽出された調査用ログを収集して、サポートサーバ６０に送信することで、コピー機能のエラー解析に有用な情報に絞った情報提供を行うことができる。また、余計な情報を送るよりも通信量を減らすことができる。
【０２１０】
なお、第１の実施の形態の情報処理は、処理部１ｂにプログラムを実行させることで実現できる。また、第２，第３の実施の形態の情報処理は、プロセッサ１０１にプログラムを実行させることで実現できる。ＣＭ１００は、プロセッサ１０１とＲＡＭ１０２とを備えたコンピュータを含むといえる。プログラムは、コンピュータ読み取り可能な記録媒体９１に記録できる。
【０２１１】
例えば、プログラムを記録した記録媒体９１を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体９１に記録されたプログラムまたは他のコンピュータから受信したプログラムを、ＲＡＭ１０２やＢＵＤ１０６などの記憶装置に格納し（インストールし）、当該記憶装置からプログラムを読み込んで実行してもよい。
【符号の説明】
【０２１２】
１  情報処理装置
１ａ  記憶部
１ｂ  処理部
２  動作情報
３  管理情報
【図１】
2019028878.tif 000003
【図２】
2019028878.tif 000004
【図３】
2019028878.tif 000005
【図４】
2019028878.tif 000006
【図５】
2019028878.tif 000007
【図６】
2019028878.tif 000008
【図７】
2019028878.tif 000009
【図８】
2019028878.tif 000010
【図９】
2019028878.tif 000011
【図１０】
2019028878.tif 000012
【図１１】
2019028878.tif 000013
【図１２】
2019028878.tif 000014
【図１３】
2019028878.tif 000015
【図１４】
2019028878.tif 000016
【図１５】
2019028878.tif 000017
【図１６】
2019028878.tif 000018
【図１７】
2019028878.tif 000019
【図１８】
2019028878.tif 000020
【図１９】
2019028878.tif 000021
【図２０】
2019028878.tif 000022
【図２１】
2019028878.tif 000023
【図２２】
2019028878.tif 000024
【図２３】
2019028878.tif 000025
【図２４】
2019028878.tif 000026
【図２５】
2019028878.tif 000027