(57)【要約】【課題】異常原因の調査に有用な情報の生成を効率化すること。【解決手段】制御プログラムは、特定の送信間隔で監視対象マシンより送信されるログ情報が、前記送信間隔に応じた受信間隔で受信できないことを検知すると、前記監視対象マシンに関連するシステムから取得される情報に基づき、前記システムで発生した事象を特定し、前記監視対象マシンよりいずれかのログ情報を受信済みの場合、特定した前記事象を示す情報を、受信済みの前記ログ情報に対応付けた情報を生成する、処理をコンピュータに実行させる。【選択図】図３
2019212046.tif 000002
【特許請求の範囲】
【請求項１】
特定の送信間隔で監視対象マシンより送信されるログ情報が、前記送信間隔に応じた受信間隔で受信できないことを検知すると、前記監視対象マシンに関連するシステムから取得される情報に基づき、前記システムで発生した事象を特定し、
前記監視対象マシンよりいずれかのログ情報を受信済みの場合、特定した前記事象を示す情報を、受信済みの前記ログ情報に対応付けた情報を生成する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
【請求項２】
特定した前記事象を示す前記情報を、受信済みの前記ログ情報のうち、前記監視対象マシンより最後に受信したログ情報に対応付けた情報を生成する、
ことを特徴とする請求項１記載の制御プログラム。
【請求項３】
前記事象を示す情報は、前記監視対象マシンが接続するネットワークの通信状態を示す情報、又は前記監視対象マシンの稼働状態を示す情報を含む、
ことを特徴とする請求項１又は２に記載の制御プログラム。
【請求項４】
特定の送信間隔で監視対象マシンより送信されるログ情報が、前記送信間隔に応じた受信間隔で受信できないことを検知すると、前記監視対象マシンに関連するシステムから取得される情報に基づき、前記システムで発生した事象を特定し、
前記監視対象マシンよりいずれかのログ情報を受信済みの場合、特定した前記事象を示す情報を、受信済みの前記ログ情報に対応付けた情報を生成する、
処理をコンピュータが実行することを特徴とする制御方法。
【請求項５】
特定の送信間隔で監視対象マシンより送信されるログ情報が、前記送信間隔に応じた受信間隔で受信できないことを検知すると、前記監視対象マシンに関連するシステムから取得される情報に基づき、前記システムで発生した事象を特定する特定部と、
前記監視対象マシンよりいずれかのログ情報を受信済みの場合、特定した前記事象を示す情報を、受信済みの前記ログ情報に対応付けた情報を生成する生成部と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御プログラム、制御方法及び情報処理装置に関する。
【背景技術】
【０００２】
複数の仮想マシンが連携して動作する分散システムが増えている。このようなシステムでは、システム運用時の可用性を保つため、各仮想マシンの状態を監視する機能（以下、「監視機能」という。）が配備され、不慮のトラブル発生による運用停止に備えている。
【０００３】
仮想マシンの状態監視の方法としては、仮想マシン側から一定期間ごとに存在通知を監視機能に送信する方法が有る。この方法では、一定期間を超えて存在通知が受信されない場合に、監視機能は仮想マシンに異常が発生した（例えば、仮想マシンがダウンした）と判断する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２６５２１５号公報
【特許文献２】特開２０１５−５０３８１１号公報
【特許文献３】特開２０１４−１９１４９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
仮想マシンがダウンすると、ＶＭ（Virtual  Machine）マネージャ又はハイパーバイザ等によって、直ちに仮想マシンの再起動が行われる。再起動においては、元の仮想マシンが初期化（削除）されて、新たに仮想マシンが生成される。したがって、存在通知が到達しなくなったという異常の原因を調査するために有用な資料となりうる、元の仮想マシンが出力していたログ情報等も削除されてしまう。その結果、当該異常の原因調査に有用な情報が少なく、異常の原因調査が困難になる。
【０００６】
そこで、一側面では、本発明は、異常原因の調査に有用な情報の生成を効率化することを目的とする。
【課題を解決するための手段】
【０００７】
一つの態様では、制御プログラムは、特定の送信間隔で監視対象マシンより送信されるログ情報が、前記送信間隔に応じた受信間隔で受信できないことを検知すると、前記監視対象マシンに関連するシステムから取得される情報に基づき、前記システムで発生した事象を特定し、前記監視対象マシンよりいずれかのログ情報を受信済みの場合、特定した前記事象を示す情報を、受信済みの前記ログ情報に対応付けた情報を生成する、処理をコンピュータに実行させる。
【発明の効果】
【０００８】
一側面として、異常原因の調査に有用な情報の生成を効率化することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態におけるシステム構成例を示す図である。
【図２】本発明の実施の形態における管理装置１０のハードウェア構成例を示す図である。
【図３】本発明の実施の形態における管理装置１０の機能構成例を示す図である。
【図４】管理装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【図５】存在通知が繰り返し送信される状態を示す図である。
【図６】事象特定処理の処理手順の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態におけるシステム構成例を示す図である。図１において、管理装置１０と１以上のサーバ装置２０とは、ネットワークシステムＮ１を介して接続されている。ネットワークシステムＮ１は、複数のルータＲによって接続されるネットワーク（リンク）の集合である。
【００１１】
サーバ装置２０は、１以上の仮想マシン（ＶＭ（Virtual  Machine））３０が稼働する物理的なコンピュータである。各仮想マシン３０は、例えば、インターネット等のネットワークを介して所定のサービスを提供するための分散システムを構成してもよい。なお、サーバ装置２０がネットワークシステムＮ１に接続しているため、各仮想マシン３０もネットワークシステムＮ１に接続可能である。
【００１２】
管理装置１０は、各仮想マシン３０の管理を行う情報処理装置である。管理とは、例えば、起動、停止、状態の監視等をいう。
【００１３】
図２は、本発明の実施の形態における管理装置１０のハードウェア構成例を示す図である。図２の管理装置１０は、それぞれバスＢで相互に接続されているドライブ装置１００、補助記憶装置１０２、メモリ装置１０３、ＣＰＵ１０４、及びインタフェース装置１０５等を有する。
【００１４】
管理装置１０での処理を実現するプログラムは、記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１５】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って管理装置１０に係る機能を実行する。インタフェース装置１０５は、ネットワークに接続するためのインタフェースとして用いられる。
【００１６】
なお、記録媒体１０１の一例としては、ＣＤ−ＲＯＭ、ＤＶＤディスク、又はＵＳＢメモリ等の可搬型の記録媒体が挙げられる。また、補助記憶装置１０２の一例としては、ＨＤＤ（Hard  Disk  Drive）又はフラッシュメモリ等が挙げられる。記録媒体１０１及び補助記憶装置１０２のいずれについても、コンピュータ読み取り可能な記録媒体に相当する。
【００１７】
図３は、本発明の実施の形態における管理装置１０の機能構成例を示す図である。図３において、管理装置１０は、親システム１１及び監視部１２等を有する。親システム１１及び監視部１２は、管理装置１０にインストールされた１以上のプログラム（制御プログラム）が、ＣＰＵ１０４に実行させる処理により実現される。管理装置１０は、また、情報記憶部１３を利用する。情報記憶部１３は、例えば、補助記憶装置１０２、又は管理装置１０にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
【００１８】
親システム１１は、仮想マシン３０のライフサイクルを管理するソフトウェアである。ＶＭマネージャやハイパーバイザは、親システム１１の一例である。例えば、親システム１１は、仮想マシン３０の起動（生成）、削除等に関連する制御を実行する。
【００１９】
監視部１２は、仮想マシン３０の状態の監視等を行う。図３において、監視部１２は、存在通知取得部１２１及び事象特定部１２２等を含む。
【００２０】
存在通知取得部１２１は、監視対象の仮想マシン３０が複数のタイミング（特定の送信間隔）で送信する存在通知を取得（受信）する。複数のタイミングの間隔は、例えば、一定間隔でもよい。但し、存在通知の間隔は、厳密に一定でなくてもよい。なお、存在通知とは、仮想マシン３０が正常に動作していることを外部へ通知するための情報をいう。
【００２１】
本実施の形態において、仮想マシン３０は、当該仮想マシン３０が出力したログ情報を存在通知に含めて送信する。ログ情報には、仮想マシン３０において発生したイベントを示すメッセージが、時系列に含まれている。当該イベントには、エラー（異常）等も含まれる。例えば、仮想マシン３０のＯＳ（Operating  System）のシステムログが当該ログ情報として用いられてもよい。存在通知取得部１２１は、受信した存在通知に含まれるログ情報を、情報記憶部１３に記憶する。なお、一回の存在通知に含まれるログ情報は、仮想マシン３０がこれまでに出力したログ情報の全部でなくてもよい。例えば、当該全部のうち、存在通知の停止の調査に有効な範囲に限定された部分（例えば、直近の５０行や直近の１Ｋｂｙｔｅ等）が、一回の存在通知に含まれてもよい。
【００２２】
事象特定部１２２は、存在通知が取得できなくなった場合（存在通知の送信間隔に応じた受信間隔で存在通知を受信できないことを検知した場合）に、仮想マシン３０に関連するシステムから情報を取得し、取得された情報に基づいて、当該システム内で発生した事象を特定する。事象特定部１２２は、当該事象を示す情報を、存在通知（ログ情報）が取得できなくなるまでに取得された受信済みのログ情報（例えば、存在通知取得部１２１によって最後に取得されたログ情報）に対応付けた情報を生成し、当該情報を情報記憶部１３に記憶する。なお、本実施の形態において、仮想マシン３０に関連するシステムとは、ネットワークシステムＮ１及び親システム１１である。
【００２３】
以下、管理装置１０が実行する処理手順について説明する。図４は、管理装置１０が実行する処理手順の一例を説明するためのフローチャートである。
【００２４】
ステップＳ１０１において、存在通知取得部１２１は、監視対象の仮想マシン３０（以下、「対象マシン」という。）からの存在通知の受信を待機する。待機時間が（Δｔ＋α）秒（α≧０）を超える前までに（Ｓ１０３でＮｏ）、存在通知を受信すると（Ｓ１０１でＹｅｓ）、存在通知取得部１２１は、当該存在通知に含まれているログ情報を、当該存在通知の送信元の対象マシンの識別情報（以下、「仮想マシンＩＤ」という。）に関連付けて情報記憶部１３に記憶する（Ｓ１０２）。この際、前回受信されたログ情報は、新たに受信されたログ情報によって上書きされてもよい。また、仮想マシン３０のＩＰアドレスが仮想マシンＩＤとして用いられてもよい。続いて、存在通知取得部１２１は、ステップＳ１０１以降を繰り返す。
【００２５】
したがって、存在通知が（Δｔ＋α）以内の間隔（例えば、一定間隔）で対象マシンから繰り返し送信されている間は、ステップＳ１０１及びＳ１０２が繰り返される。
【００２６】
図５は、存在通知が繰り返し送信される状態を示す図である。図５には、Δｔ秒の一定間隔で、対象マシンから存在通知取得部１２１へ存在通知が送信される例が示されている。
【００２７】
一方、いずれかのタイミングで、存在通知の待機時間が（Δｔ＋α）秒を超えると（すなわち、前回の存在通知の受信時から（Δｔ＋α）秒を超えても存在通知が受信されないと）（Ｓ１０３でＹｅｓ）、事象特定部１２２は、事象特定処理を実行する（Ｓ１０４）。事象特定処理では、ネットワークシステムＮ１や親システム１１において発生した事象が特定される。なお、親システム１１がダウンすることが、存在通知を取得できなくなる原因となることもある。
【００２８】
事象特定処理が完了すると、事象特定部１２２は、親システム１１に対して、事象の特定が完了したことを通知する（Ｓ１０５）。親システム１１は、事象特定部１２２からの通知に応じ、対象マシンを削除（初期化）し、対象マシンの再起動（再作成）を行う。すなわち、親システム１１は、事象特定部１２２からの通知を受信するまで、対象マシンの再起動を待機する。
【００２９】
続いて、ステップＳ１０４の詳細について説明する。図６は、事象特定処理の処理手順の一例を説明するためのフローチャートである。
【００３０】
ステップＳ２０１において、事象特定部１２２は、ネットワークシステムＮ１を構成する各ルータＲから通信状態を示す情報（以下、「通信情報」という。）を取得する。例えば、事象特定部１２２は、各ルータＲと対象マシンとのそれぞれ宛てにｐｉｎｇコマンドを発行し、各ルータＲ及び対象マシンについて、応答の有無を示す情報を通信情報として生成する。このような通信情報は、対象マシンと管理装置１０との間の通信経路を構成する各ネットワーク（各リンク）の通信の可否を示す情報であるともいえる。
【００３１】
何らかの原因で通信情報を取得（又は生成）できなかった場合（Ｓ２０２でＮｏ）、事象特定部１２２は、通信情報の取得に失敗したことを示す情報を事象情報として生成し（Ｓ２０３）、ステップＳ２１２へ進む。すなわち、この場合、通信情報を取得できないといった事象が特定される。
【００３２】
一方、通信情報を取得できた場合（Ｓ２０２でＹｅｓ）、事象特定部１２２は、当該通信情報に基づいて、仮想マシン３０と管理装置１０との間の通信状態が正常であるか否かを判定する（Ｓ２０４）。例えば、通信情報が、いずれかのルータＲ又は対象マシンから応答が無かったことを示す場合、事象特定部１２２は、通信状態が異常であると判定し（Ｓ２０４でＮｏ）、当該通信情報を事象情報として（Ｓ２０５）、ステップＳ２１２へ進む。すなわち、この場合、通信状態が異常であるといった事象が特定される。
【００３３】
一方、通信情報が、全てのルータＲ及び対象マシンから応答が有ったことを示す場合（Ｓ２０４でＮｏ）、事象特定部１２２は、親システム１１から対象マシンの稼働情報を取得する（Ｓ２０６）。稼働情報とは、対象マシンの稼働状態を示す情報であり、対象マシン動作しているか否か（ダウンしているか）を示すと共に、対象マシンが動作している場合には、例えば、対象マシンの各種のリソースの負荷（使用状況）等を含む情報である。各種のリソースの負荷を示す情報とは、例えば、対象マシンのＣＰＵ及びメモリのそれぞれの使用率を示す情報である。
【００３４】
何らかの原因で稼働情報を取得できなかった場合（Ｓ２０７でＮｏ）、事象特定部１２２は、稼働情報の取得に失敗したことを示す情報を事象情報として生成し（Ｓ２０８）、ステップＳ２１２へ進む。すなわち、この場合、稼働情報を取得できないといった事象が特定される。
【００３５】
一方、稼働情報を取得できた場合（Ｓ２０７でＹｅｓ）、事象特定部１２２は、稼働情報に基づいて、対象マシンの稼働状態が正常であるか否かを判定する（Ｓ２０９）。稼働情報が、対象マシンが動作していないこと（ダウンしていること）を示す場合、又は対象マシンは動作しているが、いずれかのリソースの負荷が異常であることを示す場合、事象特定部１２２は、当該稼働状態が異常であると判定する。この場合（Ｓ２０９でＮｏ）、事象特定部１２２は、当該稼働情報を事象情報として（Ｓ２１０）、ステップＳ２１２へ進む。すなわち、この場合、対象マシンの稼働状態が異常であるといった事象が特定される。なお、リソースの負荷が正常であるか異常であるかは、例えば、各リソースの負荷を、当該負荷に対して予め設定されている閾値と比較することで判定されてもよい。
【００３６】
一方、稼働情報が、対象マシンが動作していることを示し、かつ、各リソースの負荷が正常であることを示す場合、事象特定部１２２は、当該稼働状態が正常であると判定する。この場合（Ｓ２０９でＹｅｓ）、ネットワークシステムＮ１に異常が無く、対象マシンの稼働状態に異常が無いにも関わらず存在通知が受信されないといった矛盾した状況が発生していることになる。そこで、事象特定部１２２は、対象マシンとの通信情報及び対象マシンの稼働状態は正常であることを示す情報を事象情報として生成し（Ｓ２１１）、ステップＳ２１２へ進む。
【００３７】
ステップＳ２１２において、事象特定部１２２は、ステップＳ２０３、Ｓ２０５、Ｓ２０３、Ｓ２１０又はＳ２１１において生成等された事象情報を、対象マシンの仮想マシンＩＤに関連付けられて情報記憶部１３に記憶されているログ情報に対応付けた情報を生成し、生成した情報を情報記憶部１３に記憶する（Ｓ２１２）。該当するログ情報が複数有る場合には、最新のログ情報に当該事象情報が対応付けられればよい。なお、ログ情報と事象情報との対応付けの方法は、特定の方法に限定されない。例えば、同じ識別子がログ情報及び事象情報に付与されることで、両者が対応付けられてもよいし、ログ情報を格納したファイルと事象情報を格納したファイルとが同じフォルダ（又はディレクトリ）に記憶されることで、両者が対応付けられてもよい。
【００３８】
上述したように、本実施の形態によれば、仮想マシン３０からの存在通知が受信されなくなった場合に、当該仮想マシン３０から最後に取得されたログ情報と、存在通知が受信されなくなった直後に関連システムから取得された事象情報とが対応付けられた情報が生成され、当該情報が情報記憶部１３に記憶される。したがって、異常原因の調査に有用な情報の生成を効率化することができる。その結果、存在通知が停止した原因の調査者は、当該ログ情報及び当該事象情報に基づいて、効率的に当該原因の解明を行うことができる。すなわち、調査者は、事象情報に基づいて、ネットワークの異常であるのか仮想マシン３０の異常であるのかを切り分けることができる。また、仮想マシン３０の異常である場合、仮想マシン３０から最後に取得されたログ情報には、当該異常が発生する予兆を示す情報が含まれている可能性が有る。したがって、調査者は、当該ログ情報を参照して、仮想マシン３０に異常が発生した原因を調査することができ、異常原因を特定する作業の負荷を軽減することができる。
【００３９】
また、存在通知に含まれるログ情報が、直近の一定期間又は一定量のログ情報が存在通知と共に繰り替えし仮想マシン３０から送信される。したがって、仮想マシン３０がダウン（停止）してしまった場合であっても、ログ情報を全く入手できないといった事態の発生を回避することができる。
【００４０】
また、情報記憶部１３に記憶されるログ情報は、最新のログ情報によって上書きされるようにすることで、最後のログ情報を容易に特定することができると共に、情報記憶部１３の記憶容量の消費を抑えることができる。
【００４１】
なお、本実施の形態は、物理マシンが監視対象とされる場合について適用されてもよい。すなわち、監視対象のマシンは、仮想マシン３０に限定されなくてもよい。
【００４２】
なお、本実施の形態において、対象マシンは、監視対象マシンの一例である。管理装置１０は、情報処理装置の一例である。存在通知取得部１２１は、取得部の一例である。事象特定部１２２は、特定部及び生成部の一例である。
【００４３】
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００４４】
以上の説明に関し、更に以下の項を開示する。
（付記１）
特定の送信間隔で監視対象マシンより送信されるログ情報が、前記送信間隔に応じた受信間隔で受信できないことを検知すると、前記監視対象マシンに関連するシステムから取得される情報に基づき、前記システムで発生した事象を特定し、
前記監視対象マシンよりいずれかのログ情報を受信済みの場合、特定した前記事象を示す情報を、受信済みの前記ログ情報に対応付けた情報を生成する、
処理をコンピュータに実行させることを特徴とする制御プログラム。
（付記２）
特定した前記事象を示す前記情報を、受信済みの前記ログ情報のうち、前記監視対象マシンより最後に受信したログ情報に対応付けた情報を生成する、
ことを特徴とする付記１記載の制御プログラム。
（付記３）
前記事象を示す情報は、前記監視対象マシンが接続するネットワークの通信状態を示す情報、又は前記監視対象マシンの稼働状態を示す情報を含む、
ことを特徴とする付記１又は２に記載の制御プログラム。
（付記４）
特定の送信間隔で監視対象マシンより送信されるログ情報が、前記送信間隔に応じた受信間隔で受信できないことを検知すると、前記監視対象マシンに関連するシステムから取得される情報に基づき、前記システムで発生した事象を特定し、
前記監視対象マシンよりいずれかのログ情報を受信済みの場合、特定した前記事象を示す情報を、受信済みの前記ログ情報に対応付けた情報を生成する、
処理をコンピュータが実行することを特徴とする制御方法。
（付記５）
特定した前記事象を示す前記情報を、受信済みの前記ログ情報のうち、前記監視対象マシンより最後に受信したログ情報に対応付けた情報を生成する、
ことを特徴とする付記４記載の制御方法。
（付記６）
前記事象を示す情報は、前記監視対象マシンが接続するネットワークの通信状態を示す情報、又は前記監視対象マシンの稼働状態を示す情報を含む、
ことを特徴とする付記４又は５に記載の制御方法。
（付記７）
特定の送信間隔で監視対象マシンより送信されるログ情報が、前記送信間隔に応じた受信間隔で受信できないことを検知すると、前記監視対象マシンに関連するシステムから取得される情報に基づき、前記システムで発生した事象を特定する特定部と、
前記監視対象マシンよりいずれかのログ情報を受信済みの場合、特定した前記事象を示す情報を、受信済みの前記ログ情報に対応付けた情報を生成する生成部と、
を有することを特徴とする情報処理装置。
（付記８）
前記生成部は、特定した前記事象を示す前記情報を、受信済みの前記ログ情報のうち、前記監視対象マシンより最後に受信したログ情報に対応付けた情報を生成する、
ことを特徴とする付記７記載の情報処理装置。
（付記９）
前記事象を示す情報は、前記監視対象マシンが接続するネットワークの通信状態を示す情報、又は前記監視対象マシンの稼働状態を示す情報を含む、
ことを特徴とする付記７又は８に記載の情報処理装置。
【符号の説明】
【００４５】
１０          管理装置
１１          親システム
１２          監視部
１３          情報記憶部
２０          サーバ装置
３０          仮想マシン
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０５        インタフェース装置
１２１        存在通知取得部
１２２        事象特定部
Ｂ            バス
Ｎ１          ネットワークシステム
Ｒ            ルータ
【図１】
2019212046.tif 000003
【図２】
2019212046.tif 000004
【図３】
2019212046.tif 000005
【図４】
2019212046.tif 000006
【図５】
2019212046.tif 000007
【図６】
2019212046.tif 000008