(57)【特許請求の範囲】
【請求項１】
コンピュータに、
単一のアプリケーションの実行に用いられる複数の情報処理装置からログを取得して第１記憶部に集約する第１ログ取得処理を実行した際に、前記複数の情報処理装置に含まれる第１情報処理装置からログが取得されなかった場合、前記第１情報処理装置の識別情報と、ログが取得されなかった旨の情報とを対応付けて第２記憶部に記憶し、
前記第１ログ取得処理を実行した後に、新たなログ取得処理である第２ログ取得処理を実行した際に、前記第１情報処理装置からログが取得された場合、前記第１情報処理装置から、前記第２ログ取得処理のログ取得対象期間よりも過去の期間のログをあわせて取得する、
ことを実行させることを特徴とするログ取得管理プログラム。
【請求項２】
請求項１において、さらに、
前記複数の情報処理装置に含まれる情報処理装置からログを取得した場合、前記取得したログが出力された時間を示すタイムスタンプと、取得した前記ログを出力した情報処理装置の識別情報とを対応付けて前記第２記憶部に記憶する、
ことを前記コンピュータに実行させ、
前記過去の期間は、前記第２記憶部に記憶された前記第１情報処理装置に対応するタイムスタンプのうち、最新のタイムスタンプが示す時間よりも前の期間である、
ログ取得管理プログラム。
【請求項３】
請求項２において、
前記第１及び第２ログ取得処理は、ログが取得されなかった旨の情報と対応付けて前記第２記憶部に識別情報が記憶された情報処理装置が存在しない場合、前記第２記憶部に前記識別情報が記憶された情報処理装置毎に、前記第２記憶部に記憶されたタイムスタンプのうち最新のタイムスタンプを特定し、特定したタイムスタンプが示す時間のうち、最も古い時間よりも後の時間に対応するタイムスタンプを有するログを取得し、ログが取得されなかった旨の情報と対応付けて前記第２記憶部に識別情報が記憶された情報処理装置が存在する場合、前記第２記憶部に前記識別情報が記憶された情報処理装置のうち、前記存在した情報処理装置以外の情報処理装置毎に、前記第２記憶部に記憶されたタイムスタンプのうち最新のタイムスタンプを特定し、特定したタイムスタンプが示す時間のうち、最も古い時間よりも後の時間に対応するタイムスタンプを有するログを取得する、
ログ取得管理プログラム。
【請求項４】
請求項２において、
前記ログを取得する処理は、
前記第２ログ取得処理を実行して前記第１情報処理装置からログを取得した場合、前記第１情報処理装置から、前記取得されたログが有するタイムスタンプから単位時間前までのログをあわせて取得し、
前記第２ログ取得処理を実行した後、新たなログ取得処理を実行する毎に、取得したログに対応するタイムスタンプが示す時間が、前記最新のタイムスタンプが示す時間になるまで、前記単位時間前から前記単位時間ずつ遡った期間のログをあわせて取得する、
ログ取得管理プログラム。
【請求項５】
請求項１において、
前記ログを取得する処理は、
前記複数の情報処理装置のうち、前記第２記憶部に前記識別情報が記憶されていない新たな情報処理装置からログを取得した場合、前記新たな情報処理装置から、前記取得したログが有するタイムスタンプから単位時間前までのログをあわせて取得し、
前記第２ログ取得処理を実行する毎に、前記新たな情報処理装置からのログが取得できなくなるまで、前記単位時間前から前記単位時間ずつ遡った期間のログをあわせて取得する、
ログ取得管理プログラム。
【請求項６】
単一のアプリケーションの実行に用いられる複数の情報処理装置からログを取得して第１記憶部に集約する第１ログ取得処理を実行した際に、前記複数の情報処理装置に含まれる第１情報処理装置からログが取得されなかった場合、前記第１情報処理装置の識別情報と、ログが取得されなかった旨の情報とを対応付けて記憶する第２記憶部と、
前記第１ログ取得処理を実行した後に、新たなログ取得処理である第２ログ取得処理を実行した際に、前記第１情報処理装置からログが取得された場合、前記第１情報処理装置から、前記第２ログ取得処理のログ取得対象期間よりも過去の期間のログをあわせて取得する処理部と、を有する、
ことを特徴とするログ取得管理装置。
【請求項７】
プロセッサが、
単一のアプリケーションの実行に用いられる複数の情報処理装置からログを取得して第１記憶部に集約する第１ログ取得処理を実行した際に、前記複数の情報処理装置に含まれる第１情報処理装置からログが取得されなかった場合、前記第１情報処理装置の識別情報と、ログが取得されなかった旨の情報とを対応付けて第２記憶部に記憶し、
前記第１ログ取得処理を実行した後に、新たなログ取得処理である第２ログ取得処理を実行した際に、前記第１情報処理装置からログが取得された場合、前記第１情報処理装置から、前記第２ログ取得処理のログ取得対象期間よりも過去の期間のログをあわせて取得する、
ことを特徴とするログ取得管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ取得管理プログラム、ログ取得管理装置及びログ取得管理方法に関する。
【背景技術】
【０００２】
利用者に対してサービスを提供する事業者（以下、サービス事業者とも呼ぶ）は、例えば、サービスの提供を実現するために業務システムを構築する。そして、事業者は、業務システムの構築するために、例えば、クラウドコンピューティングサービスを提供する事業者（以下、クラウド事業者とも呼ぶ）が提供するＰａａＳ（Ｐｌａｔｆｏｒｍ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）を利用する場合がある。
【０００３】
ＰａａＳは、物理マシン（仮想マシン）等のハードウエア資源自体を提供するＩａａＳ（Ｉｎｆｒａｓｔｒｕｃｕｔｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）と異なり、ソフトウエアを動作させるためのミドルウエア等の基盤機能（プラットフォーム）を提供するサービス形態である。具体的に、クラウド事業者は、ＰａａＳの契約者に対し、アプリケーションインタフェース（ＡＰＩ）やＤＢＭＳ（ＤａｔｅＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）の提供を行う。そして、ＰａｓＳを利用するサービス事業者は、クラウド事業者から提供されたプラットフォームを利用して業務システムを構築し、利用者に対してサービスを提供する。
【０００４】
また、ＰａａＳにおいて、プラットフォームを提供するために動作する各物理マシンは、例えば、予め決められた記憶部（以下、データストアとも呼ぶ）にログを出力する。そして、サービス事業者は、ログが出力されたデータストアにアクセスすることにより、プラットフォームを提供する各物理マシンについてのログを取得する。これにより、サービス事業者は、プラットフォームを提供する各物理マシンの監視を行うことが可能になる（例えば、特許文献１及び２参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平３−０２４８４３号公報
【特許文献２】特開２００４−２９５３０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のようなＰａｓＳにおいて、クラウド事業者は、プラットフォームの提供するために動作させる物理マシンに関する情報（例えば、動作させる物理マシンの台数）を、サービス事業者に提供しない場合がある。そのため、この場合、サービス事業者は、プラットフォームを提供する各物理マシンのログを取得する際に、ログを取得する必要がある全ての物理マシンのログの取得ができているのか否かの判断ができない。その結果、サービス事業者は、ログの取得漏れを発生させる可能性がある。
【０００７】
そこで、一つの側面では、ログの取得漏れを抑制するログ取得管理プログラム、ログ取得管理装置及びログ取得管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施の形態の一つの態様によれば、単一のアプリケーションの実行に用いられる複数の情報処理装置からログを取得して第１記憶部に集約する第１ログ取得処理を実行した際に、前記複数の情報処理装置に含まれる第１情報処理装置からログが取得されなかった場合、前記第１情報処理装置の識別情報と、ログが取得されなかった旨の情報とを対応付けて第２記憶部に記憶し、
前記第１ログ取得処理を実行した後に、新たなログ取得処理である第２ログ取得処理を実行した際に、前記第１情報処理装置からログが取得された場合、前記第１情報処理装置から、前記第２ログ取得処理のログ取得対象期間よりも過去の期間のログをあわせて取得する。
【発明の効果】
【０００９】
一つの側面によれば、ログの取得漏れを抑制する。
【図面の簡単な説明】
【００１０】
【図１】情報処理システムの全体構成を示す図である。
【図２】監視装置によるログの取得を説明する具体例である。
【図３】監視装置のハードウエア構成を示す図である。
【図４】図３の監視装置の機能ブロック図である。
【図５】第１の実施の形態におけるログ取得管理処理の概略を説明するフローチャート図である。
【図６】第１の実施の形態におけるログ取得管理処理の詳細を説明するフローチャート図である。
【図７】第１の実施の形態におけるログ取得管理処理の詳細を説明するフローチャート図である。
【図８】第１の実施の形態におけるログ取得管理処理の詳細を説明するフローチャート図である。
【図９】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１０】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１１】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１２】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１３】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１４】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１５】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１６】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１７】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１８】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図１９】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２０】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２１】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２２】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２３】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２４】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２５】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２６】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２７】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２８】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図２９】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図３０】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図３１】第１の実施の形態におけるログ取得管理処理を説明する図である。
【図３２】第１の実施の形態におけるログ取得管理処理を説明する図である。
【発明を実施するための形態】
【００１１】
［情報処理システムの構成］
図１は、情報処理システムの全体構成を示す図である。図１に示す情報処理システム１００は、利用者にサービスを提供するための業務システム１０Ａ（以下、第１業務システム１０Ａとも呼ぶ）として動作する物理マシン１１Ａ、物理マシン１１Ｂ及び物理マシン１１Ｃを有する。また、図１に示す情報処理システム１００は、業務システム１０Ａのバックアップを取得する処理等を行う業務システム１０Ｂ（以下、第２業務システム１０Ｂ）として動作する物理マシン１１Ｄ、１１Ｅ及び１１Ｆとを有する。なお、以下、物理マシン１１Ａ、１１Ｂ、１１Ｃ、１１Ｄ、１１Ｅ及び１１Ｆの全てまたはいずれかを、単に物理マシン１１とも呼ぶ。
【００１２】
さらに、図１に示す情報処理システム１００は、物理マシン１１Ａ、１１Ｂ、１１Ｃ、１１Ｄ、１１Ｅ及び１１Ｆが各種ログを出力する記憶部２０と、ネットワークＮＷを介して記憶部２０にアクセスする監視装置１とを有する。ネットワークＮＷは、例えば、インターネット網である。
【００１３】
図１に示す情報処理システム１００において、物理マシン１１Ａ、１１Ｂ、１１Ｃ、１１Ｄ、１１Ｅ、１１Ｆ及び記憶部２０は、上記のクラウド事業者が所有する機器である。そして、図１に示す情報処理システム１００において、監視装置１は、上記のサービス事業者が所有する機器である。
【００１４】
監視装置１は、例えば、物理マシンであり、記憶部２０に出力された物理マシン１１Ａ等のログを取得する。そして、監視装置１は、記憶部２０から取得したログに基づき、物理マシン１１Ａ等の監視を行う。
【００１５】
第１業務システム１０Ａ及び第２業務システム１０Ｂは、図１の例においては、それぞれ３台の物理マシンから構成されているが、処理負荷の増減等によって物理マシンの構成台数が変化するものであってよい。具体的に、クラウド事業者は、第１業務システム１０Ａの処理負担が増加した場合に、例えば、新たな物理マシンを第１業務システム１０Ａの一部として動作させる。すなわち、この場合、図１の例における第１業務システム１０Ａは、４台以上の物理マシンから構成されることになる。一方、クラウド事業者は、第１業務システム１０Ａの処理負担が減少した場合に、例えば、第１業務システム１０Ａの一部として動作する物理マシンが２台以下になるように再構成を行う。これにより、クラウド事業者は、物理マシン等のリソースを効率的に使用することが可能になる。
【００１６】
［監視装置によるログの取得］
次に、監視装置１によるログの取得について説明する。図２は、監視装置によるログの取得を説明する具体例である。なお、以下、図１で説明した物理マシン１１Ａ、１１Ｂ及び１１Ｃが、記憶部２０にログを出力する場合について説明する。また、図２に示す例において、監視装置１は、２０１４年７月１２日０時０分３０秒に記憶部２０にアクセスし、ログを取得したものとして説明する。
【００１７】
図２に示すログは、出力された物理マシンを識別する「マシンＩＤ」と、ログが出力された時間を示す「タイムスタンプ」と、ログの内容である「ログ内容」とを項目として有する。具体的に、図２に示す例においては、「マシンＩＤ」が「１１Ｂ」である情報には、「タイムスタンプ」として「２０１４／０７／１２  ００：００：００」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ１」が設定されている。図２の他の情報については説明を省略する。なお、図２の「マシンＩＤ」に設定された「１１Ａ」、「１１Ｂ」及び「１１Ｃ」は、図１で説明した物理マシン１１Ａ、１１Ｂ及び１１Ｃに対応する。
【００１８】
ここで、各物理マシンでは、処理負担の増加等に起因する処理遅延が発生する場合がある。そして、この場合、各物理マシンは、記憶部２０に対するログの出力が遅延する可能性がある。具体的に、図２に示す例において、物理マシン１Ｂが、「タイムスタンプ」が「２０１４／０７／１２  ００：００：２５」であるログを、２０１４年７月１２日の０時０分３５秒に記憶部２０に出力した場合がこれに該当する。この場合、監視装置１は、２０１４年７月１２日０時０分３０秒に記憶部２０にアクセスした際に、「タイムスタンプ」が「２０１４／０７／１２  ００：００：２５」であるログを取得することができない。
【００１９】
さらに、監視装置１が物理マシン１１Ｂに関する情報（物理マシン１１Ｂの動作状況に関する情報）を取得することができない場合、監視装置１は、物理マシン１１Ｂにおいて発生した処理遅延を認識することができない。そのため、監視装置１は、記憶部２０に遅延して出力されたログが存在する場合であっても、ログの再取得を行わず、ログの取得漏れを発生させる可能性がある。
【００２０】
また、監視装置１は、クラウド事業者とサービス事業者との契約の内容によっては、記憶部２０に出力されたログの消去を行うことができない場合がある。監視装置１は、この場合、条件を指定して記憶部２０からログを取得する必要があるが、同じログを繰り返し取得することを防止するため、広範囲のログ取得を行うことができない。具体的に、監視装置１は、例えば、「ある時間よりも前の時間を示す「タイムスタンプ」を有するログの全て」といった条件を指定してログを取得することができない。そのため、監視装置１は、ログを取得する際の条件を広げることによるログの取得漏れの防止を行うことができない。
【００２１】
そこで、本実施の形態では、監視装置１は、複数の物理マシン１１に含まれる第１物理マシン（以下、第１情報処理装置とも呼ぶ）からログが取得されない場合、第１情報処理装置の識別情報とログが取得できない旨の情報とを対応付けて記憶する。その後、監視装置１は、第１情報処理装置からログが取得された場合、第１情報処理装置から過去の期間のログ（以下、単に過去ログとも呼ぶ）を取得する。これにより、監視装置１は、取得すべきログの取得漏れを防止する。
【００２２】
［監視装置のハードウエア構成］
次に、監視装置１のハードウエア構成について説明する。図３は、監視装置のハードウエア構成を示す図である。監視装置１は、プロセッサであるＣＰＵ１０１と、メモリ１０２と、ネットワークＮＷを介して記憶部２０とアクセスするための外部インターフェース（Ｉ／Ｏユニット）１０３と、記憶媒体１０４とを有する。各部は、バス１０５を介して互いに接続される。
【００２３】
記憶媒体１０４は、記憶媒体１０４内のプログラム格納領域（図示しない）に、ログの取得を管理する処理（以下、ログ取得管理処理とも呼ぶ）を実行するためのプログラム１１０（以下、ログ取得管理プログラムとも呼ぶ）を記憶する。ＣＰＵ１０１は、図３に示すように、プログラム１１０の実行時に、プログラム１１０を記憶媒体１０４からメモリ１０２にロードし、プログラム１１０と協働してログ取得管理処理を行う。また、記憶媒体１０４は、例えば、ログ取得管理処理を行う際に用いられる情報を記憶する情報格納領域１３０（以下、記憶部１３０または第１記憶部１３０とも呼ぶ）を有する。
【００２４】
［監視装置の機能］
図４は、図３の監視装置の機能ブロック図である。監視装置１のＣＰＵ１０１は、プログラム１１０と協働することにより、ログ取得部１１１と、ログ管理部１１２と、過去ログ取得部１１３として動作する。また、情報格納領域１３０には、管理情報１３１と、取得ログ１３２とが記憶されている。なお、以下、ログ取得部１１１及び過去ログ取得部１１３を処理部とも呼ぶ。
【００２５】
ログ取得部１１１は、単一のアプリケーションの実行に用いられる複数の物理マシン１１からログを取得するログ取得処理（以下、第１ログ取得処理とも呼ぶ）を実行し、取得ログ１３２として情報格納領域１３０に集約する。具体的に、ログ取得部１１１は、例えば、１分間に１回等、定期的なタイミングで記憶部２０にアクセスし、取得したログを情報格納領域１３０に記憶するものであってよい。ログ取得部１１１がログを取得する際の具体例については後述する。
【００２６】
ログ管理部１１２は、例えば、ログ取得部１１１が第１ログ取得処理を実行した際に、複数の物理マシン１１に含まれる全ての物理マシンからログが取得されたか否かを判定する。そして、ログ管理部１１２は、例えば、物理マシン１１に含まれる第１物理マシンからログが取得されなかった場合、第１物理マシンの識別情報と、ログが取得されなかった旨の情報とを対応付けて情報を管理情報１３１の一部として情報格納領域１３０に記憶する。なお、ログ管理部１１２は、情報格納領域１３０とは異なる情報格納領域（以下、第２記憶部とも呼ぶ）に、管理情報１３１を記憶するものであってもよい。
【００２７】
その後、ログ取得部１１１は、例えば、第１ログ取得処理の後に、新たなログ取得処理である第２ログ取得処理を実行する。そして、第２ログ取得処理を実行した際に、第１ログ取得処理においてログが取得されなかった第１物理マシンからログが取得された場合、過去ログ取得部１１３は、例えば、第１物理マシンから、過去ログを取得して情報格納領域１３０に記憶する。この場合、過去ログ取得部１１３は、例えば、第２ログ取得処理のログ取得対象期間よりも過去の期間のログを取得する。
【００２８】
［第１の実施の形態］
次に、第１の実施の形態について説明する。図５は、第１の実施の形態におけるログ取得処理の概略を説明するフローチャート図である。なお、図５の左側のフローチャートは、監視装置１が第１ログ取得処理を実行する場合におけるログ取得管理処理を説明するフローチャートであり、図５の右側のフローチャートは、監視装置１が第２ログ取得処理を実行する場合におけるログ取得管理処理を説明するフローチャートである。
【００２９】
監視装置１は、図５の左側のフローチャートに示すように、第１ログ取得処理の実行タイミングになるまで待機する（Ｓ１のＮＯ）。そして、第１ログ取得処理の実行タイミングになった場合（Ｓ１のＹＥＳ）、監視装置１は、記憶部２０にアクセスし、ログの取得を行う（Ｓ２）。すなわち、この場合、監視装置１は、第１ログ取得処理の実行を行う。
【００３０】
そして、複数の物理マシン１１に含まれる第１物理マシンが出力したログが取得されなかった場合（Ｓ３のＹＥＳ）、監視装置１は、第１物理マシンの識別情報と、ログが取得されなかった旨の情報とを対応付けて第２記憶部に記憶する（Ｓ４）。一方、複数の物理マシン１１に含まれる全ての物理マシンが出力したログを取得した場合（Ｓ３のＮＯ）、監視装置１は、識別情報等の情報の記憶を行わない。
【００３１】
すなわち、第１ログ取得処理において、過去に継続してログを取得していた第１物理マシンが出力したログを取得できなかった場合、監視装置１は、第１物理マシンにおいて処理遅延が発生している可能性があると判定する。そして、監視装置１は、ログの取得漏れを防止するために、後述するように、過去に遡って第１物理マシンのログの取得を行う必要の情報の記憶を行う。
【００３２】
そして、その後、監視装置１は、Ｓ２で取得したログを情報格納領域１３０に集約する（Ｓ５）。
【００３３】
次に、監視装置１は、図５の右側のフローチャートに示すように、例えば、第２ログ取得処理の実行タイミングになるまで待機する（Ｓ１１のＮＯ）。第２ログ取得処理は、第１ログ取得処理が実行された後に実行される新たなログ取得処理である。そして、第２ログ取得処理の実行タイミングになった場合（Ｓ１１のＹＥＳ）、監視装置１は、記憶部２０にアクセスし、ログの取得を行う（Ｓ１２）。すなわち、この場合、監視装置１は、第２ログ取得処理の実行を行う。
【００３４】
続いて、監視装置１は、Ｓ２においてログを取得することができなかった第１物理マシンから、ログが取得できたか否かの判定を行う（Ｓ１３）。そして、第１物理マシンからログが取得された場合（Ｓ１３のＹＥＳ）、監視装置１は、第１物理マシンから、第２ログ取得処理のログ取得対象期間よりも過去の期間のログを取得する（Ｓ１４）。一方、第１物理マシンからログが取得されなかった場合（Ｓ１３のＮＯ）、監視装置１は、過去ログの取得を行わない。
【００３５】
すなわち、Ｓ２においてログを取得できなかった第１物理マシンからログを取得した場合、監視装置１は、第１物理マシンにおいてログの出力を遅延させる要因（例えば、処理負担の増加等）が解消したものと判定する。そこで、本実施の形態における監視装置１は、第１物理マシンからログを取得したことに応じて、過去の期間（Ｓ２でログを取得した期間よりも前の期間）のログについての取得を開始する。これにより、監視装置１は、過去に取得することができなかったログについて遡及的に取得することが可能になり、ログの取得漏れの発生を防止することが可能になる。
【００３６】
そして、その後、監視装置１は、Ｓ１２で取得したログ及びＳ１４で取得したログを情報格納領域１３０に集約する（Ｓ１５）。
【００３７】
このように、第１の実施の形態によれば、監視装置１は、第１ログ取得処理を実行した際に、第１物理マシンからログが取得されなかった場合、第１物理マシンの識別情報と、ログが取得されなかった旨の情報とを対応付けて記憶する。そして、監視装置１は、新たなログ取得処理である第２ログ取得処理を実行した際に、前１物理マシンからログが取得された場合、第１物理マシンから、第２ログ取得処理のログ取得対象期間よりも過去の期間のログをあわせて取得する。これにより、監視装置１は、複数の物理マシン１１が出力したログについて、ログを取得漏れの発生を防止することが可能になる。
【００３８】
［第１の実施の形態の詳細］
次に、第１の実施の形態の詳細について説明する。図６から図８は、第１の実施の形態におけるログ取得管理処理の詳細を説明するフローチャート図である。また、図９から図３２は、第１の実施の形態におけるログ取得管理処理の詳細を説明する図である。図９から図３２を参照しながら、図６から図８のログ取得管理処理の詳細を説明する。なお、以下、図５等で説明した第１ログ取得処理及び第２ログ取得処理をまとめてログ取得処理とも呼ぶ。また、以下、ログ取得部１１１は、図９に示すログを取得する前から、物理マシン１１Ａ、１１Ｂ及び１１Ｃから継続的にログを取得していたものとして説明を行う。
【００３９】
初めに、監視装置１のログ取得部１１１は、ログ取得処理の実行タイミングになるまで待機する（Ｓ２１のＮＯ）。その後、ログ取得処理の実行タイミングになった場合（Ｓ２１のＹＥＳ）、ログ取得部１１１は、情報格納領域１３０に記憶された取得ログ１３２を参照する（Ｓ２２）。
【００４０】
そして、ログ取得部１１１は、管理情報１３１に含まれる「未取得フラグ」が「０」である物理マシン１１毎に、取得ログ１３２の「タイムスタンプ」のうち、最新の「タイムスタンプ」を特定する（Ｓ２２）。以下、ログ及び管理情報１３１の具体例を説明する。
【００４１】
図９は、監視装置１が取得したログの具体例を説明する図である。図９に示すログは、例えば、図２で説明したログと同じ項目を有している。具体的に、図９に示すログのうち、「マシンＩＤ」が「１１Ｂ」であるログは、「タイムスタンプ」として「２０１４／０７／１２  ００：００：１５」を有し、「ログ内容」として「Ｍｅｓｓａｇｅ１−１」を有している。図９の他の情報については説明を省略する。なお、図９に示すログは、例えば、「タイムスタンプ」が「２０１４／０７／１２  ００：００：００」から「２０１４／０７／１２  ００：００：２９」までの間であるログを取得した場合の取得結果である。
【００４２】
なお、監視装置１は、記憶部２０から取得したログの管理を行うために、各ログを識別する必要がある。そのため、例えば、図９に示す「ログ内容」は、各ログを一意に識別するための情報である必要がある。
【００４３】
具体的に、各物理マシン１１が出力したログの内容自体が一意である場合、各ログの「ログ内容」には、ログ自体の内容を設定されるものであってよい。一方、各物理マシン１１が出力したログの内容自体が一意でない場合、各ログの「ログ内容」には、ログ自体の内容と、ログを出力した物理マシン１１のマシンＩＤと、ログが物理マシン１１から出力された時間（タイムスタンプ）とに基づいて算出されるものであってよい。
【００４４】
そして、図１０は、図９に示すログに関する情報を反映させた場合の管理情報１３１の具体例を説明する図である。
【００４５】
図１０に示す管理情報１３１は、前回のログ取得処理を実行した際に、ログが取得できたか否かを示す「未取得フラグ」と、図２で説明した「マシンＩＤ」とを有する。また、図１０に示す管理情報１３１は、監視装置１が取得したログの「タイムスタンプ」のうち、物理マシン１１毎の最新の「タイムスタンプ」である「取得済時間」と、図２で説明した「ログ内容」とを有する。そして、図１０に示す管理情報１３１は、過去ログの取得の実行が完了した時間を示す「再取得実行時間」と、過去ログの取得を行う必要がある範囲における最初の時間を示す「再取得開始時間」とを有する。
【００４６】
具体的に、図９に示すログのうち、「マシンＩＤ」が「１１Ａ」であるログは、「タイムスタンプ」が「２０１４／０７／１２  ００：００：１９」であるログと、「タイムスタンプ」が「２０１４／０７／１２  ００：００：２７」であるログとが存在する。すなわち、「マシンＩＤ」が「１１Ａ」であるログのうち、「タイムスタンプ」が最新であるログは、「タイムスタンプ」が「２０１４／０７／１２  ００：００：２７」でログである。したがって、監視装置１は、図１０に示す管理情報１３１のうち、「マシンＩＤ」が「１１Ａ」である情報に対応する「取得済情報」に「２０１４／０７／１２  ００：００：２７」を設定し、「ログ内容」に「Ｍｅｓｓａｇｅ１−５」を設定する。
【００４７】
また、図９に示すログのうち、「マシンＩＤ」が「１１Ｂ」であるログは、「タイムスタンプ」が「２０１４／０７／１２  ００：００：１５」であるログのみが存在する。したがって、監視装置１は、図１０に示す管理情報１３１のうち、「マシンＩＤ」が「１１Ｂ」である情報に対応する「取得済情報」に、「２０１４／０７／１２  ００：００：１５」を設定し、「ログ内容」に「Ｍｅｓｓａｇｅ１−１」を設定する。
【００４８】
また、図９に示すログのうち、「マシンＩＤ」が「１１Ｃ」であるログについては、「タイムスタンプ」が「２０１４／０７／１２  ００：００：１９」であるログが２つ存在する。したがって、監視装置１は、図１０に示す管理情報１３１のうち、「マシンＩＤ」が「１１Ｃ」である情報に対応する「取得済情報」に、「２０１４／０７／１２  ００：００：２７」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ１−３」及び「Ｍｅｓｓａｇｅ１−４」の２つの情報を設定する。
【００４９】
すなわち、図１０に示す管理情報１３１は、物理マシン毎に、「取得済時間」に設定された時間までのログの取得が完了していることを示している。
【００５０】
図６に戻り、ログ取得部１１１は、Ｓ２２で特定した最新の「タイムスタンプ」が示す時間のうち、最も古い時間よりも後の時間に対応する「タイムスタンプ」を有するログを取得する（Ｓ２３）。
【００５１】
具体的に、図１０に示す管理情報１３１の例において、「取得済時間」には、「２０１４／０７／１２  ００：００：２７」、「２０１４／０７／１２  ００：００：１５」及び「２０１４／０７／１２  ００：００：２１」が設定されている。したがって、ログ取得部１１１は、これらの「取得済時間」のうち、最も古い「取得済時間」である「２０１４／０７／１２  ００：００：１５」を特定し、この時間よりも後の時間を示す「タイムスタンプ」を有するログを記憶部２０から取得する。すなわち、管理情報１３１の「取得済時間」のうち、最も古い「取得済時間」が示す時間は、監視装置１が全物理マシン１１についてログの取得が完了している時間である。したがって、ログ取得部１１１は、「取得済時間」のうち、最も古い「取得済時間」が示す時間よりも後の時間を示す「タイムスタンプ」を有するログを取得することにより、物理マシン１１毎に条件を変えながらログの取得を行う必要がなくなる。
【００５２】
なお、ログ取得部１１１は、ログ取得処理によって記憶部２０から取得したログが、既に取得済であるログ（情報格納領域１３０に取得ログ１３２として記憶されているログ）である場合、このログを重複ログと判定し、情報格納領域１３０に記憶することなく破棄する。
【００５３】
次に、図１１は、Ｓ２３において監視装置１が取得したログの具体例である。図１１に示す例において、ログ取得部１１１は、例えば、「マシンＩＤ」が「１１Ａ」であり、「タイムスタンプ」が「２０１４／０７／１２  ００：００：５０」であり、「ログ内容」が「Ｍｅｓｓａｇｅ２−１」であるログを取得する。図１１の他のログについては説明を省略する。なお、図１１に示すログは、例えば、「タイムスタンプ」が「２０１４／０７／１２  ００：００：３０」から「２０１４／０７／１２  ００：０１：２９」までの間であるログを取得した場合の取得結果である。
【００５４】
図６に戻り、ログ管理部１１２は、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１に情報が存在しない物理マシン１１のログが存在するか否かを判定する（Ｓ２４）。
【００５５】
具体的に、図１１に示すログには、監視装置１が以前から継続してログを取得していた物理マシン１１Ａ、１１Ｂ及び１１Ｃ以外の物理マシンから出力されたログは含まれていない。したがって、ログ管理部１１２は、管理情報１３１に情報が存在しない物理マシン１１から出力されたログが存在しないものと判定する（Ｓ２４のＮＯ）。管理情報１３１に情報が存在しない物理マシン１１から出力されたログが存在する場合の具体例については後述する。
【００５６】
続いて、ログ管理部１１２は、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の「未取得フラグ」が「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在するか否かを判定する（Ｓ２７）。
【００５７】
具体的に、図１０に示す管理情報１３１では、「マシンＩＤ」が「１１Ａ」、「１１Ｂ」及び「１１Ｃ」である情報に対応する「未取得フラグ」に、「０」が設定されている。そして、図１１に示すログには、「マシンＩＤ」が「１１Ａ」、「１１Ｂ」及び「１１Ｃ」であるログが全て含まれている。したがって、ログ管理部１１２は、管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンは存在しないと判定する（Ｓ２７のＮＯ）。管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンは存在する場合の具体例については後述する。
【００５８】
次に、ログ管理部１１２は、図７に示すように、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の「未取得フラグ」が「１」である物理マシンのログを取得したか否かを判定する（Ｓ３１）。
【００５９】
具体的に、図１０に示す管理情報１３１では、全ての「マシンＩＤ」に対応する「未取得フラグ」は「０」である。したがって、ログ管理部１１２は、管理情報１３１の未取得フラグが「１」である物理マシンのログを取得していないと判定する（Ｓ３１のＮＯ）。管理情報１３１の「未取得フラグ」が「１」である物理マシンのログを取得した場合の具体例については後述する。
【００６０】
そして、ログ管理部１１２は、物理マシン毎に、Ｓ２３で取得したログが有する「タイムスタンプ」が示す時間のうち、最も新しい時間を示す「タイムスタンプ」を「取得済時間」に設定する（Ｓ３５）。
【００６１】
具体的に、図１１に示すログのうち、「マシンＩＤ」が「１１Ａ」であるログの「タイムスタンプ」は、「２０１４／０７／１２  ００：００：５０」及び「２０１４／０７／１２  ００：０１：２１」の２つである。したがって、ログ管理部１１２は、図１２に示すように、「マシンＩＤ」が「１１Ａ」である情報に対応する「タイムスタンプ」に、「２０１４／０７／１２  ００：０１：２１」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ２−４」を設定する。同様に、ログ管理部１１２は、「マシンＩＤ」が「１１Ｂ」である情報の「タイムスタンプ」に、「２０１４／０７／１２  ００：０１：１０」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ２−３」を設定する。また、ログ管理部１１２は、「マシンＩＤ」が「１１Ｃ」である情報の「タイムスタンプ」に、「２０１４／０７／１２  ００：０１：０２」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ２−２」を設定する。
【００６２】
次に、ログ管理部１１２は、図８に示すように、管理情報１３１の「再取得実行時間」がブランクでない物理マシンが存在するか否かを判定する（Ｓ４１）。
【００６３】
具体的に、図１２に示す管理情報１３１において、全ての「マシンＩＤ」に対応する「再取得実行時間」がブランクである。したがって、ログ管理部１１２は、管理情報１３１の再取得実行時間がブランクでない物理マシンは存在しないと判定する（Ｓ４１のＮＯ）。管理情報１３１の再取得実行時間がブランクでない物理マシンが存在する場合の具体例については後述する。
【００６４】
そして、その後、ログ取得部１１１は、再度ログ取得タイミングになるまで待機する（Ｓ２１）。
【００６５】
すなわち、ログ管理部１１２は、継続してログを取得している全物理マシンからのログを取得できた場合、「未取得フラグ」、「再取得実行時間」及び「再取得開始時間」に設定された情報を更新することなく、「取得済時間」及び「ログ内容」に設定された情報の更新のみを行う。
【００６６】
［ログが取得できない物理マシンが存在した場合の具体例］
次に、管理情報１３１の「未取得フラグ」が「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在する場合の具体例について説明する。
【００６７】
初めに、ログ取得部１１１は、上記の場合と同様に、例えば、ログ取得処理の実行タイミングになるまで待機する（Ｓ２１のＮＯ）。その後、ログ取得処理の実行タイミングになった場合（Ｓ２１のＹＥＳ）、ログ取得部１１１は、例えば、上記の場合と同様に、管理情報１３１を参照する。なお、ここでは、ログ取得部１１１が図１２に示す管理情報１３１を参照した場合について説明する。
【００６８】
そして、ログ取得部１１１は、例えば、管理情報１３１に含まれる「未取得フラグ」が「０」である物理マシン１１毎に、各物理マシン１１が過去に出力したログの「タイムスタンプ」のうち、最新の「タイムスタンプ」を特定する（Ｓ２２）。具体的に、図１２に示す管理情報１３１において、ログ取得部１１１は、それぞれ「２０１４／０７／１２  ００：０１：２１」、「２０１４／０７／１２  ００：０１：１０」及び「２０１４／０７／１２  ００：０１：０２」を特定する。
【００６９】
続いて、ログ取得部１１１は、例えば、Ｓ２２で特定した最新の「タイムスタンプ」が示す時間のうち、最も古い時間よりも後の時間に対応する「タイムスタンプ」を有するログを取得する（Ｓ２３）。すなわち、図１２に示す管理情報１３１において、ログ取得部１１１は、「タイムスタンプ」が「２０１４／０７／１２  ００：０１：０２」よりも後の時間に対応する「タイムスタンプ」を有するログを取得する。
【００７０】
その結果、ログ取得部１１１は、例えば、図１３に示すように、「マシンＩＤ」が「１１Ｃ」であり、「タイムスタンプ」が「２０１４／０７／１２  ００：０１：４６」であり、「ログ内容」が「Ｍｅｓｓａｇｅ３−１」であるログを取得する。図１３の他のログについては説明を省略する。なお、図１３に示すログは、例えば、「タイムスタンプ」が、「２０１４／０７／１２  ００：０１：３０」から「２０１４／０７／１２  ００：０２：２９」までの間であるログを取得した場合の取得結果である。
【００７１】
次に、ログ管理部１１２は、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１に情報が存在しない物理マシン１１から出力されたログは存在しないと判定する（Ｓ２４のＮＯ）。
【００７２】
そして、ログ管理部１１２は、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在するか否かを判定する（Ｓ２７）。ここで、図１３に示すログには、「マシンＩＤ」が「１１Ｂ」であるログが存在しない。したがって、ログ管理部１１２は、管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在すると判定する（Ｓ２７のＹＥＳ）。
【００７３】
そして、ログ管理部１１２は、例えば、ログを取得できなかった物理マシンに対応する未取得フラグを「１」に更新する（Ｓ２８）。具体的に、ログ管理部１１２は、図１４に示すように、「マシンＩＤ」が「１１Ｂ」である「未取得フラグ」を「１」に更新する。これにより、ログ管理部１１２は、ログ取得処理によってログを取得することができなかった物理マシンを特定する情報を管理情報１３１に記憶することが可能になる。
【００７４】
その後、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の未取得フラグが「１」である物理マシンのログを取得していないと判定する（Ｓ３１のＮＯ）。
【００７５】
そして、ログ管理部１１２は、物理マシン毎に、Ｓ２３で取得したログが有する「タイムスタンプ」が示す時間のうち、最も新しい時間を示す「タイムスタンプ」を「取得済時間」に設定する（Ｓ３５）。
【００７６】
具体的に、ログ管理部１１２は、図１３に示すログを参照して、図１４に示す管理情報１３１を、図１５に示すように更新する。すなわち、ログ管理部１１２は、「マシンＩＤ」が「１１Ａ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０２：２２」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ３−３」を設定する。そして、ログ管理部１１２は、「マシンＩＤ」が「１１Ｃ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０１：４６」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ３−１」を設定する。
【００７７】
ここで、ログ管理部１１２は、図１３に示すログに「マシンＩＤ」が「１１Ｂ」であるログが含まれていないため、管理情報１３１のうち、「マシンＩＤ」が「１１Ｂ」である情報については更新しない。すなわち、図１５に示す管理情報１３１の「取得済時間」では、ログが取得できなかった物理マシン１１Ｂが出力したログのうち、監視装置１においてログの取得が完了している時間（２０１４年７月１２日  ００：０１：１０）が維持される。これにより、監視装置１は、後述するように、過去ログの取得を行うことが可能になる。
【００７８】
その後、ログ管理部１１２は、例えば、図１５に示す管理情報１３１を参照し、再取得実行時間がブランクでない物理マシンが存在しない判定する（Ｓ４１のＮＯ）。そして、その後、ログ取得部１１１は、再度ログ取得タイミングになるまで待機する（Ｓ２１）。
【００７９】
［未取得フラグが「１」である物理マシンからログが取得できない場合の具体例］
次に、管理情報１３１の「未取得フラグ」が「１」である物理マシンのうち、ログが取得できなかった物理マシンが存在する場合の具体例について説明する。
【００８０】
初めに、ログ取得部１１１は、上記の場合と同様に、例えば、ログ取得処理の実行タイミングになるまで待機する（Ｓ２１のＮＯ）。その後、第１ログ取得処理の実行タイミングになった場合（Ｓ２１のＹＥＳ）、ログ取得部１１１は、例えば、上記の場合と同様に、管理情報１３１を参照する。なお、ここでは、ログ取得部１１１が図１５に示す管理情報１３１を参照した場合について説明する。
【００８１】
そして、ログ取得部１１１は、例えば、管理情報１３１に含まれる未取得フラグが「０」である物理マシン１１毎に、各物理マシン１１が過去に出力したログの「タイムスタンプ」のうち、最新の「タイムスタンプ」を特定する（Ｓ２２）。具体的に、図１５に示す管理情報１３１において、ログ取得部１１１は、「未取得フラグ」が「０」である情報に対応する「取得済時間」である「２０１４／０７／１２  ００：０２：２２」及び「２０１４／０７／１２  ００：０１：４６」を特定する。
【００８２】
続いて、ログ取得部１１１は、例えば、Ｓ２２で特定した最新の「タイムスタンプ」が示す時間のうち、最も古い時間よりも後の時間に対応する「タイムスタンプ」を有するログを取得する（Ｓ２３）。具体的に、図１５に示す管理情報１３１において、ログ取得部１１１は、「タイムスタンプ」が「２０１４／０７／１２  ００：０１：４６」よりも後の時間に対応する「タイムスタンプ」を有するログを取得する。
【００８３】
すなわち、「未取得フラグ」が「１」である物理マシンが存在する場合、「未取得フラグ」が「１」である情報に対応する「取得済情報」に設定された時間と、「未取得フラグ」が「０」である情報に対応する「取得済情報」に設定された時間との時間差が大きくなる。具体的に、図１５の管理情報に示す例において、「取得済情報」の時間差は、ログ取得処理の実行間隔（例えば、１分）よりも大きくなる。そのため、「未取得フラグ」が「１」である情報に対応する「取得済情報」に設定された時間よりも後の時間を示す「タイムスタンプ」として有するログを、ログ取得部１１１が取得する場合、取得したログには、監視装置１が既に取得しているログ（重複ログ）が多く含まれる。
【００８４】
そこで、ログ取得部１１１は、Ｓ２２において、未取得フラグが「１」である情報に対応する「取得済時間」を考慮せずに「タイムスタンプ」の特定を行う。そして、ログ取得部１１１は、Ｓ２３において、未取得フラグが「１」である情報に対応する「取得済時間」を考慮せずに特定した「タイムスタンプ」に基づき、ログの取得を行う。これにより、ログ取得部１１１は、取得する重複ログの数を減少させ、監視装置１の処理負担増加を防止することが可能になる。
【００８５】
具体的に、ログ取得部１１１は、例えば、図１６に示すように、「マシンＩＤ」が「１１Ｃ」であり、「タイムスタンプ」が「２０１４／０７／１２  ００：０２：５９」であり、「ログ内容」が「Ｍｅｓｓａｇｅ４−１」であるログを取得する。図１６の他のログについては説明を省略する。なお、図１６に示すログは、例えば、「タイムスタンプ」が、「２０１４／０７／１２  ００：０２：３０」から「２０１４／０７／１２  ００：０３：２９」までの間であるログを取得した場合の取得結果である。
【００８６】
そして、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１に情報が存在しない物理マシン１１から出力されたログは存在しないと判定する（Ｓ２４のＮＯ）。
【００８７】
また、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在するか否かを判定する（Ｓ２７）。具体的に、図１５に示す管理情報１３１において、「未取得フラグ」が「０」である情報は、「マシンＩＤ」が「１１Ａ」及び「１１Ｃ」である。そして、図１６に示すログには、「マシンＩＤ」が「１１Ａ」及び「１１Ｃ」であるログが含まれている。したがって、ログ管理部１１２は、管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在しないと判定する（Ｓ２７のＮＯ）。
【００８８】
さらに、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の未取得フラグが「１」である物理マシンのログを取得していないと判定する（Ｓ３１のＮＯ）。
【００８９】
また、ログ管理部１１２は、物理マシン毎に、Ｓ２３で取得したログが有するタイムスタンプが示す時間のうち、最も新しい時間を示すタイムスタンプを取得済時間に設定する（Ｓ３５）。
【００９０】
具体的に、ログ管理部１１２は、図１６に示すログを参照して、図１５に示す管理情報を、図１７に示すように更新する。具体的に、ログ管理部１１２は、「マシンＩＤ」が「１１Ａ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０３：０１」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ４−２」を設定する。そして、ログ管理部１１２は、「マシンＩＤ」が「１１Ｃ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０３：１２」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ４−３」を設定する。
【００９１】
ここで、ログ管理部１１２は、図１６に示すログに「マシンＩＤ」が「１１Ｂ」であるログが含まれていないため、図１７に示す管理情報１３１における「マシンＩＤ」が「１１Ｂ」である情報については更新しない。すなわち、図１５に示す管理情報１３１の「取得済時間」は、ログが取得できなかった物理マシン１１Ｂが出力したログのうち、監視装置１によってログの取得が完了している時間として、更新されることなく引き続き維持される。
【００９２】
その後、ログ管理部１１２は、例えば、図１５に示す管理情報１３１を参照し、再取得実行時間がブランクでない物理マシンが存在しない判定する（Ｓ４１のＮＯ）。そして、ログ取得部１１１は、再度ログ取得タイミングになるまで待機する（Ｓ２１）。
【００９３】
［未取得フラグが「１」である物理マシンからログが取得できた場合の具体例］
次に、管理情報１３１の未取得フラグが「１」である物理マシンのうち、ログが取得できた物理マシンが存在する場合の具体例について説明する。
【００９４】
初めに、ログ取得部１１１は、上記の場合と同様に、例えば、ログ取得処理の実行タイミングになるまで待機する（Ｓ２１のＮＯ）。その後、ログ取得処理の実行タイミングになった場合（Ｓ２１のＹＥＳ）、ログ取得部１１１は、例えば、上記の場合と同様に、管理情報１３１を参照する。なお、ここでは、ログ取得部１１１が図１７に示す管理情報１３１を参照した場合について説明する。
【００９５】
そして、ログ取得部１１１は、例えば、管理情報１３１に含まれる未取得フラグが「０」である物理マシン１１毎に、各物理マシン１１が過去に出力したログの「タイムスタンプ」のうち、最新の「タイムスタンプ」を特定する（Ｓ２２）。具体的に、図１７に示す管理情報１３１において、ログ取得部１１１は、「未取得フラグ」が「０」である情報に対応する「取得済時間」である「２０１４／０７／１２  ００：０３：０１」及び「２０１４／０７／１２  ００：０３：１２」を特定する。
【００９６】
続いて、ログ取得部１１１は、例えば、Ｓ２２で特定した最新の「タイムスタンプ」が示す時間のうち、最も古い時間よりも後の時間に対応する「タイムスタンプ」を有するログを取得する（Ｓ２３）。具体的に、図１７に示す管理情報１３１において、ログ取得部１１１は、「タイムスタンプ」が「２０１４／０７／１２  ００：０３：１２」よりも後の時間に対応する「タイムスタンプ」を有するログを取得する。
【００９７】
具体的に、ログ取得部１１１は、例えば、図１８に示すように、「マシンＩＤ」が「１１Ｃ」であり、「タイムスタンプ」が「２０１４／０７／１２  ００：０３：３１」であり、「ログ内容」が「Ｍｅｓｓａｇｅ５−１」であるログを取得する。図１８の他のログについては説明を省略する。なお、図１８に示すログは、例えば、「タイムスタンプ」が、「２０１４／０７／１２  ００：０３：３０」から「２０１４／０７／１２  ００：０４：２９」までの間であるログを取得した場合の取得結果である。
【００９８】
そして、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１に情報が存在しない物理マシン１１から出力されたログは存在しないと判定する（Ｓ２４のＮＯ）。
【００９９】
また、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在するか否かを判定する（Ｓ２７）。具体的に、図１７に示す管理情報１３１において、「未取得フラグ」が「０」である情報は、「マシンＩＤ」が「１１Ａ」及び「１１Ｃ」である。そして、図１８に示すログには、「マシンＩＤ」が「１１Ａ」及び「１１Ｃ」であるログが含まれている。したがって、ログ管理部１１２は、管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在しないと判定する（Ｓ２７のＮＯ）。
【０１００】
次に、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の未取得フラグが「１」である物理マシンのログを取得したか否かを判定する（Ｓ３１）。具体的に、図１７に示す管理情報１３１において、「未取得フラグ」が「１」である情報に対応する「マシンＩＤ」は「１１Ｂ」である。そして、図１８に示すログのうち、「マシンＩＤ」が「１１Ｂ」であるログは存在する。したがって、ログ管理部１１２は、管理情報１３１の未取得フラグが「１」である物理マシンのログを取得したものと判定する（Ｓ３１のＹＥＳ）。
【０１０１】
次に、ログ管理部１１２は、管理情報１３１の「取得済時間」に設定された情報を、「再取得開始時間」に設定する（Ｓ３２）。具体的に、ログ管理部１１２は、例えば、図１９に示すように、「未取得フラグ」が「１」である情報に対応する「再取得開始時間」に、「取得済時間」に設定されている情報である「２０１４／０７／１２  ００：０１：１０」を設定する。
【０１０２】
すなわち、「未取得フラグ」が「１」である情報に対応する「取得済時間」に設定されている情報は、後述するように、過去ログ取得部１１３が過去のログを取得する際に、ログ取得部１１１が既に取得したログを特定するために必要な情報である。しかし、Ｓ２３において、「未取得フラグ」が「１」である物理マシンが出力されたログを取得したことにより、ログ管理部１１２は、「未取得フラグ」が「１」である情報に対応する「取得済時間」に、取得されたログの「タイムスタンプ」を設定する必要がある。そこで、ログ管理部１１２は、「未取得フラグ」が「１」である情報に対応する「取得済時間」に設定された情報が更新される前に、「取得済時間」に設定されたタイムスタンプを、「再取得開始時間」に設定する。これにより、ログ管理部１１２は、「未取得フラグ」が「１」である情報に対応する「取得済時間」に設定されていた情報を維持することが可能になる。
【０１０３】
次に、ログ管理部１１２は、Ｓ２３においてログ取得部１１１が取得したログであって、「未取得フラグ」が「１」である物理マシンが出力したログの「タイムスタンプ」のうち、最新の「タイムスタンプ」が示す時間を、管理情報１３１の「再取得実行時間」に設定する（Ｓ３３）。すなわち、ログ管理部１１２は、後述するように、過去ログ取得部１１３が過去ログを取得する際に、過去ログ取得の基準となるログの「タイムスタンプ」を、「再取得実行時間」に設定する。これにより、ログ管理部１１２は、「再取得開始時間」に設定された時間から「再取得実行時間」に設定された時間までの時間を、過去ログの取得を行うべき時間として管理することが可能になる。
【０１０４】
具体的に、ログ管理部１１２は、図２０に示すように、図１８のログに含まれる「マシンＩＤ」が「１１Ｂ」であるログの「タイムスタンプ」のうち、最新の「タイムスタンプ」である「２０１４／０７／１２  ００：０４：０５」を、「再取得実行時間」に設定する。
【０１０５】
そして、ログ管理部１１２は、未取得フラグが「１」である物理マシンのうち、ログを取得した情報処理装置の「未取得フラグ」を「０」に更新する。具体的に、ログ管理部１１２は、図２１に示すように、Ｓ３２及びＳ３３において、「再取得実行時間」及び「再取得開始時間」を設定した情報に対応する「未取得フラグ」を「０」に更新する。
【０１０６】
その後、ログ管理部１１２は、物理マシン毎に、Ｓ２３で取得したログが有する「タイムスタンプ」が示す時間のうち、最も新しい「タイムスタンプ」が示す時間を、「取得済時間」に設定する（Ｓ３５）。
【０１０７】
具体的に、ログ管理部１１２は、図１８に示すログを参照して、図２１の管理情報１３１を、図２２に示すように更新する。具体的に、ログ管理部１１２は、「マシンＩＤ」が「１１Ａ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０４：２１」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ５−３」を設定する。そして、ログ管理部１１２は、「マシンＩＤ」が「１１Ｂ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０４：０５」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ５−２」を設定する。さらに、ログ管理部１１２は、「マシンＩＤ」が「１１Ｃ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０３：３１」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ５−１」を設定する。
【０１０８】
その後、ログ管理部１１２は、図２２に示す管理情報１３１を参照し、「再取得実行時間」がブランクでない物理マシンが存在するか否かを判定する（Ｓ４１）。
【０１０９】
具体的に、図２２に示す管理情報１３１において、「マシンＩＤ」が「１１Ｂ」である情報に対応する「再取得実行時間」には、情報が設定されている。したがって、ログ管理部１１２は、「再取得実行時間」がブランクでない物理マシンが存在すると判定する（Ｓ４１のＹＥＳ）。
【０１１０】
そして、過去ログ取得部１１３は、例えば、「再取得実行時間」がブランクでない物理マシン毎に、「再取得実行時間」に設定された時間から単位時間前までのログを取得する（Ｓ４２）。単位時間は、例えば、ログ取得部１１１がログ取得処理を実行する時間間隔と同じ時間（例えば、１分）であってよい。すなわち、過去ログ取得部１１３は、例えば、ログ取得部１１１が記憶部２０からログの取得を行う毎に、単位時間ずつ遡った期間のログを段階的に取得する。これにより、取得すべき過去ログが大量に存在する場合に、過去ログ取得部１１３は、監視装置１の処理負担の増加に伴う処理遅延の発生を防止することが可能になる。なお、以下、単位時間を１分として説明を行う。
【０１１１】
具体的に、過去ログ取得部１１３は、図２２に示す管理情報１３１において、「再取得実行時間」に設定された時間の１分前である２０１４年７月１２日０時３分５秒を算出する。そして、過去ログ取得部１１３は、記憶部２０にアクセスし、物理マシン１１Ｂが出力したログのうち、２０１４年７月１２日０時３分５秒から２０１４年７月１２日０時４分５秒までの１分間に出力されたログを取得する。
【０１１２】
なお、「再取得実行時間」に設定された時間の１分前の時間が、「再取得開始時間」に設定された時間（図２２の例では、２０１４年７月１２日０時１分１０秒）よりも前である場合、過去ログ取得部１１３は、「再取得開始時間」に設定された時間から「再取得実行時間」に設定された時間までのログ取得を行う。これにより、過去ログ取得部１１３は、「再取得開始時間」に設定された時間よりも前の時間を示す「タイムスタンプ」を有するログを取得することを防止することが可能になる。過去ログ取得部１１３が「再取得開始時間」に設定された時間から「再取得実行時間」に設定された時間までのログ取得を行う場合の具体例については後述する。
【０１１３】
次に、過去ログ取得部１１３は、例えば、管理情報１３１の「再取得開始時間」まで遡ってログ取得を行った物理マシンが存在するか否かを判定する（Ｓ４３）。具体的に、図２２に示す管理情報１３１の例においては、過去ログ取得部１１３は、物理マシン１１Ｂが出力したログのうち、２０１４年７月１２日０時３分５秒から２０１４年７月１２日０時４分５秒までの１分間に出力されたログの取得を行っている。したがって、過去ログ取得部１１３は、管理情報１３１の「再取得開始時間」まで遡ってログ取得を行った物理マシンは存在しないと判定する（Ｓ４３のＮＯ）。管理情報１３１の「再取得開始時間」まで遡ってログ取得を行った物理マシンが存在すると判定した場合の具体例については後述する。
【０１１４】
そして、過去ログ取得部１１３は、例えば、管理情報１３１の「再取得開始時間」がブランクの物理マシンのうち、過去ログが取得できなかった物理マシンが存在するか否かを判定する（Ｓ４５）。具体的に、図２１に示す管理情報１３１の例においては、「再取得開始時間」がブランクであって、過去ログ取得部１１３が過去ログの取得を行った物理マシンは存在しない。そのため、過去ログ取得部１１３は、管理情報１３１の「再取得開始時間」がブランクの物理マシンのうち、過去ログが取得できなかった物理マシンは存在しないと判定する（Ｓ４５のＮＯ）。管理情報１３１の「再取得開始時間」がブランクの物理マシンのうち、過去ログが取得できなかった物理マシンが存在すると判定した場合の具体例は後述する。
【０１１５】
次に、ログ管理部１１２は、管理情報１３１の「再取得実行時間」に情報が設定されている物理マシンについて、「再取得実行時間」に設定されている時間の単位時間前の時間を、「再取得実行時間」に再設定する（Ｓ４８）。具体的に、ログ管理部１１２は、図２３に示すように、「再取得実行時間」に設定された時間の１分前である「２０１４／０７／１２  ００：０３：０５」を、「再取得実行時間」に再設定する。なお、ログ管理部１１２は、「再取得実行時間」に情報が設定されていない場合、「再取得実行時間」の再設定を行わない。
【０１１６】
そして、ログ取得部１１１は、再度ログ取得タイミングになるまで待機する（Ｓ２１）。
【０１１７】
［過去ログの取得を行う場合の具体例］
次に、図２３に示す管理情報１３１の例において、過去ログの取得を行う場合の具体例について説明する。なお、以下、上記において既に説明した点については、適宜省略して説明する。
【０１１８】
図２３の管理情報１３１が示す例において、ログ取得部１１１が次のログ取得処理を実行した場合（Ｓ２３）、ログ取得部１１１は、図２４の管理情報１３１に示すように、上記の場合と同様に、「取得済時間」及び「ログ内容」の更新を行う（Ｓ３５）。
【０１１９】
具体的に、図２４に示す例において、「マシンＩＤ」が「１１Ａ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０４：５０」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ６−１」が設定されている。また、「マシンＩＤ」が「１１Ｂ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０４：５２」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ６−２」が設定されている。さらに、「マシンＩＤ」が「１１Ｃ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０５：１０」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ６−３」が設定されている。
【０１２０】
そして、過去ログ取得部１１３は、管理情報１３１の「再取得実行時間」に設定された情報に基づいて、過去ログの取得を行う（Ｓ４２）。具体的に、過去ログ取得部１１３は、図２３の「再取得実行時間」に設定された情報である「２０１４／０７／１２  ００：０３：０５」の１分前である２０１４年７月１２日０時２分５秒を算出する。そして、過去ログ取得部１１３は、記憶部２０にアクセスし、物理マシン１１Ｂが出力するログのうち、２０１４年７月１２日０時２分５秒から２０１４年７月１２日０時３分５秒までの１分間に出力されたログを取得する。また、ログ管理部１１２は、「再取得実行時間」に、「２０１４／０７／１２  ００：０２：０５」を設定する（Ｓ４８）。
【０１２１】
その後、図２４の管理情報１３１が示す例において、ログ取得部１１１が次のログ取得処理を実行した場合（Ｓ２３）、ログ取得部１１１は、図２５の管理情報１３１に示すように、上記の場合と同様に、「取得済時間」及び「ログ内容」の更新を行う（Ｓ３５）。
【０１２２】
具体的に、図２５に示す例において、「マシンＩＤ」が「１１Ａ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０６：１９」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ７−１」が設定されている。また、「マシンＩＤ」が「１１Ｂ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０５：３１」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ７−２」が設定されている。さらに、「マシンＩＤ」が「１１Ｃ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０６：１２」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ７−３」が設定されている。
【０１２３】
そして、過去ログ取得部１１３は、管理情報１３１の「再取得実行時間」に設定された情報に基づいて、過去ログの取得を行う（Ｓ４２）。具体的に、過去ログ取得部１１３は、図２５に示す管理情報１３１において、「再取得実行時間」に設定された「２０１４／０７／１２  ００：０２：０５」の１分前の時間である２０１４年７月１２日０時１分５秒を算出する。
【０１２４】
ここで、過去ログ取得部１１３が算出した時間である２０１４年７月１２日０時１分５秒は、図２４の管理情報１３１における「再取得開始時間」に設定された２０１４年７月１２日０時１分１０秒よりも前である。したがって、過去ログ取得部１１３は、記憶部２０にアクセスし、物理マシン１１Ｂが出力するログのうち、「再取得開始時間」に対応する２０１４年７月１２日０時１分１０秒から２０１４年７月１２日０時２分５秒まで５５秒間に出力されたログを取得する。これにより、過去ログ取得部１１３は、「再取得開始時間」に設定された時間よりも前の時間を示す「タイムスタンプ」を有するログを取得することを防止することが可能になる。
【０１２５】
そして、過去ログ取得部１１３は、例えば、管理情報１３１の「再取得開始時間」まで遡ってログ取得を行った物理マシンが存在するか否かを判定する（Ｓ４３）。具体的に、図２５に示す例において、過去ログ取得部１３３は、「再取得開始時間」まで遡ってログ取得を行っている。したがって、過去ログ取得部１１３は、管理情報１３１の「再取得開始時間」まで遡ってログ取得を行った物理マシンが存在すると判定する（Ｓ４３のＮＯ）。すなわち、過去ログ取得部１１３は、物理マシン１１Ｂの過去ログの取得が完了したと判定する。
【０１２６】
その後、過去ログ取得部１１３は、管理情報１３１の「再取得開始時間」まで過去ログの取得を行った物理マシンに対応する「再取得実行時間」及び「再取得開始時間」に設定された情報を消去する（Ｓ４４）。具体的に、ログ管理部１１２は、図２５に示すように、過去ログ取得部１１３が過去ログの取得を行っていた「マシンＩＤ」が「１１Ｂ」である情報に対応する「再取得実行時間」及び「再取得開始時間」に設定された情報を消去する。これにより、ログ管理部１１２は、ログ取得部１１１が次のログ取得処理を行った場合に、過去ログ取得部１１３によって過去ログの取得が行われることを防止することが可能になる。
【０１２７】
［管理情報に情報が存在しない物理マシンからログを取得した場合の具体例］
次に、管理情報１３１に情報が存在しない物理マシンからログを取得した場合の具体例について説明する。
【０１２８】
初めに、ログ取得部１１１は、上記の場合と同様に、例えば、ログ取得処理の実行タイミングになるまで待機する（Ｓ２１のＮＯ）。その後、ログ取得処理の実行タイミングになった場合（Ｓ１のＹＥＳ）、ログ取得部１１１は、例えば、上記の場合と同様に、管理情報１３１を参照する。なお、ここでは、ログ取得部１１１が図２５に示す管理情報１３１を参照した場合について説明する。
【０１２９】
そして、ログ取得部１１１は、例えば、管理情報１３１に含まれる未取得フラグが「０」である物理マシン１１毎に、各物理マシン１１が過去に出力したログのタイムスタンプのうち、最新のタイムスタンプを特定する（Ｓ２２）。具体的に、図２５に示す管理情報１３１において、ログ取得部１１１は、未取得フラグが「０」である情報に対応する「取得済時間」である「２０１４／０７／１２  ００：０６：１９」、「２０１４／０７／１２  ００：０５：３１」及び「２０１４／０７／１２  ００：０６：１２」を特定する。
【０１３０】
続いて、ログ取得部１１１は、例えば、Ｓ２２で特定した最新の「タイムスタンプ」が示す時間のうち、最も古い時間よりも後の時間に対応する「タイムスタンプ」を有するログを取得する（Ｓ２３）。具体的に、図２５に示す管理情報１３１において、ログ取得部１１１は、「タイムスタンプ」が「２０１４／０７／１２  ００：０５：３１」よりも後の時間に対応する「タイムスタンプ」を有するログを取得する。
【０１３１】
具体的に、ログ取得部１１１は、例えば、図２６に示すように、「マシンＩＤ」が「１１Ｃ」であり、「タイムスタンプ」が「２０１４／０７／１２  ００：０６：３２」であり、「ログ内容」が「Ｍｅｓｓａｇｅ８−１」であるログを取得する。図２６の他のログについては説明を省略する。なお、図２６に示すログは、例えば、「タイムスタンプ」が、「２０１４／０７／１２  ００：０６：３０」から「２０１４／０７／１２  ００：０７：２９」までの間であるログを取得した場合の取得結果である。
【０１３２】
そして、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１に情報が存在しない物理マシン１１から出力されたログが存在するか否かを判定する（Ｓ２４）。具体的に、図２６に示すログには、管理情報１３１に情報が存在しない物理マシンである「マシンＩＤ」が「１１Ｄ」であるログが含まれている。したがって、ログ管理部１１２は、管理情報１３１に情報が存在しない物理マシン１１から出力されたログが存在すると判定する（Ｓ２４のＹＥＳ）。なお、「マシンＩＤ」が「１１Ｄ」である物理マシンは、例えば、図１で説明した物理マシン１１Ｄに対応する。
【０１３３】
この場合、ログ管理部１１２は、例えば、新たな物理マシンの情報を管理情報１３１に追加する（Ｓ２５）。また、具体的に、ログ管理部１１２は、図２７に示すように、「マシンＩＤ」が「１１Ｄ」である情報を管理情報１３１に追加する。また、ログ管理部１１２は、例えば、図２７に示すように、「未取得フラグ」に「０」を設定する。
【０１３４】
そして、ログ管理部１１２は、例えば、新たな物理マシンが出力したログの「タイムスタンプ」のうち、最新の「タイムスタンプ」を管理情報１３１の「再取得実行時間」に設定する（Ｓ２６）。具体的に、図２６に示すログのうち、新たな物理マシンである「マシンＩＤ」が「１１Ｄ」であるログの「タイムスタンプ」は、「２０１４／０７／１２  ００：０７：０３」及び「２０１４／０７／１２  ００：０７：０８」である。そのため、ログ管理部１１２は、図２８に示すように、「マシンＩＤ」が「１１Ｄ」である情報に対応する「再取得実行時間」に「２０１４／０７／１２  ００：０７：０８」を設定する。
【０１３５】
次に、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在するか否かを判定する（Ｓ２７）。具体的に、図２７に示す管理情報１３１において、「未取得フラグ」が「０」である情報は、「マシンＩＤ」が「１１Ａ」、「１１Ｂ」、「１１Ｃ」及び「１１Ｄ」である。そして、図２６に示すログには、「マシンＩＤ」が「１１Ａ」、「１１Ｂ」、「１１Ｃ」及び「１１Ｄ」であるログが含まれている。したがって、ログ管理部１１２は、管理情報１３１の未取得フラグが「０」である物理マシンのうち、ログが取得できなかった物理マシンが存在しないと判定する（Ｓ２７のＮＯ）。
【０１３６】
次に、ログ管理部１１２は、例えば、Ｓ２３において記憶部２０からログの取得を行った結果、管理情報１３１の未取得フラグが「１」である物理マシンのログを取得していないと判定する（Ｓ３１のＮＯ）。
【０１３７】
また、ログ管理部１１２は、物理マシン毎に、Ｓ２３で取得したログが有するタイムスタンプが示す時間のうち、最も新しい時間を示すタイムスタンプを取得済時間に設定する（Ｓ３５）。
【０１３８】
具体的に、ログ管理部１１２は、図２６に示すログを参照して、図２８に示す管理情報を図２９に示すように更新する。具体的に、ログ管理部１１２は、「マシンＩＤ」が「１１Ａ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０６：５９」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ８−２」を設定する。また、ログ管理部１１２は、「マシンＩＤ」が「１１Ｂ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０７：０１」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ８−３」を設定する。また、ログ管理部１１２は、「マシンＩＤ」が「１１Ｃ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０６：３２」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ８−１」を設定する。そして、ログ管理部１１２は、「マシンＩＤ」が「１１Ｄ」である情報に対応する「取得済時間」に、「２０１４／０７／１２  ００：０７：０８」を設定し、「ログ内容」に、「Ｍｅｓｓａｇｅ８−５」を設定する。
【０１３９】
次に、ログ管理部１１２は、例えば、図２９に示す管理情報１３１を参照し、「再取得実行時間」がブランクでない物理マシンが存在するか否かを判定する（Ｓ４１）。
【０１４０】
具体的に、図２９に示す管理情報１３１において、「マシンＩＤ」が「１１Ｄ」である情報に対応する「再取得実行時間」には、情報が設定されている。したがって、ログ管理部１１２は、「再取得実行時間」がブランクでない物理マシンが存在すると判定する（Ｓ４１のＹＥＳ）。
【０１４１】
そして、過去ログ取得部１１３は、上記の場合と同様に、例えば、「再取得実行時間」がブランクでない物理マシン毎に、「再取得実行時間」に設定された時間から単位時間（例えば、１分）前までのログを取得する（Ｓ４２）。すなわち、過去ログ取得部１１３は、Ｓ２３において新たな物理マシンが出力したログを取得した場合、新たな物理マシンが出力した過去ログの取得を行う。
【０１４２】
具体的に、過去ログ取得部１１３は、図２９に示す管理情報１３１において、「再取得実行時間」に設定された「２０１４／０７／１２  ００：０７：０８」の１分前の時間である２０１４年７月１２日０時６分８秒を算出する。そして、過去ログ取得部１１３は、記憶部２０にアクセスし、物理マシン１１Ｂが出力するログのうち、２０１４年７月１２日０時６分８秒から２０１４年７月１２日０時７分８秒までの１分間に出力されたログを取得する。以下、過去ログ取得部１１３が、２０１４年７月１２日０時６分８秒から２０１４年７月１２日０時７分８秒までの間に出力されたログを取得したものとして説明する。
【０１４３】
ここで、「再取得開始時間」がブランクである場合、過去ログ取得部１１３は、「再取得開始時間」に情報が設定されている場合（図２０等で説明した場合）と異なり、過去ログを取得しなければならない範囲を定めることができない。そのため、過去ログ取得部１１３は、「再取得開始時間」がブランクである場合において過去ログの取得を行う場合、例えば、過去ログが取得できなくなるまで過去ログの取得を繰り返す。そして、過去ログが取得できなくなった場合、過去ログ取得部１１３は、例えば、過去ログの取得を行った範囲よりも前の時間を示す「タイムススタンプ」を有する過去ログを一度に取得する。これにより、過去ログ取得部１１３は、監視装置１の処理負担増加による処理遅延の発生を防止しながら、全ての過去ログを取得することが可能になる。過去ログ取得部１１３が、過去ログの取得を行った範囲よりも前の時間を示す「タイムススタンプ」を有する過去ログを一度に取得する場合の具体例については後述する。
【０１４４】
そして、過去ログ取得部１１３は、例えば、管理情報１３１の「再取得開始時間」まで遡ってログ取得を行った物理マシンが存在するか否かを判定する（Ｓ４３）。具体的に、図２９に示す管理情報１３１においては、「再取得開始時間」がブランクである。そのため、過去ログ取得部１１３は、管理情報１３１の「再取得開始時間」まで遡ってログ取得を行った物理マシンは存在しないと判定する（Ｓ４３のＮＯ）。
【０１４５】
次に、過去ログ取得部１１３は、例えば、管理情報１３１の「再取得開始時間」がブランクの物理マシンのうち、過去ログが取得できなかった物理マシンが存在するか否かを判定する（Ｓ４５）。具体的に、図２９に示す管理情報１３１において、過去ログ取得部１１３は、上記のように、２０１４年７月１２日０時６分８秒から２０１４年７月１２日０時７分８秒までの間に出力されたログを取得している。そのため、過去ログ取得部１１３は、例えば、管理情報１３１の「再取得開始時間」がブランクの物理マシンのうち、過去ログが取得できなかった物理マシンは存在しないと判定する（Ｓ４５のＮＯ）。
【０１４６】
そして、ログ管理部１１２は、管理情報１３１の「再取得実行時間」に情報が設定されている物理マシンについて、「再取得実行時間」に設定されている時間の単位時間前の時間を「再取得実行時間」に設定する（Ｓ４８）。具体的に、ログ管理部１１２は、図３０に示すように、「再取得実行時間」に設定されていたタイムスタンプである「２０１４／０７／１２  ００：０７：０８」の１分前の時間を示す「２０１４／０７／１２  ００：０６：０８」を「再取得実行時間」に再設定する。そして、ログ取得部１１１は、再度ログ取得タイミングになるまで待機する（Ｓ２１）。
【０１４７】
［過去ログの取得を行う場合の具体例］
次に、図３０に示す管理情報１３１の例において、過去ログの取得を行う場合の具体例について説明する。なお、以下、上記において既に説明した点については、適宜省略して説明する。
【０１４８】
図３０の管理情報１３１が示す例において、ログ取得部１１１が次のログ取得処理を実行した場合（Ｓ２３）、ログ取得部１１１は、図３１の管理情報１３１に示すように、上記の場合と同様に、「取得済時間」及び「ログ内容」の更新を行う（Ｓ３５）。
【０１４９】
具体的に、図３１に示す例において、「マシンＩＤ」が「１１Ａ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０７：３２」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ９−１」が設定されている。また、「マシンＩＤ」が「１１Ｂ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０８：１０」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ９−４」が設定されている。また、「マシンＩＤ」が「１１Ｃ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０７：４５」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ９−２」が設定されている。さらに、「マシンＩＤ」が「１１Ｄ」である情報には、「取得済時間」として「２０１４／０７／１２  ００：０８：０３」が設定され、「ログ内容」として「Ｍｅｓｓａｇｅ９−３」が設定されている。
【０１５０】
そして、過去ログ取得部１１３は、管理情報１３１の「再取得実行時間」に設定された情報に基づいて、過去ログの取得を行う（Ｓ４２）。具体的に、過去ログ取得部１１３は、図３０に示す「再取得実行時間」に設定された「２０１４／０７／１２  ００：０６：０８」の１分前の時間である２０１４年７月１２日０時５分８秒を算出する。そして、過去ログ取得部１１３は、記憶部２０にアクセスし、物理マシン１１Ｂが出力するログのうち、２０１４年７月１２日０時５分８秒から２０１４年７月１２日０時６分８秒までの１分間に出力されたログを取得する。以下、過去ログ取得部１１３が２０１４年７月１２日０時５分８秒から２０１４年７月１２日０時６分８秒までの間に出力されたログを取得することができなかったものとして説明する。
【０１５１】
そして、過去ログ取得部１１３は、管理情報１３１の「再取得開始時間」がブランクの物理マシンのうち過去ログが取得できなかった物理マシンが存在するか否かを判定する（Ｓ４５）。具体的に、図３１に示す例において、過去ログ取得部１１３は、上記のように、２０１４年７月１２日０時５分８秒から２０１４年７月１２日０時６分８秒までの間に出力されたログを取得していない。そのため、過去ログ取得部１１３は、例えば、管理情報１３１の「再取得開始時間」がブランクの物理マシンのうち、過去ログが取得できなかった物理マシンが存在すると判定する（Ｓ４５のＮＯ）。
【０１５２】
そして、この場合、過去ログ取得部１１３は、例えば、管理情報１３１の「再取得開始時間」がブランクの物理マシンが出力したログのうち、管理情報１３１の「再取得実行時間」に設定された時間よりも前のログを全て取得する（Ｓ４６）。具体的に、図３１に示す例において、過去ログ取得部１１３は、例えば、Ｓ４２で取得した２０１４年７月１２日０時５分８秒よりも前のログを全て取得する。
【０１５３】
すなわち、Ｓ４２において過去ログを取得できなかった場合、Ｓ４２において過去ログの取得を行った時間よりも前の時間を「タイムスタンプ」として有する過去ログは少ないと予測できる。そのため、過去ログ取得部１１３は、この場合、Ｓ４２において取得した時間よりも前の過去ログを一度に取得する。
【０１５４】
続いて、過去ログ取得部１１３は、管理情報１３１の「再取得開始時間」まで過去ログの取得を行った物理マシンに対応する「再取得実行時間」及び「再取得開始時間」に設定された情報を消去する（Ｓ４７）。具体的に、ログ管理部１１２は、図３２に示すように、過去ログ取得部１１３が過去ログの取得を行っていた「マシンＩＤ」が「１１Ｄ」である情報に対応する「再取得実行時間」及び「再取得開始時間」に設定された情報を消去する。これにより、ログ管理部１１２は、ログ取得部１１１が次のログ取得処理を行った場合に、過去ログ取得部１１３によって過去ログの取得が行われることを防止することが可能になる。
【０１５５】
このように、第１の実施の形態によれば、監視装置１は、第１ログ取得処理を実行した際に、第１物理マシンからログが取得されなかった場合、第１物理マシンの識別情報と、ログが取得されなかった旨の情報とを対応付けて第２記憶部に記憶する。そして、監視装置１は、新たなログ取得処理である第２ログ取得処理を実行した際に、前１物理マシンからログが取得された場合、第１物理マシンから、第２ログ取得処理のログ取得対象期間よりも過去の期間のログをあわせて取得する。これにより、監視装置１は、複数の物理マシン１１が出力したログについて、ログを取得漏れの発生を防止することが可能になる。
【０１５６】
以上の実施の形態をまとめると、以下の付記のとおりである。
【０１５７】
（付記１）
コンピュータに、
単一のアプリケーションの実行に用いられる複数の情報処理装置からログを取得して第１記憶部に集約する第１ログ取得処理を実行した際に、前記複数の情報処理装置に含まれる第１情報処理装置からログが取得されなかった場合、前記第１情報処理装置の識別情報と、ログが取得されなかった旨の情報とを対応付けて第２記憶部に記憶し、
前記第１ログ取得処理を実行した後に、新たなログ取得処理である第２ログ取得処理を実行した際に、前記第１情報処理装置からログが取得された場合、前記第１情報処理装置から、前記第２ログ取得処理のログ取得対象期間よりも過去の期間のログをあわせて取得する、
ことを実行させることを特徴とするログ取得管理プログラム。
【０１５８】
（付記２）
付記１において、
前記情報を記憶する処理は、前記第１ログ取得処理を実行する際に、前記第１情報処理装置からログが取得された場合、前記第１情報処理装置の識別情報と、ログが取得された旨の情報とを対応付けて第２記憶部に記憶する、
ログ取得管理プログラム。
【０１５９】
（付記３）
付記１において、さらに、
前記複数の情報処理装置に含まれる情報処理装置からログを取得した場合、前記取得したログが出力された時間を示すタイムスタンプと、取得した前記ログを出力した情報処理装置の識別情報とを対応付けて前記第２記憶部に記憶する、
ことを前記コンピュータに実行させ、
前記過去の期間は、前記第２記憶部に記憶された前記第１情報処理装置に対応するタイムスタンプのうち、最新のタイムスタンプが示す時間よりも前の期間である、
ログ取得管理プログラム。
【０１６０】
（付記４）
付記３において、
前記第１及び第２ログ取得処理は、ログが取得されなかった旨の情報と対応付けて前記第２記憶部に識別情報が記憶された情報処理装置が存在しない場合、前記第２記憶部に前記識別情報が記憶された情報処理装置毎に、前記第２記憶部に記憶されたタイムスタンプのうち最新のタイムスタンプを特定し、特定したタイムスタンプが示す時間のうち、最も古い時間よりも後の時間に対応するタイムスタンプを有するログを取得し、ログが取得されなかった旨の情報と対応付けて前記第２記憶部に識別情報が記憶された情報処理装置が存在する場合、前記第２記憶部に前記識別情報が記憶された情報処理装置のうち、前記存在した情報処理装置以外の情報処理装置毎に、前記第２記憶部に記憶されたタイムスタンプのうち最新のタイムスタンプを特定し、特定したタイムスタンプが示す時間のうち、最も古い時間よりも後の時間に対応するタイムスタンプを有するログを取得する、
ログ取得管理プログラム。
【０１６１】
（付記５）
付記３において、
前記ログを取得する処理は、
前記第２ログ取得処理を実行して前記第１情報処理装置からログを取得した場合、前記第１情報処理装置から、前記取得されたログが有するタイムスタンプから単位時間前までのログをあわせて取得し、
前記第２ログ取得処理を実行した後、新たなログ取得処理を実行する毎に、取得したログに対応するタイムスタンプが示す時間が、前記最新のタイムスタンプが示す時間になるまで、前記単位時間前から前記単位時間ずつ遡った期間のログをあわせて取得する、
ログ取得管理プログラム。
【０１６２】
（付記６）
付記１において、
前記ログを取得する処理は、
前記複数の情報処理装置のうち、前記第２記憶部に前記識別情報が記憶されていない新たな情報処理装置からログを取得した場合、前記新たな情報処理装置から、前記取得したログが有するタイムスタンプから単位時間前までのログをあわせて取得し、
前記第２ログ取得処理を実行する毎に、前記新たな情報処理装置からのログが取得できなくなるまで、前記単位時間前から前記単位時間ずつ遡った期間のログをあわせて取得する、
ログ取得管理プログラム。
【０１６３】
（付記７）
単一のアプリケーションの実行に用いられる複数の情報処理装置からログを取得して第１記憶部に集約する第１ログ取得処理を実行した際に、前記複数の情報処理装置に含まれる第１情報処理装置からログが取得されなかった場合、前記第１情報処理装置の識別情報と、ログが取得されなかった旨の情報とを対応付けて記憶する第２記憶部と、
前記第１ログ取得処理を実行した後に、新たなログ取得処理である第２ログ取得処理を実行した際に、前記第１情報処理装置からログが取得された場合、前記第１情報処理装置から、前記第２ログ取得処理のログ取得対象期間よりも過去の期間のログをあわせて取得する処理部と、を有する、
ことを特徴とするログ取得管理装置。
【０１６４】
（付記８）
プロセッサが、
単一のアプリケーションの実行に用いられる複数の情報処理装置からログを取得して第１記憶部に集約する第１ログ取得処理を実行した際に、前記複数の情報処理装置に含まれる第１情報処理装置からログが取得されなかった場合、前記第１情報処理装置の識別情報と、ログが取得されなかった旨の情報とを対応付けて第２記憶部に記憶し、
前記第１ログ取得処理を実行した後に、新たなログ取得処理である第２ログ取得処理を実行した際に、前記第１情報処理装置からログが取得された場合、前記第１情報処理装置から、前記第２ログ取得処理のログ取得対象期間よりも過去の期間のログをあわせて取得する、
ことを特徴とするログ取得管理方法。
【符号の説明】
【０１６５】
１：監視装置                    １０Ａ：第１業務システム
１０Ｂ：第２業務システム        １１Ａ：物理マシン
１１Ｂ：物理マシン              １１Ｃ：物理マシン
１１Ｄ：物理マシン              １１Ｅ：物理マシン
１１Ｆ：物理マシン              ２０：記憶部
１００：情報処理システム
【図１】
0006398737.tif 000002
【図２】
0006398737.tif 000003
【図３】
0006398737.tif 000004
【図４】
0006398737.tif 000005
【図５】
0006398737.tif 000006
【図６】
0006398737.tif 000007
【図７】
0006398737.tif 000008
【図８】
0006398737.tif 000009
【図９】
0006398737.tif 000010
【図１０】
0006398737.tif 000011
【図１１】
0006398737.tif 000012
【図１２】
0006398737.tif 000013
【図１３】
0006398737.tif 000014
【図１４】
0006398737.tif 000015
【図１５】
0006398737.tif 000016
【図１６】
0006398737.tif 000017
【図１７】
0006398737.tif 000018
【図１８】
0006398737.tif 000019
【図１９】
0006398737.tif 000020
【図２０】
0006398737.tif 000021
【図２１】
0006398737.tif 000022
【図２２】
0006398737.tif 000023
【図２３】
0006398737.tif 000024
【図２４】
0006398737.tif 000025
【図２５】
0006398737.tif 000026
【図２６】
0006398737.tif 000027
【図２７】
0006398737.tif 000028
【図２８】
0006398737.tif 000029
【図２９】
0006398737.tif 000030
【図３０】
0006398737.tif 000031
【図３１】
0006398737.tif 000032
【図３２】
0006398737.tif 000033