(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024105953
(43)【公開日】2024-08-07
(54)【発明の名称】ログ管理装置、ログ管理方法、及びログ管理プログラム
(51)【国際特許分類】
G06F 11/34 20060101AFI20240731BHJP
G06F 11/30 20060101ALI20240731BHJP
【FI】
G06F11/34 176
G06F11/30 140C
【審査請求】未請求
【請求項の数】6
【出願形態】OL
(21)【出願番号】P 2023009965
(22)【出願日】2023-01-26
(71)【出願人】
【識別番号】000005234
【氏名又は名称】富士電機株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100132067
【弁理士】
【氏名又は名称】岡田 喜雅
(74)【代理人】
【識別番号】100141232
【弁理士】
【氏名又は名称】飯塚 達
(72)【発明者】
【氏名】馬場 亮輔
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042GA22
5B042JJ17
5B042MA08
5B042MA16
5B042MC12
5B042MC40
(57)【要約】
【課題】保存の不要なコンテナログによるストレージの圧迫を抑制する。
【解決手段】ログ管理基盤50のログ管理機能51は、複数のコンテナ40のそれぞれの実行状態を示す情報を、アプリケーション管理基盤20のコンテナ管理機能21から取得する。ログ管理機能51は、複数のコンテナ40のそれぞれについて、当該実行状態の情報と過去に取得した実行状態の情報とから、実行状態の遷移の種別を特定し、特定した遷移の種別に基づいて、コンテナ40に関するコンテナログ41の保存が必要か否かを判定する。ログ保存機能52は、保存が必要とログ管理機能51が判定したコンテナログ41のみの保存を行う。
【選択図】
図5
【特許請求の範囲】
【請求項1】
複数のコンテナのそれぞれに関するログを保存する保存部と、
前記複数のコンテナのそれぞれの実行状態を示す情報を取得する取得部と、
前記複数のコンテナのそれぞれについて、前記ログの保存が必要か否かを前記実行状態の遷移に基づいて判定し、保存が必要と判定した前記ログのみを前記保存部に保存させる管理部と、
を備えることを特徴とするログ管理装置。
【請求項2】
前記管理部は、前記複数のコンテナのそれぞれについての過去の実行状態と現在の実行状態とに基づいて、前記ログの保存が必要か否かを判定することを特徴とする請求項1に記載のログ管理装置。
【請求項3】
前記複数のコンテナのそれぞれが、自身に関する前記ログを有しており、
前記保存部は、保存が必要と判定された前記ログを有しているコンテナから取得した該ログを保存することを特徴とする請求項1に記載のログ管理装置。
【請求項4】
前記管理部は、前記複数のコンテナのそれぞれが削除されるか否かを、前記複数のコンテナそれぞれの前記実行状態の遷移に基づいて判定し、削除されると判定されたコンテナについては、該コンテナの削除の許可を、該コンテナに関する前記ログを取得した後に出力することを特徴とする請求項3に記載のログ管理装置。
【請求項5】
前記取得部は、前記情報を、前記複数のコンテナのそれぞれの実行状態を管理するコンテナ管理部から取得することを特徴とする請求項1に記載のログ管理装置。
【請求項6】
複数のコンテナのそれぞれの実行状態を示す情報を取得し、
前記実行状態の情報と、過去に取得した前記実行状態の情報とから、前記複数のコンテナのそれぞれの実行状態の遷移の種別を特定し、
前記複数のコンテナのそれぞれに関するログの保存が必要か否かを、前記複数のコンテナのそれぞれについての前記種別に基づいて判定し、
前記保存が必要と判定した前記ログのみを保存部に保存する、
ことを特徴とするログ管理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ログ管理装置、ログ管理方法、及びログ管理プログラムに関する。
【背景技術】
【0002】
コンピュータの仮想化技術であるコンテナ仮想化において、コンテナの異常への対処の遅れを抑制する技術が知られている(例えば特許文献1参照)。また、履歴情報の管理技術において、保管すべき履歴情報の量を削減し、特定の注視すべき事象の発生時には当該事象の発生前の履歴情報も保管する技術が知られている(例えば特許文献2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2022-142456号公報
【特許文献2】特開2010-244116号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
コンテナ仮想化技術では、アプリケーションの停止や障害発生時にはアプリケーションの自動での復旧が可能ではあるが、不要なコンテナログが保存されたままになる。このため、不要なコンテナログがストレージを圧迫してしまうことがある。
【課題を解決するための手段】
【0005】
実施形態のひとつでは、ログ管理装置が保存部と取得部と管理部とを備える。保存部は、複数のコンテナのそれぞれに関するログを保存する。取得部は、複数のコンテナのそれぞれの実行状態を示す情報を取得する。管理部は、複数のコンテナのそれぞれについて、当該ログの保存が必要か否かを当該実行状態の遷移に基づいて判定し、保存が必要と判定したログのみを保存部に保存させる。
【発明の効果】
【0006】
上記の態様によれば、不要なコンテナログによるストレージの圧迫が抑制される。
【図面の簡単な説明】
【0007】
【
図1】ログ管理システムの第1の例の機能ブロック図である。
【
図2】ログ管理システムの第1の例でのコンテナログ管理の処理手順を示すシーケンス図である。
【
図4】コンテナの各実行状態の遷移を表した状態遷移図の一例である。
【
図5】ログ管理システムの第2の例の機能ブロック図である。
【
図6】ログ管理システム第2の例でのコンテナログ管理の処理手順を示すシーケンス図(その1)である。
【
図7】コンテナログの保存の要否判定の手法の一例の説明図である。
【
図8】ログ管理システム第2の例でのコンテナログ管理の処理手順を示すシーケンス図(その2)である。
【
図9】ログ管理システムのハードウェア構成例である。
【
図10】ログ管理処理の処理内容の一例を示すフローチャートである。
【
図11】ログ管理装置の一例の機能ブロック図である。
【発明を実施するための形態】
【0008】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0009】
まず、コンテナ仮想化における各コンテナでのアプリケーション実行に関するログ情報である、コンテナログの管理の手法の第1の例について、
図1及び
図2を参照しながら説明する。
【0010】
図1はログ管理システム10の第1の例の機能ブロック図である。
【0011】
この第1の例では、ログ管理システム10はアプリケーション管理基盤20とアプリケーション実行基盤30とを備えている。
【0012】
アプリケーション管理基盤20はコンテナ管理機能21を有している。
【0013】
また、アプリケーション実行基盤30はコンテナ実行機能31を有している。アプリケーション実行基盤30上では複数のコンテナ40がそれぞれ実行される。なお、
図1では、便宜のため、複数のコンテナ40として、3つのコンテナ40をアプリケーション実行基盤30上に表している。
【0014】
コンテナ管理機能21は、複数のコンテナ40のそれぞれの実行に関する設定情報を送付する機能である。この設定情報には、例えば、コンテナ40として実行されるアプリケーションを特定する情報や、当該アプリケーションを実行するコンテナ40に割り当てるリソースの情報等が含まれる。
【0015】
コンテナ実行機能31は、アプリケーション管理基盤20から送付される設定情報に従って、複数のコンテナ40をそれぞれ実行させる。複数のコンテナ40のそれぞれは、自身の実行状態を監視して、自身に関するログ情報を、コンテナログ41として、自身に割り当てられている記憶領域に保存する。
【0016】
なお、
図1では不図示であるが、アプリケーション実行基盤30自身も、コンテナ実行機能31の状況を監視して、ログ情報の保存を行う。
【0017】
図1のログ管理システム10は以上の構成を有している。
【0018】
次に、
図1のログ管理システム10でのコンテナログ41の管理の処理手順について、
図2のシーケンス図を参照しながら説明する。
【0019】
図2の上段にはコンテナ40が実行されている場合の処理手順が示されている。この場合には、まず、コンテナ管理機能21によって、コンテナ40の実行のための設定情報がコンテナ実行機能31に送付される(P11の矢印)。すると、コンテナ実行機能31は、設定情報に基づいてコンテナ40を実行させると共に、実行させたコンテナ40に関するコンテナログ41の保存をコンテナ40自身に行わせる(P12の矢印)。コンテナ実行機能31は、このときのコンテナ40の実行状態を監視し、当該実行状態の情報をコンテナ管理機能21に所定の時間間隔で送付する(P13の矢印)。
【0020】
複数のコンテナ40のそれぞれについて、上述したP11からP13までの処理手順が、コンテナ40が実行されている間繰り返される。
【0021】
ここでコンテナ40の実行状態とその遷移について、
図3及び
図4を用いて説明する。
【0022】
【0023】
本実施形態では、
図3に示されている6つの実行状態がコンテナ40には定義されている。例えば、「Container Creating」の状態は、コンテナ40が作成され、その実行開始を待っている状態を表している。
【0024】
図2におけるP13の矢印により送付される実行状態はコンテナ40が正常に実行されている状態である。従って、
図3における「Running」の状態がコンテナ実行機能31からコンテナ管理機能21に送付される。
【0025】
次に
図4について説明する。
図4は、コンテナ40の各実行状態の遷移を表した状態遷移図の一例である。
【0026】
図4に示されているように、本実施形態でのコンテナ40の実行状態の状態遷移は、T1からT9までの9種類の種別がある。例えば、T3の遷移は、コンテナ40の実行状態が「Running」から「Terminating」への遷移を表している。
図3の実行状態の一覧を併せて参照すると明らかなように、このT3の遷移は、コンテナ40が、実行されている状態から、削除命令に従って削除処理が実施されている状態への遷移を表している。
【0027】
なお、前述した
図2のシーケンス図の上段は、
図4におけるT1やT2の遷移における処理手順を表している。
【0028】
次に、
図2の下段に示されている、コンテナ40が削除される場合の処理手順について説明する。この処理手順は、
図4におけるT3からT5の遷移や、コンテナ40が異常終了し、コンテナ40の削除命令がコンテナ管理機能21から出された後に再起動されるまでの実行状態の遷移に関連するT6からT9の遷移における処理手順を表している。
【0029】
この場合には、まず、コンテナ管理機能21によって、コンテナ40の停止と削除とのための設定情報が、コンテナ実行機能31に送付される(P21の矢印)。すると、コンテナ実行機能31は、設定情報に基づいてコンテナ40を停止させて削除する(P22の矢印)。コンテナ実行機能31は、このときのコンテナ40の実行状態を監視し、当該実行状態の情報をコンテナ管理機能21に所定の時間間隔で送付する(P23の矢印)。
【0030】
図2におけるP23の矢印により送付される実行状態の情報は、コンテナ40の削除命令が実施されている状態、若しくは、コンテナ40の削除が完了して正常に終了した状態についての情報である。従って、P23の矢印は、
図3における「Terminating」若しくは「Completed」の状態がコンテナ実行機能31からコンテナ管理機能21に送付されることを表している。
【0031】
コンテナ40が削除される場合には以上のような処理が行われる。
【0032】
ところで、前述したように、コンテナ40に関するコンテナログ41はコンテナ40自身で保存されている。従って、このコンテナログ41は、コンテナ40がアプリケーション実行基盤30上に存在している間は参照が可能であるが、コンテナ40が削除されると同時に破棄されてしまい、参照が不可能になる。
【0033】
コンテナ40の削除後にもコンテナログ41の参照を可能にするために、コンテナ40が存在している間にコンテナログ41を取得してストレージに全て保存しておくという手法が考えられる。但し、この手法ではコンテナログ41の保存量が累積的に増加する。その一方で、コンテナログ41には後に参照されることがないものもあり、このようなコンテナログ41まで保存しておく必要はない。
【0034】
そこで、これより説明するログ管理システム10の第2の例では、コンテナログ41の保存の必要性の判定を行い、保存が必要と判定したコンテナログ41のみを保存するようにして、保存の不要なコンテナログ41によるストレージの圧迫を抑制する。
【0035】
図5について説明する。
図5はログ管理システム10の第2の例の機能ブロック図である。
【0036】
図5において、
図1に示した第1の例と同一の構成要素には同一の符号を付しており、これらの構成要素については説明を省略する。
【0037】
図5に示したログ管理システム10の第2の例は、アプリケーション管理基盤20とアプリケーション実行基盤30とに加えて、ログ管理基盤50を更に備えている点において、
図1に示した第1の例と異なっている。
【0038】
ログ管理基盤50はログ管理機能51とログ保存機能52とを有している。
【0039】
ログ管理機能51は、コンテナ管理機能21から受け取った、アプリケーション実行基盤30上で実行されているコンテナ40についての実行状態の情報に基づいて、ログ保存機能52によるコンテナログ41の保存の制御を行う機能である。ログ管理機能51は、コンテナ40についての実行状態の情報に基づいて、当該コンテナ40に関するコンテナログ41の保存の必要性を判定し、保存が必要と判定されたコンテナログ41のみの保存を、ログ保存機能52に行わせる。
【0040】
ログ保存機能52は、ログ管理機能51により制御の下で、保存が必要と判定されたコンテナログ41を、当該コンテナログ41を保存しているコンテナ40から取得して保存する機能である。
【0041】
図5のログ管理システム10は以上のような構成を有している。なお、ログ管理基盤50は、後述するログ管理プログラムにより構築可能である。
【0042】
なお、
図5のログ管理システム10におけるコンテナ40の各実行状態や各実行状態の遷移は、
図1の第1の例と同様であり、
図3に示した各実行状態の一覧、及び、
図4に示した各実行状態の遷移を表した状態遷移図をそのまま適用することができる。
【0043】
次に、
図5のログ管理システム10でのコンテナログ41の管理の処理手順について説明する。
【0044】
図6は、コンテナ40が実行されている場合の処理手順を示したシーケンス図であり、
図4におけるT1やT2の遷移における処理手順を表している。
【0045】
この場合には、まず、コンテナ管理機能21によって、コンテナ40の実行のための設定情報が、コンテナ実行機能31に送付される(P101の矢印)。すると、コンテナ実行機能31は、設定情報に基づいてコンテナ40を実行させる(P102の矢印)と共に、実行させたコンテナ40に関するコンテナログ41の保存をコンテナ40自身に行わせる(P103の矢印)。コンテナ実行機能31は、このときのコンテナ40の実行状態を監視し、当該実行状態の情報をコンテナ管理機能21に所定の時間間隔で送付する(P104の矢印)。
【0046】
コンテナ管理機能21は、コンテナ40の実行状態の情報を受け取ると、この情報をログ管理機能51に送付する(P105の矢印)。コンテナ40の実行状態の情報を受け取ったログ管理機能51は、P103の矢印で表されている、コンテナ40で保存されているコンテナログ41の保存の要否を、当該コンテナ40の実行状態の情報に基づいて判定する(P106の矢印)。ここで、ログ管理機能51は、コンテナログ41の保存が必要と判定した場合にのみ、当該コンテナログ41の送付要求をコンテナ実行機能31に送付する(P107の矢印)。
【0047】
ここで、ログ管理機能51におけるコンテナログ41の保存の要否の手法について、
図7に示したテーブルを参照しながら説明する。
【0048】
図7のテーブルにおいて、「符号」の欄は、
図4状態遷移図に示した実行状態の状態遷移を識別する符号が示されている。また、「前回の実行状態」及び「現在の実行状態」の各欄には、「符号」の欄の符号で識別される状態遷移における遷移前と遷移後とのそれぞれについてのコンテナ40の実行状態が示されている。そして、「概要」の欄には、「符号」の欄の符号で識別される種別の状態遷移についての簡単な説明が示されている。
【0049】
例えば、「符号」が「T1」と示されている行には、「前回の実行状態」及び「現在の実行状態」として、「Container Creating」及び「Running」がそれぞれ示されている。つまり、この行は、
図4におけるT1の状態遷移、すなわち、「概要」の欄に示されているように、「コンテナの作成後、正常に実行」される状態遷移を表している。
【0050】
この
図7のテーブルでは、T1、T2、T8、T6、T7、及びT9の各状態遷移については、「判定結果」が「必要」であることが示されている一方で、T3、T4、及びT5の各状態遷移については、「判定結果」が「不要」であることが示されている。本実施形態では、これらのT3、T4、及びT5の各状態遷移については、これらの状態遷移におけるコンテナログ41を後に参照することはないものとし、コンテナ40の削除後はコンテナログ41の保存は不要と判定することとしている。その一方で、これら以外の種別の状態遷移については、コンテナ40の削除後もコンテナログ41の保存は必要と判定することとしている。
【0051】
このように、ログ管理機能51は、コンテナ40の実行状態の遷移の種別に基づいて、当該コンテナ40についてのコンテナログ41の保存が必要か否かを判定する。
【0052】
なお、前述したように、
図6のシーケンス図は、T1やT2の遷移における処理手順を表しているので、P106の矢印で示されている判定では、コンテナログ41の保存は必要と判定される。従って、P107の矢印で示されているように、当該コンテナログ41の送付要求がコンテナ実行機能31に送付される。
【0053】
コンテナログ41の送付要求を受け取ったコンテナ実行機能31は、当該コンテナログ41のログ管理機能51への送付を、当該コンテナログ41が保存されているコンテナ40に行わせる(P108の矢印)。コンテナログ41を受け取ったログ管理機能51は、当該コンテナログ41をログ保存機能52に送付して、当該コンテナログ41を保存させる(P109の矢印)。ログ保存機能52は、受け取ったコンテナログ41を、ログ管理基盤50のためのストレージに格納して保存する(P110の矢印)。
【0054】
以降、複数のコンテナ40のそれぞれについて、コンテナ40が実行されている間、上述したP105からP110までの処理手順が繰り返される。
【0055】
コンテナ40が正常に実行されている場合には、以上のような処理が行われる。
【0056】
次に、コンテナ40が削除される場合の処理手順について説明する。
図8は、この場合の処理手順を示したシーケンス図であり、
図4におけるT3からT5の遷移やT6からT9の遷移における処理手順を表している。
【0057】
この場合には、まず、コンテナ管理機能21によって、コンテナ40の停止のための設定情報が、コンテナ実行機能31に送付される(P201の矢印)。すると、コンテナ実行機能31は、設定情報に基づいてコンテナ40を停止させる(P202の矢印)と共に、停止させたコンテナ40に関するコンテナログ41の保存をコンテナ40自身に行わせる(P203の矢印)。コンテナ実行機能31は、このときのコンテナ40の実行状態を監視し、当該実行状態の情報をコンテナ管理機能21に所定の時間間隔で送付する(P204の矢印)。
【0058】
コンテナ管理機能21は、コンテナ40の実行状態の情報を受け取ると、この情報をログ管理機能51に送付する(P205の矢印)。コンテナ40の実行状態の情報を受け取ったログ管理機能51は、P203の矢印で表されている、コンテナ40で保存されているコンテナログ41の保存の要否を、当該コンテナ40の実行状態の情報に基づいて判定する(P206の矢印)。
【0059】
ここで、ログ管理機能51は、コンテナログ41の保存が必要と判定した場合にのみ、当該コンテナログ41の送付要求をコンテナ実行機能31に送付する(P207の矢印)。このときに、コンテナ40の実行状態の遷移が
図7において「必要」とされている種別の遷移である場合にのみ、コンテナログ41の送付要求が送付される。従って、コンテナ40の実行状態の遷移の種別がT6からT9のいずれかである場合には、コンテナログ41の送付要求が送付される。一方、コンテナ40の実行状態の遷移の種別がT3からT5のいずれかである場合には、コンテナログ41の送付要求は送付されない。
【0060】
コンテナログ41の送付要求を受け取ったコンテナ実行機能31は、当該コンテナログ41のログ管理機能51への送付を、当該コンテナログ41が保存されているコンテナ40に行わせる(P208の矢印)。コンテナログ41を受け取ったログ管理機能51は、当該コンテナログ41をログ保存機能52に送付して、当該コンテナログ41を保存させる(P209の矢印)。ログ保存機能52は、受け取ったコンテナログ41を、ログ管理基盤50のためのストレージに格納して保存する(P210の矢印)。
【0061】
また、コンテナ実行機能31は、コンテナログ41の送付をコンテナ40に行わせた後に、当該コンテナ40の削除を許可する通知をコンテナ管理機能21に送付する(P211の矢印)。
【0062】
コンテナ40の削除を許可する通知を受け取ったコンテナ管理機能21は、コンテナ40の削除のための設定情報を、コンテナ実行機能31に送付する(P212の矢印)。すると、コンテナ実行機能31は、設定情報に基づいてコンテナ40を削除する(P213の矢印)。
【0063】
コンテナ40が削除される場合には、複数のコンテナ40のそれぞれについて、以上のような処理が行われるので、ログ管理基盤50のストレージには保存が必要と判定されたコンテナログ41のみが残される。従って、保存の不要なコンテナログ41によるストレージの圧迫が抑制される。
【0064】
次に、
図1や
図5として機能ブロック図を示したログ管理システム10のハードウェア構成について説明する。
図9は、ログ管理システム10のハードウェア構成例である。
【0065】
図9において、ログ管理システム10は、CPU61、メモリ62、入力装置63、表示装置64、補助記憶装置65、及び通信I/F66を備えている。これらの構成要素はいずれも内部バス67に接続されており、相互にデータの授受を行うことが可能である。なお、「CPU」とはセントラルプロセシングユニットの略称である。また、「I/F」とはインタフェースの略称である。
【0066】
CPU61は、例えば、メモリ62を利用して所定のプログラムを実行することにより、アプリケーション管理基盤20、アプリケーション実行基盤30、及びログ管理基盤50がそれぞれ有している各種の機能を提供する。なお、アプリケーション管理基盤20及びアプリケーション実行基盤30は、例えば、Docker(登録商標)等の既存のコンテナエンジンプログラムと、Kubernetes(登録商標)等の既存のコンテナ管理プログラムとの組み合わせで提供可能である。また、ログ管理基盤50は、後述するログ管理処理を記述したログ管理プログラムにより提供可能である。
【0067】
メモリ62は、例えば半導体メモリであり、RAM領域及びROM領域を含む。RAM領域は、CPU61が各種のプログラムを実行する際に各種のデータを一時的に記憶しておく記憶領域として利用される。ROM領域は、各種のプログラムやデータが保存される領域であり、例えば不揮発性メモリが用いられる。なお、「RAM」とはランダムアクセスメモリの略称である。また、「ROM」とはリードオンリメモリの略称である。
【0068】
入力装置63は、例えば、キーボードやポインティングデバイス等であり、ユーザからの指示又は情報の入力に用いられる。
【0069】
表示装置64は、例えば、ユーザへの問い合わせ又は指示や、処理結果の表示出力に用いられる。
【0070】
補助記憶装置65は、磁気ディスク装置、光ディスク装置、光磁気ディスク装置等であり、例えば、ハードディスクドライブやフラッシュメモリであってもよい。ログ管理システム10は、補助記憶装置65にプログラム及びデータを格納しておき、それらをメモリ62にロードして使用することができる。
【0071】
通信I/F66は、例えば、必要に応じてCPU61から送られてくる指示に従い、通信ネットワーク(不図示)を介してデータを送受信する。
【0072】
図9に示したログ管理システム10では、以上のようなハードウェア構成を有している。なお、一般的なハードウェア構成のコンピュータであれば、この
図9に示されている各構成要素を有しているので、このようなコンピュータを利用してログ管理システム10を構成することも可能である。
【0073】
次に、
図5のログ管理システム10が備えるログ管理基盤50がログ管理機能51及びログ保存機能52を提供するために行うログ管理方法について説明する。
【0074】
図3のハードウェア構成を有するログ管理システム10がログ管理機能51及びログ保存機能52を提供するようにするには、これより説明するログ管理処理を記述したログ管理プログラムをCPU61に実行させてログ管理処理を行わせるようにすればよい。
【0075】
図10は、ログ管理処理の処理内容の一例を示すフローチャートである。このログ管理処理は、複数のコンテナ40のそれぞれを処理対象として個別に行われる。
【0076】
なお、このログ管理処理の実行時には、前述した
図4の状態遷移図に示されている各状態遷移と各状態遷移を識別する符号との関係と、前述した
図7のテーブルとが所定の記憶領域に予め保存されているものとする。
【0077】
図10の処理が開始されると、まず、S101において、コンテナ40の現在の実行状態を、コンテナ管理機能21から取得する処理が行われる。
【0078】
次に、S102において、所定の記憶領域で保存されているコンテナ40の前回の実行状態を読み出す処理が行われる。なお、コンテナ40の前回の実行状態の所定の記憶領域への保存は、後述するS110の処理において行われる。
【0079】
次に、S103において、S102とS101とのそれぞれの処理により得られた前回と今回との実行状態に基づいて、前回から今回への実行状態の遷移の種別を特定する処理が行われる。この処理では、前回から今回への実行状態の遷移が、
図4の状態遷移図に示されている各状態遷移のいずれであるかが特定される。
【0080】
なお、
図10の処理が開始された直後の最初のS102の処理では、コンテナ40の前回の実行状態は保存されていないため読み出すことができない。そこで、このときのS103の処理では、便宜上、実行状態の遷移の種別の特定結果を「T1」とする。
【0081】
次に、S104において、コンテナ40についてのコンテナログ41の保存の要否を、S103の処理により特定された実行状態の遷移の種別に基づいて判定する処理が行われる。この処理では、前述した
図7のテーブルを参照して、S103の処理により特定した遷移の種別に対応付けられている「必要」若しくは「不要」の判定結果を取得することによって判定が行われる。
【0082】
次に、S105において、S104の処理の結果、コンテナログ41の保存が必要とされたか否かを判定する処理が行われる。このS105の処理において、保存が必要とされた場合(判定結果がYESの場合)にはS106に処理を進め、保存が不要とされた場合(判定結果がNOの場合)にはS108に処理を進める。
【0083】
S106では、処理対象であるコンテナ40が保存しているコンテナログ41の送付要求を、コンテナ実行機能31に送付する処理が行われる。この送付要求を受け取ったコンテナ実行機能31は、当該コンテナログ41のログ管理基盤50への送付を、当該コンテナログ41が保存されているコンテナ40に行わせる。
【0084】
S107では、コンテナ40から送られてきたコンテナログ41を取得して、複数のコンテナ40のそれぞれについて割り当てられている所定の記憶領域に、取得したコンテナログ41を保存する処理が行われる。
【0085】
S108では、処理対象であるコンテナ40の削除が行われるか否かを判定する処理が行われる。
【0086】
前述したように、コンテナ40の削除が行われる場合とは、
図4におけるT3からT5の遷移やT6からT9の遷移のうちのいずれかの遷移の場合である。従って、S108の処理では、S103の処理により特定された実行状態の遷移の種別が、T3からT9のいずれかである場合には、コンテナ40の削除が行われると判定される。一方、実行状態の遷移の種別が、T1またはT2のどちらかである場合には、コンテナ40の削除は行われないと判定される。
【0087】
S108の処理において、コンテナ40の削除が行われると判定されたとき(判定結果がYESのとき)には、S109において、処理対象であるコンテナ40の削除を許可する通知をコンテナ管理機能21に送付する処理が行われる。この通知を受け取ったコンテナ管理機能21は、コンテナ40の削除のための設定情報を、コンテナ実行機能31に送付し、コンテナ実行機能31は、設定情報に基づいてコンテナ40を削除する。
【0088】
上述したS109の処理を終えると、処理対象のコンテナ40についてのログ管理処理が終了する。
【0089】
一方、S108の判定処理において、コンテナ40の削除は行われないと判定されたとき(判定結果がNOのとき)には、S110において、S101の処理により取得したコンテナ40の現在の実行状態を所定の記憶領域に保存する処理が行われる。
【0090】
上述したS110の処理を終えると、その後はS101へと処理を戻し、コンテナ40の実行状態がコンテナ管理機能21から送られてくると、前述したS101からの処理が再度行われる。なお、S110の処理より保存されたコンテナ40の実行状態は、再度行われるS102の処理において、前回の実行状態として読み出される。
【0091】
以上までの処理がログ管理処理である。この処理におけるS101からS105及びS108からS110の処理によりログ管理機能51が提供され、S106及びS107の処理によりログ保存機能52が提供される。
【0092】
なお、
図5のログ管理システム10におけるログ管理基盤50を、別体の装置として構成するようにしてもよい。
【0093】
図11について説明する。
図11は、ログ管理装置70の一例の機能ブロック図を示している。このログ管理装置70は、保存部71と取得部72と管理部73とを備えている。
【0094】
保存部71は、複数のコンテナ40のそれぞれに関するコンテナログ41を保存する。
【0095】
取得部72は、複数のコンテナ40のそれぞれの実行状態を示す情報を、複数のコンテナ40のそれぞれの実行状態を管理するコンテナ管理部の一例であるアプリケーション管理基盤20から取得する。
【0096】
管理部73は、複数のコンテナ40のそれぞれについて、コンテナログ41の保存が必要か否かを、複数のコンテナ40のそれぞれの実行状態の遷移に基づいて判定し、保存が必要と判定したコンテナログ41のみを保存部71に保存させる。なお、コンテナログ41の保存が必要か否かの判定は、例えば、複数のコンテナ40のそれぞれについての過去(例えば前回)の実行状態と現在の実行状態とに基づいて行われる。
【0097】
前述したように、複数のコンテナ40のそれぞれが、自身に関するコンテナログ41を有している。従って、保存部71は、保存が必要と判定されたコンテナログ41を有しているコンテナ40から取得したコンテナログ41を保存する。
【0098】
また、管理部73は、複数のコンテナ40のそれぞれが削除されるか否かを、複数のコンテナ40それぞれの実行状態の遷移に基づいて判定する。管理部73は、削除されると判定されたコンテナ40については、コンテナ40の削除の許可を、コンテナ40に関するコンテナログ41を取得した後に出力して、アプリケーション管理基盤20に送付する。
【0099】
ログ管理装置70は以上の構成を備えており、保存部71がログ保存機能52に相当する機能を提供し、取得部72及び管理部73がログ管理機能51に相当する機能を提供することで、保存の不要なコンテナログ41による保存部71の圧迫が抑制される。
【0100】
なお、ログ管理装置70が
図10のログ管理処理を行う場合には、S101の処理を取得部72が行い、S102からS105及びS108からS110の処理を管理部73が行い、S106及びS107の処理を保存部71が行う。
【0101】
以上、開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【符号の説明】
【0102】
10 ログ管理システム
20 アプリケーション管理基盤
21 コンテナ管理機能
30 アプリケーション実行基盤
31 コンテナ実行機能
40 コンテナ
41 コンテナログ
50 ログ管理基盤
51 ログ管理機能
52 ログ保存機能
61 CPU
62 メモリ
63 入力装置
64 表示装置
65 補助記憶装置
66 通信I/F
70 ログ管理装置
71 保存部
72 取得部
73 管理部