(57)【要約】【課題】参照すべきログデータを特定することを目的としている。【解決手段】コンテナのマイグレーションログを採取するデータ取得部と、前記コンテナの実行ログの一部が選択されると、前記マイグレーションログを参照して、前記コンテナと関係するオペレーションシステムのログデータと、前記コンテナの位置と、を特定するログ特定部と、を有する情報処理装置である。【選択図】図１４
2020198046.tif 000002
【特許請求の範囲】
【請求項１】
コンテナのマイグレーションログを採取するデータ取得部と、
前記コンテナの実行ログの一部が選択されると、前記マイグレーションログを参照して、前記コンテナと関係するオペレーションシステムのログデータと、前記コンテナの位置と、を特定するログ特定部と、を有する情報処理装置。
【請求項２】
前記マイグレーションログは、
前記コンテナと、前記コンテナが動作していた仮想マシンとの対応付けと、前記コンテナと前記仮想マシンとが対応付けられていた時刻と、を含むコンテナ位置データと、
前記仮想マシンと、前記仮想マシンが動作していた物理マシンとの対応付けと、前記仮想マシンと前記物理マシンとが対応付けられていた時刻と、を含む仮想マシン位置データと、を含む、請求項１記載の情報処理装置。
【請求項３】
前記コンテナ位置データは、前記コンテナが動作する仮想マシンが変更される度に取得され、
前記仮想マシン位置データは、前記仮想マシンが動作する物理マシンが変更される度に取得される、請求項２記載の情報処理装置。
【請求項４】
前記ログ特定部は、
特定された前記ログデータに、前記コンテナの実行ログの一部であるリクエストＩＤを付与して、記憶部に格納する、請求項１乃至３の何れか一項に記載の情報処理装置。
【請求項５】
前記ログ特定部は、
前記オペレーションシステムのログデータが選択されると、前記マイグレーションログを参照して、前記オペレーションシステムのログデータに含まれるメタ情報に基づき、選択された前記オペレーションシステムのログデータが取得されたときに動作していたコンテナの実行ログデータを特定して抽出する、請求項１乃至４の何れか一項に記載の情報処理装置。
【請求項６】
コンテナのマイグレーションログを採取し、
前記コンテナの実行ログの一部が選択されると、前記マイグレーションログを参照して、前記コンテナと関係するオペレーションシステムのログデータと、前記コンテナの位置と、を特定する、処理をコンピュータに実行させるログ参照プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ログ参照プログラムに関する。
【背景技術】
【０００２】
従来では、マイクロサービスアーキテクチャと呼ばれる技術を用いてシステムを構築することが知られている。マイクロサービスアーキテクチャでは、１つのサービスを提供するソフトウェアが、コンポーネントと呼ばれる複数の小さなアプリケーションに分割して作成される。コンポーネントの実行単位は、コンテナと呼ばれる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１３６６８１号公報
【特許文献２】特開２０１８−０９７７９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のシステムでは、コンテナ、コンテナが動作している仮想マシンのＯＳ（Operating  System）、仮想マシンが動作している物理マシンのＯＳのそれぞれが個別にログデータを出力する。また、従来のシステムでは、コンテナは、各ＯＳ間を移動（マイグレーション）する。このため、従来のシステムでは、例えば、コンテナに発生した障害について調査する場合等に、多数のＯＳのログデータの中から、参照すべきログデータを特定することが困難であった。
【０００５】
１つの側面では、本発明は、参照すべきログデータを特定することを目的としている。
【課題を解決するための手段】
【０００６】
一つの態様では、コンテナのマイグレーションログを採取するデータ取得部と、前記コンテナの実行ログの一部が選択されると、前記マイグレーションログを参照して、前記コンテナと関係するオペレーションシステムのログデータと、前記コンテナの位置と、を特定するログ特定部と、を有する情報処理装置である。
【０００７】
上記各部は、上記各部を実現する処理、各部を実現する手順としても良く、各処理をコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【０００８】
参照すべきログデータを特定できる。
【図面の簡単な説明】
【０００９】
【図１】情報処理システムのシステム構成の一例を示す図である。
【図２】サーバ装置のハードウェア構成の一例を示す図である。
【図３】情報処理システムの有する各装置の機能を説明する図である。
【図４】処理結果データベースについて説明する図である。
【図５】マイグレーションログデータベースの一例を示す図である。
【図６】正常状態データベースの一例を示す図である。
【図７】性能データベースの一例を示す図である。
【図８】ログデータベースの一例を示す図である。
【図９】情報処理装置のコンテナデータ収集部の処理を説明するフローチャートである。
【図１０】情報処理装置の仮想マシンデータ収集部の処理を説明するフローチャートである。
【図１１】コンテナの減少が検知された場合のコンテナ位置テーブルの一例を示す図である。
【図１２】仮想マシンの増加が検知された場合の仮想マシン位置テーブルの一例を示す図である。
【図１３】性能データ収集部の処理を説明するフローチャートである。
【図１４】サーバ装置のログ参照処理部の処理を説明するフローチャートである。
【図１５】処理結果データと正常状態データの比較を説明する図である。
【図１６】中間データの一例を示す図である。
【図１７】異常時性能データベースの一例を示す図である。
【図１８】ログデータの表示例を示す図である。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、第一の実施形態について説明する。図１は、情報処理システムのシステム構成の一例を示す図である。
【００１１】
本実施形態の情報処理システム１００は、サーバ装置２００と、情報処理装置３００−１、・・・、３００−Ｎとを含む。
【００１２】
本実施形態の情報処理装置３００−１、・・・、３００−Ｎは、それぞれが、複数の仮想マシンや複数のコンテナが動作する物理マシンの一例である。以下の説明では、情報処理装置３００−１、・・・、３００−Ｎのそれぞれを区別しない場合には、情報処理装置３００と呼ぶ。また、以下の説明では、情報処理装置３００を物理マシン３００と呼ぶ場合がある。
【００１３】
本実施形態の情報処理装置３００では、ホストとなるＯＳ（Operating  System）３１０が実行され、ＯＳ３１０上でハイパーバイザ３２０が稼働する。ハイパーバイザ３２０は、ハイパーバイザ３２０上で実行される複数の仮想マシン３３０−１、・・・、３３０−Ｎを管理する。以下の説明では、複数の仮想マシン３３０−１、・・・、３３０−Ｎのそれぞれを区別しない場合には、仮想マシン３３０と呼ぶ。
【００１４】
仮想マシン３３０では、ゲストとなるＯＳ３３１が実行される。また、仮想マシン３３０では、ＯＳ３３１上で、コンテナ管理部３３４が複数のアプリケーションをそれぞれ独立したプロセス空間や名前空間を有する異なる環境で動作させる。複数のアプリケーション毎の異なる環境が、コンテナ３３２−１、・・・、３３２−Ｎである。
【００１５】
複数のコンテナ３３２−１、・・・、３３２−Ｎのそれぞれは、仮想マシン３３０−１、・・・、３３０−ＮそれぞれのＯＳ３３１の間を移動（マイグレーション）する。
【００１６】
また、複数のコンテナ３３２−１、・・・、３３２−Ｎは、それぞれと対応して設けられた複数のプロキシ３３３−１、・・・、３３３−Ｎを介して他のコンテナと通信する。以下の説明では、複数のコンテナ３３２−１、・・・、３３２−Ｎのそれぞれを区別しない場合にはコンテナ３３２と呼び、複数のプロキシ３３３−１、・・・、３３３−Ｎのそれぞれを区別しない場合にはプロキシ３３３と呼ぶ。
【００１７】
情報処理装置３００は、情報処理装置３００のＯＳ３１０、仮想マシン３３０のＯＳ３３１、各仮想マシン３３０上で動作するコンテナ３３２のそれぞれがログデータを出力する。サーバ装置２００は、これらのログデータを収集する。
【００１８】
また、本実施形態のサーバ装置２００は、情報処理装置３００から、コンテナ３３２、仮想マシン３３０、物理マシン（情報処理装置）３００の対応関係（対応付け）と、それぞれが対応付けられていた時刻とを示す対応付け情報を取得する。
【００１９】
本実施形態では、この対応付け情報を取得することで、コンテナに発生した障害について調査する場合等において、障害が発生したコンテナ３３２と関連するＯＳのログデータを特定できる。つまり、本実施形態では、コンテナ３３２に障害が発生した際に、参照すべきログデータを特定できる。
【００２０】
本実施形態のサーバ装置２００は、処理結果データベース２１０、マイグレーションログデータベース２２０、正常状態データベース２３０、性能データベース２４０、ログデータベース２５０、異常時性能データベース２６０、異常時ログデータベース２７０を有する。また、本実施形態のサーバ装置２００は、ログ参照処理部２８０を有する。
【００２１】
処理結果データベース２１０は、プロキシ３３３を介して取得されたコンテナ３３２のログデータを解析した結果のデータが格納される。言い換えれば、処理結果データベース２１０は、コンテナ３３２による処理の実行ログデータを解析した結果の処理結果データが格納される。
【００２２】
マイグレーションログデータベース２２０は、コンテナ３３２、仮想マシン３３０、物理マシン（情報処理装置）３００の対応関係と、それぞれが対応付けられていた時刻とを示す対応付け情報が格納される。言い換えれば、マイグレーションログデータベース２２０には、コンテナ３３２が動作していた仮想マシン３３０と、コンテナ３３２が動作していた時刻とを示す情報と、仮想マシン３３０が動作している情報処理装置３００と、仮想マシン３３０が動作していた時刻とを示す情報とが格納される。
【００２３】
正常状態データベース２３０は、コンテナ３３２による処理が正常に行われたか否かを判定する際に参照される正常状態データが格納される。
【００２４】
性能データベース２４０は、情報処理装置３００の性能を示す性能データと、仮想マシン３３０の性能を示す性能データと、が格納される。ログデータベース２５０は、ＯＳ３１０、ＯＳ３３１、コンテナ３３２のそれぞれのログデータが格納される。
【００２５】
異常時性能データベース２６０は、コンテナのログデータを解析した結果の処理結果データが、正常状態データが示す状態ではない場合における、情報処理装置３００と仮想マシン３３０の性能データが格納される。
【００２６】
異常時ログデータベース２７０は、コンテナのログデータを解析した結果の処理結果データが、正常状態データが示す状態ではない場合における、ＯＳ３１０、ＯＳ３３１、コンテナ３３２のそれぞれのログデータが格納される。
【００２７】
ログ参照処理部２８０は、ログデータの収集、ログデータの解析、情報処理装置３００、仮想マシン３３０、コンテナ３３２を対応付け情報の管理、コンテナ３３２から取得したログデータが正常であるか否かの判定等の処理を行う。
【００２８】
尚、本実施形態では、処理結果データベース２１０、マイグレーションログデータベース２２０、正常状態データベース２３０、性能データベース２４０、ログデータベース２５０、異常時性能データベース２６０、異常時ログデータベース２７０がサーバ装置２００に設けられるものとしたが、これに限定されない。
【００２９】
例えば、異常時性能データベース２６０と異常時ログデータベース２７０は、サーバ装置２００以外の装置に設けられても良い。より具体的には、異常時性能データベース２６０と異常時ログデータベース２７０は、例えば、障害が発生した場合の調査を行う場合に参照される調査用サーバ装置等に設けられていても良い。本実施形態では、異常時性能データベース２６０と異常時ログデータベース２７０に格納されるデータは、性能データベース２４０とログデータベース２５０に格納されるデータと比較して十分に長い期間保持される。
【００３０】
また、図１に示す全てのデータベースが、サーバ装置２００以外の装置に設けられていても良い。
【００３１】
次に、図２を参照して、本実施形態のサーバ装置２００のハードウェア構成について説明する。図２は、サーバ装置のハードウェア構成の一例を示す図である。
【００３２】
本実施形態のサーバ装置２００は、それぞれバスＢで相互に接続されている入力装置２１、出力装置２２、ドライブ装置２３、補助記憶装置２４、メモリ装置２５、演算処理装置２６、インターフェイス装置２７を有する情報処理装置である。
【００３３】
入力装置２１は、例えばキーボードやポインティングデバイス等であり、各種の情報の入力を行う。出力装置２２は、例えばディスプレイ等のであり、各種の情報の出力を行う。インターフェイス装置２７は、ネットワークに接続する為に用いられる。
【００３４】
ログ参照処理部２８０を実現させるログ参照プログラムは、サーバ装置２００を制御する各種プログラムの少なくとも一部である。ログ参照プログラムは、例えば記録媒体２８の配布やネットワークからのダウンロード等によって提供される。ログ参照プログラムを記録した記録媒体２８は、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００３５】
また、ログ参照プログラムは、ログ参照プログラムを記録した記録媒体２８がドライブ装置２３にセットされると、記録媒体２８からドライブ装置２３を介して補助記憶装置２４にインストールされる。ネットワークからダウンロードされたログ参照プログラムは、インターフェイス装置２７を介して補助記憶装置２４にインストールされる。
【００３６】
補助記憶装置２４は、インストールされたログ参照プログラムを格納すると共に、サーバ装置２００が取得した各種の必要なファイル、データ等を格納する。メモリ装置２５は、サーバ装置２００の起動時に補助記憶装置２４からログ参照プログラムを読み出して格納する。そして、演算処理装置２６はメモリ装置２５に格納されたログ参照プログラムに従って、後述するような各種処理を実現している。
【００３７】
本実施形態のメモリ装置２５は、例えば、揮発性メモリであり、サーバ装置２００のインメモリデータベースとなる。
【００３８】
尚、情報処理装置３００のハードウェア構成は、演算処理装置とメモリ装置とを有する情報処理装置であり、サーバ装置２００と同様であるため、説明を省略する。
【００３９】
次に、図３を参照して、本実施形態の情報処理システム１００の有する各装置の機能について説明する。図３は、情報処理システムの有する各装置の機能を説明する図である。
【００４０】
はじめに、本実施形態の情報処理装置３００の機能について説明する。本実施形態の情報処理装置３００は、仮想マシンデータ収集部３４１、性能データ収集部３４２、ログデータ収集部３４３を有する。
【００４１】
仮想マシンデータ収集部３４１は、ハイパーバイザ３２０から、情報処理装置（物理マシン）３００上に存在する仮想マシン３３０の一覧と、一覧を取得した時の時刻と対応付けた仮想マシン位置データをサーバ装置２００へ送信する。
【００４２】
仮想マシン位置データは、仮想マシン３３０と情報処理装置（物理マシン）３００との対応付け（対応関係）と、対応付けられていた時刻とを示す情報であり、マイグレーションログデータベース２２０に格納される。つまり、仮想マシン位置データは、対応付け情報の一部である。
【００４３】
性能データ収集部３４２は、ＯＳ３１０から、各仮想マシン３３０の性能データを収集し、サーバ装置２００へ送信する。性能データとは、例えば、ＣＰＵ（Central  Processing  Unit）の使用率、メモリの使用率、ネットワーク使用量等を含む。また、性能データ収集部３４２は、情報処理装置３００の性能データを収集し、サーバ装置２００へ送信する。
【００４４】
ログデータ収集部３４３は、ＯＳ３１０のログデータを収集し、サーバ装置２００へ送信する。
【００４５】
本実施形態の仮想マシン３３０は、コンテナデータ収集部３５１、性能データ収集部３５２、ログデータ収集部３５３を有する。
【００４６】
コンテナデータ収集部３５１は、コンテナ管理部３３４から、仮想マシン３３０上に存在するコンテナ３３２の一覧と、一覧を取得した時の時刻とを対応付けたコンテナ位置データをサーバ装置２００へ送信する。
【００４７】
コンテナ位置データは、コンテナ３３２と仮想マシン３３０との対応付け（対応関係）と、対応付けられていた時刻とを示す情報であり、マイグレーションログデータベース２２０に格納される。つまり、コンテナ位置データは、対応付け情報の一部である。
【００４８】
性能データ収集部３５２は、ＯＳ３３１から、各コンテナ３３２の性能データを収集し、サーバ装置２００へ送信する。性能データは、性能データベース２４０に格納される。
【００４９】
ログデータ収集部３５３は、ＯＳ３３１のログデータベースと、各プロキシ３３３を介して出力されるコンテナ３３２のログデータとを収集し、サーバ装置２００へ送信する。ログデータは、ログデータベース２５０に格納される。また、ログデータ収集部３５３が収集したコンテナ３３２のログデータは、ログ参照処理部２８０によって処理結果データとされて、処理結果データベース２１０に格納される。
【００５０】
次に、サーバ装置２００の機能について説明する。本実施形態のサーバ装置２００のログ参照処理部２８０は、コンテナデータ取得部２８１、仮想マシンデータ取得部２８２、性能データ取得部２８３、ログデータ取得部２８４、ログ解析部２８５、正常状態データ生成部２８６、ログ特定部２８７、選択部２８８、出力部２９０を有する。
【００５１】
コンテナデータ取得部２８１は、情報処理装置３００のコンテナデータ収集部３５１が収集したコンテナ位置データを取得し、マイグレーションログデータベース２２０に格納する。
【００５２】
仮想マシンデータ取得部２８２は、情報処理装置３００の仮想マシンデータ収集部３４１が収集した仮想マシン位置データを取得し、マイグレーションログデータベース２２０に格納する。
【００５３】
性能データ取得部２８３は、性能データ収集部３４２が収集した性能データと、性能データ収集部３５２が収集した性能データとを取得し、性能データベース２４０に格納する。
【００５４】
ログデータ取得部２８４は、ログデータ収集部３４３が収集したＯＳ３１０のログデータと、ログデータ収集部３５３が収集したＯＳ３３１のログデータと、各コンテナ３３２のログデータとを取得し、ログデータベース２５０へ格納する。
【００５５】
ログ解析部２８５は、ログデータ取得部２８４が取得したコンテナ３３２のログデータを解析し、解析した結果の処理結果データを処理結果データベース２１０へ格納する。また、ログ解析部２８５は、処理結果データと正常状態データベース２３０とを比較して、処理が正常に実行されたか否かを判定する。ログ解析部２８５の処理の詳細は後述する。
【００５６】
正常状態データ生成部２８６は、処理結果データベース２１０に格納された処理結果データに基づき、正常状態データを生成し、正常状態データベース２３０に格納する。正常状態データとは、コンテナ３３２の処理が正常に行われたか否かを判定する際に参照されるデータである。正常状態データ生成部２８６の処理の詳細は後述する。
【００５７】
ログ特定部２８７は、マイグレーションログデータベース２２０を参照し、処理結果データが示す処理を実行したコンテナ３３２の位置を特定し、位置を特定されたコンテナ３３２と関連するＯＳ３３１、ＯＳ３１０のログデータと性能データとを抽出する。
【００５８】
具体的には、ログ特定部２８７は、ログ解析部２８５により、コンテナ３３２の処理が正常に実行されていないと判定された場合に、この処理を実行したコンテナ３３２と付けられた仮想マシン３３０と物理マシン３００のログデータを特定し、抽出する。そして、ログ特定部２８７は、抽出した性能データとログデータに、正常に実行されなかった処理を特定する情報を付与し、異常時性能データベース２６０、異常時ログデータベース２７０のそれぞれに格納する。
【００５９】
選択部２８８は、コンテナ３３２の実行ログの一部の選択を受け付ける。具体的には、選択部２８８は、コンテナ３３２に対して処理の実行を要求するリクエストのリクエストＩＤの選択を受け付ける。選択部２８８によるリクエストＩＤの選択を受け付けると、ログ特定部２８７は、選択されたリクエストＩＤと対応するＯＳのログデータを特定し、抽出しても良い。
【００６０】
出力部２９０は、ログ特定部２８７に特定されたログデータを出力する。具体的には、出力部２９０は、特定されたログデータをサーバ装置２００が有する出力装置や、サーバ装置２００と通信が可能な表示装置等に表示させても良い。また、本実施形態の出力部２９０は、異常時性能データベース２６０、異常時ログデータベース２７０に格納された性能データやログデータの一覧をサーバ装置２００が有する出力装置や、サーバ装置２００と通信が可能な表示装置等に表示させても良い。
【００６１】
次に、図４乃至図８を参照して、本実施形態の処理結果データベース２１０、マイグレーションログデータベース２２０、正常状態データベース２３０、性能データベース２４０、ログデータベース２５０について説明する。
【００６２】
図４は、処理結果データベースについて説明する図である。図４（Ａ）は、ログデータ取得部２８４が取得したコンテナ３３２のログデータの一例を示す。図４（Ａ）に示すログデータ１５１は、タイムスタンプ１５２、リクエストＩＤ１５３、リクエスト先１５４、リクエスト元１５５、処理時間１５６、レスポンスコード１５７を含む。
【００６３】
タイムスタンプ１５２は、処理の終了時刻を示し、リクエストＩＤは、コンテナ３３２に要求されたリクエストを一意に特定する情報である。リクエスト先１５４は、処理が実行されるコンテナ３３２の名称と、呼び出されたＡＰＩ（Application  Programming  Interface）１５８を含む。リクエスト元１５５は、リクエストを送信した元のコンテナ３３２の名称であり、処理時間１５６は、要求された処理が完了するまでにかかった時間である。レスポンスコード１５７は、サーバ装置２００からのレスポンスの意味を表現する3桁の数字からなるコードである。
【００６４】
本実施形態のログ解析部２８５は、コンテナ３３２のログデータを取得すると、このログデータを解析し、上述した項目毎に処理結果データベース２１０に格納する。
【００６５】
図４（Ｂ）は、処理結果データベース２１０の一例を示す図である。処理結果データベース２１０は、情報の項目として、タイムスタンプ、リクエストＩＤ、リクエスト元、リクエスト先、ＡＰＩ、処理時間、レスポンスコードを有する。各項目の値は、上述した通りである。
【００６６】
本実施形態では、ログ解析部２８５は、コンテナ３３２のログデータを解析して、各項目と、項目の値とを対応付けた結果を処理結果データとして処理結果データベース２１０に格納する。
【００６７】
図４（Ｂ）では、例えば、コンテナａ１からコンテナａ２に対してリクエストＩＤ「５５０ｅ８４００」で特定されるリクエストが送信され、このリクエストによってＡＰＩ「／ａａａａ／ｂｂｂｂ」が呼び出されて実行され、処理の実行時間が８２［ｍｓｅｃ］であり、処理の終了時刻が２０１８年１１月１１日の１３時４５分１２秒であり、レスポンスコード「２００」を取得したことがわかる。
【００６８】
図５は、マイグレーションログデータベースの一例を示す図である。本実施形態のマイグレーションログデータベース２２０は、コンテナ３３２と仮想マシン３３０とを対応付けたコンテナ位置データが格納されるコンテナ位置テーブル２２０−１と、仮想マシン３３０と情報処理装置（物理マシン）３００とを対応付けた仮想マシン位置データが格納される仮想マシン位置テーブル２２０−２とを含む。
【００６９】
コンテナ位置テーブル２２０−１は、情報の項目として、更新時刻と、コンテナと、仮想マシンとを含み、それぞれが対応付けられている。図５では、コンテナ位置テーブル２２０−１では、コンテナａ１とコンテナｂ１とは、仮想マシンＶｍ１上で動作していることがわかる。
【００７０】
仮想マシン位置テーブル２２０−２、情報の項目として、更新時刻と、仮想マシンと、物理マシンとを含み、それぞれが対応付けられている。図５では、仮想マシン位置テーブル２２０−２では、仮想マシンＶｍ１は、物理マシンｐｓ１で動作しており、仮想マシンｖｍ４は、物理マシンｐｓ２で動作していることがわかる。
【００７１】
図６は、正常状態データベースの一例を示す図である。本実施形態の正常状態データベース２３０に格納される正常状態データは、処理結果データベース２１０に格納された処理結果データに基づき、正常状態データ生成部２８６によって生成される。
【００７２】
また、正常状態データベース２３０に格納されている正常状態データは、処理結果データが示す情報処理システム１００の状態が正常であるか否かの判定を行う際に参照される。
【００７３】
本実施形態の正常状態データベース２３０は、情報の項目として、リクエスト元、リクエスト先、ＡＰＩ、処理時間の上限、レスポンスコードを有する。
【００７４】
項目「処理時間の上限」の値は、ＡＰＩ処理が正常に行われたか否かを判定するための処理時間の閾値である。
【００７５】
例えば、図６の例では、リクエスト元のコンテナ３３２が「ａ１」であり、リクエスト先のコンテナ３３２が「ａ２」であり、呼び出されるＡＰＩが「／ａａａａ／ｂｂｂｂ」であり、レスポンスコードが「２００」となる処理では、処理時間が１００［ｍｓｅｃ］未満の場合に、処理結果データが示す状態が正常と判定される。
【００７６】
図７は、性能データベースの一例を示す図である。本実施形態の性能データベース２４０は、物理マシン３００の性能データと、仮想マシン３３０の性能データと、の両方が格納されても良い。
【００７７】
本実施形態の性能データベース２４０は、情報の項目として、処理時刻、メトリック、バリュー、メタ情報を含む。以下の説明では、性能データベース２４０において、各項目の値を含む情報を性能データと呼ぶ。
【００７８】
項目「処理時刻」の値は、性能データ収集部３４２、３５２が性能データを取得した時刻を示す。項目「メトリック」の値は、性能の種類を示し、項目「バリュー」の値は、性能の値を示す。具体的には、例えば、項目「メトリック」の値が、ｃｐｕ．ｕｓａｇｅであり、項目「バリュー」の値が６４．４２である場合、性能の種類はＣＰＵ使用率であり、その値は６４．４２％であることがわかる。
【００７９】
項目「メタ情報」の値は、性能データの取得元を示す。具体的には、項目「メタ情報」の値は、性能データを取得したマシンを特定する情報である。例えば、項目「メタ情報」の値が、「ｓｅｒ＝ｖｍ１」である場合には、この性能データは、仮想マシンｖｍ１から取得したものであることがわかる。
【００８０】
次に、図８を参照して、ログデータベース２５０について説明する。図８は、ログデータベースの一例を示す図である。
【００８１】
本実施形態のログデータベース２５０は、情報の項目として、処理時刻、処理内容、メタ情報等を有する。ログデータベース２５０には、ログデータ収集部３４３、ログデータ収集部３５３が取得したログデータが格納される。
【００８２】
項目「処理時刻」の値は、ログデータを取得した時刻を示す。項目「処理内容」の値は、コンテナ管理部３３４やハイパーバイザ３２０による処理の内容や、コンテナ３３２上で動作する各アプリケーションによる処理の内容、ＯＳ３１０の動作の内容等を示す。項目「ログデータ」の値は、ログデータの取得元を示す。
【００８３】
次に、本実施形態の情報処理システム１００の動作について説明する。はじめに、図９乃至図１３を参照して、情報処理装置３００の動作を説明する。
【００８４】
図９は、情報処理装置のコンテナデータ収集部の処理を説明するフローチャートである。
【００８５】
本実施形態の情報処理装置３００において、コンテナデータ収集部３５１は、起動時に、コンテナ管理部３３４から、仮想マシン３３０上で動作するコンテナ３３２のコンテナ位置データを取得し（ステップＳ９０１）、サーバ装置２００へ送信する（ステップＳ９０２）。
【００８６】
サーバ装置２００では、コンテナデータ取得部２８１がコンテナ位置データを取得し、マイグレーションログデータベース２２０のコンテナ位置テーブル２２０−１へ格納する。
【００８７】
つまり、本実施形態のコンテナデータ取得部２８１と仮想マシンデータ取得部２８２は、コンテナのマイグレーションログを採取するデータ取得部の一例である。
【００８８】
続いて、コンテナデータ収集部３５１は、仮想マシン３３０上で動作するコンテナ３３２の増減を検知したか否かを判定する（ステップＳ９０３）。具体的には、コンテナデータ収集部３５１は、コンテナ管理部３３４から、コンテナ３３２の増減を示す通知を受けたか否かを判定する。
【００８９】
ステップＳ９０３において、増減を検知しない場合、コンテナデータ収集部３５１は、ステップＳ９０３を繰り返す。
【００９０】
ステップＳ９０３において、増減を検知した場合、コンテナデータ収集部３５１は、再度仮想マシン３３０上で動作するコンテナ３３２のコンテナ位置データを取得し（ステップＳ９０４）、サーバ装置２００へ送信する（ステップＳ９０５）。
【００９１】
コンテナ収集部３５１は、図９に示す処理を、プロセスの終了を指示するコマンドを受け付けるまで繰り返す。より具体的には、コンテナデータ収集部３５１は、図９のステップＳ９０３からステップＳ９０５までの処理を、プロセスが終了するまで繰り返す。
【００９２】
図１０は、情報処理装置の仮想マシンデータ収集部の処理を説明するフローチャートである。
【００９３】
本実施形態の情報処理装置３００において、仮想マシンデータ収集部３４１は、起動時に、ハイパーバイザ３２０から、情報処理装置（物理マシン）３００上で動作する仮想マシン３３０の仮想マシン位置データを取得し（ステップＳ１００１）、サーバ装置２００へ送信する（ステップＳ１００２）。
【００９４】
サーバ装置２００は、仮想マシン位置データを取得すると、仮想マシンデータ取得部２８２により、マイグレーションログデータベース２２０の仮想マシン位置テーブル２２０−２へ格納する。
【００９５】
続いて、仮想マシンデータ収集部３４１は、情報処理装置３００上で動作する仮想マシン３３０の増減を検知したか否かを判定する（ステップＳ１００３）。具体的には、仮想マシンデータ収集部３４１は、ハイパーバイザ３２０から、仮想マシン３３０の増減を示す通知を受けたか否かを判定する。
【００９６】
ステップＳ１００３において、増減を検知しない場合、仮想マシンデータ収集部３４１は、ステップＳ１００３を繰り返す。
【００９７】
ステップＳ１００３において、増減を検知した場合、仮想マシンデータ収集部３４１は、再度情報処理装置３００上で動作する仮想マシン３３０の仮想マシン位置データを取得し（ステップＳ１００４）、サーバ装置２００へ送信する（ステップＳ１００５）。
【００９８】
仮想マシンデータ収集部３４１は、図１０に示す処理を、プロセスの終了を指示するコマンドを受け付けるまで繰り返す。より具体的には、仮想マシンデータ収集部３４１は、図１０のステップＳ１００３からステップＳ１００５までの処理を、プロセスが終了するまで繰り返す。
【００９９】
図１１は、コンテナの減少が検知された場合のコンテナ位置テーブルの一例を示す図である。
【０１００】
図１１のコンテナ位置テーブル２２０−１Ａは、コンテナデータ収集部３５１が、仮想マシンｖｍ２上にコンテナｂ１がなくなったことを検知した状態を示している。言い換えれば、コンテナ位置テーブル２２０−１Ａは、コンテナデータ収集部３５１がコンテナ３３２の減少を検知した場合を示している。
【０１０１】
図１１に示すコンテナ位置テーブル２２０−１Ａは、図５のコンテナ位置テーブル２２０−１と比較して、仮想マシンＶｍ２上で動作していたコンテナｂ１が消去されている。
【０１０２】
図１２は、仮想マシンの増加が検知された場合の仮想マシン位置テーブルの一例を示す図である。
【０１０３】
図１２の仮想マシン位置テーブル２２０−２Ａは、仮想マシンデータ収集部３４１が、物理マシンｐｓ２上に仮想マシンｖｍ１が加わったことを検知した状態を示している。言い換えれば、仮想マシン位置テーブル２２０−２Ａは、仮想マシンデータ収集部３４１が仮想マシンの増加を検知した場合を示している。
【０１０４】
図１２に示す仮想マシン位置テーブル２２０−２Ａは、図５の仮想マシン位置テーブル２２０−２と比較して、物理マシンｐｓ２上で動作する仮想マシンＶｍ１が追加されている。
【０１０５】
このように、本実施形態のサーバ装置２００は、コンテナと、コンテナが動作する仮想マシンとを時系列に対応付けた情報と、仮想マシンと、仮想マシンが動作する物理マシンとを時系列に対応付けた情報とをマイグレーションログデータベース２２０に保持する。つまり、本実施形態のマイグレーションログデータベース２２０には、コンテナの移動の履歴を示すマイグレーションログが格納されていると言える。
【０１０６】
図１３は、性能データ収集部の処理を説明するフローチャートである。本実施形態の情報処理装置３００において、性能データ収集部３４２は、定期的に情報処理装置３００、ＯＳ３１０の性能データを取得し、性能データ収集部３５２は、仮想マシン３３０とコンテナ３３２の性能データを取得する（ステップＳ１３０１）。
【０１０７】
続いて、性能データ収集部３４２と性能データ収集部３５２は、それぞれが取得した性能データをサーバ装置２００へ送信する（ステップＳ１３０２）。
【０１０８】
性能データ収集部３４２と性能データ収集部３５２は、図１３に示す処理を、それぞれのプロセスの終了を指示するコマンドを受け付けるまで繰り返す。
【０１０９】
尚、情報処理装置３００では、ログデータ収集部３４３、ログデータ収集部３５３も、性能データ収集部３４２、性能データ収集部３５２と同じように、ログデータを定期的に収集し、サーバ装置２００へ送信している。
【０１１０】
次に、図１４を参照して、本実施形態のサーバ装置２００の動作について説明する。図１４は、サーバ装置のログ参照処理部の処理を説明するフローチャートである。
【０１１１】
本実施形態のサーバ装置２００のログ参照処理部２８０は、コンテナデータ取得部２８１により、情報処理装置３００のコンテナデータ収集部３５１から、コンテナ３３２上で行われた処理のログデータを収集する（ステップＳ１４０１）。
【０１１２】
続いて、ログ参照処理部２８０は、ログ解析部２８５により、コンテナ３３２から収集したログデータを解析し、処理の内容、処理時間、処理結果を示す処理結果データとし、処理結果データベース２１０に格納し、コンテナ３３２のログデータと、コンテナ３３２以外のログデータとをログデータベース２５０に格納する（ステップＳ１４０２）。
【０１１３】
具体的には、ログ参照処理部２８０は、ログデータ取得部２８４により、ログデータ収集部３４３からＯＳ３１０のログデータを取得し、ログデータ収集部３５３からＯＳ３３１のログデータと、仮想マシン３３０のログデータとを取得し、ログデータベース２５０へ格納する。
【０１１４】
続いて、ログ参照処理部２８０は、正常状態データ生成部２８６により、正常状態データベース２３０において正常状態データが生成済みであるか否かを判定する（ステップＳ１４０３）。
【０１１５】
ステップＳ１４０３において、正常状態データが生成済みである場合、ログ参照処理部２８０は、後述するステップＳ１４０６へ進む。
【０１１６】
ステップＳ１４０３において、正常状態データが生成済みでない場合、ログ参照処理部２８０は、処理結果データベース２１０に格納された処理結果データのレコード数が所定数以上であるか否かを判定する（ステップＳ１４０４）。ステップＳ１４０４において、レコード数が所定数未満である場合、ログ参照処理部２８０は、ステップＳ１４０１へ戻る。
【０１１７】
ステップＳ１４０４において、レコード数が所定数以上である場合、正常状態データ生成部２８６は、正常状態データを生成し、正常状態データベース２３０に格納して（ステップＳ１４０５）、ステップＳ１４０１へ戻る。
【０１１８】
具体的には、本実施形態の正常状態データ生成部２８６は、処理結果データベース２１０に格納さるた処理結果データに基づき、特定の条件を決定し、この条件を示すデータを正常状態データとして、正常状態データベース２３０に格納する。
【０１１９】
特定の条件とは、例えば、処理結果データに含まれる処理時間が処理時間の上限未満であることや、レスポンスコードが、出現頻度が所定値以上のレスポンスコードであること、等である。これらの特定の条件は、例えば、情報処理システム１００の管理者等によって、外部から設定が可能な条件である。
【０１２０】
ステップＳ１４０３において、正常状態データが生成済みである場合、ログ参照処理部２８０は、正常状態データベース２３０を更新してから一定時間が経過しているか否かを判定する（ステップＳ１４０６）。ステップＳ１４０６において、一定時間が経過していない場合、ログ参照処理部２８０は、ステップＳ１４０４へ進む。
【０１２１】
ステップＳ１４０６において、一定時間が経過していない場合、ログ参照処理部２８０は、ログ解析部２８５により、処理結果データを、正常状態データベース２３０に格納された正常状態データと比較する（ステップＳ１４０７）。
【０１２２】
続いて、ログ解析部２８５は、処理結果データが示す処理が正常に処理されたか否かを判定する（ステップＳ１４０８）。ステップＳ１４０８において、正常に処理された場合、ログ参照処理部２８０は、ステップＳ１４０１に戻る。
【０１２３】
ステップＳ１４０８において、正常に処理されていない場合、つまり、異常な状態と判定された場合、ログ参照処理部２８０は、選択部２８８により、この処理結果データに含まれるリクエストＩＤを選択し、ログ特定部２８７により、処理結果データベース２１０において、選択されたリクエストＩＤと同一のリクエストＩＤを含む処理結果データを抽出する（ステップＳ１４０９）。
【０１２４】
続いて、ログ特定部２８７は、ログデータベース２５０、性能データベース２４０から抽出された処理結果データに含まれるコンテナ３３２のログデータと性能データとを特定し、抽出する（ステップＳ１４１０）。処理結果データに含まれるコンテナ３３２とは、処理結果データのリクエスト先に対応するコンテナ３３２と、リクエスト元に対応するコンテナ３３２である。
【０１２５】
続いて、ログ特定部２８７は、ステップＳ１４０９で抽出された処理結果データのうち、最初に取得された処理結果データのタイムスタンプと、最後に取得された処理結果データのタイムスタンプとを抽出する（ステップＳ１４１１）。
【０１２６】
続いて、ログ特定部２８７は、マイグレーションログデータベース２２０を参照し、抽出されたタイムスタンプから算出される処理時間における、コンテナ３３２と仮想マシン３３０と情報処理装置（物理マシン）３００との対応付けを示す一覧を作成する（ステップＳ１４１２）。
【０１２７】
続いて、ログ特定部２８７は、一覧に含まれる仮想マシン３３０と情報処理装置３００について、タイムスタンプから算出された処理時間における性能データとログデータを取得する（ステップＳ１４１３）。ここで取得されるログデータには、仮想マシン３３０のＯＳ３３１のログデータと、情報処理装置（物理マシン）３００のＯＳ３１０のログデータとが含まれる。
【０１２８】
つまり、本実施形態のログ特定部２８７は、コンテナにおける処理の実行ログデータの一部であるリクエストＩＤを選択し、マイグレーションログデータベース２２０を参照して、選択したリクエストＩＤが示す処理を実行したコンテナの位置を特定し、コンテナの位置に基づき、コンテナと関係するＯＳのログデータを抽出する。
【０１２９】
続いて、ログ特定部２８７は、ステップＳ１４１３で取得した性能データとログデータのメタ情報に、リクエストＩＤを付与し、異常時性能データベース２６０、異常時ログデータベース２７０のそれぞれに格納し（ステップＳ１４１４）、処理を終了する。尚、このとき、ログ特定部２８７は、ステップＳ１４１０で取得したコンテナ３３２のログデータも、異常時ログデータベース２７０に格納する。
【０１３０】
以下に、図１５乃至図１７を参照して、図１４の処理について具体的に説明する。図１５は、処理結果データと正常状態データの比較を説明する図である。具体的には、図１５は、図１４のステップＳ１４０８の処理を説明する図である。
【０１３１】
図１５（Ａ）は正常状態データベース２３０を示し、図１５（Ｂ）は、処理結果データベース２１０を示す。
【０１３２】
図１５の例では、処理結果データベース２１０に格納された処理結果データ２１０−１は、リクエストＩＤが「５５０ｅ８４００」であり、リクエスト元のコンテナ３３２が「ａ１」であり、リクエスト先のコンテナ３３２が「ａ２」であり、呼び出されるＡＰＩが「／ａａａａ／ｂｂｂｂ」であり、レスポンスコードが「２００」であり、処理時間が８２［ｍｓｅｃ］である。
【０１３３】
これに対し、正常状態データベース２３０の正常状態データ２３０−１は、リクエスト元のコンテナ３３２が「ａ１」であり、リクエスト先のコンテナ３３２が「ａ２」であり、呼び出されるＡＰＩが「／ａａａａ／ｂｂｂｂ」であり、レスポンスコードが「２００」である処理の処理時間の上限は、１００［ｍｓｅｃ］である。
【０１３４】
したがって、ログ解析部２８５は、処理結果データ２１０−１は、リクエストＩＤ「５５０ｅ８４００」が示す処理が正常に処理されたものと判定し、図１４のステップＳ１４０１へ進む。
【０１３５】
また、処理結果データベース２１０に格納された処理結果データ２１０−２では、リクエストＩＤが「５５０ｅ８４００」であり、リクエスト元のコンテナ３３２が「ａ４」であり、リクエスト先のコンテナ３３２が「ａ３」であり、呼び出されるＡＰＩが「／ａａａａ／ｂｂｂｂ」であり、レスポンスコードが「２００」であり、処理時間が１０３［ｍｓｅｃ］である。
【０１３６】
これに対し、正常状態データベース２３０の正常状態データ２３０−２は、リクエスト元のコンテナ３３２が「ａ４」であり、リクエスト先のコンテナ３３２が「ａ３」であり、呼び出されるＡＰＩが「／ａａａａ／ｂｂｂｂ」であり、レスポンスコードが「２００」である処理の処理時間の上限は、１００［ｍｓｅｃ］である。
【０１３７】
したがって、ログ解析部２８５は、処理結果データ２１０−２は、処理時間が上限を超えており、正常に処理されていないと判定し、図１４のステップＳ１４０９へ進む。
【０１３８】
図１６は、中間データの一例を示す図である。具体的には、図１６は、図１４のステップＳ１４０９からステップＳ１４１２までの処理を説明する図である。
【０１３９】
図１６（Ａ）は、正常に処理が実行されていないと判定された処理結果データとリクエストＩＤが一致する処理結果データを抽出した結果の一例を示している。
【０１４０】
図１５において、処理結果データ２１０−２は、正常に処理されていないと判定されている。したがって、ログ特定部２８７は、処理結果データ２１０−２に含まれるリクエストＩＤ「５５０ｅ８４００」を含む処理結果データを抽出し、中間データ１７１を生成する。
【０１４１】
中間データ１７１は、タイムス端部と、コンテナと、処理時間とを含む。ここでは、ログ特定部２８７は、図１５に示す処理結果データベース２１０から、リクエストＩＤ「５５０ｅ８４００」を含む処理結果データ２１０−１、２１０−２、２１０−３が抽出される。
【０１４２】
そして、ログ特定部２８７は、リクエストＩＤによって特定される処理を実行したコンテナを示す「リクエスト先」と対応するコンテナと、処理の完了時刻を示すタイムスタンプと、処理時間とを対応付けた中間データ１７１とする。
【０１４３】
この中間データ１７１から、リクエストＩＤ「５５０ｅ８４００」で特定される処理は、コンテナａ２、ａ４、ａ３によって実行されたことがわかる。
【０１４４】
また、中間データ１７１において、最初に取得された処理結果データのタイムスタンプは、処理結果データ２１０−１のタイムスタンプであり、最後に取得された処理結果データのタイムスタンプは処理結果データ２１０−２のタイムスタンプである。
【０１４５】
したがって、リクエストＩＤ「５５０ｅ８４００」で特定される処理の開始時刻は、処理結果データ２１０−１のタイムスタンプが示す時刻より、処理結果データ２１０−１の処理時間である８２［ｍｓｅｃ］前の時刻である。また、リクエストＩＤ「５５０ｅ８４００」で特定される処理の終了時刻は、処理結果データ２１０−２のタイムスタンプが示す時刻である。
【０１４６】
ログ特定部２８７は、リクエストＩＤ「５５０ｅ８４００」で特定される処理の開始時刻と終了時刻から、リクエストＩＤ「５５０ｅ８４００」で特定される処理の処理にかかった処理時間を算出する。
【０１４７】
そして、ログ特定部２８７は、マイグレーションログデータベース２２０を参照し、算出した処理時間が示す時間帯の、コンテナ３３２と仮想マシン３３０と情報処理装置３００との対応付けの一覧を示す中間データ１７２を生成する。
【０１４８】
図１６（Ｂ）に示す中間データ１７２は、リクエストＩＤ「５５０ｅ８４００」で特定される処理の処理時間において、コンテナａ２とコンテナａ４は仮想マシンｖｍ１上で動作し、コンテナａ３は仮想マシンｖｍ４上で動作していることがわかる。また、仮想マシンｖｍ１は、物理マシンｐｓ１上で動作し、仮想マシンｖｍ４は、物理マシンｐｓ２上で動作していることがわかる。
【０１４９】
本実施形態のログ特定部２８７は、この中間データ１７２に含まれる仮想マシンｖｍ１、ｖｍ４と、物理マシンｐｓ１、ｐｓ２について、リクエストＩＤ「５５０ｅ８４００」で特定される処理の処理時間中の性能データとログデータを、性能データベース２４０とログデータベース２５０から抽出する。
【０１５０】
そして、ログ特定部２８７は、抽出した性能データとログデータのメタ情報に、リクエストＩＤ「５５０ｅ８４００」を付与する。そして、ログ特定部２８７は、リクエストＩＤがメタ情報に付与された性能データを、異常時性能データベース２６０へ格納し、リクエストＩＤがメタ情報に付与されたログデータを異常時ログデータベース２７０へ格納する。
【０１５１】
図１７は、異常時性能データベースの一例を示す図である。図１７に示す異常時性能データベース２６０では、項目「メタ情報」の値に、リクエストＩＤ「５５０ｅ８４００」が付与されている。
【０１５２】
本実施形態では、このように、コンテナと仮想マシンとの対応付けと、仮想マシンと物理マシンとの対応付けとが変化する度に、これらの対応付けを示すデータを生成し、データを生成した時刻と対応付けてマイグレーションログデータベース２２０に格納する。
【０１５３】
また、本実施形態では、リクエストＩＤによって一意に特定される処理が正常に実行されない場合に、このリクエストＩＤで特定される処理を実行したコンテナと、処理時間中にコンテナが動作していた仮想マシンと、仮想マシンが動作していた物理マシンとを特定する。
【０１５４】
そして、本実施形態では、特定した仮想マシンと物理マシンの処理時間中の性能データとログデータを抽出し、メタ情報にリクエストＩＤを付与して、異常時性能データベース２６０と異常時ログデータベース２７０へ格納する。
【０１５５】
異常時性能データベース２６０、異常時ログデータベース２７０は、性能データベース２４０、ログデータベース２５０とは異なる記憶領域に設けられている。また、性能データベース２４０、ログデータベース２５０と比較して、データを保持する期間が長くなるように設定されている。
【０１５６】
本実施形態では、このように、正常に実行されなかった処理を特定する情報と、この処理の実行中に、この処理を実行していたコンテナと対応する仮想マシン及び物理マシンの性能データとログデータとを対応付けて蓄積している。
【０１５７】
したがって、本実施形態によれば、リクエストＩＤを選択することで、このリクエストＩＤで特定される処理を実行したコンテナの位置と、コンテナと関連するＯＳ３１０、ＯＳ３３１のログデータとを特定することができる。
【０１５８】
したがって、本実施形態によれば、例えば、コンテナに障害が発生した場合等に、このコンテナと関連する参照すべきログデータを特定することができる。
【０１５９】
図１８は、ログデータの表示例を示す図である。図１８では、異常時性能データベース２６０、異常時ログデータベース２７０に格納された情報の出力例（表示例）を示している。
【０１６０】
図１８に示す画面１８１は、例えば、サーバ装置２００のディスプレイ（出力装置）に表示されても良いし、情報処理システム１００の管理者の端末であって、サーバ装置２００と通信が可能な端末に表示されても良い。
【０１６１】
画面１８１では、表示欄１８３と表示欄１８４とを有する。表示欄１８３は、コンテナ３３２、仮想マシン３３０、物理マシン３００の対応付けを示す情報を表示させる。表示欄１８４は、表示欄１８３に表示されたコンテナ３３２、仮想マシン３３０、物理マシン３００に対する選択に応じて、選択されたもののログデータと性能データとが表示される。
【０１６２】
また、本実施形態では、例えば、画面１８１に、リクエストを選択するための選択欄を表示させても良い。そして、ログ参照処理部２８０は、選択においてリクエストＩＤが選択されると、選択部２８８によりこの選択を受け付けて、ログ特定部２８７により、選択されたリクエストＩＤと対応するＯＳのログデータを特定し、出力部２９０によって表示欄１８４に表示させても良い。
【０１６３】
また、本実施形態では、マイグレーションログデータベース２２０を参照し、コンテナによる処理の実行ログデータの一部から、コンテナと関係するＯＳのログデータを抽出するものとしたが、これに限定されない。
【０１６４】
本実施形態のログ特定部２８７は、例えば、ログデータベース２５０や異常時ログデータベース２７０に格納されたＯＳのログデータや、性能データベース２４０、異常時性能データベース２６０に格納された性能データから、コンテナの実行ログデータを抽出することもできる。
【０１６５】
以下に、その手順について説明する。
【０１６６】
本実施形態のログ特定部２８７は、例えば、ＯＳ３１０やＯＳ３３１に不具合が発生した場合等において、異常時ログデータベース２７０に格納されたＯＳのログデータの選択を受け付ける。尚、ＯＳのログデータの選択は、例えば、ＯＳ３１０やＯＳ３３１の正常時の状態を示す正常状態データと比較した結果であっても良いし、情報処理システム１００の管理者等によって選択されても良い。
【０１６７】
次に、ログ特定部２８７は、選択されたログデータが情報処理装置３００のＯＳ３１０である場合には、ログデータの処理時刻と、メタ情報に含まれる仮想マシン３３０とを特定する。次に、ログ特定部２８７は、マイグレーションログデータベース２２０を参照し、特定された処理時刻において、特定された仮想マシン３３０上で動作しているコンテナ３３２を特定する。そして、ログ特定部２８７は、ログデータベース２５０から、特定されたコンテナ３３２が、特定された処理時刻において実行していた処理の実行ログデータを抽出する。
【０１６８】
また、ログ特定部２８７は、選択されたログデータが仮想マシン３３０のＯＳ３３１である場合には、ログデータの処理時刻と、メタ情報に含まれるコンテナ３３２とを特定する。そして、ログ特定部２８７は、ログデータベース２５０から、特定されたコンテナ３３２が、特定された処理時刻において実行していた処理の実行ログデータを抽出する。
【０１６９】
このように、本実施形態では、仮想マシン間のコンテナの移動の履歴と、物理マシン間の仮想マシンの移動の履歴とを示すマイグレーションログを参照することで、コンテナのログデータから、コンテナと関係するＯＳのログデータを特定して抽出することができる。また、本実施形態では、ＯＳのログデータから、ログデータが示す時間帯に動作していたコンテナのログデータを特定して抽出することができる。
【０１７０】
開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
コンテナのマイグレーションログを採取するデータ取得部と、
前記コンテナの実行ログの一部が選択されると、前記マイグレーションログを参照して、前記コンテナと関係するオペレーションシステムのログデータと、前記コンテナの位置と、を特定するログ特定部と、を有する情報処理装置。
（付記２）
前記マイグレーションログは、
前記コンテナと、前記コンテナが動作していた仮想マシンとの対応付けと、前記コンテナと前記仮想マシンとが対応付けられていた時刻と、を含むコンテナ位置データと、
前記仮想マシンと、前記仮想マシンが動作していた物理マシンとの対応付けと、前記仮想マシンと前記物理マシンとが対応付けられていた時刻と、を含む仮想マシン位置データと、を含む、付記１記載の情報処理装置。
（付記３）
前記コンテナ位置データは、前記コンテナが動作する仮想マシンが変更される度に取得され、
前記仮想マシン位置データは、前記仮想マシンが動作する物理マシンが変更される度に取得される、付記２記載の情報処理装置。
（付記４）
前記ログ特定部は、
特定された前記ログデータに、前記コンテナの実行ログの一部であるリクエストＩＤを付与して、記憶部に格納する、付記１乃至３の何れか一項に記載の情報処理装置。
（付記５）
前記ログ特定部は、
前記オペレーションシステムのログデータが選択されると、前記マイグレーションログを参照して、前記オペレーションシステムのログデータに含まれるメタ情報に基づき、選択された前記オペレーションシステムのログデータが取得されたときに動作していたコンテナの実行ログデータを特定して抽出する、付記１乃至４の何れか一項に記載の情報処理装置。
（付記６）
前記オペレーションシステムのログデータは、
前記コンテナと対応する仮想マシン上で実行されるオペレーションシステムのログデータと、前記仮想マシンが動作する物理マシン上で実行されるオペレーションシステムのログデータと、を含む、付記１乃至５の何れか一項に記載の情報処理装置。
（付記７）
前記コンテナの実行ログデータに基づき、前記コンテナによる処理が正常に実行されたか否かの判定において参照される正常状態データを生成する正常状態データ生成部と、
前記実行ログデータと前記正常状態データとを比較して、前記コンテナによる処理が正常に実行されたか否かを判定するログ解析部と、を有し、
前記ログ特定部は、
前記コンテナによる処理が正常に実行されなかった場合に、前記コンテナと関係するオペレーションシステムのログデータと、前記コンテナの位置と、を特定する、付記１乃至６の何れか一項に記載の情報処理装置。
（付記８）
前記ログ特定部によって特定された前記ログデータと、前記コンテナの位置と、を対応付けて表示させる出力部を有する、付記１乃至７の何れか一項に記載の情報処理装置。
（付記９）
コンテナのマイグレーションログを採取し、
前記コンテナの実行ログの一部が選択されると、前記マイグレーションログを参照して、前記コンテナと関係するオペレーションシステムのログデータと、前記コンテナの位置と、を特定する、処理をコンピュータに実行させるログ参照プログラム。
【符号の説明】
【０１７１】
１００  情報処理システム
２００  サーバ装置
２１０  処理結果データベース
２２０  マイグレーションログデータベース
２３０  正常状態データベース
２４０  性能データベース
２５０  ログデータベース
２６０  異常時性能データベース
２７０  異常時ログデータベース
２８０  ログ参照処理部
２８１  コンテナデータ取得部
２８２  仮想マシンデータ取得部
２８３  性能データ取得部
２８４  ログデータ取得部
２８５  ログ解析部
２８６  正常状態データ生成部
２８７  ログ特定部
３００  情報処理装置（物理マシン）
３１０、３３１  ＯＳ
３２０  ハイパーバイザ
３３０  仮想マシン
３３２  コンテナ
３３３  プロキシ
３３４  コンテナ管理部
３４１  仮想マシンデータ収集部
３４２、３５２  性能データ収集部
３４３、３５３  ログデータ収集部
３５１  コンテナデータ収集部
【図１】
2020198046.tif 000003
【図２】
2020198046.tif 000004
【図３】
2020198046.tif 000005
【図４】
2020198046.tif 000006
【図５】
2020198046.tif 000007
【図６】
2020198046.tif 000008
【図７】
2020198046.tif 000009
【図８】
2020198046.tif 000010
【図９】
2020198046.tif 000011
【図１０】
2020198046.tif 000012
【図１１】
2020198046.tif 000013
【図１２】
2020198046.tif 000014
【図１３】
2020198046.tif 000015
【図１４】
2020198046.tif 000016
【図１５】
2020198046.tif 000017
【図１６】
2020198046.tif 000018
【図１７】
2020198046.tif 000019
【図１８】
2020198046.tif 000020