JP2016095652A - データ保存方法、および情報処理装置 - Google Patents

データ保存方法、および情報処理装置 Download PDF

Info

Publication number
JP2016095652A
JP2016095652A JP2014231100A JP2014231100A JP2016095652A JP 2016095652 A JP2016095652 A JP 2016095652A JP 2014231100 A JP2014231100 A JP 2014231100A JP 2014231100 A JP2014231100 A JP 2014231100A JP 2016095652 A JP2016095652 A JP 2016095652A
Authority
JP
Japan
Prior art keywords
log
data
storage unit
arrival time
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014231100A
Other languages
English (en)
Other versions
JP6471468B2 (ja
Inventor
監物 満浩
Mitsuhiro Kenmotsu
満浩 監物
浩和 川崎
Hirokazu Kawasaki
浩和 川崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014231100A priority Critical patent/JP6471468B2/ja
Publication of JP2016095652A publication Critical patent/JP2016095652A/ja
Application granted granted Critical
Publication of JP6471468B2 publication Critical patent/JP6471468B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】異常が発生した際のログが削除されることを抑制することを図ること。
【解決手段】情報処理装置101は、第1の記憶部103にある現在の「log」のデータを、第2の記憶部104に移行させる際に、「log」の記憶量がローテーション閾値に到達するまでの到達時間を取得する。そして、情報処理装置101は、他の「log」のデータを移行させた際における到達時間に基づいて、現在の「log」のデータを移行させる際の到達時間に応じて現在の「log」のデータを第2の記憶部104とは異なる第3の記憶部105に保存する。図1の(b)では、他の「log」のデータを移行させた際における到達時間より現在の「log」のデータを移行させる際の到達時間が速いため、情報処理装置101は、現在の「log」のデータを第3の記憶部105に保存する。
【選択図】図1

Description

本発明は、データ保存方法、および情報処理装置に関する。
従来、アプリケーションプログラム、OS(Operating System)といったソフトウェアやハードウェアが出力する処理の内容を記録したデータや、ソフトウェアやハードウェアが通信したデータである、ログを保存する技術がある。また、ログは大量に出力されるため、古いログから順に削除する技術がある。ソフトウェアやハードウェアの保守者は、ソフトウェアに異常が起こった原因の調査として保存されたログを閲覧することができる。関連する先行技術として、例えば、エラーログ情報と同じエラーログが一定時間内に記録された場合、同じエラーログが記録されたエラーログ情報の発生時刻をエラーログ情報の発生順に、エラーログと同一であることを識別する番号とともに記録するものがある。
特開平11−306050号公報
しかしながら、従来技術によれば、ソフトウェアやハードウェアの異常の直接の要因が記載されている可能性が高い、ソフトウェアの異常が発生した際のログを削除せずに残しておくことが難しい。例えば、同一の内容のログの発生頻度から異常が発生したログを特定して特定したログを残そうとしても、ログにはIP(Internet Protocol)アドレス等の可変部分が含まれるため、ログが同一の内容であると判断できずに、残すべきログを他のログと一緒に削除してしまうことがある。
1つの側面では、本発明は、異常が発生した際のログを削除することを抑制することができるデータ保存方法、および情報処理装置を提供することを目的とする。
本発明の一側面によれば、一連のログが順次書き込まれる第1の記憶部の記憶量が所定のサイズに到達したことに応じて第1の記憶部に書き込まれたデータを第2の記憶部に移行させる際に、第1の記憶部の記憶量が所定のサイズに到達するまでの到達時間を取得し、データより前に第1の記憶部に書き込まれた他のデータを移行させた際における到達時間に基づいて、取得したデータを移行させる際の到達時間に応じてデータを第2の記憶部とは異なる第3の記憶部に保存するデータ保存方法、および情報処理装置が提案される。
本発明の一態様によれば、異常が発生した際のログを削除することの抑制を図ることができるという効果を奏する。
図1は、本実施の形態にかかる情報処理装置101の動作例を示す説明図である。 図2は、ログ保存システム200の一例を示す説明図である。 図3は、情報処理装置101のハードウェア構成例を示すブロック図である。 図4は、ログ保存システム200におけるログの保存例を示す説明図である。 図5は、情報処理装置101の機能構成例を示すブロック図である。 図6は、ログローテーション実施時刻テーブル511の記憶内容の一例を示す説明図である。 図7は、ログ収集処理手順の一例を示すフローチャートである。 図8は、有意判定処理手順の一例を示すフローチャートである。
以下に図面を参照して、開示のデータ保存方法、および情報処理装置の実施の形態を詳細に説明する。
図1は、本実施の形態にかかる情報処理装置101の動作例を示す説明図である。情報処理装置101は、ログを保存するコンピュータである。情報処理装置101は、例えば、サーバである。ここで、ログとは、アプリケーションプログラム、OSといったソフトウェアやハードウェアが出力する処理の内容を記録したものや、ソフトウェアやハードウェアが通信したデータを記録したものである。以下の説明、および図の説明において、「アプリケーションプログラム」を、「アプリ」と称する。アプリは、情報処理装置101上で動作するものでもよいし、他のコンピュータで動作するものでもよい。
ログの保存方法として、情報処理装置101は、アプリ102から順次出力された一連のログを第1の記憶部103に書き込む。そして、情報処理装置101は、第1の記憶部103が一杯になったとき、すなわち、第1の記憶部103の記憶量が所定のサイズに到達したことに応じて、第1の記憶部103に書き込まれたデータを第2の記憶部104に移行する。第1の記憶部103と第2の記憶部104とは、同一の記憶装置に含まれる記憶領域でもよいし、異なる記憶装置のことでもよい。例えば、第1の記憶部103、第2の記憶部104は、ファイルシステムによって実現されるファイルでもよいし、フォルダでもよい。
ここで、第1の記憶部103への書き込み方として、情報処理装置101は、ログを、第1の記憶部103に含まれる、ある一つのファイルに書き込んでもよいし、ログ一つ一つをファイルとして、第1の記憶部103に書き込んでもよい。前述の記載に併せて、第1の記憶部103の記憶量は、ある一つのファイルのデータサイズでもよいし、ログ一つ一つをファイルとしたものを格納したフォルダのデータサイズでもよい。そして、情報処理装置101は、第2の記憶部104にデータを移行して、空となった第1の記憶部103に、再びログを書き込む。情報処理装置101は、第2の記憶部104に移行したデータの数が、所定の数に到達した場合、一番古いデータを削除する。
以下では、ログを、ある一つのファイルに書き込む例を用いて説明する。また、ログを書き込むファイルを「ログファイル」と呼称する。第1の記憶部103の記憶量は、ログファイルのデータサイズとする。そして、ログファイルを、以下の説明および図では、「log」と記載する場合がある。また、第1の記憶部にあるログファイルを、「現在の「log」」と呼称する場合がある。また、現在の「log」の一つ前に、第2の記憶部104に移行したファイルを、「1世代前のログファイル」として呼称する場合がある。同様に、過去x回前に移行したファイルを、「x世代前のログファイル」として呼称する場合がある。そして、x世代前のログファイルを、以下の説明および図では、「log.x」と記載する場合がある。ここで、xは、1以上の整数である。また、以下の説明では、ログファイルを移行することを、「ローテーション」と呼称する場合がある。また、所定のサイズを、「ローテーション閾値」と呼称する場合がある。また、一番古いデータを削除する契機となる所定の数を、「所定の世代数」と呼称する場合がある。
また、ログファイルのデータを移行する方法として、情報処理装置101は、ログファイルを第1の記憶部103から第2の記憶部104に移動することにより、ログファイルのデータの移行としてもよい。または、情報処理装置101は、ログファイルからデータを読み出し、第2の記憶部104に作成したファイルに読み出したデータを書き込んだ後、第1の記憶部103にあるログファイルのデータを削除することで、ログファイルのデータの移行としてもよい。
また、ログには、例えば、正常に処理することができた旨が記載されていたり、または、正常に処理することができず、エラーを示す旨が記載されていたりする。以下、正常に処理することができた旨が記載されたログを、「正常ログ」として呼称する場合がある。同様に、正常に処理することができず、エラーを示す旨が記載されたログを、「エラーログ」として呼称する場合がある。
ログを保存することにより、ソフトウェアやハードウェアに対して異常が発生した場合に、ソフトウェアやハードウェアの保守者は、異常が起こった原因の調査として保存されたログを閲覧することができる。例えば、ソフトウェアに対する異常は、ソフトウェア内のプログラムの不具合により発生する異常や、ソフトウェアに対して第3者による大量のアクセスによって発生する異常や、セキュリティホールを狙ったアクセスによって発生する異常等がある。
ここで、異常が発生すると、アプリ102は、エラーログを大量に出力することがある。例えば、ソフトウェア内のプログラムの不具合が、ループ処理の中で発生すると、ソフトウェアは、ループを1周するごとにエラーログを出力することになる。また、第3者による大量のアクセスにより、例えば、アクセスを一旦保持するバッファがフルになると、ソフトウェアは、バッファがフルとなったエラーログをアクセスがあるたびに出力することになり、エラーログを大量に出力することになる。また、セキュリティホールを狙ったアクセスによって発生したエラーログを出力する箇所が、ループ処理の中であると、ソフトウェアは、ループを1周するごとにエラーログを出力することになる。
そして、エラーログを大量に出力すると、ログファイルの記憶量が通常より早くローテーション閾値に到達してしまうことがある。そして、保守者が、異常の発生に気づいた時点では、ソフトウェアの異常の直接の要因が記載されている可能性が高い、異常が発生した際のログを保存するログファイルが削除されてしまうことがある。
このような状態となると、保守者は、異常が発生した際のログを確認できなくなる。例えば、ソフトウェア内のプログラムの不具合では、ある異常により作成された不正データを入力としてループ処理が行われると、ループ処理でエラーログを大量に出力することになり、異常の直接の原因である不正データを作成した部分のログが削除されてしまう。なお、異常が発生した際のログが保存されていれば、その後に出力される大量のログは削除されても実用上問題はない。
異常が発生した際のログを保存する方法としては、例えば、保守者がソフトウェアの異常に気づいてからログを採取するまでの間のタイムラグを考慮して、ログファイルのサイズやローテーションする頻度を計画する方法がある。しかしながら、異常が発生した際に、想定より大量のログが発生すると、異常が発生した際のログが残らないことになる。
また、ログファイルを削除する際に、ログファイルに、不具合を含むログが含まれるか否かを判定する方法がある。しかしながら、不具合を含むログであると判定するには、ログの形式、ログに含まれる不具合とする文字列等を把握しておくことになる。そして、ログには、自社製品以外にも、他社製品の機器やミドルウェアのログも含まれるため、不具合を含むログがどのような形式となるか、また不具合とする文字列がどのようなものになるかを事前に特定することは困難である。
また、同じエラーログが一定時間内に記録された場合、同じエラーログが記録された発生時刻をエラーログの発生順に、記録されたエラーログと同一であることを識別する番号とともに記録するものがある。しかしながら、エラーログが同一であることや重要度を判定するには、同一のエラーログであることや重要度を判断するための形式を規定することになる。そして、エラーログ内にはIPアドレス、時間、ユーザ名等といった可変部分があるため、形式を規定することは困難であり、ログが同一の内容であると判断できずに、残すべきログを他のログと一緒に削除してしまうことになる。
そこで、本実施の形態にかかる情報処理装置101は、現在の「log」が一杯になるまでの時間が、他の「log」が一杯になるまでの時間より速い場合、今のファイルを第2の記憶部104とは別の第3の記憶部105に保存する。このように、情報処理装置101は、異常が発生すると、ログが大量に出力されることを利用して、ログを解析せずに、異常が発生した際のログを残すことができる。
具体的な処理内容について、図1を用いて説明する。図1の前程として、ログは全て同一のデータサイズであり、ログ4つ分のデータサイズが、ローテーション閾値となるものとする。また、所定の世代数を2とする。また、一連のログとして、アプリ102が、正常ログ111−1〜13、エラーログ111−14〜19を順次生成して出力するものとする。
図1の(a)では、アプリ102が正常ログを出力している状態を示す。第2の記憶部104には、1世代前のログファイルとなる「log.1」と、2世代前のログファイルとなる「log.2」とが格納されてある。そして、「log.2」には、正常ログ111−1〜4が書き込まれてある。また、「log.1」には、正常ログ111−5〜8が書き込まれてある。また、図1の(a)では、情報処理装置101は、「log」に正常ログ111−9〜12を書き込んだ状態である。また、図1の(a)では、アプリ102は、正常ログ111−13を生成した状態である。
情報処理装置101は、現在の「log」のデータを、第2の記憶部104に移行させる際に、「log」の記憶量がローテーション閾値に到達するまでの到達時間を取得する。ここで、情報処理装置101は、到達時間の計測開始時刻を、1世代前の「log」のデータを移行した時刻としてもよいし、「log」に書き込まれたログが無い状態から、ログが初めて書き込まれた時刻としてもよい。
そして、情報処理装置101は、他の「log」のデータを移行させた際における到達時間に基づいて、現在の「log」のデータを移行させる際の到達時間に応じて現在の「log」のデータを第2の記憶部104とは異なる第3の記憶部105に保存する。ここで、他の「log」のデータは、現在の「log」より前に第1の記憶部103に書き込まれたものである。
例えば、情報処理装置101は、1世代前の「log」のデータを移行させた際における到達時間に所定の時間を加算した時刻より、「log」のデータを移行させる際の到達時間が大きい場合、現在の「log」のデータを第3の記憶部105に保存する。また、他の例として、情報処理装置101は、他の「log」のデータを移行させた際における到達時間の平均値と、所定の時間を加算した時刻より、現在の「log」のデータを移行させる際の到達時間が大きい場合、第3の記憶部105に保存してもよい。
図1の(a)の例では、他の「log」のデータを移行させた際における到達時間より現在の「log」のデータを移行させる際の到達時間が遅いため、情報処理装置101は、現在の「log」のデータを第3の記憶部105に保存しない。
図1の(b)では、アプリ102がエラーログを出力している状態を示す。第2の記憶部104には、1世代前のログファイルとなる「log.1」と、2世代前のログファイルとなる「log.2」とが格納されてある。そして、「log.2」には、正常ログ111−5〜8が書き込まれてある。また、「log.1」には、正常ログ111−9〜12が書き込まれてある。図1の(b)では、正常ログ111−1〜4が書き込まれたログファイルは削除された状態である。
また、図1の(b)では、情報処理装置101は、「log」に正常ログ111−13と、エラーログ111−14〜16を書き込んだ状態である。また、図1の(b)では、アプリ102は、エラーログ111−17〜19を生成した状態である。
図1の(b)の例では、他の「log」のデータを移行させた際における到達時間より現在の「log」のデータを移行させる際の到達時間が速いため、情報処理装置101は、現在の「log」のデータを第3の記憶部105に保存する。図1の(b)の例では、情報処理装置101は、現在の「log」に異常が発生した際のログが含まれるものと見做して、現在の「log」のデータを「logx.1」のデータとして保存する。これにより、アプリ102の保守者は、第3の記憶部105に保存された、異常が発生した際のログを含む「logx.1」を閲覧することができる。次に、図2において、情報処理装置101を含むログ保存システム200の説明を行う。
図2は、ログ保存システム200の一例を示す説明図である。ログ保存システム200は、情報処理装置101と、業務システム201、202と、を含む。情報処理装置101と、業務システム201、202とは、それぞれ、ゲートウェイgw0、1、2を通してネットワーク203と接続する。
業務システム201、202は、業務サービスを提供するシステムである。具体的には、業務システム201は、サーバ211と、ディスク212とを有する。また、業務システム202は、サーバ221と、ディスク222とを有する。
(情報処理装置101のハードウェア)
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。図3において、情報処理装置101は、CPU301と、ROM302と、RAM303と、を含む。また、情報処理装置101は、ディスクドライブ304およびディスク305と、通信インターフェース306と、を含む。また、CPU301〜ディスクドライブ304、通信インターフェース306はバス307によってそれぞれ接続される。
CPU301は、情報処理装置101の全体の制御を司る演算処理装置である。ROM302は、ブートプログラムなどのプログラムを記憶する不揮発性メモリである。RAM303は、CPU301のワークエリアとして使用される揮発性メモリである。
ディスクドライブ304は、CPU301の制御に従ってディスク305に対するデータのリードおよびライトを制御する制御装置である。ディスクドライブ304には、例えば、磁気ディスクドライブ、光ディスクドライブ、ソリッドステートドライブなどを採用することができる。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する不揮発性メモリである。例えばディスクドライブ304が磁気ディスクドライブである場合、ディスク305には、磁気ディスクを採用することができる。また、ディスクドライブ304が光ディスクドライブである場合、ディスク305には、光ディスクを採用することができる。また、ディスクドライブ304がソリッドステートドライブである場合、ディスク305には、半導体素子によって形成された半導体メモリ、いわゆる半導体ディスクを採用することができる。
通信インターフェース306は、ネットワークと内部のインターフェースを司り、他の装置からのデータの入出力を制御する制御装置である。具体的に、通信インターフェース306は、通信回線を通じてネットワークを介して他の装置に接続される。通信インターフェース306には、例えば、モデムやLANアダプタなどを採用することができる。
また、ログ保存システム200の管理者が、情報処理装置101を直接操作する場合、情報処理装置101は、ディスプレイ、キーボード、マウスといったハードウェアを有してもよい。
図4は、ログ保存システム200におけるログの保存例を示す説明図である。情報処理装置101は、ログ収集処理部411と、ログローテーション実行部412とを有する。図4に示すアプリ401−1〜3は、サーバ211、221等で実行されるソフトウェアである。
ログ収集処理部411は、アプリ401−1〜3が出力したログを「log」に書き込む。例えば、ログ収集処理部411は、UNIX(登録商標)環境では、syslogdに相当する。ログローテーション実行部412は、現在の「log」のデータを第2の記憶部104に移行する。また、図4の例では、所定の世代数を5とする。
また、ログローテーション実行部412は、現在の「log」における到達時間が速くなった場合に、現在の「log」に異常が発生した際のログが含まれるものと見做して、現在の「log」を「logx.1」として保存する。
さらに、図4では、ログローテーション実行部412は、現在の「log」に異常が発生した際のログが含まれるものと見做した場合に、現在の「log」の1世代前の「log」のデータを、「logx.2」として第3の記憶部105に保存する。1世代前の「log」のデータを第3の記憶部105に保存する理由として、1世代前の「log」の最後の方の書き込みでソフトウェアに対して異常が発生する場合が起こり得るためである。この場合、1世代前の「log」における到達時間は、それより前の世代の「log」における到達時間とほぼ変わらないものとなり、情報処理装置101は、異常が発生したものと見做せないことになる。そこで、ログローテーション実行部412は、第2の記憶部104に移行した、1世代前の「log」のデータを、第3の記憶部105に保存する。次に、図5を用いて、情報処理装置101の機能構成に含まれる、ログローテーション実行部412の動作の詳細について説明する。
(情報処理装置101の機能構成例)
図5は、情報処理装置101の機能構成例を示すブロック図である。情報処理装置101は、制御部500を有する。制御部500は、取得部501と、特定部502と、保存部503とを含む。制御部500は、記憶装置に記憶されたプログラムをCPU301が実行することにより、各部の機能を実現する。記憶装置とは、具体的には、例えば、図3に示したROM302、RAM303、ディスク305などである。また、各部の処理結果は、CPU301のレジスタや、CPU301のキャッシュメモリ等に格納される。
また、情報処理装置101は、ログローテーション実施時刻テーブル511にアクセス可能である。ログローテーション実施時刻テーブル511は、RAM303といった記憶装置に格納される。また、RAM303には、ログ収集異常閾値512と、平均値μと、標準偏差σと、状態フラグsfとを記憶する。ログ収集異常閾値512は、異常範囲と見做す閾値のことであり、ディスク305から読み出した値である。平均値μは、到達時間の平均値である。また、標準偏差σは、到達時間の標準偏差である。また、状態フラグsfは、現在のログが正常であるか異常であるかを示すフラグである。具体的には、状態フラグsfには、現在のログが正常である状態を示す「正常状態」か、現在のログが異常である状態を示す「異常状態」かのいずれかの値が格納される。
また、情報処理装置101は、ログ収集異常閾値521と、ローテーション閾値522と、第1の記憶部103と、第2の記憶部104と、第3の記憶部105とにアクセス可能である。ログ収集異常閾値521と、ローテーション閾値522とは、ディスク305に格納される。また、第1の記憶部103と、第2の記憶部104と、第3の記憶部105とは、ディスク305の記憶領域の一部の領域である。ログ収集異常閾値521は、到達時間を異常範囲と見做す閾値である。また、ローテーション閾値522は、図1で説明した、ローテーション閾値であり、ログファイルのデータを第1の記憶部103から第2の記憶部104に移行する際に用いる閾値である。
取得部501は、現在の「log」のデータを第2の記憶部104に移行させる際に、第1の記憶部103の記憶量がローテーション閾値に到達するまでの到達時間を取得する。
特定部502は、他の「log」のデータを移行させた際における到達時間に基づいて、第1の記憶部103に書き込まれたデータを第2の記憶部104に移行させた際における到達時間の確率分布を特定する。また、特定部502は、現在の「log」のデータに移行させる際における到達時間を含めて、確率分布を特定してもよい。ここで、前述の確率分布が正規分布に従うのであれば、特定部502は、正規分布のパラメータとして、平均値μと、標準偏差σとを算出することにより、確率分布を特定する。また、特定部502は、不偏分散から求めた標準偏差を算出し、算出した値を標準偏差σとして用いてもよい。
保存部503は、他の「log」のデータを移行させた際における到達時間に基づいて、現在の「log」のデータを移行させる際の到達時間に応じて現在の「log」のデータを第3の記憶部105に保存する。また、保存部503は、他の「log」のデータを移行させた際における到達時間と現在の「log」のデータに移行させる際における到達時間とに基づいてもよい。
また、保存部503は、特定部502が特定した確率分布の信頼区間に、現在の「log」のデータを移行させる際の到達時間が含まれない場合、現在の「log」のデータを第3の記憶部105に保存してもよい。ここで、信頼区間とは、到達時間を正常範囲と見做す範囲であり、有意水準より導かれた値である。
また、保存部503は、他の「log」のデータを移行させた際における到達時間に基づいて、現在の「log」のデータを移行させる際の到達時間に応じて現在の「log」データと、1世代前の「log」のデータとを第3の記憶部105に保存してもよい。
図6は、ログローテーション実施時刻テーブル511の記憶内容の一例を示す説明図である。ログローテーション実施時刻テーブル511は、ローテーションを実行した時刻を記憶するテーブルである。図6に示すログローテーション実施時刻テーブル511は、レコード601−0〜nを有し、レコード601−0が示す今回のローテーションを実行した時刻から、レコード601−nが示す過去n回前にローテーションを実行した時刻までを記憶する。nは、1以上の整数である。
ログローテーション実施時刻テーブル511は、ローテーション回数と、ローテーション時刻というフィールドを有する。ローテーション回数フィールドには、各ローテーションを識別する情報が格納される。本実施の形態では、分り易くするため、ローテーション回数フィールドには、「今回」、「過去1回前」、…という値が格納されている。他の例では、例えば、ローテーション回数フィールドには、ローテーションを行う度に付与した番号が格納されてもよい。ローテーション時刻フィールドには、該当のローテーションを実行したときの時刻情報が格納される。
例えば、レコード601−0は、今回のローテーションを実行した時刻が「x0時y0分z0秒」であることを示す。また、レコード601−1は、過去1回前のローテーションを実行した時刻が「x1時y1分z1秒」であることを示す。さらに、レコード601−nは、過去n回前のローテーションを実行した時刻が「xn時yn分zn秒」であることを示す。
次に、情報処理装置101の動作を示すフローチャートを、図7、図8を用いて説明する。
図7は、ログ収集処理手順の一例を示すフローチャートである。ログ収集処理は、ログを収集する処理である。また、ログ収集処理は、一定間隔で周期的に起動される。
情報処理装置101は、現在の「log」のデータサイズがローテーション閾値を超えたか否かを判断する(ステップS701)。現在の「log」のデータサイズがローテーション閾値を超えた場合(ステップS701:Yes)、情報処理装置101は、ログローテーションを実行する(ステップS702)。次に、情報処理装置101は、ログローテーションを実行した時刻を取得して、ログローテーション実施時刻テーブル511に格納する(ステップS703)。
次に、情報処理装置101は、有意判定処理を実行する(ステップS704)。有意判定処理の詳細については、図8で説明する。そして、情報処理装置101は、有意判定処理の判定結果が次に示す結果のいずれに一致するかを判断する(ステップS705)。次に示す結果とは、正常範囲と、異常範囲と、である。有意判定処理の判定結果が正常範囲である場合(ステップS705:正常範囲)、情報処理装置101は、状態フラグを「正常状態」に設定する(ステップS706)。
一方、有意判定処理の判定結果が異常範囲である場合(ステップS705:異常範囲)、情報処理装置101は、状態フラグsfが次に示す識別子のいずれに一致するかを判断する(ステップS707)。次に示す識別子とは、正常状態と、異常状態と、である。状態フラグsfが正常状態である場合(ステップS707:正常状態)、情報処理装置101は、現在の「log」のデータを第3の記憶部105に保存する(ステップS708)。次に、情報処理装置101は、状態フラグを「異常状態」に設定する(ステップS709)。一方、状態フラグsfが異常状態である場合(ステップS707:異常状態)、異常状態が継続していることとなり、情報処理装置101は、そのままステップS710の処理に移行する。
ステップS706、S709の処理終了後、または、ステップS707:異常状態となった場合、情報処理装置101は、ログファイルの世代数が所定の世代数を超えたか否かを判断する(ステップS710)。ログファイルの世代数が所定の世代数を超えた場合(ステップS710:Yes)、情報処理装置101は、一番古いログファイルを削除する(ステップS711)。ステップS711の処理後、または、ログファイルの世代数が所定の世代数を超えない場合(ステップS710:No)、または、現在の「log」のデータサイズがローテーション閾値を超えない場合(ステップS701:No)、情報処理装置101は、ログ収集処理を終了する。ログ収集処理を実行することにより、情報処理装置101は、ログを収集するとともに、現在の「log」に異常が発生した際のログが含まれるものと見做した場合に、現在の「log」を第3の記憶部105に保存することができる。
図8は、有意判定処理手順の一例を示すフローチャートである。図8に示す有意判定処理は、今回の到達時間が正常範囲か異常範囲かを、有意水準5[%]で検定することにより判定する処理である。有意水準5[%]以外として、例えば、情報処理装置101は、有意水準1[%]で検定してもよい。
情報処理装置101は、ログローテーション実施時刻テーブル511から、ローテーション時刻を読み込む(ステップS801)。次に、情報処理装置101は、読み込んだローテーション時刻から、n個の到達時間をそれぞれ算出する(ステップS802)。例えば、図6を用いると、情報処理装置101は、レコード601−0に示したローテーション時刻からレコード601−1に示したローテーション時刻を減じた値を、1番目の経過時間となる今回の経過時間とする。同様に、情報処理装置101は、レコード601−n−1に示したローテーション時刻から、レコード601−nに示したローテーション時刻を減じた値を、n番目の経過時間とする。
そして、情報処理装置101は、n個の到達時間の平均値μを算出する(ステップS803)。次に、情報処理装置101は、n個の到達時間の標準偏差σを算出する(ステップS804)。具体的には、情報処理装置101は、下記(1)式を用いて標準偏差σを算出する。
Figure 2016095652
ただし、Xkは、k番目の到達時間を示す。そして、情報処理装置101は、今回の到達時間が信頼区間に含まれるか否かとして、μ−1.96σ2<今回の到達時間<μ+1.96σ2となるか否かを判断する(ステップS805)。ここで、1.96という値は、有意水準5[%]から導かれた値であり、ログ収集異常閾値512の具体的な値の一例である。
μ−1.96σ2<今回の到達時間<μ+1.96σ2となる場合(ステップS805:Yes)、情報処理装置101は、判定結果を正常範囲として出力する(ステップS806)。
一方、μ−1.96σ2<今回の到達時間<μ+1.96σ2を満たさない場合(ステップS805:No)、情報処理装置101は、判定結果を異常範囲として出力する(ステップS807)。また、ステップS805〜S807の処理において、情報処理装置101は、μ−1.96σ2<今回の到達時間を満たす場合に、判定結果を正常範囲として出力してもよい。なお、今回の到達時間<μ+1.96σ2を満たさない場合としては、例えば、何らかの理由によりログが書き込めず、ログが出力される頻度が低下した時である。書き込めない理由としては、例えば、ログを出力するアプリケーションプログラムのいずれかが強制終了した場合や、情報処理装置101が他の処理を行っており高負荷となっていてログのいくつかの収集に失敗した場合である。
ステップS806、またはステップS807のうちのいずれかの処理終了後、情報処理装置101は、有意判定処理を終了する。有意判定処理を実行することにより、情報処理装置101は、今回の到達時間が正常範囲か異常範囲かを判定することができる。
以上説明したように、情報処理装置101によれば、現在の「log」が一杯になるまでの時間が、他の「log」が一杯になるまでの時間より速い場合、今のファイルを第2の記憶部104とは別の第3の記憶部105に保存する。このように、情報処理装置101は、異常が発生すると、ログが大量に出力されることを利用して、ログを解析せずに、異常が発生した際のログを保存することができる。
また、情報処理装置101によれば、「log」のデータを移行させた際における到達時間の確率分布に、現在の「log」のデータを移行させる際の到達時間が含まれない場合、現在の「log」のデータを第3の記憶部105に保存してもよい。これにより、情報処理装置101は、到達時間の確率分布に合わせて、異常が発生した際のログを保存することができる。具体的には、到達時間がばらついているときには、標準偏差σが大きい値となるので、情報処理装置101は、現在の「log」のデータを移行させる際の到達時間が多少平均から離れた値であっても、正常の範囲で起こり得るものとして見做すことができる。また、到達時間が集約されているときには、標準偏差σが小さい値となるので、情報処理装置101は、現在の「log」のデータを移行させる際の到達時間が多少平均から離れた値となったら、異常の範囲として見做すことができる。
また、情報処理装置101によれば、現在の「log」のデータを第3の記憶部105に保存する際に、1世代前の「log」のデータを第3の記憶部105に保存してもよい。図4で記載したように、到達時間が速くなった「log」の1世代前の「log」に、異常が発生した際のログが含まれる可能性がある。従って、情報処理装置101は、1世代前の「log」のデータを第3の記憶部105に保存しておくことで、異常が発生した際のログを紛失してしまう危険性を抑制することができる。
また、本実施の形態にかかるデータ保存方法は、ログの中身を解析せずに、異常が発生した際のログを保存することができる。従って、ログ保存システム200内で、他社製品やフリーソフトなどが多数稼働していて、どのようなログがでるか明確に分からない、また、ログの形式を統一できないようなサーバがあっても、本実施の形態にかかるデータ保存方法を利用することができる。また、本実施の形態にかかるデータ保存方法では、発生した前後のログ状況をそのまま記録できることも障害調査の点で有用である。
なお、本実施の形態で説明したデータ保存方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本データ保存プログラムは、ハードディスク、フレキシブルディスク、CD−ROM(Compact Disc−Read Only Memory)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本データ保存プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータが、
一連のログが順次書き込まれる第1の記憶部の記憶量が所定のサイズに到達したことに応じて前記第1の記憶部に書き込まれたデータを第2の記憶部に移行させる際に、前記第1の記憶部の記憶量が前記所定のサイズに到達するまでの到達時間を取得し、
前記データより前に前記第1の記憶部に書き込まれた他のデータを移行させた際における到達時間に基づいて、取得した前記データを移行させる際の到達時間に応じて前記データを前記第2の記憶部とは異なる第3の記憶部に保存する、
処理を実行することを特徴とするデータ保存方法。
(付記2)前記コンピュータが、
前記他のデータを移行させた際における到達時間に基づいて、前記第1の記憶部に書き込まれたデータを前記第2の記憶部に移行させた際における到達時間の確率分布を特定し、
特定した前記確率分布の信頼区間に、前記データを移行させる際の到達時間が含まれない場合、前記データを前記第3の記憶部に保存することを特徴とする付記1に記載のデータ保存方法。
(付記3)前記保存する処理は、
前記他のデータを移行させた際における到達時間に基づいて、前記データを移行させる際の到達時間に応じて、前記データと、前記データより1つ前に前記第1の記憶部に書き込まれたデータとを前記第3の記憶部に保存することを特徴とする付記1または2に記載のデータ保存方法。
(付記4)一連のログが順次書き込まれる第1の記憶部の記憶量が所定のサイズに到達したことに応じて前記第1の記憶部に書き込まれたデータを第2の記憶部に移行させる際に、前記第1の記憶部の記憶量が前記所定のサイズに到達するまでの到達時間を取得し、
前記データより前に前記第1の記憶部に書き込まれた他のデータを移行させた際における到達時間に基づいて、取得した前記データを移行させる際の到達時間に応じて前記データを前記第2の記憶部とは異なる第3の記憶部に保存する、
制御部を有することを特徴とする情報処理装置。
(付記5)コンピュータに、
一連のログが順次書き込まれる第1の記憶部の記憶量が所定のサイズに到達したことに応じて前記第1の記憶部に書き込まれたデータを第2の記憶部に移行させる際に、前記第1の記憶部の記憶量が前記所定のサイズに到達するまでの到達時間を取得し、
前記データより前に前記第1の記憶部に書き込まれた他のデータを移行させた際における到達時間に基づいて、取得した前記データを移行させる際の到達時間に応じて前記データを前記第2の記憶部とは異なる第3の記憶部に保存する、
処理を実行させることを特徴とするデータ保存プログラム。
101 情報処理装置
102 アプリ
103 第1の記憶部
104 第2の記憶部
105 第3の記憶部
111−1〜13 正常ログ
111−14〜19 エラーログ
500 制御部
501 取得部
502 特定部
503 保存部

Claims (4)

  1. コンピュータが、
    一連のログが順次書き込まれる第1の記憶部の記憶量が所定のサイズに到達したことに応じて前記第1の記憶部に書き込まれたデータを第2の記憶部に移行させる際に、前記第1の記憶部の記憶量が前記所定のサイズに到達するまでの到達時間を取得し、
    前記データより前に前記第1の記憶部に書き込まれた他のデータを移行させた際における到達時間に基づいて、取得した前記データを移行させる際の到達時間に応じて前記データを前記第2の記憶部とは異なる第3の記憶部に保存する、
    処理を実行することを特徴とするデータ保存方法。
  2. 前記コンピュータが、
    前記他のデータを移行させた際における到達時間に基づいて、前記第1の記憶部に書き込まれたデータを前記第2の記憶部に移行させた際における到達時間の確率分布を特定し、
    特定した前記確率分布の信頼区間に、前記データを移行させる際の到達時間が含まれない場合、前記データを前記第3の記憶部に保存することを特徴とする請求項1に記載のデータ保存方法。
  3. 前記保存する処理は、
    前記他のデータを移行させた際における到達時間に基づいて、前記データを移行させる際の到達時間に応じて、前記データと、前記データより1つ前に前記第1の記憶部に書き込まれたデータとを前記第3の記憶部に保存することを特徴とする請求項1または2に記載のデータ保存方法。
  4. 一連のログが順次書き込まれる第1の記憶部の記憶量が所定のサイズに到達したことに応じて前記第1の記憶部に書き込まれたデータを第2の記憶部に移行させる際に、前記第1の記憶部の記憶量が前記所定のサイズに到達するまでの到達時間を取得し、
    前記データより前に前記第1の記憶部に書き込まれた他のデータを移行させた際における到達時間に基づいて、取得した前記データを移行させる際の到達時間に応じて前記データを前記第2の記憶部とは異なる第3の記憶部に保存する、
    制御部を有することを特徴とする情報処理装置。
JP2014231100A 2014-11-13 2014-11-13 データ保存方法、および情報処理装置 Active JP6471468B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014231100A JP6471468B2 (ja) 2014-11-13 2014-11-13 データ保存方法、および情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014231100A JP6471468B2 (ja) 2014-11-13 2014-11-13 データ保存方法、および情報処理装置

Publications (2)

Publication Number Publication Date
JP2016095652A true JP2016095652A (ja) 2016-05-26
JP6471468B2 JP6471468B2 (ja) 2019-02-20

Family

ID=56071858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014231100A Active JP6471468B2 (ja) 2014-11-13 2014-11-13 データ保存方法、および情報処理装置

Country Status (1)

Country Link
JP (1) JP6471468B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086981A (ja) * 2018-11-27 2020-06-04 株式会社リコー 情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム
CN113704341A (zh) * 2021-08-30 2021-11-26 远景智能国际私人投资有限公司 数据采集系统和方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149749A (ja) * 1990-10-15 1992-05-22 Fujitsu Ltd ログデータ採取方式
JP2005339287A (ja) * 2004-05-27 2005-12-08 Fujitsu Ltd プログラム実行システム、中央装置、プログラム実行方法及びコンピュータプログラム
JP2011128781A (ja) * 2009-12-16 2011-06-30 Kddi Corp サーバ監視装置およびそのサーバ障害判定方法
JP2012018617A (ja) * 2010-07-09 2012-01-26 Panasonic Corp 電子部品実装用装置におけるプログラム実行履歴情報の記録方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149749A (ja) * 1990-10-15 1992-05-22 Fujitsu Ltd ログデータ採取方式
JP2005339287A (ja) * 2004-05-27 2005-12-08 Fujitsu Ltd プログラム実行システム、中央装置、プログラム実行方法及びコンピュータプログラム
JP2011128781A (ja) * 2009-12-16 2011-06-30 Kddi Corp サーバ監視装置およびそのサーバ障害判定方法
JP2012018617A (ja) * 2010-07-09 2012-01-26 Panasonic Corp 電子部品実装用装置におけるプログラム実行履歴情報の記録方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一志達也: "Oracle 10g真剣勝負 第12回 MTTRアドバイザと障害別リカバリ設定", DB MAGAZINE, vol. 第15巻,第2号, JPN6018018088, 1 June 2005 (2005-06-01), JP, pages 177 - 181, ISSN: 0003798382 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020086981A (ja) * 2018-11-27 2020-06-04 株式会社リコー 情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム
JP7110942B2 (ja) 2018-11-27 2022-08-02 株式会社リコー 情報処理装置、エラー解析支援方法、及び、エラー解析支援プログラム
CN113704341A (zh) * 2021-08-30 2021-11-26 远景智能国际私人投资有限公司 数据采集系统和方法

Also Published As

Publication number Publication date
JP6471468B2 (ja) 2019-02-20

Similar Documents

Publication Publication Date Title
CN105357038B (zh) 监控虚拟机集群的方法和系统
US9167028B1 (en) Monitoring distributed web application transactions
US20150169721A1 (en) Discovering relationships between data processing environment components
US20090235267A1 (en) Consolidated display of resource performance trends
US8589537B2 (en) Methods and computer program products for aggregating network application performance metrics by process pool
US8819497B1 (en) Storage of mass data for monitoring
KR102271007B1 (ko) 시스템 장애로부터 클라우드 기반 서비스의 사용성 복구 기법
US20070130119A1 (en) User/process runtime system trace
US20150207855A1 (en) Batch logging in a distributed memory
US10397343B1 (en) Distributed trace storage in a service-oriented system
AU2021309929B2 (en) Anomaly detection in network topology
KR20170040210A (ko) 분산 시스템에서 결함을 분석하기 위한 비주얼 툴
JP4093483B2 (ja) 解析システム、解析方法、解析プログラム、及び記録媒体
US9021484B2 (en) Migrated application performance comparisons using log mapping
JP6471468B2 (ja) データ保存方法、および情報処理装置
US10545825B2 (en) Fault-tolerant enterprise object storage system for small objects
WO2020167570A1 (en) Cause-based event correlation to virtual page transitions in single page applications
US20180287914A1 (en) System and method for management of services in a cloud environment
US10997057B2 (en) Debugging asynchronous functions
EP3382555A1 (en) System and method for management of services in a cloud environment
US9141460B2 (en) Identify failed components during data collection
JP2005321910A (ja) ログデータ管理システム、方法、及びプログラム
US8930369B2 (en) Information processing apparatus, message classifying method and non-transitory medium for associating series of transactions
JP2019086880A (ja) ログファイル制御プログラム、ログファイル制御装置、及び、ログファイル制御方法
JP5538810B2 (ja) 監視のための大量データ記憶システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180509

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180723

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190107

R150 Certificate of patent or registration of utility model

Ref document number: 6471468

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150