(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のログ保存方式では、古いログファイルから随時失われていくため、それよりもさらに過去の障害情報を参照することはできなかった。一方、情報の長期保持のために、ファイル数またはファイルサイズを大きくするとログファイルの量が膨大となり、必要な情報の検索が負荷が大きかった。
【0005】
この発明は、過去の障害情報を参照可能であり、かつ、保存するログファイル容量を抑制可能なログ管理装置の提供を目的とする。
【課題を解決するための手段】
【0006】
この発明のログ管理装置は、
一時ログ記憶部と、蓄積記憶部と、一時ログ記憶制御部と、特定ログ検出部と、蓄積記憶制御部とを備え、
前記一時ログ記憶制御部は、
更新日付の古い順にログファイルを取得して前記一時ログ記憶部に格納し、格納したログファイルの個数が前記一時ログ記憶部の格納設定数に到達した場合、前記一時ログ記憶部に格納されているログファイルのうち更新日付が最も古いログファイルを削除すると共に新たなログファイルを取得して前記一時ログ記憶部にログファイルを格納することを繰り返し、
前記特定ログ検出部は、
前記一時ログ記憶制御部が新たなログファイルを取得して前記一時ログ記憶部にログファイルを格納するたびに、前記一時ログ記憶部に格納されている格納設定数のログファイルのうち新たなログファイルが取得されることにより更新日付の順位が判定順位となったログファイルが基準パターンを含むログファイルかどうか判定し、
前記蓄積記憶制御部は、
前記特定ログ検出部によってログファイルが基準パターンを含むと判定された場合、前記一時ログ記憶部に格納されているログファイルの全部を前記蓄積記憶部にコピーする。
【0007】
前記蓄積記憶制御部は、
前記特定ログ検出部によって基準パターンを含むと判定されたことにより前記一時ログ記憶部に格納されているログファイルの全部を前記蓄積記憶部にコピーする際に、前記蓄積記憶部に重複するログファイルが存在する場合、重複するログファイル以外のログファイルを前記蓄積記憶部にコピーする。
【0008】
前記蓄積記憶制御部は、
前記蓄積記憶部に蓄積されたログファイルの蓄積数が蓄積設定数を超えようとする場合、更新日付の古い順に、蓄積設定数を超える個数のログファイルを削除する。
【0009】
前記ログ管理装置は、
さらに、入力装置から基準パターンを受信する受信制御部を備える。
【0010】
この発明のログ管理プログラムは、
一時ログ記憶部と、蓄積記憶部とを備えたコンピュータに、
更新日付の古い順にログファイルを取得して前記一時ログ記憶部に格納し、格納したログファイルの個数が前記一時ログ記憶部の格納設定数に到達した場合、前記一時ログ記憶部に格納されているログファイルのうち更新日付が最も古いログファイルを削除すると共に新たなログファイルを取得して前記一時ログ記憶部にログファイルを格納することを繰り返えす処理と、
新たなログファイルを取得して前記一時ログ記憶部にログファイルを格納するたびに、前記一時ログ記憶部に格納されている格納設定数のログファイルのうち新たなログファイルが取得されることにより更新日付の順位が判定順位となったログファイルが基準パターンを含むログファイルかどうか判定する処理と、
ログファイルが基準パターンを含むと判定された場合、前記一時ログ記憶部に格納されているログファイルの全部を前記蓄積記憶部にコピーする処理と、
をコンピュータに実行させる。
【発明の効果】
【0011】
この発明のログ管理装置は、一時ログ記憶制御部、特定ログ検出部、及び蓄積記憶制御部を備えているので、過去のログファイルが削除されていても、そのログファイルよりも過去のログファイルが参照可能であり、かつ、ログファイルの保存に要する記憶容量を抑制することができる。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【0014】
実施の形態1.
図1〜
図11を参照して実施の形態1のログ管理装置100を説明する。
【0015】
***構成の説明***
図1は、実施の形態1のログ管理装置100の構成図である。ログ管理装置100は、コンピュータである。ログ管理装置100は、ハードウェアとして、プロセッサ110、記憶装置120、入出力インタフェース装置130及び入力装置140を備える。プロセッサ110は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
【0016】
プロセッサ110は、演算処理を行うIC(Integrated Circuit)である。プロセッサ110は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
【0017】
記憶装置120は、読み書きが可能な、主記憶装置及び補助記憶装置である。一時ログ記憶部121及び蓄積記憶部122は記憶装置120によって実現される。主記憶装置の具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。補助記憶装置は、具体例としては、磁気ディスク装置(Hard Disk Drive)である。補助記憶装置は、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記憶媒体を使用する記憶装置であってもよい。補助記憶装置には、ログ管理装置100の機能を実現するためのプログラムが記憶される。
【0018】
入出力インタフェース装置130は、プロセッサ110が入力装置140及び情報処理装置200と通信するためのインタフェース装置である。
【0019】
入力装置140はログ管理装置100へデータを入力する装置である。入力装置140はキーボード及びマウス等である。入力装置140からは設定情報141が入力される。
【0020】
ログ管理装置100は、機能要素として、一時ログ記憶制御部111、特定ログ検出部112、蓄積記憶制御部113及び受信制御部114を備える。一時ログ記憶制御部111、特定ログ検出部112、蓄積記憶制御部113及び受信制御部114の機能は、ソフトウェアにより実現される。記憶装置120を実現する補助記憶装置には、一時ログ記憶制御部111、特定ログ検出部112、蓄積記憶制御部113及び受信制御部114の機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ110により読み込まれ実行される。これにより、一時ログ記憶制御部111、特定ログ検出部112、蓄積記憶制御部113及び受信制御部114の機能が実現される。
【0021】
図1では、プロセッサ110は、1つだけ示されている。しかし、ログ管理装置100は、プロセッサ110を代替する複数のプロセッサを備えていてもよい。これら複数のプロセッサは、一時ログ記憶制御部111、特定ログ検出部112、蓄積記憶制御部113及び受信制御部114のプログラムの実行を分担する。それぞれのプロセッサは、プロセッサ110と同じように、演算処理を行うICである。
【0022】
入力装置140から入力される設定情報141は、以下の情報を含む。
(1)基準パターンp:基準パターンpは、出現チェックしたい情報である。つまり基準パターンpとは、ログファイルに含まれているかどうかをチェックしたい情報である。基準パターンpは、例えば、文字列パターンまたはバイナリデータ等であるが、これらに限られない。基準パターンpが文字列パターンである場合、「E12345」などの文字列である。
(2)検出前ログファイル数y:検出前ログファイル数yは、基準パターン検出の対象とするログファイル以前の古いログファイルの、一時ログ記憶部121への保存数である。(3)検出後ログファイル数x:検出後ログファイル数xは、基準パターン検出の対象とするログファイルよりも後に生成された、基準パターン検出の対象とするログファイルよりも新しいログファイルの一時ログ記憶部121への保存数である。
(4)蓄積記憶部ログファイル数n:蓄積記憶部ログファイル数nは、蓄積記憶部122の保存ログファイル数である。
(5)
図1に示すように、受信制御部114は、入力装置140を介して設定情報141を受信する。受信制御部114は、設定情報141に含まれる基準パターンpを特定ログ検出部112に設定し、検出後ログファイル数x及び検出前ログファイル数yを、一時ログ記憶制御部111に設定し、蓄積記憶部ログファイル数nを蓄積記憶制御部113に設定する。
【0023】
(1)一時ログ記憶部121は、ログファイルの一時保存場所である。
(2)蓄積記憶部122は、基準パターンpを含む特定ログが含まれたログファイル群の蓄積保存場所である。
(3)一時ログ記憶制御部111は、対象ログシステム(情報処理装置200)のログファイルを一時ログ記憶部121にコピーする機能を有する。
また、一時ログ記憶部121に格納されるログファイル数が、格納設定数121aである保持ファイル数(=x+1+y)を超えたときに最古のファイルを削除する。
(4)特定ログ検出部112は、ログファイルから基準パターンpを検索する。
(5)蓄積記憶制御部113は、一時ログ記憶部121のログファイルを蓄積記憶部122にコピーする。
【0024】
図1に示す情報処理装置200はコンピュータである。ログ記録制御部201はプロセッサによって実現される。生成ログ格納部202は、主記憶装置及び補助記憶装置によって実現される。入出力インタフェース装置203は入出力インタフェース装置130と同様のインタフェース装置である。ログ記録制御部201は、情報処理装置200で実行されるアプリケーションのログファイルを生成し、生成したログファイルを生成ログ格納部202に格納する。
【0025】
生成ログ格納部202は、ログ記録制御部201によって生成されたログファイルを順次格納する。生成ログ格納部202にはログファイルの格納数が設定されている。設定されている個数がm個の場合には、m個のログファイルが登録されおりm+1個目の新たなログファイルが格納されるときは、最も生成時刻の古いログファイルが生成ログ格納部202からが削除される。
【0026】
***動作の説明***
図2は、ログ管理装置100の動作を示すフローチャートである。
図2を参照してログ管理装置100の動作を説明する。
【0027】
図2のフローチャートのうち、ステップS11からステップS16は一時ログ記憶制御部111による処理である。一時ログ記憶制御部111は、更新日付の古い順にログファイルを取得して一時ログ記憶部121に格納する(ステップS14)。一時ログ記憶制御部111は、格納したログファイルの個数が一時ログ記憶部121の格納設定数121aに到達した場合(ステップS15でYES)、一時ログ記憶部121に格納されているログファイルのうち更新日付が最も古いログファイルを削除する(ステップS16)。また、一時ログ記憶制御部111は、新たなログファイルを取得して一時ログ記憶部121にログファイルを格納することを繰り返えす(ステップS11からステップ16)。以下に具体的に説明する。
【0028】
図3は、情報処理装置200において、ログ記録制御部201がログファイルを生成し、生成ログ格納部202に格納する状態を示す。
図3では格納数m=6つの場合を示している。1/1、1/2等はログファイルの更新日付を示す。例えば「1/1」は更新日付が1月1日であることを示す。
図4は、一時ログ記憶制御部111がログファイルを取得する動作を示す。一時ログ記憶制御部111は、一定間隔で、対象ログファイル一覧を情報処理装置200から取得する(ステップS11)。
一時ログ記憶制御部111は、対象ログファイル一覧でファイル更新日付が最古のログファイルを調べる(ステップS12)。
図3では最古のログファイルは更新日付「1/1」のものである。一時ログ記憶制御部111は、一時ログ記憶部121にその最古のログファイルがコピーされていなければ(ステップS13でNO)、一時ログ記憶部121にコピーする(ステップS14)。
図4は一時ログ記憶制御部111が更新日付「1/1」のログファイルを取得した場合である。なお、一時ログ記憶部121にその最古のログファイルがコピーされている場合(ステップS13でYES)、処理はステップS20に進む。
【0029】
図5は、生成ログ格納部202が格納数mに到達した場合を示す。
図5に示すように、ログ記録制御部201は、生成ログ格納部202に新しいログファイルを格納する際に、格納数m=6を超えるときは、最古のログファイルを削除して新しいログファイルを格納する。
図6は、ステップS11からステップS14が繰り返された結果、一時ログ記憶制御部111によって、一時ログ記憶部121にログファイルが保存数である「x+1+y」個、保存された状態を示す。ここでx、yは設定情報141の説明で述べたとおりである。
一時ログ記憶制御部111は、一時ログ記憶部121のログファイル数が「検出後ログファイル数x+1+検出前ログファイル数y」を超えた場合は(ステップS15でYES)、一時ログ記憶部121における最古のログファイルから超過分を削除する(ステップS16)。ここで、「検出後ログファイル数x+1+検出前ログファイル数y」は、一時ログ記憶部121に格納可能なログファイル数を示す格納設定数121aである。格納設定数121aは設定情報141の説明で述べたように検出前ログファイル数yと、検出後ログファイル数xとによって設定される。
図6では、一時ログ記憶部121のログファイル数が「検出後ログファイル数x+1+検出前ログファイル数y」を超えることにより、最古のログファイルである更新日付「1/1」のログファイルが削除される場合を示している。
一時ログ記憶部121のログファイル数が「検出後ログファイル数x+1+検出前ログファイル数y」を超えていない場合(ステップS15でNO)は、処理はステップS17に進む。
【0030】
ステップS17において、特定ログ検出部112は、一時ログ記憶制御部111が新たなログファイルを取得して一時ログ記憶部121にログファイルを格納するたびに、一時ログ記憶部121に格納されている格納設定数121aのログファイルのうち新たなログファイルが取得されることにより、新たに更新日付の順位が判定順位112aとなったログファイルが基準パターンpを含むログファイルかどうか判定する。具体的な判定方法としては、判定順位112aとなったログファイルを検索し、このログファイルから基準パターンpを検出する処理を行う。基準パターンpが検出された場合に、特定ログ検出部112は、判定順位112aとなったログファイルを、蓄積記憶制御部113に蓄積するべき蓄積対象と判定する。
【0031】
具体的には以下のようである
図7は、特定ログ検出部112による基準パターンpである「E12345」を有するログファイルの検出方法を示す。特定ログ検出部112は、一時ログ記憶部121内で、最新のログファイルを1番目に新しいログファイルとし、「検出後ログファイル数x+1」番目に新しいログファイルを対象として、基準パターンp=「E12345」を検索する(ステップS17)。ここで、「検出後ログファイル数x+1」番目は「判定順位112a」である。
図7はx=1、y=2の場合を示す。つまり、一時ログ記憶部121に格納されているログファイルのうち最も更新日付の新しいログファイルを順位1とすると、判定順位112aは2番目に新しい「順位2」のログファイルである。
【0032】
ステップS19において、蓄積記憶制御部113は、特定ログ検出部112によってログファイルが蓄積対象と判定された場合、つまり、特定ログ検出部112によって判定順位112aとなったログファイルが基準パターンpを含むと判定された場合、一時ログ記憶部121に格納されているログファイルの全部を蓄積記憶部122にコピーする。具体的には以下の様である。
図8は、特定ログ検出部112によって基準パターンpが検出された場合の処理を示す。判定順位112aのログファイルに対して、特定ログ検出部112が基準パターンpを検出した場合(ステップS18でYES)、蓄積記憶制御部113は、一時ログ記憶部121内のすべてのログファイルを、蓄積記憶部122にコピーする(ステップS19)。
図8では、一時ログ記憶部121の4つのログファイルが蓄積記憶部122にコピーされている。基準パターンpが検出されない場合は、処理はステップS20に進む。
【0033】
図9は、生成ログ格納部202における最古のログファイルが更新日付「5/22」の場合を示す。
図10は、
図9の生成ログ格納部202の状態に対応する、一時ログ記憶部121及び蓄積記憶部122の状態を示す。蓄積記憶制御部113は、蓄積記憶部122のログファイル数が上限のn個を超えたか判定する(ステップS20)。
【0034】
ステップS21において、蓄積記憶制御部113は、蓄積記憶部122に蓄積されたログファイルの蓄積数が蓄積設定数nを超えようとする場合、更新日付の古い順に、蓄積設定数nを超える個数のログファイルを削除する。
具体的には以下のようである。
超えると判定した場合(ステップS20でYES)、蓄積記憶制御部113は、超える個数のログファイルを、蓄積記憶部122から最古のログファイルから順に削除する(ステップS21)。
超えない場合(ステップS20でNO)、ステップ22に進む。
【0035】
一定時間休眠状態になり(ステップS22)、処理はステップS11に戻る。
【0036】
なお、ステップS18で一時ログ記憶部121内の判定順位112aのログファイルから基準パターンpが検出された場合、ステップS19で蓄積記憶制御部113は一時ログ記憶部121内の全ログファイルを蓄積記憶部122にコピーする。しかし、蓄積記憶部122に同一のログファイルが既にコピーされている場合、そのログファイルをコピーしない方式でもよい。
具体的には、蓄積記憶制御部113は、一時ログ記憶部121に格納されているログファイルの全部を蓄積記憶部122にコピーする前に、一時ログ記憶部121に格納されているそれぞれのログファイルと、蓄積記憶部122に格納されているそれぞれのログファイルとの間に、重複するログファイルが存在するか判定する。蓄積記憶制御部113は、一時ログ記憶部121に格納されているログファイルのうち重複するログファイル以外のログファイルを蓄積記憶部122にコピーする。
図11は、重複するログファイルが蓄積記憶部122にコピーされない場合を説明する図である。一時ログ記憶部121に、更新日付が5/3、5/2、5/1、4/30のログファイル群が格納されている場合を想定する。これは
図11における一時ログ記憶部121の一つ前の状態である。更新日付5/3、5/2のログファイルに基準パターンpが含まれている。更新日付5/2のログファイルが判定順位112aに位置したときに、特定ログ検出部112が基準パターンpを検出し、蓄積記憶部122には、最も新しいログファイル群として、更新日付が5/3、5/2、5/1,4/30のログファイル群が格納される。これは
図11における蓄積記憶部122の状態である。この状態から、一時ログ記憶制御部111が、更新日付5/4のログファイルを新たに一時ログ記憶部121に格納する。これは
図11における一時ログ記憶部121の状態である。これにより一時ログ記憶部121には、更新日付が5/4、5/3、5/2、5/1のログファイル群が格納された状態となり、更新日付が5/3のログファイルが判定順位112aに新たに位置する状態となる。ここで特定ログ検出部112が、更新日付が5/3のログファイルから基準パターンpを検出したとき、ステップS19の場合であれば一時ログ記憶部121の4つのログファイルの全部が蓄積記憶部122にコピーされる。しかし、一時ログ記憶部121内の更新日付が5/4、5/3、5/2、5/1のログファイルのうち更新日付が5/3、5/2、5/1のログファイルは蓄積記憶部122に既に存在する。この場合、蓄積記憶制御部113は、重複するログファイルは蓄積記憶部122へコピーせず、重複しない更新日付が5/4のログファイルのみを蓄積記憶部122にコピーする。この様な処理によって、蓄積記憶部122に要する容量を削減できる。
【0037】
<他の変形例>
(1)変形例として、ログ管理装置100を2式またはそれ以上で構成し、2番目の装置の対象ログファイルを1番目の装置の蓄積記憶部の蓄積ログとした多段構成とし、2番目の装置の設定情報141のx、yを1番目の設定情報141より小さくする。この構成により、1番目のログ管理装置100の古い蓄積ログを、2段目のログ管理装置100が前後ログを減らしてより小さいセットとして再蓄積することができ、より多くの発生ログを蓄積することができる。
(2)別の変形例として、既存ログシステム(情報処理装置200)の保存ファイル個数の設定を変更せず、それより多い個数のログファイルを1セットとして蓄積することもできる。既存ログシステムの保存数nが2ファイルしかないときでも、この場合には前後合わせて4ファイル分の情報を1セットにして蓄積することができる。
【0038】
***実施の形態1の効果***
(1)実施の形態1のログ管理装置100によれば、基準パターンpを含んだログが見つかると、蓄積記憶部122にその前後のログファイルとセットでログファイル群が蓄積される。よって、障害発生の前後にわたるログファイル群を取得することができる。
(2)また、一時ログ記憶部121は、格納設定数である「x+1+y」個のログファイルを格納し、あふれたログファイルは削除される。よって、記憶装置の容量が少なくて済む。
(3)蓄積記憶部122に蓄積されるのは基準パターンpを有するログファイル及び更新日付においてその前後のログファイルに限られるので、蓄積記憶部122に対する検索が容易になる。
(4)ログ管理装置100は単独の装置として既存のログシステム(情報処理装置200)に後付けすることができる。つまり、既存のログシステムの変更なしに、既存のシステムに利用することができる。
あるいは、ログ管理装置100の機能を実行するログ管理プログラムを、既存のログシステムにアドオン機能として付加することができる。この点からも、既存のログシステムを変更することなくログ管理装置100の機能を既存のログシステムに付加することができる。
【0039】
以上、本発明の実施の形態について説明したが、実施の形態を部分的に実施しても構わない。なお、本発明は、実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。