データ処理装置及びプログラム
【課題】ログデータの属性に応じて動的にログデータの出力設定を変更し、効率的にログデータを記録する。
【解決手段】ログ出力装置10は、一定の出力レベル以上のログデータのみをデータ記憶装置310への出力対象とする出力設定を初期設定とするとともに、出力設定を変更する出力レベルを変更条件として規定し、APP20から入力したログデータの出力レベルを確認し、変更条件として規定されている出力レベル以上である場合に、他の出力レベルを出力対象とする出力設定に変更し、当該ログデータをデータ記憶装置310に出力するとともに、当該ログデータの前後のログデータが新たな出力設定の出力レベルに合致する場合に前後のログデータもデータ記憶装置310に出力する。
【解決手段】ログ出力装置10は、一定の出力レベル以上のログデータのみをデータ記憶装置310への出力対象とする出力設定を初期設定とするとともに、出力設定を変更する出力レベルを変更条件として規定し、APP20から入力したログデータの出力レベルを確認し、変更条件として規定されている出力レベル以上である場合に、他の出力レベルを出力対象とする出力設定に変更し、当該ログデータをデータ記憶装置310に出力するとともに、当該ログデータの前後のログデータが新たな出力設定の出力レベルに合致する場合に前後のログデータもデータ記憶装置310に出力する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば、システムの障害発生時の解析や、内部統制に利用されるログの出力方式に関し、特に、ログの出力設定を動的に変更するシステムに関する。
【背景技術】
【0002】
従来のログ出力方式では、ログの出力先および世代の指定、レベル指定(最低〜最高)、フォーマットの指定などを行うことが可能であり、出力先に関しては、ディスク残容量を監視し閾値を下回った場合に出力先を切り替えるといった仕組みがある(例えば、特許文献1)。
【0003】
また、発生するエラー情報を分類し、各エラーの発生回数を閾値で持って管理し、条件に合致する場合には、通報などのアクションを実行するといった仕組みがある(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−34416号公報
【特許文献2】特開平07−262054号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のログ管理方式においては、予め定めた容量のファイル、HDD(Hard Disc Drive)領域をログ出力用に使いまわすため、実際にシステム障害が発生した場合に、障害発生時からの時間経過が大きいときに、障害時の情報が、新しいログデータに上書きされて消えているといった課題がある。
また、ログの出力レベルとして全てのログデータをHDDに出力する設定にすると、ファイルへの書き込み処理などの時間がシステム性能に影響を及ぼすという課題がある。
一方で、最重要のログデータのみをHDDに出力する設定にすると、障害発生した際に、最重要のログデータ以外のログデータが解析に必要であっても、最重要のログデータしか残っていないため、解析が困難であるという課題がある。
例えば、最重要のログデータしか残っていないため、全ログデータを用いて発生事象を再現することができないという課題がある。
【0006】
本発明は、上記のような課題を解決することを主な目的の一つとしており、データの属性に応じて動的にデータの出力設定を変更し、効率的にデータを記録することを主な目的とする。
【課題を解決するための手段】
【0007】
本発明に係るデータ処理装置は、
データを順次入力するデータ入力部と、
データ記憶装置に接続され、指定された出力設定に従って、前記データ入力部により入力されたデータを前記データ記憶装置へ出力するデータ出力部と、
前記データ入力部により入力されたデータが出力設定の変更条件に合致するか否かを判断し、入力されたデータが前記変更条件に合致する場合に、前記データ出力部の出力設定を変更する出力設定変更部とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、データの属性に応じて動的にデータの出力設定を変更するため、出力対象を重要度の高いデータに制限して書き込み処理時間の短縮及び書き込み先となる記憶領域の有効利用を図りながら、重要度の高いデータの入力を契機に重要度の高いデータとの関連性が強いデータも出力する出力設定に変更することができ、障害時等の解析処理及び再現処理に有用なデータを確保することができる。
【図面の簡単な説明】
【0009】
【図1】実施の形態1〜7に係るログ出力装置の構成例を示す図。
【図2】実施の形態1に係るログデータの例を示す図。
【図3】実施の形態1に係る初期設定の例を示す図。
【図4】実施の形態1に係るログ出力の例を示す図。
【図5】実施の形態1に係る変更条件と変更設定の例を示す図。
【図6】実施の形態1に係る変更条件と変更設定の例を示す図。
【図7】実施の形態1に係るログ出力装置の動作例を示すフローチャート図。
【図8】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図9】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図10】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図11】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図12】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図13】実施の形態1に係る出力レベルの設定プログラムの例を示す図。
【図14】実施の形態2に係る変更条件と変更設定の例を示す図。
【図15】実施の形態2に係るログ出力装置の動作例を示すシーケンス図。
【図16】実施の形態3に係る変更条件と変更設定の例を示す図。
【図17】実施の形態4に係るログデータの例を示す図。
【図18】実施の形態4に係る抽出条件の例を示す図。
【図19】実施の形態4に係る変更条件と変更設定の例を示す図。
【図20】実施の形態4に係る変更条件と変更設定の例を示す図。
【図21】実施の形態4に係るログ出力装置の動作例を示すシーケンス図。
【図22】実施の形態1〜7に係るログ出力装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【0010】
実施の形態1.
本実施の形態及び以降の実施の形態では、ログデータの属性、システム上のアプリケーションの動作や外部要因によりログデータの出力設定を動的に変更することで、障害発生時のログデータを確実に採取・保存するとともに、ログ設定を最適化していくシステムを説明する。
出力設定とは、出力レベルの設定、世代の設定、ログ出力先の設定、署名の有無の設定、暗号化の有無の設定等である。
本実施の形態では、出力設定の変更として、出力レベルの設定を変更する例について説明し、以降の実施の形態において、世代の設定の変更、ログ出力先の設定の変更、署名の有無の設定、暗号化の有無の設定について説明する。
【0011】
先ず、出力レベルの設定について説明する。
本実施の形態で扱うログデータには出力レベルが指定されている。出力レベルは、優先度と同義であり、例えば、「高」、「低」の2段階のうちのいずれかのレベルが指定されていたり、「高」、「中」、「低」の3段階のうちのいずれかのレベルが指定されている。また、より多段階の出力レベルを用いてもよい。
本実施の形態に係るログ出力装置には、出力レベルの設定がなされている。
例えば、出力レベルが「高」と「低」の2段階の場合に、出力レベル「高」のログデータのみを出力するという設定がなされているときは、ログ出力装置は順次入力したログデータのうち出力レベル「高」が表示されているログデータのみを選択してデータ記憶装置に出力する。
そして、本実施の形態に係るログ出力装置は、入力したログデータの属性を解析して、入力したログデータが出力設定の変更条件に合致するか否かを判断し、入力したログデータが出力設定の変更条件に合致している場合は、例えば、出力レベルの設定を「低」に変更する。出力レベルの設定の変更後は、出力レベル「高」又は「低」のログデータのみを選択してデータ記憶装置に出力する。
【0012】
図1に、本実施の形態に係るログ出力装置を含むシステム構成例を表すブロック図を示す。
【0013】
本実施の形態に係るログ出力装置10(データ処理装置)は、アプリケーションプログラム20(以下、APP20と表記する)からログデータを入力し、入力したログデータを出力設定に従ってデータ記憶装置310に出力し、データ記憶装置310にログデータを記憶させる。
APP20は、ネットワークによりログ出力装置10と接続されている別装置で動作するアプリケーションプログラムでもよいし、ログ出力装置10と同一マシン上で動作するアプリケーションプログラムでもよい。APP20は単一の実行ファイルから業務システムといった大規模なものを含む。
また、データ記憶装置310も、ネットワークによりログ出力装置10と接続されている記憶装置でもよいし、ログ出力装置10と同一マシン上で動作する記憶装置でもよい。
【0014】
ログ出力装置10には、ログ解析部100、ログ管理部200、出力先管理部300、フォーマット管理部400、署名/暗号部500、レベル管理部600、状況依存ログ設定部700、外部状況取得部800、キャッシュ110、初期設定情報記憶部210、変更設定情報記憶部710が含まれる。
【0015】
ログ解析部100は、複数段階の出力レベル(優先度)のうちのいずれかの出力レベルが指定されているログデータを順次入力する。ログ解析部100は、データ入力部の例である。
また、ログ解析部100は、ログデータの内容からログデータの出力設定の変更に係る情報として、出力レベル/同一処理回数/推移確率/引数情報などを抽出する。
また、ログ解析部100は、状況依存ログ設定部700に対して上記設定変更に係る情報の通知を行う。
また、ログ解析部100は、ログ管理部200に対する設定変更要求、キャッシュ110へのログデータのストア及びキャッシュ110からのログデータのロードを行う。
また、ログ解析部100は、ログ管理部200へのログ出力要求を行う。
【0016】
図2は、ログ解析部100が入力するログデータの例を示す。図2では、12月13日に、名古屋において、ユーザ:ABCDEFがドライブ中であることを通知するログデータを示している。
なお、図2に示すログデータの[ABC:main:18]は、呼び出し元のクラス名、メソッド名、行番号を表しており、ABCクラス、mainメソッド、18行目を示している。
また、「低」は出力レベルを表しており、図2のログデータの出力レベルは「低」である。
また、図2において、「000」は正常を表す状況コードを示す。また、エラーを示す状況コードは「100」とする。
以降、本実施の形態では、出力レベルは「高」と「低」のみをとり、正常時のログデータ(状況コードが「000」のログデータ)は出力レベルが「低」とし、エラー時のログデータ(状況コードが「100」のログデータ)は出力レベルが「高」とする例を説明する。
このような例では、APP20では、例えば、図13に例示するプログラムにより、正常時のログデータの出力レベルを「低」に指定し、エラー時のログデータの出力レベルを「高」に指定する。
なお、前述したように、出力レベルは、より多段階でもよい。また、どういった状況をどのレベルにマッピングさせるかは、アプリケーション、システムまたはプロジェクトの方針となる。
【0017】
キャッシュ110は、ログ解析部100により入力されたログデータであってデータ記憶装置310への出力が未実施のログデータを格納する。
キャッシュ110は、データ格納部の例である。
なお、以降の説明では、キャッシュ110は1つのログデータのみを格納可能であるとする。
【0018】
ログ管理部200は、ログデータの出力設定の変更条件に合致するログデータ(条件合致データ)が入力される前は、出力設定として所定の出力レベル(第1のレベル以上の優先度)が指定されているログデータの出力を指示する初期設定(第1の出力設定)を指定し、ログデータの出力設定の変更条件に合致するログデータが入力された際に、初期設定と異なる出力レベル(第2のレベル以上の優先度)が指定されているログデータの出力を指示する新たな出力設定(第2の出力設定)に変更する。
そして、初期設定が指定されている場合は、ログ解析部100により入力されたログデータのうち初期設定で示されている出力レベルが指定されているログデータを選別してデータ記憶装置310へ出力し、新たな出力設定が指定された場合に、ログ解析部100により入力されたログデータのうち新たな出力設定で示されている出力レベルが指定されているログデータを選別してデータ記憶装置310へ出力する。
ログ管理部200は、出力設定変更部及びデータ出力部の例である。
上記の動作を行うに当たり、ログ管理部200は、初期設定に基づく初期化処理、ログデータの出力設定の変更受付、レベル管理、フォーマット管理、出力先管理の初期設定、ログのレベル確認から出力までの制御を行う。
【0019】
初期設定情報記憶部210は、ログデータの出力設定の初期設定を示す初期設定情報を記憶する。
図3は、初期設定情報記憶部210に記憶されている初期設定情報の例を示している。
図3の初期設定では、出力レベル「高」のログデータのみを選択して出力することが示されている。
また、世代は1であり、署名及び暗号化は行われない。世代の意味については、実施の形態2で説明する。
【0020】
出力先管理部300は、設定に基づくファイル、コンソールなどへのログ出力制御、出力ファイルの世代管理(ローリング指定など)、出力ファイルの最大サイズの管理を行う。
【0021】
フォーマット管理部400は、ログ出力項目の形式(テキスト、XML等)、ログ出力項目の成形(出力順の制御、形式や文字列の連結等の操作を含む)、ログ出力項目の出力可否の制御(日付を出力する/しない等)を行う。
【0022】
署名/暗号部500は、ログ出力項目に対して署名の添付(認証値生成処理)、暗号化処理を実施する。なお、対象項目や署名、暗号に基づく鍵については設定に基づく。
なお、署名/暗号部500の詳細は、実施の形態4において説明する。
【0023】
レベル管理部600は、出力するログに指定されたレベル情報と出力許可されたレベルを比較判定する。
【0024】
状況依存ログ設定部700は、ログデータの出力設定の変更条件に合致するログデータが入力されたか否かを判断し、ログデータの出力設定の変更条件に合致するログデータが入力された場合に、新たな出力設定を決定する。
状況依存ログ設定部700は、ログ管理部200とともに出力設定変更部を構成する。
なお、本実施の形態では、状況依存ログ設定部700は、ログデータの解析(出力レベルの解析)に基づいて出力設定の変更の有無を判断するが、外部状況取得部800が得た情報、キャッシュの容量、時間経過および予め設定された変更設定の情報に基づき、ログ出力の設定を変更する/しないの判定(キャッシュの容量、時間経過は基本的に変更した設定を元に状態に戻す場合に用いる)を行うことも可能である。なお、出力レベル析以外の要素を用いる例は、実施の形態6等で説明する。
【0025】
変更設定情報記憶部710は、出力設定の変更条件及び変更後の出力設定を示す変更設定情報を記憶する。
図5は、変更設定情報記憶部710に記憶されている変更設定情報の例を示している。
図5では、変更条件が「高」であり、変更設定が「低」である。
この例では、出力レベルが「高」のログデータが入力された場合には、ログ管理部200及び状況依存ログ設定部700は、出力レベルが「低」のログデータもデータ記憶装置310に出力する旨の出力設定に変更する。
つまり、出力レベルが「低」のログデータが入力されている間は、初期設定のままなので、データ記憶装置310にログデータが出力されず、出力レベルが「高」のログデータが入力された段階でログ管理部200及び状況依存ログ設定部700が出力設定を変更し、出力レベルが「高」のログデータのみならず、出力レベルが「低」のログデータも出力されることになる。
そして、本実施の形態では、出力レベルが「高」のログデータが入力された時点でキャッシュ110に蓄積されている先行するログデータも(出力レベルが「低」であっても)データ記憶装置310に出力される。
【0026】
また、図6は、変更設定情報記憶部710に記憶されている他の変更設定情報の例を示している。
図6(a)〜(c)は、図5の変更設定情報により出力設定が変更された後に、出力設定を元に戻すための基準が示されている。なお、実際の運用においては、図6(a)〜(c)のうちのいずれかが用いられる。
図6(a)では、出力レベルが「低」のログデータがキャッシュ110で格納可能なログデータの個数+1個に相当する回数連続して入力されたことを変更条件とし、当該変更条件に合致した場合に出力レベルが「高」のログデータのみの出力を指示する出力設定に変更する。本実施の形態では、キャッシュ110は1つのログデータを格納可能なので、出力レベルが「低」のログデータが2回連続して入力された場合に出力設定が初期設定に戻される。
また、図6(b)では、出力レベルが「低」のログデータが5回連続して入力されたことを変更条件とし、当該変更条件に合致した場合に出力レベルが「高」のログデータのみの出力を指示する出力設定に変更する(初期設定に戻す)。
また、図6(c)では、出力レベルが「低」のログデータが10分間連続して入力されたことを変更条件とし、当該変更条件に合致した場合に出力レベルが「高」のログデータのみの出力を指示する出力設定に変更する(初期設定に戻す)。
【0027】
外部状況取得部800は、CPU(Central Processing Unit )温度、HDD(Hard Disk Drive)残量など指定のハードウェアの状態の監視および状況依存ログ設定部700への通知を行う。
外部状況取得部800は、状態監視部の例である。
なお、外部状況取得部800を用いる例は、実施の形態6において説明する。
【0028】
次に、図7のフローチャートを用いて、本実施の形態に係るログ出力装置10の動作例を説明する。
【0029】
所定の初期化処理が終了した後、ログ解析部100がAPP20からのログ出力要求を受信する(S701)。
ログ出力要求には、ログデータと当該ログデータのデータ記憶装置310への出力を要求するコマンドが含まれる。
【0030】
次に、ログ解析部100はログ出力要求に含まれているログデータの出力レベルを状況依存ログ設定部700に通知し、状況依存ログ設定部700がログデータを解析し、当該ログデータの属性が変更条件に合致しているか否かを判断する。より具体的には、状況依存ログ設定部700は、入力されたログデータの出力レベルの解析を行って、入力されたログデータの出力レベルが変更条件に示されている出力レベルに合致するか否かを判断する(S702)。
そして、ログデータが変更条件に合致している場合(S703でYES)は、状況依存ログ設定部700は変更後の出力設定をログ解析部100を介してログ管理部200に通知し、ログ管理部200が出力設定を変更する(S704)。
例えば、初期設定(図3)において運用されている状況において出力レベルが「高」のログデータが入力された場合は、図5に示す変更設定情報の変更条件に合致し、状況依存ログ設定部700は、出力レベルが「低」のログデータも出力対象とする出力設定への変更をログ管理部200に通知し、ログ管理部200が出力設定を変更する。
また、例えば、図5の変更設定情報に従って出力設定が変更されている状況において出力レベルが「低」のログデータが2回続けて入力された場合は、図6(a)に示す変更設定情報の変更条件に合致し、状況依存ログ設定部700は、出力レベルが「高」のログデータのみを出力対象とする出力設定への変更をログ管理部200に通知し、ログ管理部200が出力設定を変更する。
一方、変更条件に合致していない場合(S703でNO)は、処理をS705に進める。
【0031】
次に、ログ解析部100がキャッシュ110の容量確認を行う(S705)。
容量確認の結果、キャッシュ110に空きがあれば(S706でYES)、処理をS712に進め、ログ解析部100は入力したログデータをキャッシュ110に格納する。
一方、キャッシュ110に空きがなければ(S706でNO)、処理をS707に進める。
【0032】
S707では、ログ解析部100はキャッシュ110からログデータをロードする。
そして、ログ管理部200が、キャッシュ110からロードされたログデータの出力レベルと出力設定で出力対象として指示されている出力レベルとを比較し、キャッシュ110からロードされたログデータの出力レベルが出力設定で指示されている出力レベルに合致するか否かを判断する(S708)。
キャッシュ110からロードされたログデータの出力レベルが出力設定で指示されている出力レベルに合致する場合は、当該ログデータは出力対象となるので(S709でYES)、ログ管理部200は当該ログデータをデータ記憶装置310に出力する(S710)。
一方、キャッシュ110からロードされたログデータの出力レベルが出力設定で指示されている出力レベルに合致しない場合は、当該ログデータは出力対象とならないので(S709でNO)、ログ管理部200は当該ログデータを破棄する(S711)。
【0033】
最後に、ログ解析部100は、ステップS701において入力したログデータをキャッシュ110に格納する(S712)。
【0034】
なお、ステップS701で入力されたログデータはステップS712でキャッシュ110に格納されるまでの間は、ログ解析部100に割り当てられているバッファメモリ等に一時的に蓄積しておく。
また、ステップS707でロードされたログデータはステップS710でデータ記憶装置310に出力されるまで又はステップS711で破棄されるまでの間は、ログ管理部200に割り当てられているバッファメモリ等に一時的に蓄積しておく。
【0035】
以上の動作例を前提して、ログ出力装置10の動作を図8〜図12のシーケンス図を用いて具体的に説明する。
図8〜図12においては、出力レベルが「低」の1つ目のログデータ(低(1)と表記)、出力レベルが「低」の2つ目のログデータ(低(2)と表記)、出力レベルが「高」のログデータ(高(1)と表記)、出力レベルが「低」の3つ目のログデータ(低(3)と表記)、出力レベルが「低」の4つ目のログデータ(低(4)と表記)の順に入力される例を説明する。
【0036】
先ず、図8に示すように、APP20は、ログの初期化「1:初期化」を実施し、APP20用のログのインスタンス(または相当品)を取得する。
ログ解析部100は、初期化要求「1:初期化」を受けて、接続する各部に対して初期化要求を実施する(1.1:初期化〜1.3:初期化)。
本実施の形態の初期設定では、図3に示すように「高」レベルの出力を指示する出力設定である。なお、世代数、署名の有無、暗号の有無についても初期化処理において設定を行うが、図8では図示を省略している。
【0037】
次に、図9に示すように、APP20は、ログ解析部100に対してログ出力要求を出力する(「3:ログ出力要求(低(1))」)。ここでは、ログデータ(低(1))が含まれるログ出力要求が出力される。
APP20は、例えばJava(登録商標)のAPI(Application Programming Interface)によりログ解析部100に対してログ出力要求を行う。
なお、本例ではセッションとログ出力装置10との対応をAPP20側にて管理することを想定している。ログ出力装置10側で管理する場合には、上記にセッション識別子が加わる。
【0038】
ログ解析部100はログ出力要求を受信し、ログ出力要求からログ設定変更に係る情報として出力レベルが示されるレベル情報を抽出する。抽出する項目は複数存在してもよく、予めQUERY式などで指定を行っておく。QUERY式はXML(Extensible Markup Language)に対するXPATH式、またはSQLのSELECT式、またはsubstringなどの関数式に相当するものを用いる。
また、ログ解析部100は、状況依存ログ設定部700に対してログの設定変更の必要の有無について問い合わせを行うために、ログ情報(レベル情報)を通知する(「3.1:ログ情報(低(1))」)。
【0039】
状況依存ログ設定部700は、ログ解析部100からのログ情報(レベル情報)に示される出力レベルが変更条件に合致するか否かの判断を行うが、入力されたログデータ(低(1))の出力レベルは「低」であるため、図5の変更条件に合致せず、状況依存ログ設定部700は出力設定の変更を通知しない。
【0040】
次に、ログ解析部100は、キャッシュ110の容量確認を行い(「3.2:容量確認」)、保存領域の空きがある場合にはログデータをキャッシュ110に出力し、キャッシュ110がログデータを保存する(「3.3:保存(低(1))」)。入力されたログデータ(低(1))は最初のログデータであるので、キャッシュ110は空であり、ログデータ(低(1))はそのままキャッシュ110に格納される。
【0041】
次に、ログデータ(低(2))が含まれるログ出力要求がAPP20から出力される(「4:ログ出力要求(低(2))」)。
上記と同様に、ログ解析部100から状況依存ログ設定部700にログ情報(レベル情報)が通知され(「4.1:ログ情報(低(2))」)、状況依存ログ設定部700は出力レベルが「低」であるので、出力設定の変更を指示しない。
また、ログ解析部100は、キャッシュ110の容量確認を行う(「4.2:容量確認」)。
この時点では、キャッシュ110にログデータ(低(1))が格納されているので、キャッシュ110に空きがない。
この場合には、ログ解析部100は、キャッシュ110から蓄積されているログデータ(低(1))を取得(「4.3:ロード」)して、ログ管理部200に対してログ出力要求を行う(「4.4:ログ出力(低(1))」))。
前述したように、本例ではキャッシュ110に格納できる情報はログデータ1個分としている。
【0042】
なお、キャッシュ110からのログデータの取得は、上記のようにAPP20からのログ出力要求の延長で容量確認を行い容量に空きがない場合にロード(ログの取得)するようにしてもよいし、タイマーなどにより定期的に容量確認を行い容量に空きがない場合にロード(ログの取得)するようにしてもよい。また、上記の2つの方法を併用してもよい。
【0043】
ログ管理部200では、「4.4:ログ出力(低(1))」により通知されたログデータの出力レベルの指定が「低」であるため、初期設定の出力指示である出力レベル「高」に合致せず(「4.4.1レベル確認」、FALSE)、当該ログデータ(低(1))は破棄される。
その後、ログ解析部100が、入力したログデータ(低(2))をキャッシュ110に格納する(「4.5:保存(低(2))」)。
【0044】
次に、図10に示すように、ログデータ(高(1))が含まれるログ出力要求がAPP20から出力される(「5:ログ出力要求(高(1))」)。
図9の場合と同様に、ログ解析部100から状況依存ログ設定部700にログ情報(レベル情報)が通知され(「5.1:ログ情報(高(1))」)、出力レベルが「高」であるので図5の変更条件に合致し、状況依存ログ設定部700は出力設定の変更を通知する。この場合は、出力レベル「低」のログデータも出力対象とする出力設定に変更するよう通知する(「変更設定(レベル=低)」)。
ログ解析部100では、出力レベル「低」の出力を許可する新規のログ設定情報をログ管理部200に通知し、設定変更要求を行う(「5.2設定変更要求」)。
ログ管理部200では、出力レベル「低」のログデータも出力対象とする出力設定に変更する(「5.2.1:設定(レベル=低)」)。
【0045】
次に、ログ解析部100は、キャッシュ110の容量確認を行う(「5.3:容量確認」)。
この時点では、キャッシュ110にログデータ(低(2))が格納されているので、キャッシュ110に空きがない。
この場合には、ログ解析部100は、キャッシュ110から蓄積されているログデータ(低(2))を取得(「5.4:ロード」)して、ログ管理部200に対してログ出力要求を行う(「5.5:ログ出力(低(2))」))。
ログ管理部200では、新たな出力設定においての出力レベルは「低」として再設定されているため、ログデータ(低(2))は出力の対象となり(「5.5.1レベル確認」、TRUE)、出力先管理部300にまで渡され、データ記憶装置310へ書き出される(「5.5.3:ログ出力(低(2))。
その後、ログ解析部100が、入力したログデータ(高(1))をキャッシュ110に格納する(「5.6:保存(高(1))」)。
【0046】
次に、図11に示すように、ログデータ(低(3))が含まれるログ出力要求がAPP20から出力される(「6:ログ出力要求(低(3))」)。
図9及び図10の場合と同様に、ログ解析部100から状況依存ログ設定部700にログ情報(レベル情報)が通知される(「6.1:ログ情報(低(3))」)。ここでは、図6(a)に示される基準にて出力設定の変更の要否を判断するものとする。図6(a)の基準では、キャッシュ110のログデータの格納個数+1個分の「低」レベルのログデータが連続して入力されたこと(つまり、「低」レベルのログデータが2回連続して入力されたこと)を変更条件としている。ログデータ(低(3)が入力された時点では、「低」レベルのログデータは1回しか入力されていないので、変更条件に合致せず、状況依存ログ設定部700は出力設定の変更を指示しない。
また、ログ解析部100は、キャッシュ110の容量確認を行う(「6.2:容量確認」)。
この時点では、キャッシュ110にログデータ(高(1))が格納されているので、キャッシュ110に空きがない。
この場合には、ログ解析部100は、キャッシュ110から蓄積されているログデータ(高(1))を取得(「6.3:ロード」)して、ログ管理部200に対してログ出力要求を行う(「6.4:ログ出力(高(1))」)。
ログ管理部200では、現在の出力設定における出力レベルは「低」であるため、ログデータ(高(1))は出力の対象となり(「6.4.1レベル確認」、TRUE)、出力先管理部300にまで渡され、データ記憶装置310へ書き出される(「6.4.3:ログ出力(高(1))。
その後、ログ解析部100が、入力したログデータ(低(3))をキャッシュ110に格納する(「6.5:保存(低(3))」)。
【0047】
次に、図12に示すように、ログデータ(低(4))が含まれるログ出力要求がAPP20から出力される(「7:ログ出力要求(低(4))」)。
図9、図10及び図11の場合と同様に、ログ解析部100から状況依存ログ設定部700にログ情報(レベル情報)が通知される(「7.1:ログ情報(低(4))」)。図6(a)の基準では、「低」レベルのログデータが2回連続して入力されたことを変更条件としており、ログデータ(低(4))が入力された時点で、「低」レベルのログデータが2回連続して入力されたことになるので、図6(a)の変更条件に合致し、状況依存ログ設定部700は出力設定の変更を指示する。
この場合は、出力レベル「高」のログデータのみを出力対象とする出力設定に変更するよう通知する(「変更設定(レベル=高)」)。
ログ解析部100では、出力レベル「高」の出力のみを許可するログ設定情報をログ管理部200に通知し、設定変更要求を行う(「7.2設定変更要求」)。
ログ管理部200では、出力レベル「高」のログデータのみを出力対象とする出力設定に変更する(「7.2.1:設定(レベル=高)」)。これにより、出力設定が初期設定に戻されたことになる。
【0048】
次に、ログ解析部100が、キャッシュ110の容量確認を行う(「7.3:容量確認」)。
この時点では、キャッシュ110にログデータ(低(3))が格納されているので、キャッシュ110に空きがない。
この場合には、ログ解析部100は、キャッシュ110から蓄積されているログデータ(低(3))を取得(「7.4:ロード」)して、ログ管理部200に対してログ出力要求を行う(「7.5:ログ出力(低(3))」)。
ログ管理部200では、「7.5:ログ出力(低(3))」により通知されたログデータの出力レベルの指定が「低」であるため、初期設定の出力指示である出力レベル「高」に合致せず(「7.5.1レベル確認」、FALSE)、当該ログデータ(低(3))は破棄される。
その後、ログ解析部100が、入力したログデータ(低(4))をキャッシュ110に格納する(「7.6:保存(低(4))」)。
【0049】
このように、変更条件に合致するログデータが入力される前は、出力レベル「高」が指定されているログデータのみを出力対象とする初期設定に従い、変更条件に合致するログデータであるログデータ(高(1))が入力された際に出力レベル「低」が指定されているログデータも出力対象に含める出力設定に変更しているので、ログデータ(高(1))の入力前にキャッシュ110に格納されているログデータ(低(2))も出力対象となる。
さらに、ログデータ(低(3))、ログデータ(低(4))と2回連続して低レベルのログデータが入力された段階で、出力設定を初期設定に戻しているので、ログデータ(低(3))はデータ記憶装置310に出力される。
このため、データ記憶装置310には、例えば、図4に示すように、正常(「000」)を示す「低」レベルのログデータ(ログデータ(低(2))に相当)と、エラー(「001」)を示す「高」レベルのログデータ(ログデータ(高(1))に相当)と、正常(「000」)を示す「低」レベルのログデータ(ログデータ(低(3))に相当)が順次出力されることになる。
なお、図4では、図2のログデータに対して時刻情報(2008−12−13 14:00:00等)が追加されているが、この時刻情報はフォーマット管理部400で追加される。
【0050】
このように、本実施の形態によれば、通常は高レベルのログデータのみと出力しているが、エラー等の高レベルのログデータが発生する前後だけ、低レベルのログデータも含め出力することが可能となる。
つまり、本実施の形態では、ログデータの属性に応じて動的にログデータの出力設定を変更するため、出力対象を重要度の高いログデータに制限して書き込み処理時間の短縮及び書き込み先となる記憶領域の有効利用を図りながら、重要度の高いログデータの入力を契機に重要度の高いログデータとの関連性が強いログデータも出力する出力設定に変更することができ、障害時等の解析処理及び再現処理に有用なデータを確保することができる。
また、重要度の高いログデータと重要度の高いログデータとの関連性が強いログデータに限定して記憶するため、上書きにより重要度の高いログデータが消去される可能性を低減することができる。
【0051】
以上、本実施の形態では、
ログ出力要求の内容を解析するログ解析部、
ログ出力の設定および実行管理を行うログ管理部、
ログの出力先および世代数の管理を行う出力先管理部、
ログを指定のフォーマットに成形するフォーマット管理部、
ログに対して署名/暗号を付与する署名/暗号部、
ログ出力の可否をレベルにて管理するレベル管理部、
ログ出力内容や外部状況による条件に応じてログ設定を変更する状況依存ログ設定部、
外部装置およびシステムの監視および状況変化の通知を行う外部状況取得部
を備え、ログ出力要求や外部状況に応じてログの出力設定を動的に変更するログ出力装置を説明した。
【0052】
実施の形態2.
実施の形態1においては、低レベルのログを出力する方法であったが、本実施の形態では、変更条件に合致するログデータが入力された際にファイルの世代数を増やす出力設定に変更する例を説明する。
【0053】
ここで、ファイルの世代数について説明する。
本実施の形態で対象にするデータ記憶装置は、所定のデータ容量のファイルを単位にしてデータを記憶している。
そして、本実施の形態に係るログ出力装置は、ファイルの空き容量が無くなった場合に、古いログデータから順に上書きして新しいデータを記憶させる制御を行いながらデータ記憶装置にログデータを出力する。
ファイルの世代数とは、データ記憶装置で管理しているファイルの個数を意味し、世代数が1の場合は、ログ出力装置は、1つのファイルに空き容量が無くなると当該ファイルを消去して新たなファイルに新たなログデータを書き込む。世代数が3の場合は、3つのファイルにおいて空き容量が無くなった段階で1番古いログファイルを消去して、新たなファイルに新たなログデータを書き込めばよく、世代数が増えると維持できるログデータが増える。
【0054】
本実施の形態では、例えば、図14に示す変更設定情報を用いる。
本実施の形態では、世代数が1の出力設定を初期設定とするとともに、出力レベル「高」のログデータが入力された際に、図14の変更設定情報に従って、世代数が3の出力設定に変更する。
なお、いったん増やした世代数は減少させない。
また、本実施の形態においてもログ出力装置10の構成例は、図1に示した通りである。
【0055】
図15は、本実施の形態に係るログ出力装置10がファイルの世代数を増やす際の処理例を示す。
前述のように、出力先であるデータ記憶装置310では、ファイルをローリング方式(一定サイズを越えるとファイルの先頭から書き直し)にて管理する。また、初期設定での世代数は1である。
図15では、高レベルのログデータ(高(1))が入力されるまでは、ログ管理部200は、データ記憶装置310において1つのファイルに空き容量がなくなったら、ファイルの先頭に新たなログデータを上書き保存する。
なお、図15では、「低」レベルのログデータはデータ記憶装置310に出力されないこととしているが、「低」レベルのログデータも出力されるようにしてもよい。
図15では、「高」レベルのログデータ(高(1))が入力された段階で、ログ管理部200は、世代数を3とする出力設定に変更する(「5.2.1:設定(世代=3)」)。
これ以降は、ログ管理部200は、データ記憶装置310において3つのファイルに空き容量がなくなるまで、上書き保存を行わない。
【0056】
「低」レベルのログデータもデータ記憶装置310に出力されるような運用では、「高」レベルのログデータが入力されるまでは、「低」レベルのログデータのみが記憶されるが、「低」レベルのログデータであれば比較的早期に以前のログデータが上書き保存により消去されても問題がない。しかし、「高」レベルのログデータが入力されると、「高」レベルのログデータを長時間維持させることが必要であるため、ファイルの世代数を多くして上書き保存までの時間を長くして、「高」レベルのログデータを長時間維持させる。
【0057】
また、一時的に出力先のファイルを変更し、通常はローリングして上書きされる危険のあるファイルとは別ファイルに保存する場合の処理シーケンスも上記と同様であり、世代数の変わりに出力先のファイル名情報などが渡される。
出力先を変更する場合には、後に初期設定に状態に戻す処理を行う。
つまり、データ記憶装置310が複数個のファイル系統を設けてログデータを記憶できる場合に、ログ管理部200は、変更条件に合致する「高」レベルのログデータが入力される前は、ローリング方式の第1のファイル系統をデータ出力先として指示する初期設定を指定し、「低」レベルのログデータを第1のファイル系統に出力する。
また、ログ管理部200は、「高」レベルのログデータが入力された際に、第1のファイル系統と異なる第2のファイル系統をデータ出力先として指示する新たな出力設定に変更する。第2のファイル系統は、ローリング方式でなく、「高」レベルのログデータ及び「高」レベルのログデータの前後のログデータのみを第2のファイル系統に出力する。
【0058】
このように、本実施の形態では、ログデータの属性に応じて動的にファイルの世代数及びファイル系統を変更するため、重要度の低いログデータのみを入力している場合は、記憶領域の有効利用を図る運用を行い、重要度の高いログデータを入力した場合に、重要度の高いログデータが上書き保存により消去される機会を低減する運用を行う。
【0059】
以上、本実施の形態では、ログ出力要求にて重大エラーなどの高レベルのログ出力がされた場合には、出力先で管理される世代数を増やすことで、ファイルの上書きなどによる情報消失を防止するログ出力装置を説明した。
【0060】
実施の形態3.
本実施の形態では、特定のソース(要求先)からの出力要求があった場合にだけ、ログ出力設定を変える例を説明する。
【0061】
図16は、本実施の形態に係る変更設定情報の例を示す。
本実施の形態に係る変更設定情報では、変更条件としてソース及びメソッドを指定している。
そして、本実施の形態では、ログ管理部200は、該当するソース及びメソッドの表示が含まれるログデータが入力される前は、図3に示す初期設定で規定される出力レベルのログデータを出力対象として選択し(また、初期設定に示される世代数でファイルを管理し)、該当するソース及びメソッドの表示が含まれるログデータが入力された場合に、図16の変更設定に示される出力設定に変更し、変更後の出力設定で規定される出力レベルのログデータを出力対象として選択する(また、変更後の出力設定に示される世代数でファイルを管理する)。
他の動作は、実施の形態1及び実施の形態2に示すとおりである。
【0062】
以上、本実施の形態では、特定のソース、メソッドに関連するログデータを入力した際にログの出力設定を変更するログ出力装置を説明した。
【0063】
なお、以上では、特定のソースからのログデータに対して出力レベルまたは世代数を変更する例を説明したが、特定のソースからのログデータに対して署名、暗号化の有無の設定を変更するようにしてもよい。
【0064】
実施の形態4.
本実施の形態では、ログのメッセージ内容に応じてログ出力設定を変更する別の例を説明する。本実施の形態では、ログデータに特定の識別子が含まれていることを変更条件とする例を説明する。具体的には、例えば、特定の識別子として特定のユーザ名がログデータに含まれているときにはそのログデータが低レベルであっても出力するようにする。
また、本実施の形態では、機密文書が含まれる場合にだけ署名、暗号化を実施するなどをログのメッセージ内容に応じて出力変更する例を説明する。
【0065】
本実施の形態では、例えば、図17に示す形式のログデータを対象とする。
図17(a)は、本実施の形態に係るログデータの構成要素を示し、図17(b)は図17(a)の具体例を示している。
本実施の形態に係るログデータは、例えばCSV形式で作られているとする。
そして、本実施の形態では、ログ解析部100は、例えば、図18に示す抽出条件を保持し、図18の抽出条件に従って、入力したログデータの中からユーザ名に「XYZabc」が含まれるログデータ、文書種類に「機密文書」が含まれるログデータを抽出する。
【0066】
また、本実施の形態では、例えば、図19及び図20に示す変更設定情報を用いる。
図19の変更設定情報では、ユーザ名「XYZabc」を特定の識別子の例としている。
この例では、例えば、出力レベル「高」のログデータのみをデータ記憶装置310への出力対象とする出力設定を初期設定とするとともに、図19の変更設定情報に従って、ユーザ名に「XYZabc」が含まれるログデータがログ解析部100により抽出された際には、ログ管理部200は、当該ログデータに対しては出力設定を変更して、出力レベル「低」のログデータであっても、データ記憶装置310に出力する。
また、図20の変更設定情報では、文書種類「機密文書」を特定の識別子の例としている。
この例では、例えば、ログデータへの電子署名の付与、ログデータの暗号化のいずれも行わない出力設定を初期設定とするとともに、図20の変更設定情報に従って、文書種類に「機密文書」が含まれるログデータがログ解析部100により抽出された際には、ログ管理部200は、当該ログデータに対しては出力設定を変更して、当該ログデータに電子署名を付与し、暗号化を行う。
【0067】
図21は、ログデータに署名、暗号化を行う場合の処理例を示す図である。
ログ管理部200では、ログ解析部100により文書種類に「機密文書」が含まれるログデータがログ解析部100により抽出された際に、署名あり、暗号ありの出力設定に変更し(「1:設定(署名、暗号あり)」)、当該ログデータに対して署名/暗号部500が署名の付与、暗号化を行い、署名、暗号化が行われたログデータがデータ記憶装置310に出力される。
なお、署名/暗号部500は、ソースごとに署名、暗号に用いる鍵を保持しており、入力されたログデータのソース情報をキーにして対応する鍵を抽出し、抽出した鍵を用いて署名、暗号化を行う。
【0068】
以上、本実施の形態では、特定ユーザに関連するログデータを入力した際にログの出力設定を変更するログ出力装置を説明した。
また、本実施の形態では、機密情報に関するログデータを入力した際にログデータに対する署名/暗号の付与を制御可能とするログ出力装置を説明した。
【0069】
実施の形態5.
ログ解析部100は、ログ出力要求に含まれるソース情報をコード化、蓄積し、処理フローのマイニングを行った後、推移確率を算出することが可能である。
推移確率を算出し、ログ情報として渡すことで、推移確率に基づくログ出力設定の変更も可能となる。
つまり、本実施の形態に係るログ出力装置では、ログ解析部100が、APP20から入力したログデータの傾向を解析してログデータの推移確率を算出し、ログ管理部200及び状況依存ログ設定部700は、推移確率において特定の傾向が観測されることを変更条件とし、特定の傾向が観測された際に出力設定を変更する。
また、各ソース情報に対してカウンタを設定することで、一定回数を経過するまで低レベルのログを出力し、以降は中/高レベルに設定変更を行うこともできる。
【0070】
本実施の形態では、ログ出力パターンの推移確率を求め、今後のエラー(高レベルのログ出力)発生予測に基づきログの出力設定を変更可能とするログ出力装置を説明した。
【0071】
実施の形態6.
ログ出力要求の内容だけでなく、CPU温度やHDD残量などの外部状況に応じてログ設定を変更することも可能である。
この場合には、外部状況取得部800がCPU温度やHDD残量等の監視項目を定期的に、または状況変化のイベント通知などにより監視しておき、変更が検出された場合に状況依存ログ設定部700に対して通知を行う。
このときの通知条件として閾値を用いて実施してもよい。例えば、HDD残量が2GB台から1GB台に減ったときに通知を行う等である。
状況依存ログ設定部700は、監視項目に対する変更設定を管理し、例えばHDD残量が1GB台になったらログ出力のレベルを高にするといった出力設定の変更を行う。またはHDD残量がなくなってきたのでログ出力を停止する旨のログ出力設定を実施したのち、APPからのログデータの入力を停止するなどの処理を行う。
【0072】
実施の形態7.
実施の形態1〜6で示した変更条件のうち複数の条件が重って該当する場合には、変更設定を、例えば、以下の基準により算出することができる。
1)変更設定の最大値/平均値/最小値
2)多次元のマトリックスによる指定
3)n次の方程式などの計算式
また、優先度を設定し、特定の条件が該当したらその指定を最優先するなどの設定にしてもよい。
【0073】
最後に、実施の形態1〜7に示したログ出力装置10のハードウェア構成例について説明する。
図22は、実施の形態1〜7に示すログ出力装置10のハードウェア資源の一例を示す図である。
なお、図22の構成は、あくまでもログ出力装置10のハードウェア構成の一例を示すものであり、ログ出力装置10のハードウェア構成は図22に記載の構成に限らず、他の構成であってもよい。
【0074】
図22において、ログ出力装置10は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜7で説明した「初期設定情報記憶部210」、「変更設定情報記憶部710」は、RAM914、磁気ディスク装置920等により実現される。また、「データ記憶装置310」は、例えば、磁気ディスク装置920により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0075】
通信ボード915は、例えば、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていても構わない。
【0076】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
APP20とログ出力装置10が同一マシン上にある場合は、APP20はプログラム群923に含まれる。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0077】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0078】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
ログ出力装置10の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0079】
上記プログラム群923には、実施の形態1〜7の説明において「〜部」(「初期設定情報記憶部210」、「変更設定情報記憶部710」以外)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0080】
ファイル群924には、実施の形態1〜7の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の確認」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
また、実施の形態1〜7で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0081】
また、実施の形態1〜7の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜7の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜7の「〜部」の手順や方法をコンピュータに実行させるものである。
【0082】
このように、実施の形態1〜7に示すログ出力装置10は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【0083】
10 ログ出力装置、20 APP、100 ログ解析部、110 キャッシュ、200 ログ管理部、210 初期設定情報記憶部、300 出力先管理部、310 データ記憶装置、400 フォーマット管理部、500 署名/暗号部、600 レベル管理部、700 状況依存ログ設定部、710 変更設定情報記憶部、800 外部状況取得部。
【技術分野】
【0001】
本発明は、例えば、システムの障害発生時の解析や、内部統制に利用されるログの出力方式に関し、特に、ログの出力設定を動的に変更するシステムに関する。
【背景技術】
【0002】
従来のログ出力方式では、ログの出力先および世代の指定、レベル指定(最低〜最高)、フォーマットの指定などを行うことが可能であり、出力先に関しては、ディスク残容量を監視し閾値を下回った場合に出力先を切り替えるといった仕組みがある(例えば、特許文献1)。
【0003】
また、発生するエラー情報を分類し、各エラーの発生回数を閾値で持って管理し、条件に合致する場合には、通報などのアクションを実行するといった仕組みがある(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−34416号公報
【特許文献2】特開平07−262054号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来のログ管理方式においては、予め定めた容量のファイル、HDD(Hard Disc Drive)領域をログ出力用に使いまわすため、実際にシステム障害が発生した場合に、障害発生時からの時間経過が大きいときに、障害時の情報が、新しいログデータに上書きされて消えているといった課題がある。
また、ログの出力レベルとして全てのログデータをHDDに出力する設定にすると、ファイルへの書き込み処理などの時間がシステム性能に影響を及ぼすという課題がある。
一方で、最重要のログデータのみをHDDに出力する設定にすると、障害発生した際に、最重要のログデータ以外のログデータが解析に必要であっても、最重要のログデータしか残っていないため、解析が困難であるという課題がある。
例えば、最重要のログデータしか残っていないため、全ログデータを用いて発生事象を再現することができないという課題がある。
【0006】
本発明は、上記のような課題を解決することを主な目的の一つとしており、データの属性に応じて動的にデータの出力設定を変更し、効率的にデータを記録することを主な目的とする。
【課題を解決するための手段】
【0007】
本発明に係るデータ処理装置は、
データを順次入力するデータ入力部と、
データ記憶装置に接続され、指定された出力設定に従って、前記データ入力部により入力されたデータを前記データ記憶装置へ出力するデータ出力部と、
前記データ入力部により入力されたデータが出力設定の変更条件に合致するか否かを判断し、入力されたデータが前記変更条件に合致する場合に、前記データ出力部の出力設定を変更する出力設定変更部とを有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、データの属性に応じて動的にデータの出力設定を変更するため、出力対象を重要度の高いデータに制限して書き込み処理時間の短縮及び書き込み先となる記憶領域の有効利用を図りながら、重要度の高いデータの入力を契機に重要度の高いデータとの関連性が強いデータも出力する出力設定に変更することができ、障害時等の解析処理及び再現処理に有用なデータを確保することができる。
【図面の簡単な説明】
【0009】
【図1】実施の形態1〜7に係るログ出力装置の構成例を示す図。
【図2】実施の形態1に係るログデータの例を示す図。
【図3】実施の形態1に係る初期設定の例を示す図。
【図4】実施の形態1に係るログ出力の例を示す図。
【図5】実施の形態1に係る変更条件と変更設定の例を示す図。
【図6】実施の形態1に係る変更条件と変更設定の例を示す図。
【図7】実施の形態1に係るログ出力装置の動作例を示すフローチャート図。
【図8】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図9】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図10】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図11】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図12】実施の形態1に係るログ出力装置の動作例を示すシーケンス図。
【図13】実施の形態1に係る出力レベルの設定プログラムの例を示す図。
【図14】実施の形態2に係る変更条件と変更設定の例を示す図。
【図15】実施の形態2に係るログ出力装置の動作例を示すシーケンス図。
【図16】実施の形態3に係る変更条件と変更設定の例を示す図。
【図17】実施の形態4に係るログデータの例を示す図。
【図18】実施の形態4に係る抽出条件の例を示す図。
【図19】実施の形態4に係る変更条件と変更設定の例を示す図。
【図20】実施の形態4に係る変更条件と変更設定の例を示す図。
【図21】実施の形態4に係るログ出力装置の動作例を示すシーケンス図。
【図22】実施の形態1〜7に係るログ出力装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【0010】
実施の形態1.
本実施の形態及び以降の実施の形態では、ログデータの属性、システム上のアプリケーションの動作や外部要因によりログデータの出力設定を動的に変更することで、障害発生時のログデータを確実に採取・保存するとともに、ログ設定を最適化していくシステムを説明する。
出力設定とは、出力レベルの設定、世代の設定、ログ出力先の設定、署名の有無の設定、暗号化の有無の設定等である。
本実施の形態では、出力設定の変更として、出力レベルの設定を変更する例について説明し、以降の実施の形態において、世代の設定の変更、ログ出力先の設定の変更、署名の有無の設定、暗号化の有無の設定について説明する。
【0011】
先ず、出力レベルの設定について説明する。
本実施の形態で扱うログデータには出力レベルが指定されている。出力レベルは、優先度と同義であり、例えば、「高」、「低」の2段階のうちのいずれかのレベルが指定されていたり、「高」、「中」、「低」の3段階のうちのいずれかのレベルが指定されている。また、より多段階の出力レベルを用いてもよい。
本実施の形態に係るログ出力装置には、出力レベルの設定がなされている。
例えば、出力レベルが「高」と「低」の2段階の場合に、出力レベル「高」のログデータのみを出力するという設定がなされているときは、ログ出力装置は順次入力したログデータのうち出力レベル「高」が表示されているログデータのみを選択してデータ記憶装置に出力する。
そして、本実施の形態に係るログ出力装置は、入力したログデータの属性を解析して、入力したログデータが出力設定の変更条件に合致するか否かを判断し、入力したログデータが出力設定の変更条件に合致している場合は、例えば、出力レベルの設定を「低」に変更する。出力レベルの設定の変更後は、出力レベル「高」又は「低」のログデータのみを選択してデータ記憶装置に出力する。
【0012】
図1に、本実施の形態に係るログ出力装置を含むシステム構成例を表すブロック図を示す。
【0013】
本実施の形態に係るログ出力装置10(データ処理装置)は、アプリケーションプログラム20(以下、APP20と表記する)からログデータを入力し、入力したログデータを出力設定に従ってデータ記憶装置310に出力し、データ記憶装置310にログデータを記憶させる。
APP20は、ネットワークによりログ出力装置10と接続されている別装置で動作するアプリケーションプログラムでもよいし、ログ出力装置10と同一マシン上で動作するアプリケーションプログラムでもよい。APP20は単一の実行ファイルから業務システムといった大規模なものを含む。
また、データ記憶装置310も、ネットワークによりログ出力装置10と接続されている記憶装置でもよいし、ログ出力装置10と同一マシン上で動作する記憶装置でもよい。
【0014】
ログ出力装置10には、ログ解析部100、ログ管理部200、出力先管理部300、フォーマット管理部400、署名/暗号部500、レベル管理部600、状況依存ログ設定部700、外部状況取得部800、キャッシュ110、初期設定情報記憶部210、変更設定情報記憶部710が含まれる。
【0015】
ログ解析部100は、複数段階の出力レベル(優先度)のうちのいずれかの出力レベルが指定されているログデータを順次入力する。ログ解析部100は、データ入力部の例である。
また、ログ解析部100は、ログデータの内容からログデータの出力設定の変更に係る情報として、出力レベル/同一処理回数/推移確率/引数情報などを抽出する。
また、ログ解析部100は、状況依存ログ設定部700に対して上記設定変更に係る情報の通知を行う。
また、ログ解析部100は、ログ管理部200に対する設定変更要求、キャッシュ110へのログデータのストア及びキャッシュ110からのログデータのロードを行う。
また、ログ解析部100は、ログ管理部200へのログ出力要求を行う。
【0016】
図2は、ログ解析部100が入力するログデータの例を示す。図2では、12月13日に、名古屋において、ユーザ:ABCDEFがドライブ中であることを通知するログデータを示している。
なお、図2に示すログデータの[ABC:main:18]は、呼び出し元のクラス名、メソッド名、行番号を表しており、ABCクラス、mainメソッド、18行目を示している。
また、「低」は出力レベルを表しており、図2のログデータの出力レベルは「低」である。
また、図2において、「000」は正常を表す状況コードを示す。また、エラーを示す状況コードは「100」とする。
以降、本実施の形態では、出力レベルは「高」と「低」のみをとり、正常時のログデータ(状況コードが「000」のログデータ)は出力レベルが「低」とし、エラー時のログデータ(状況コードが「100」のログデータ)は出力レベルが「高」とする例を説明する。
このような例では、APP20では、例えば、図13に例示するプログラムにより、正常時のログデータの出力レベルを「低」に指定し、エラー時のログデータの出力レベルを「高」に指定する。
なお、前述したように、出力レベルは、より多段階でもよい。また、どういった状況をどのレベルにマッピングさせるかは、アプリケーション、システムまたはプロジェクトの方針となる。
【0017】
キャッシュ110は、ログ解析部100により入力されたログデータであってデータ記憶装置310への出力が未実施のログデータを格納する。
キャッシュ110は、データ格納部の例である。
なお、以降の説明では、キャッシュ110は1つのログデータのみを格納可能であるとする。
【0018】
ログ管理部200は、ログデータの出力設定の変更条件に合致するログデータ(条件合致データ)が入力される前は、出力設定として所定の出力レベル(第1のレベル以上の優先度)が指定されているログデータの出力を指示する初期設定(第1の出力設定)を指定し、ログデータの出力設定の変更条件に合致するログデータが入力された際に、初期設定と異なる出力レベル(第2のレベル以上の優先度)が指定されているログデータの出力を指示する新たな出力設定(第2の出力設定)に変更する。
そして、初期設定が指定されている場合は、ログ解析部100により入力されたログデータのうち初期設定で示されている出力レベルが指定されているログデータを選別してデータ記憶装置310へ出力し、新たな出力設定が指定された場合に、ログ解析部100により入力されたログデータのうち新たな出力設定で示されている出力レベルが指定されているログデータを選別してデータ記憶装置310へ出力する。
ログ管理部200は、出力設定変更部及びデータ出力部の例である。
上記の動作を行うに当たり、ログ管理部200は、初期設定に基づく初期化処理、ログデータの出力設定の変更受付、レベル管理、フォーマット管理、出力先管理の初期設定、ログのレベル確認から出力までの制御を行う。
【0019】
初期設定情報記憶部210は、ログデータの出力設定の初期設定を示す初期設定情報を記憶する。
図3は、初期設定情報記憶部210に記憶されている初期設定情報の例を示している。
図3の初期設定では、出力レベル「高」のログデータのみを選択して出力することが示されている。
また、世代は1であり、署名及び暗号化は行われない。世代の意味については、実施の形態2で説明する。
【0020】
出力先管理部300は、設定に基づくファイル、コンソールなどへのログ出力制御、出力ファイルの世代管理(ローリング指定など)、出力ファイルの最大サイズの管理を行う。
【0021】
フォーマット管理部400は、ログ出力項目の形式(テキスト、XML等)、ログ出力項目の成形(出力順の制御、形式や文字列の連結等の操作を含む)、ログ出力項目の出力可否の制御(日付を出力する/しない等)を行う。
【0022】
署名/暗号部500は、ログ出力項目に対して署名の添付(認証値生成処理)、暗号化処理を実施する。なお、対象項目や署名、暗号に基づく鍵については設定に基づく。
なお、署名/暗号部500の詳細は、実施の形態4において説明する。
【0023】
レベル管理部600は、出力するログに指定されたレベル情報と出力許可されたレベルを比較判定する。
【0024】
状況依存ログ設定部700は、ログデータの出力設定の変更条件に合致するログデータが入力されたか否かを判断し、ログデータの出力設定の変更条件に合致するログデータが入力された場合に、新たな出力設定を決定する。
状況依存ログ設定部700は、ログ管理部200とともに出力設定変更部を構成する。
なお、本実施の形態では、状況依存ログ設定部700は、ログデータの解析(出力レベルの解析)に基づいて出力設定の変更の有無を判断するが、外部状況取得部800が得た情報、キャッシュの容量、時間経過および予め設定された変更設定の情報に基づき、ログ出力の設定を変更する/しないの判定(キャッシュの容量、時間経過は基本的に変更した設定を元に状態に戻す場合に用いる)を行うことも可能である。なお、出力レベル析以外の要素を用いる例は、実施の形態6等で説明する。
【0025】
変更設定情報記憶部710は、出力設定の変更条件及び変更後の出力設定を示す変更設定情報を記憶する。
図5は、変更設定情報記憶部710に記憶されている変更設定情報の例を示している。
図5では、変更条件が「高」であり、変更設定が「低」である。
この例では、出力レベルが「高」のログデータが入力された場合には、ログ管理部200及び状況依存ログ設定部700は、出力レベルが「低」のログデータもデータ記憶装置310に出力する旨の出力設定に変更する。
つまり、出力レベルが「低」のログデータが入力されている間は、初期設定のままなので、データ記憶装置310にログデータが出力されず、出力レベルが「高」のログデータが入力された段階でログ管理部200及び状況依存ログ設定部700が出力設定を変更し、出力レベルが「高」のログデータのみならず、出力レベルが「低」のログデータも出力されることになる。
そして、本実施の形態では、出力レベルが「高」のログデータが入力された時点でキャッシュ110に蓄積されている先行するログデータも(出力レベルが「低」であっても)データ記憶装置310に出力される。
【0026】
また、図6は、変更設定情報記憶部710に記憶されている他の変更設定情報の例を示している。
図6(a)〜(c)は、図5の変更設定情報により出力設定が変更された後に、出力設定を元に戻すための基準が示されている。なお、実際の運用においては、図6(a)〜(c)のうちのいずれかが用いられる。
図6(a)では、出力レベルが「低」のログデータがキャッシュ110で格納可能なログデータの個数+1個に相当する回数連続して入力されたことを変更条件とし、当該変更条件に合致した場合に出力レベルが「高」のログデータのみの出力を指示する出力設定に変更する。本実施の形態では、キャッシュ110は1つのログデータを格納可能なので、出力レベルが「低」のログデータが2回連続して入力された場合に出力設定が初期設定に戻される。
また、図6(b)では、出力レベルが「低」のログデータが5回連続して入力されたことを変更条件とし、当該変更条件に合致した場合に出力レベルが「高」のログデータのみの出力を指示する出力設定に変更する(初期設定に戻す)。
また、図6(c)では、出力レベルが「低」のログデータが10分間連続して入力されたことを変更条件とし、当該変更条件に合致した場合に出力レベルが「高」のログデータのみの出力を指示する出力設定に変更する(初期設定に戻す)。
【0027】
外部状況取得部800は、CPU(Central Processing Unit )温度、HDD(Hard Disk Drive)残量など指定のハードウェアの状態の監視および状況依存ログ設定部700への通知を行う。
外部状況取得部800は、状態監視部の例である。
なお、外部状況取得部800を用いる例は、実施の形態6において説明する。
【0028】
次に、図7のフローチャートを用いて、本実施の形態に係るログ出力装置10の動作例を説明する。
【0029】
所定の初期化処理が終了した後、ログ解析部100がAPP20からのログ出力要求を受信する(S701)。
ログ出力要求には、ログデータと当該ログデータのデータ記憶装置310への出力を要求するコマンドが含まれる。
【0030】
次に、ログ解析部100はログ出力要求に含まれているログデータの出力レベルを状況依存ログ設定部700に通知し、状況依存ログ設定部700がログデータを解析し、当該ログデータの属性が変更条件に合致しているか否かを判断する。より具体的には、状況依存ログ設定部700は、入力されたログデータの出力レベルの解析を行って、入力されたログデータの出力レベルが変更条件に示されている出力レベルに合致するか否かを判断する(S702)。
そして、ログデータが変更条件に合致している場合(S703でYES)は、状況依存ログ設定部700は変更後の出力設定をログ解析部100を介してログ管理部200に通知し、ログ管理部200が出力設定を変更する(S704)。
例えば、初期設定(図3)において運用されている状況において出力レベルが「高」のログデータが入力された場合は、図5に示す変更設定情報の変更条件に合致し、状況依存ログ設定部700は、出力レベルが「低」のログデータも出力対象とする出力設定への変更をログ管理部200に通知し、ログ管理部200が出力設定を変更する。
また、例えば、図5の変更設定情報に従って出力設定が変更されている状況において出力レベルが「低」のログデータが2回続けて入力された場合は、図6(a)に示す変更設定情報の変更条件に合致し、状況依存ログ設定部700は、出力レベルが「高」のログデータのみを出力対象とする出力設定への変更をログ管理部200に通知し、ログ管理部200が出力設定を変更する。
一方、変更条件に合致していない場合(S703でNO)は、処理をS705に進める。
【0031】
次に、ログ解析部100がキャッシュ110の容量確認を行う(S705)。
容量確認の結果、キャッシュ110に空きがあれば(S706でYES)、処理をS712に進め、ログ解析部100は入力したログデータをキャッシュ110に格納する。
一方、キャッシュ110に空きがなければ(S706でNO)、処理をS707に進める。
【0032】
S707では、ログ解析部100はキャッシュ110からログデータをロードする。
そして、ログ管理部200が、キャッシュ110からロードされたログデータの出力レベルと出力設定で出力対象として指示されている出力レベルとを比較し、キャッシュ110からロードされたログデータの出力レベルが出力設定で指示されている出力レベルに合致するか否かを判断する(S708)。
キャッシュ110からロードされたログデータの出力レベルが出力設定で指示されている出力レベルに合致する場合は、当該ログデータは出力対象となるので(S709でYES)、ログ管理部200は当該ログデータをデータ記憶装置310に出力する(S710)。
一方、キャッシュ110からロードされたログデータの出力レベルが出力設定で指示されている出力レベルに合致しない場合は、当該ログデータは出力対象とならないので(S709でNO)、ログ管理部200は当該ログデータを破棄する(S711)。
【0033】
最後に、ログ解析部100は、ステップS701において入力したログデータをキャッシュ110に格納する(S712)。
【0034】
なお、ステップS701で入力されたログデータはステップS712でキャッシュ110に格納されるまでの間は、ログ解析部100に割り当てられているバッファメモリ等に一時的に蓄積しておく。
また、ステップS707でロードされたログデータはステップS710でデータ記憶装置310に出力されるまで又はステップS711で破棄されるまでの間は、ログ管理部200に割り当てられているバッファメモリ等に一時的に蓄積しておく。
【0035】
以上の動作例を前提して、ログ出力装置10の動作を図8〜図12のシーケンス図を用いて具体的に説明する。
図8〜図12においては、出力レベルが「低」の1つ目のログデータ(低(1)と表記)、出力レベルが「低」の2つ目のログデータ(低(2)と表記)、出力レベルが「高」のログデータ(高(1)と表記)、出力レベルが「低」の3つ目のログデータ(低(3)と表記)、出力レベルが「低」の4つ目のログデータ(低(4)と表記)の順に入力される例を説明する。
【0036】
先ず、図8に示すように、APP20は、ログの初期化「1:初期化」を実施し、APP20用のログのインスタンス(または相当品)を取得する。
ログ解析部100は、初期化要求「1:初期化」を受けて、接続する各部に対して初期化要求を実施する(1.1:初期化〜1.3:初期化)。
本実施の形態の初期設定では、図3に示すように「高」レベルの出力を指示する出力設定である。なお、世代数、署名の有無、暗号の有無についても初期化処理において設定を行うが、図8では図示を省略している。
【0037】
次に、図9に示すように、APP20は、ログ解析部100に対してログ出力要求を出力する(「3:ログ出力要求(低(1))」)。ここでは、ログデータ(低(1))が含まれるログ出力要求が出力される。
APP20は、例えばJava(登録商標)のAPI(Application Programming Interface)によりログ解析部100に対してログ出力要求を行う。
なお、本例ではセッションとログ出力装置10との対応をAPP20側にて管理することを想定している。ログ出力装置10側で管理する場合には、上記にセッション識別子が加わる。
【0038】
ログ解析部100はログ出力要求を受信し、ログ出力要求からログ設定変更に係る情報として出力レベルが示されるレベル情報を抽出する。抽出する項目は複数存在してもよく、予めQUERY式などで指定を行っておく。QUERY式はXML(Extensible Markup Language)に対するXPATH式、またはSQLのSELECT式、またはsubstringなどの関数式に相当するものを用いる。
また、ログ解析部100は、状況依存ログ設定部700に対してログの設定変更の必要の有無について問い合わせを行うために、ログ情報(レベル情報)を通知する(「3.1:ログ情報(低(1))」)。
【0039】
状況依存ログ設定部700は、ログ解析部100からのログ情報(レベル情報)に示される出力レベルが変更条件に合致するか否かの判断を行うが、入力されたログデータ(低(1))の出力レベルは「低」であるため、図5の変更条件に合致せず、状況依存ログ設定部700は出力設定の変更を通知しない。
【0040】
次に、ログ解析部100は、キャッシュ110の容量確認を行い(「3.2:容量確認」)、保存領域の空きがある場合にはログデータをキャッシュ110に出力し、キャッシュ110がログデータを保存する(「3.3:保存(低(1))」)。入力されたログデータ(低(1))は最初のログデータであるので、キャッシュ110は空であり、ログデータ(低(1))はそのままキャッシュ110に格納される。
【0041】
次に、ログデータ(低(2))が含まれるログ出力要求がAPP20から出力される(「4:ログ出力要求(低(2))」)。
上記と同様に、ログ解析部100から状況依存ログ設定部700にログ情報(レベル情報)が通知され(「4.1:ログ情報(低(2))」)、状況依存ログ設定部700は出力レベルが「低」であるので、出力設定の変更を指示しない。
また、ログ解析部100は、キャッシュ110の容量確認を行う(「4.2:容量確認」)。
この時点では、キャッシュ110にログデータ(低(1))が格納されているので、キャッシュ110に空きがない。
この場合には、ログ解析部100は、キャッシュ110から蓄積されているログデータ(低(1))を取得(「4.3:ロード」)して、ログ管理部200に対してログ出力要求を行う(「4.4:ログ出力(低(1))」))。
前述したように、本例ではキャッシュ110に格納できる情報はログデータ1個分としている。
【0042】
なお、キャッシュ110からのログデータの取得は、上記のようにAPP20からのログ出力要求の延長で容量確認を行い容量に空きがない場合にロード(ログの取得)するようにしてもよいし、タイマーなどにより定期的に容量確認を行い容量に空きがない場合にロード(ログの取得)するようにしてもよい。また、上記の2つの方法を併用してもよい。
【0043】
ログ管理部200では、「4.4:ログ出力(低(1))」により通知されたログデータの出力レベルの指定が「低」であるため、初期設定の出力指示である出力レベル「高」に合致せず(「4.4.1レベル確認」、FALSE)、当該ログデータ(低(1))は破棄される。
その後、ログ解析部100が、入力したログデータ(低(2))をキャッシュ110に格納する(「4.5:保存(低(2))」)。
【0044】
次に、図10に示すように、ログデータ(高(1))が含まれるログ出力要求がAPP20から出力される(「5:ログ出力要求(高(1))」)。
図9の場合と同様に、ログ解析部100から状況依存ログ設定部700にログ情報(レベル情報)が通知され(「5.1:ログ情報(高(1))」)、出力レベルが「高」であるので図5の変更条件に合致し、状況依存ログ設定部700は出力設定の変更を通知する。この場合は、出力レベル「低」のログデータも出力対象とする出力設定に変更するよう通知する(「変更設定(レベル=低)」)。
ログ解析部100では、出力レベル「低」の出力を許可する新規のログ設定情報をログ管理部200に通知し、設定変更要求を行う(「5.2設定変更要求」)。
ログ管理部200では、出力レベル「低」のログデータも出力対象とする出力設定に変更する(「5.2.1:設定(レベル=低)」)。
【0045】
次に、ログ解析部100は、キャッシュ110の容量確認を行う(「5.3:容量確認」)。
この時点では、キャッシュ110にログデータ(低(2))が格納されているので、キャッシュ110に空きがない。
この場合には、ログ解析部100は、キャッシュ110から蓄積されているログデータ(低(2))を取得(「5.4:ロード」)して、ログ管理部200に対してログ出力要求を行う(「5.5:ログ出力(低(2))」))。
ログ管理部200では、新たな出力設定においての出力レベルは「低」として再設定されているため、ログデータ(低(2))は出力の対象となり(「5.5.1レベル確認」、TRUE)、出力先管理部300にまで渡され、データ記憶装置310へ書き出される(「5.5.3:ログ出力(低(2))。
その後、ログ解析部100が、入力したログデータ(高(1))をキャッシュ110に格納する(「5.6:保存(高(1))」)。
【0046】
次に、図11に示すように、ログデータ(低(3))が含まれるログ出力要求がAPP20から出力される(「6:ログ出力要求(低(3))」)。
図9及び図10の場合と同様に、ログ解析部100から状況依存ログ設定部700にログ情報(レベル情報)が通知される(「6.1:ログ情報(低(3))」)。ここでは、図6(a)に示される基準にて出力設定の変更の要否を判断するものとする。図6(a)の基準では、キャッシュ110のログデータの格納個数+1個分の「低」レベルのログデータが連続して入力されたこと(つまり、「低」レベルのログデータが2回連続して入力されたこと)を変更条件としている。ログデータ(低(3)が入力された時点では、「低」レベルのログデータは1回しか入力されていないので、変更条件に合致せず、状況依存ログ設定部700は出力設定の変更を指示しない。
また、ログ解析部100は、キャッシュ110の容量確認を行う(「6.2:容量確認」)。
この時点では、キャッシュ110にログデータ(高(1))が格納されているので、キャッシュ110に空きがない。
この場合には、ログ解析部100は、キャッシュ110から蓄積されているログデータ(高(1))を取得(「6.3:ロード」)して、ログ管理部200に対してログ出力要求を行う(「6.4:ログ出力(高(1))」)。
ログ管理部200では、現在の出力設定における出力レベルは「低」であるため、ログデータ(高(1))は出力の対象となり(「6.4.1レベル確認」、TRUE)、出力先管理部300にまで渡され、データ記憶装置310へ書き出される(「6.4.3:ログ出力(高(1))。
その後、ログ解析部100が、入力したログデータ(低(3))をキャッシュ110に格納する(「6.5:保存(低(3))」)。
【0047】
次に、図12に示すように、ログデータ(低(4))が含まれるログ出力要求がAPP20から出力される(「7:ログ出力要求(低(4))」)。
図9、図10及び図11の場合と同様に、ログ解析部100から状況依存ログ設定部700にログ情報(レベル情報)が通知される(「7.1:ログ情報(低(4))」)。図6(a)の基準では、「低」レベルのログデータが2回連続して入力されたことを変更条件としており、ログデータ(低(4))が入力された時点で、「低」レベルのログデータが2回連続して入力されたことになるので、図6(a)の変更条件に合致し、状況依存ログ設定部700は出力設定の変更を指示する。
この場合は、出力レベル「高」のログデータのみを出力対象とする出力設定に変更するよう通知する(「変更設定(レベル=高)」)。
ログ解析部100では、出力レベル「高」の出力のみを許可するログ設定情報をログ管理部200に通知し、設定変更要求を行う(「7.2設定変更要求」)。
ログ管理部200では、出力レベル「高」のログデータのみを出力対象とする出力設定に変更する(「7.2.1:設定(レベル=高)」)。これにより、出力設定が初期設定に戻されたことになる。
【0048】
次に、ログ解析部100が、キャッシュ110の容量確認を行う(「7.3:容量確認」)。
この時点では、キャッシュ110にログデータ(低(3))が格納されているので、キャッシュ110に空きがない。
この場合には、ログ解析部100は、キャッシュ110から蓄積されているログデータ(低(3))を取得(「7.4:ロード」)して、ログ管理部200に対してログ出力要求を行う(「7.5:ログ出力(低(3))」)。
ログ管理部200では、「7.5:ログ出力(低(3))」により通知されたログデータの出力レベルの指定が「低」であるため、初期設定の出力指示である出力レベル「高」に合致せず(「7.5.1レベル確認」、FALSE)、当該ログデータ(低(3))は破棄される。
その後、ログ解析部100が、入力したログデータ(低(4))をキャッシュ110に格納する(「7.6:保存(低(4))」)。
【0049】
このように、変更条件に合致するログデータが入力される前は、出力レベル「高」が指定されているログデータのみを出力対象とする初期設定に従い、変更条件に合致するログデータであるログデータ(高(1))が入力された際に出力レベル「低」が指定されているログデータも出力対象に含める出力設定に変更しているので、ログデータ(高(1))の入力前にキャッシュ110に格納されているログデータ(低(2))も出力対象となる。
さらに、ログデータ(低(3))、ログデータ(低(4))と2回連続して低レベルのログデータが入力された段階で、出力設定を初期設定に戻しているので、ログデータ(低(3))はデータ記憶装置310に出力される。
このため、データ記憶装置310には、例えば、図4に示すように、正常(「000」)を示す「低」レベルのログデータ(ログデータ(低(2))に相当)と、エラー(「001」)を示す「高」レベルのログデータ(ログデータ(高(1))に相当)と、正常(「000」)を示す「低」レベルのログデータ(ログデータ(低(3))に相当)が順次出力されることになる。
なお、図4では、図2のログデータに対して時刻情報(2008−12−13 14:00:00等)が追加されているが、この時刻情報はフォーマット管理部400で追加される。
【0050】
このように、本実施の形態によれば、通常は高レベルのログデータのみと出力しているが、エラー等の高レベルのログデータが発生する前後だけ、低レベルのログデータも含め出力することが可能となる。
つまり、本実施の形態では、ログデータの属性に応じて動的にログデータの出力設定を変更するため、出力対象を重要度の高いログデータに制限して書き込み処理時間の短縮及び書き込み先となる記憶領域の有効利用を図りながら、重要度の高いログデータの入力を契機に重要度の高いログデータとの関連性が強いログデータも出力する出力設定に変更することができ、障害時等の解析処理及び再現処理に有用なデータを確保することができる。
また、重要度の高いログデータと重要度の高いログデータとの関連性が強いログデータに限定して記憶するため、上書きにより重要度の高いログデータが消去される可能性を低減することができる。
【0051】
以上、本実施の形態では、
ログ出力要求の内容を解析するログ解析部、
ログ出力の設定および実行管理を行うログ管理部、
ログの出力先および世代数の管理を行う出力先管理部、
ログを指定のフォーマットに成形するフォーマット管理部、
ログに対して署名/暗号を付与する署名/暗号部、
ログ出力の可否をレベルにて管理するレベル管理部、
ログ出力内容や外部状況による条件に応じてログ設定を変更する状況依存ログ設定部、
外部装置およびシステムの監視および状況変化の通知を行う外部状況取得部
を備え、ログ出力要求や外部状況に応じてログの出力設定を動的に変更するログ出力装置を説明した。
【0052】
実施の形態2.
実施の形態1においては、低レベルのログを出力する方法であったが、本実施の形態では、変更条件に合致するログデータが入力された際にファイルの世代数を増やす出力設定に変更する例を説明する。
【0053】
ここで、ファイルの世代数について説明する。
本実施の形態で対象にするデータ記憶装置は、所定のデータ容量のファイルを単位にしてデータを記憶している。
そして、本実施の形態に係るログ出力装置は、ファイルの空き容量が無くなった場合に、古いログデータから順に上書きして新しいデータを記憶させる制御を行いながらデータ記憶装置にログデータを出力する。
ファイルの世代数とは、データ記憶装置で管理しているファイルの個数を意味し、世代数が1の場合は、ログ出力装置は、1つのファイルに空き容量が無くなると当該ファイルを消去して新たなファイルに新たなログデータを書き込む。世代数が3の場合は、3つのファイルにおいて空き容量が無くなった段階で1番古いログファイルを消去して、新たなファイルに新たなログデータを書き込めばよく、世代数が増えると維持できるログデータが増える。
【0054】
本実施の形態では、例えば、図14に示す変更設定情報を用いる。
本実施の形態では、世代数が1の出力設定を初期設定とするとともに、出力レベル「高」のログデータが入力された際に、図14の変更設定情報に従って、世代数が3の出力設定に変更する。
なお、いったん増やした世代数は減少させない。
また、本実施の形態においてもログ出力装置10の構成例は、図1に示した通りである。
【0055】
図15は、本実施の形態に係るログ出力装置10がファイルの世代数を増やす際の処理例を示す。
前述のように、出力先であるデータ記憶装置310では、ファイルをローリング方式(一定サイズを越えるとファイルの先頭から書き直し)にて管理する。また、初期設定での世代数は1である。
図15では、高レベルのログデータ(高(1))が入力されるまでは、ログ管理部200は、データ記憶装置310において1つのファイルに空き容量がなくなったら、ファイルの先頭に新たなログデータを上書き保存する。
なお、図15では、「低」レベルのログデータはデータ記憶装置310に出力されないこととしているが、「低」レベルのログデータも出力されるようにしてもよい。
図15では、「高」レベルのログデータ(高(1))が入力された段階で、ログ管理部200は、世代数を3とする出力設定に変更する(「5.2.1:設定(世代=3)」)。
これ以降は、ログ管理部200は、データ記憶装置310において3つのファイルに空き容量がなくなるまで、上書き保存を行わない。
【0056】
「低」レベルのログデータもデータ記憶装置310に出力されるような運用では、「高」レベルのログデータが入力されるまでは、「低」レベルのログデータのみが記憶されるが、「低」レベルのログデータであれば比較的早期に以前のログデータが上書き保存により消去されても問題がない。しかし、「高」レベルのログデータが入力されると、「高」レベルのログデータを長時間維持させることが必要であるため、ファイルの世代数を多くして上書き保存までの時間を長くして、「高」レベルのログデータを長時間維持させる。
【0057】
また、一時的に出力先のファイルを変更し、通常はローリングして上書きされる危険のあるファイルとは別ファイルに保存する場合の処理シーケンスも上記と同様であり、世代数の変わりに出力先のファイル名情報などが渡される。
出力先を変更する場合には、後に初期設定に状態に戻す処理を行う。
つまり、データ記憶装置310が複数個のファイル系統を設けてログデータを記憶できる場合に、ログ管理部200は、変更条件に合致する「高」レベルのログデータが入力される前は、ローリング方式の第1のファイル系統をデータ出力先として指示する初期設定を指定し、「低」レベルのログデータを第1のファイル系統に出力する。
また、ログ管理部200は、「高」レベルのログデータが入力された際に、第1のファイル系統と異なる第2のファイル系統をデータ出力先として指示する新たな出力設定に変更する。第2のファイル系統は、ローリング方式でなく、「高」レベルのログデータ及び「高」レベルのログデータの前後のログデータのみを第2のファイル系統に出力する。
【0058】
このように、本実施の形態では、ログデータの属性に応じて動的にファイルの世代数及びファイル系統を変更するため、重要度の低いログデータのみを入力している場合は、記憶領域の有効利用を図る運用を行い、重要度の高いログデータを入力した場合に、重要度の高いログデータが上書き保存により消去される機会を低減する運用を行う。
【0059】
以上、本実施の形態では、ログ出力要求にて重大エラーなどの高レベルのログ出力がされた場合には、出力先で管理される世代数を増やすことで、ファイルの上書きなどによる情報消失を防止するログ出力装置を説明した。
【0060】
実施の形態3.
本実施の形態では、特定のソース(要求先)からの出力要求があった場合にだけ、ログ出力設定を変える例を説明する。
【0061】
図16は、本実施の形態に係る変更設定情報の例を示す。
本実施の形態に係る変更設定情報では、変更条件としてソース及びメソッドを指定している。
そして、本実施の形態では、ログ管理部200は、該当するソース及びメソッドの表示が含まれるログデータが入力される前は、図3に示す初期設定で規定される出力レベルのログデータを出力対象として選択し(また、初期設定に示される世代数でファイルを管理し)、該当するソース及びメソッドの表示が含まれるログデータが入力された場合に、図16の変更設定に示される出力設定に変更し、変更後の出力設定で規定される出力レベルのログデータを出力対象として選択する(また、変更後の出力設定に示される世代数でファイルを管理する)。
他の動作は、実施の形態1及び実施の形態2に示すとおりである。
【0062】
以上、本実施の形態では、特定のソース、メソッドに関連するログデータを入力した際にログの出力設定を変更するログ出力装置を説明した。
【0063】
なお、以上では、特定のソースからのログデータに対して出力レベルまたは世代数を変更する例を説明したが、特定のソースからのログデータに対して署名、暗号化の有無の設定を変更するようにしてもよい。
【0064】
実施の形態4.
本実施の形態では、ログのメッセージ内容に応じてログ出力設定を変更する別の例を説明する。本実施の形態では、ログデータに特定の識別子が含まれていることを変更条件とする例を説明する。具体的には、例えば、特定の識別子として特定のユーザ名がログデータに含まれているときにはそのログデータが低レベルであっても出力するようにする。
また、本実施の形態では、機密文書が含まれる場合にだけ署名、暗号化を実施するなどをログのメッセージ内容に応じて出力変更する例を説明する。
【0065】
本実施の形態では、例えば、図17に示す形式のログデータを対象とする。
図17(a)は、本実施の形態に係るログデータの構成要素を示し、図17(b)は図17(a)の具体例を示している。
本実施の形態に係るログデータは、例えばCSV形式で作られているとする。
そして、本実施の形態では、ログ解析部100は、例えば、図18に示す抽出条件を保持し、図18の抽出条件に従って、入力したログデータの中からユーザ名に「XYZabc」が含まれるログデータ、文書種類に「機密文書」が含まれるログデータを抽出する。
【0066】
また、本実施の形態では、例えば、図19及び図20に示す変更設定情報を用いる。
図19の変更設定情報では、ユーザ名「XYZabc」を特定の識別子の例としている。
この例では、例えば、出力レベル「高」のログデータのみをデータ記憶装置310への出力対象とする出力設定を初期設定とするとともに、図19の変更設定情報に従って、ユーザ名に「XYZabc」が含まれるログデータがログ解析部100により抽出された際には、ログ管理部200は、当該ログデータに対しては出力設定を変更して、出力レベル「低」のログデータであっても、データ記憶装置310に出力する。
また、図20の変更設定情報では、文書種類「機密文書」を特定の識別子の例としている。
この例では、例えば、ログデータへの電子署名の付与、ログデータの暗号化のいずれも行わない出力設定を初期設定とするとともに、図20の変更設定情報に従って、文書種類に「機密文書」が含まれるログデータがログ解析部100により抽出された際には、ログ管理部200は、当該ログデータに対しては出力設定を変更して、当該ログデータに電子署名を付与し、暗号化を行う。
【0067】
図21は、ログデータに署名、暗号化を行う場合の処理例を示す図である。
ログ管理部200では、ログ解析部100により文書種類に「機密文書」が含まれるログデータがログ解析部100により抽出された際に、署名あり、暗号ありの出力設定に変更し(「1:設定(署名、暗号あり)」)、当該ログデータに対して署名/暗号部500が署名の付与、暗号化を行い、署名、暗号化が行われたログデータがデータ記憶装置310に出力される。
なお、署名/暗号部500は、ソースごとに署名、暗号に用いる鍵を保持しており、入力されたログデータのソース情報をキーにして対応する鍵を抽出し、抽出した鍵を用いて署名、暗号化を行う。
【0068】
以上、本実施の形態では、特定ユーザに関連するログデータを入力した際にログの出力設定を変更するログ出力装置を説明した。
また、本実施の形態では、機密情報に関するログデータを入力した際にログデータに対する署名/暗号の付与を制御可能とするログ出力装置を説明した。
【0069】
実施の形態5.
ログ解析部100は、ログ出力要求に含まれるソース情報をコード化、蓄積し、処理フローのマイニングを行った後、推移確率を算出することが可能である。
推移確率を算出し、ログ情報として渡すことで、推移確率に基づくログ出力設定の変更も可能となる。
つまり、本実施の形態に係るログ出力装置では、ログ解析部100が、APP20から入力したログデータの傾向を解析してログデータの推移確率を算出し、ログ管理部200及び状況依存ログ設定部700は、推移確率において特定の傾向が観測されることを変更条件とし、特定の傾向が観測された際に出力設定を変更する。
また、各ソース情報に対してカウンタを設定することで、一定回数を経過するまで低レベルのログを出力し、以降は中/高レベルに設定変更を行うこともできる。
【0070】
本実施の形態では、ログ出力パターンの推移確率を求め、今後のエラー(高レベルのログ出力)発生予測に基づきログの出力設定を変更可能とするログ出力装置を説明した。
【0071】
実施の形態6.
ログ出力要求の内容だけでなく、CPU温度やHDD残量などの外部状況に応じてログ設定を変更することも可能である。
この場合には、外部状況取得部800がCPU温度やHDD残量等の監視項目を定期的に、または状況変化のイベント通知などにより監視しておき、変更が検出された場合に状況依存ログ設定部700に対して通知を行う。
このときの通知条件として閾値を用いて実施してもよい。例えば、HDD残量が2GB台から1GB台に減ったときに通知を行う等である。
状況依存ログ設定部700は、監視項目に対する変更設定を管理し、例えばHDD残量が1GB台になったらログ出力のレベルを高にするといった出力設定の変更を行う。またはHDD残量がなくなってきたのでログ出力を停止する旨のログ出力設定を実施したのち、APPからのログデータの入力を停止するなどの処理を行う。
【0072】
実施の形態7.
実施の形態1〜6で示した変更条件のうち複数の条件が重って該当する場合には、変更設定を、例えば、以下の基準により算出することができる。
1)変更設定の最大値/平均値/最小値
2)多次元のマトリックスによる指定
3)n次の方程式などの計算式
また、優先度を設定し、特定の条件が該当したらその指定を最優先するなどの設定にしてもよい。
【0073】
最後に、実施の形態1〜7に示したログ出力装置10のハードウェア構成例について説明する。
図22は、実施の形態1〜7に示すログ出力装置10のハードウェア資源の一例を示す図である。
なお、図22の構成は、あくまでもログ出力装置10のハードウェア構成の一例を示すものであり、ログ出力装置10のハードウェア構成は図22に記載の構成に限らず、他の構成であってもよい。
【0074】
図22において、ログ出力装置10は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
実施の形態1〜7で説明した「初期設定情報記憶部210」、「変更設定情報記憶部710」は、RAM914、磁気ディスク装置920等により実現される。また、「データ記憶装置310」は、例えば、磁気ディスク装置920により実現される。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
【0075】
通信ボード915は、例えば、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていても構わない。
【0076】
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
APP20とログ出力装置10が同一マシン上にある場合は、APP20はプログラム群923に含まれる。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
【0077】
また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
【0078】
また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
ログ出力装置10の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
【0079】
上記プログラム群923には、実施の形態1〜7の説明において「〜部」(「初期設定情報記憶部210」、「変更設定情報記憶部710」以外)として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
【0080】
ファイル群924には、実施の形態1〜7の説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の確認」、「〜の更新」、「〜の設定」、「〜の登録」、「〜の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。
また、実施の形態1〜7で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【0081】
また、実施の形態1〜7の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1〜7の「〜部」としてコンピュータを機能させるものである。あるいは、実施の形態1〜7の「〜部」の手順や方法をコンピュータに実行させるものである。
【0082】
このように、実施の形態1〜7に示すログ出力装置10は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【符号の説明】
【0083】
10 ログ出力装置、20 APP、100 ログ解析部、110 キャッシュ、200 ログ管理部、210 初期設定情報記憶部、300 出力先管理部、310 データ記憶装置、400 フォーマット管理部、500 署名/暗号部、600 レベル管理部、700 状況依存ログ設定部、710 変更設定情報記憶部、800 外部状況取得部。
【特許請求の範囲】
【請求項1】
データを順次入力するデータ入力部と、
データ記憶装置に接続され、指定された出力設定に従って、前記データ入力部により入力されたデータを前記データ記憶装置へ出力するデータ出力部と、
前記データ入力部により入力されたデータが出力設定の変更条件に合致するか否かを判断し、入力されたデータが前記変更条件に合致する場合に、前記データ出力部の出力設定を変更する出力設定変更部とを有することを特徴とするデータ処理装置。
【請求項2】
前記データ入力部は、
複数レベルの優先度のうちのいずれかのレベルの優先度が指定されているデータを順次入力し、
前記出力設定変更部は、
前記変更条件に合致する条件合致データが入力される前は、第1のレベル以上の優先度が指定されているデータの出力を指示する第1の出力設定を指定し、
前記条件合致データが入力された際に、第1のレベルと異なる第2のレベル以上の優先度が指定されているデータの出力を指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、前記データ入力部により入力されたデータのうち第1のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記データ入力部により入力されたデータのうち第2のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力することを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記データ処理装置は、更に、
前記データ入力部により入力されたデータであって前記データ出力部による出力が未実施のデータを格納するデータ格納部を有し、
前記出力設定変更部は、
前記条件合致データが入力された際に、第1のレベルよりも低いレベルの第2のレベルを指示する第2の出力設定に変更し、
前記データ出力部は、
前記出力設定変更部により出力設定が第2の出力設定に変更された際に前記条件合致データの入力に先行して入力され前記データ格納部に格納されている格納データの優先度が第2のレベル以上である場合に、前記格納データを前記データ記憶装置へ出力することを特徴とする請求項2に記載のデータ処理装置。
【請求項4】
前記データ出力部は、
前記条件合致データの優先度が第2のレベル以上である場合に、前記格納データを出力した後に前記条件合致データを前記データ記憶装置へ出力することを特徴とする請求項3に記載のデータ処理装置。
【請求項5】
前記出力設定変更部は、
第2の出力設定への変更後に優先度が第2のレベル以上のデータが所定個数分前記データ出力部から出力された際及び第2の出力設定への変更から所定時間が経過した際の少なくともいずれかにおいて、出力設定を第1の出力設定に戻すことを特徴とする請求項2〜4のいずれかに記載のデータ処理装置。
【請求項6】
前記データ出力部は、
所定のデータ容量のファイルを単位にしてデータを記憶するデータ記憶装置に接続され、ファイルの空き容量が無くなった場合に、古いデータから順に上書きして新しいデータを記憶させる制御を行いながら前記データ記憶装置にデータを出力し、
前記出力設定変更部は、
前記変更条件に合致する条件合致データが入力される前は、ファイルの個数として第1の値を指示する第1の出力設定を指定し、
前記条件合致データが入力された際に、ファイルの個数として第1の値と異なる値の第2の値を指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、第1の値に相当する個数のファイルに基づいて前記データ記憶装置へのデータ出力を行い、第1の値に相当する個数のファイルに空き容量が無くなった場合に、古いデータから順に上書きして新しいデータを記憶させる制御を行い、
第2の出力設定が指定されている場合は、第2の値に相当する個数のファイルに基づいて前記データ記憶装置へのデータ出力を行い、第2の値に相当する個数のファイルに空き容量が無くなった場合に、古いデータから順に上書きして新しいデータを記憶させる制御を行うことを特徴とする請求項1〜5のいずれかに記載のデータ処理装置。
【請求項7】
前記出力設定変更部は、
前記条件合致データが入力された際に、第1の値よりも値が多い第2の値を指示する第2の出力設定に変更することを特徴とする請求項6に記載のデータ処理装置。
【請求項8】
前記データ出力部は、
それぞれに少なくとも1つのファイルが含まれる複数個のファイル系統を設けてデータを記憶するデータ記憶装置に接続され、
前記出力設定変更部は、
前記条件合致データが入力される前は、第1のファイル系統をデータ出力先として指示する第1の出力設定を指定し、
前記条件合致データが入力された際に、第1のファイル系統と異なる第2のファイル系統をデータ出力先として指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、第1のファイル系統を出力先にして前記データ記憶装置へのデータ出力を行い、
第2の出力設定が指定されている場合は、第2のファイル系統を出力先にして前記データ記憶装置へのデータ出力を行うことを特徴とする請求項6又は7に記載のデータ処理装置。
【請求項9】
前記出力設定変更部は、
前記変更条件に合致する条件合致データが入力される前は、暗号化処理及び認証値生成処理のいずれも行わないことを指示する第1の出力設定を指定し、
前記条件合致データが入力された際に、暗号化処理及び認証値生成処理の少なくともいずれかを行うことを指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、暗号化処理及び認証値生成処理のいずれも行われていないデータを前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、暗号化処理及び認証値生成処理の少なくともいずれかが行われたデータを前記データ記憶装置へ出力することを特徴とする請求項1〜8のいずれかに記載のデータ処理装置。
【請求項10】
前記データ入力部は、
複数レベルの優先度のうちのいずれかのレベルの優先度が指定されているデータを順次入力し、
前記出力設定変更部は、
特定レベル以上の優先度が指定されていることを変更条件とし、
前記特定レベル以上の優先度が指定されているデータが入力された際に出力設定を変更することを特徴とする請求項1〜9のいずれかに記載のデータ処理装置。
【請求項11】
前記出力設定変更部は、
特定のソースからのデータであることを変更条件とし、
前記特定のソースからのデータが入力された際に出力設定を変更すること特徴とする請求項1〜10のいずれかに記載のデータ処理装置。
【請求項12】
前記データ入力部は、
複数レベルの優先度のうちのいずれかのレベルの優先度が指定されているデータを順次入力し、
前記出力設定変更部は、
前記特定のソースからのデータが入力される前は、第1のレベル以上の優先度が指定されているデータの出力を指示する第1の出力設定を指定し、
前記特定のソースからのデータが入力された際に、前記特定のソースからのデータについては第1のレベルと異なる第2のレベル以上の優先度が指定されているデータの出力を指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、前記データ入力部により入力されたデータのうち第1のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記特定のソースからのデータについては、第2のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力することを特徴とする請求項11に記載のデータ処理装置。
【請求項13】
前記出力設定変更部は、
前記特定のソースからのデータが入力される前は、暗号化処理及び認証値生成処理のいずれも行わないことを指示する第1の出力設定を指定し、
前記特定のソースからのデータが入力された際に、前記特定のソースからのデータについては暗号化処理及び認証値生成処理の少なくともいずれかを行うことを指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、暗号化処理及び認証値生成処理のいずれも行われていないデータを前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記特定のソースからのデータについては、暗号化処理及び認証値生成処理の少なくともいずれかが行われたデータを前記データ記憶装置へ出力することを特徴とする請求項11又は12に記載のデータ処理装置。
【請求項14】
前記出力設定変更部は、
データに特定の識別子が含まれていることを変更条件とし、
前記特定の識別子が含まれているデータが入力された際に出力設定を変更することを特徴とする請求項1〜13のいずれかに記載のデータ処理装置。
【請求項15】
前記データ入力部は、
複数レベルの優先度のうちのいずれかのレベルの優先度が指定されているデータを順次入力し、
前記出力設定変更部は、
前記特定の識別子が含まれているデータが入力される前は、第1のレベル以上の優先度が指定されているデータの出力を指示する第1の出力設定を指定し、
前記特定の識別子が含まれているデータが入力された際に、前記特定の識別子が含まれているデータについては、第1のレベルと異なる第2のレベル以上の優先度が指定されているデータの出力を指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、前記データ入力部により入力されたデータのうち第1のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記特定の識別子が含まれているデータについては、第2のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力することを特徴とする請求項14に記載のデータ処理装置。
【請求項16】
前記出力設定変更部は、
前記特定の識別子が含まれているデータが入力される前は、暗号化処理及び認証値生成処理のいずれも行わないことを指示する第1の出力設定を指定し、
前記特定の識別子が含まれているデータが入力された際に、前記特定の識別子が含まれているデータに暗号化処理及び認証値生成処理の少なくともいずれかを行うことを指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、暗号化処理及び認証値生成処理のいずれも行われていないデータを前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記特定の識別子が含まれているデータについては、暗号化処理及び認証値生成処理の少なくともいずれかが行われたデータを前記データ記憶装置へ出力することを特徴とする請求項14又は15に記載のデータ処理装置。
【請求項17】
前記出力設定変更部は、
前記データ入力部により入力されるデータの傾向において特定の傾向が観測されることを変更条件とし、
特定の傾向が観測された際に出力設定を変更することを特徴とする請求項1〜16のいずれかに記載のデータ処理装置。
【請求項18】
前記データ処理装置は、更に、
前記データ処理装置に含まれるハードウェアの状態を監視する状態監視部を有し、
前記出力設定変更部は、
前記状態監視部がハードウェアの特定の状態を検知したことを変更条件とし、
前記状態監視部がハードウェアの特定の状態を検知した場合に出力設定を変更することを特徴とする請求項1〜17のいずれかに記載のデータ処理装置。
【請求項19】
前記データ入力部は、
ログデータを順次入力することを特徴とする請求項1〜18のいずれかに記載のデータ処理装置。
【請求項20】
データ記憶装置に接続されているコンピュータに、
データを順次入力するデータ入力処理と、
指定された出力設定に従って、前記データ入力処理により入力されたデータを前記データ記憶装置へ出力するデータ出力処理と、
前記データ入力処理により入力されたデータが出力設定の変更条件に合致するか否かを判断し、入力されたデータが前記変更条件に合致する場合に、前記データ出力処理の出力設定を変更する出力設定変更処理とを実行させることを特徴とするプログラム。
【請求項1】
データを順次入力するデータ入力部と、
データ記憶装置に接続され、指定された出力設定に従って、前記データ入力部により入力されたデータを前記データ記憶装置へ出力するデータ出力部と、
前記データ入力部により入力されたデータが出力設定の変更条件に合致するか否かを判断し、入力されたデータが前記変更条件に合致する場合に、前記データ出力部の出力設定を変更する出力設定変更部とを有することを特徴とするデータ処理装置。
【請求項2】
前記データ入力部は、
複数レベルの優先度のうちのいずれかのレベルの優先度が指定されているデータを順次入力し、
前記出力設定変更部は、
前記変更条件に合致する条件合致データが入力される前は、第1のレベル以上の優先度が指定されているデータの出力を指示する第1の出力設定を指定し、
前記条件合致データが入力された際に、第1のレベルと異なる第2のレベル以上の優先度が指定されているデータの出力を指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、前記データ入力部により入力されたデータのうち第1のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記データ入力部により入力されたデータのうち第2のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力することを特徴とする請求項1に記載のデータ処理装置。
【請求項3】
前記データ処理装置は、更に、
前記データ入力部により入力されたデータであって前記データ出力部による出力が未実施のデータを格納するデータ格納部を有し、
前記出力設定変更部は、
前記条件合致データが入力された際に、第1のレベルよりも低いレベルの第2のレベルを指示する第2の出力設定に変更し、
前記データ出力部は、
前記出力設定変更部により出力設定が第2の出力設定に変更された際に前記条件合致データの入力に先行して入力され前記データ格納部に格納されている格納データの優先度が第2のレベル以上である場合に、前記格納データを前記データ記憶装置へ出力することを特徴とする請求項2に記載のデータ処理装置。
【請求項4】
前記データ出力部は、
前記条件合致データの優先度が第2のレベル以上である場合に、前記格納データを出力した後に前記条件合致データを前記データ記憶装置へ出力することを特徴とする請求項3に記載のデータ処理装置。
【請求項5】
前記出力設定変更部は、
第2の出力設定への変更後に優先度が第2のレベル以上のデータが所定個数分前記データ出力部から出力された際及び第2の出力設定への変更から所定時間が経過した際の少なくともいずれかにおいて、出力設定を第1の出力設定に戻すことを特徴とする請求項2〜4のいずれかに記載のデータ処理装置。
【請求項6】
前記データ出力部は、
所定のデータ容量のファイルを単位にしてデータを記憶するデータ記憶装置に接続され、ファイルの空き容量が無くなった場合に、古いデータから順に上書きして新しいデータを記憶させる制御を行いながら前記データ記憶装置にデータを出力し、
前記出力設定変更部は、
前記変更条件に合致する条件合致データが入力される前は、ファイルの個数として第1の値を指示する第1の出力設定を指定し、
前記条件合致データが入力された際に、ファイルの個数として第1の値と異なる値の第2の値を指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、第1の値に相当する個数のファイルに基づいて前記データ記憶装置へのデータ出力を行い、第1の値に相当する個数のファイルに空き容量が無くなった場合に、古いデータから順に上書きして新しいデータを記憶させる制御を行い、
第2の出力設定が指定されている場合は、第2の値に相当する個数のファイルに基づいて前記データ記憶装置へのデータ出力を行い、第2の値に相当する個数のファイルに空き容量が無くなった場合に、古いデータから順に上書きして新しいデータを記憶させる制御を行うことを特徴とする請求項1〜5のいずれかに記載のデータ処理装置。
【請求項7】
前記出力設定変更部は、
前記条件合致データが入力された際に、第1の値よりも値が多い第2の値を指示する第2の出力設定に変更することを特徴とする請求項6に記載のデータ処理装置。
【請求項8】
前記データ出力部は、
それぞれに少なくとも1つのファイルが含まれる複数個のファイル系統を設けてデータを記憶するデータ記憶装置に接続され、
前記出力設定変更部は、
前記条件合致データが入力される前は、第1のファイル系統をデータ出力先として指示する第1の出力設定を指定し、
前記条件合致データが入力された際に、第1のファイル系統と異なる第2のファイル系統をデータ出力先として指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、第1のファイル系統を出力先にして前記データ記憶装置へのデータ出力を行い、
第2の出力設定が指定されている場合は、第2のファイル系統を出力先にして前記データ記憶装置へのデータ出力を行うことを特徴とする請求項6又は7に記載のデータ処理装置。
【請求項9】
前記出力設定変更部は、
前記変更条件に合致する条件合致データが入力される前は、暗号化処理及び認証値生成処理のいずれも行わないことを指示する第1の出力設定を指定し、
前記条件合致データが入力された際に、暗号化処理及び認証値生成処理の少なくともいずれかを行うことを指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、暗号化処理及び認証値生成処理のいずれも行われていないデータを前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、暗号化処理及び認証値生成処理の少なくともいずれかが行われたデータを前記データ記憶装置へ出力することを特徴とする請求項1〜8のいずれかに記載のデータ処理装置。
【請求項10】
前記データ入力部は、
複数レベルの優先度のうちのいずれかのレベルの優先度が指定されているデータを順次入力し、
前記出力設定変更部は、
特定レベル以上の優先度が指定されていることを変更条件とし、
前記特定レベル以上の優先度が指定されているデータが入力された際に出力設定を変更することを特徴とする請求項1〜9のいずれかに記載のデータ処理装置。
【請求項11】
前記出力設定変更部は、
特定のソースからのデータであることを変更条件とし、
前記特定のソースからのデータが入力された際に出力設定を変更すること特徴とする請求項1〜10のいずれかに記載のデータ処理装置。
【請求項12】
前記データ入力部は、
複数レベルの優先度のうちのいずれかのレベルの優先度が指定されているデータを順次入力し、
前記出力設定変更部は、
前記特定のソースからのデータが入力される前は、第1のレベル以上の優先度が指定されているデータの出力を指示する第1の出力設定を指定し、
前記特定のソースからのデータが入力された際に、前記特定のソースからのデータについては第1のレベルと異なる第2のレベル以上の優先度が指定されているデータの出力を指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、前記データ入力部により入力されたデータのうち第1のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記特定のソースからのデータについては、第2のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力することを特徴とする請求項11に記載のデータ処理装置。
【請求項13】
前記出力設定変更部は、
前記特定のソースからのデータが入力される前は、暗号化処理及び認証値生成処理のいずれも行わないことを指示する第1の出力設定を指定し、
前記特定のソースからのデータが入力された際に、前記特定のソースからのデータについては暗号化処理及び認証値生成処理の少なくともいずれかを行うことを指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、暗号化処理及び認証値生成処理のいずれも行われていないデータを前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記特定のソースからのデータについては、暗号化処理及び認証値生成処理の少なくともいずれかが行われたデータを前記データ記憶装置へ出力することを特徴とする請求項11又は12に記載のデータ処理装置。
【請求項14】
前記出力設定変更部は、
データに特定の識別子が含まれていることを変更条件とし、
前記特定の識別子が含まれているデータが入力された際に出力設定を変更することを特徴とする請求項1〜13のいずれかに記載のデータ処理装置。
【請求項15】
前記データ入力部は、
複数レベルの優先度のうちのいずれかのレベルの優先度が指定されているデータを順次入力し、
前記出力設定変更部は、
前記特定の識別子が含まれているデータが入力される前は、第1のレベル以上の優先度が指定されているデータの出力を指示する第1の出力設定を指定し、
前記特定の識別子が含まれているデータが入力された際に、前記特定の識別子が含まれているデータについては、第1のレベルと異なる第2のレベル以上の優先度が指定されているデータの出力を指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、前記データ入力部により入力されたデータのうち第1のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記特定の識別子が含まれているデータについては、第2のレベル以上の優先度が指定されているデータを選別して前記データ記憶装置へ出力することを特徴とする請求項14に記載のデータ処理装置。
【請求項16】
前記出力設定変更部は、
前記特定の識別子が含まれているデータが入力される前は、暗号化処理及び認証値生成処理のいずれも行わないことを指示する第1の出力設定を指定し、
前記特定の識別子が含まれているデータが入力された際に、前記特定の識別子が含まれているデータに暗号化処理及び認証値生成処理の少なくともいずれかを行うことを指示する第2の出力設定に変更し、
前記データ出力部は、
第1の出力設定が指定されている場合は、暗号化処理及び認証値生成処理のいずれも行われていないデータを前記データ記憶装置へ出力し、
第2の出力設定が指定されている場合は、前記特定の識別子が含まれているデータについては、暗号化処理及び認証値生成処理の少なくともいずれかが行われたデータを前記データ記憶装置へ出力することを特徴とする請求項14又は15に記載のデータ処理装置。
【請求項17】
前記出力設定変更部は、
前記データ入力部により入力されるデータの傾向において特定の傾向が観測されることを変更条件とし、
特定の傾向が観測された際に出力設定を変更することを特徴とする請求項1〜16のいずれかに記載のデータ処理装置。
【請求項18】
前記データ処理装置は、更に、
前記データ処理装置に含まれるハードウェアの状態を監視する状態監視部を有し、
前記出力設定変更部は、
前記状態監視部がハードウェアの特定の状態を検知したことを変更条件とし、
前記状態監視部がハードウェアの特定の状態を検知した場合に出力設定を変更することを特徴とする請求項1〜17のいずれかに記載のデータ処理装置。
【請求項19】
前記データ入力部は、
ログデータを順次入力することを特徴とする請求項1〜18のいずれかに記載のデータ処理装置。
【請求項20】
データ記憶装置に接続されているコンピュータに、
データを順次入力するデータ入力処理と、
指定された出力設定に従って、前記データ入力処理により入力されたデータを前記データ記憶装置へ出力するデータ出力処理と、
前記データ入力処理により入力されたデータが出力設定の変更条件に合致するか否かを判断し、入力されたデータが前記変更条件に合致する場合に、前記データ出力処理の出力設定を変更する出力設定変更処理とを実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2011−13793(P2011−13793A)
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願番号】特願2009−155533(P2009−155533)
【出願日】平成21年6月30日(2009.6.30)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成23年1月20日(2011.1.20)
【国際特許分類】
【出願日】平成21年6月30日(2009.6.30)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]