JP5430370B2 - ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法 - Google Patents

ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法 Download PDF

Info

Publication number
JP5430370B2
JP5430370B2 JP2009271243A JP2009271243A JP5430370B2 JP 5430370 B2 JP5430370 B2 JP 5430370B2 JP 2009271243 A JP2009271243 A JP 2009271243A JP 2009271243 A JP2009271243 A JP 2009271243A JP 5430370 B2 JP5430370 B2 JP 5430370B2
Authority
JP
Japan
Prior art keywords
log
unit
data
difference
compression
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.)
Expired - Fee Related
Application number
JP2009271243A
Other languages
English (en)
Other versions
JP2011113443A (ja
Inventor
耕一 山田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2009271243A priority Critical patent/JP5430370B2/ja
Publication of JP2011113443A publication Critical patent/JP2011113443A/ja
Application granted granted Critical
Publication of JP5430370B2 publication Critical patent/JP5430370B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

この発明は、機器やシステムの動作を監視するために記録するログデータを圧縮するログ圧縮装置に関する。
機器やシステムの動作を監視し、問題が発生した場合にその原因を探るため、機器やシステムの動作を記録したログデータを生成する装置がある。ログデータを生成する装置と、ログデータを蓄積保存する装置とが離れている場合、両者を通信回線などにより接続し、ログデータを転送する。
ログデータを生成する装置が単位時間当たりに生成するログデータの量が膨大である場合、通信回線の容量による制限などにより、すべてのログデータを転送できない場合がある。そのため、ログデータを圧縮することによりデータ量を小さくする技術がある。
特開2008−210073号公報 特開平10−232799号公報 特開2009−169474号公報 特開平9−245009号公報 特開2000−350042号公報
従来の圧縮方式では、ログデータの圧縮が十分でなく、すべてのログデータを収集できない場合がある。
この発明は、例えば上記のような課題を解決するためになされたものであり、ログデータを圧縮する圧縮率を高めることを目的とする。
この発明にかかるログ圧縮装置は、
データを処理する処理装置と、ログ単位取得部と、ログ差分生成部と、差分対象判定部と、圧縮単位出力部とを有し、
上記ログ単位取得部は、上記処理装置を用いて、ログデータを構成する複数のログ単位データのなかからログ単位データを取得して、取得単位データとし、
上記ログ差分生成部は、上記処理装置を用いて、上記複数のログ単位データのうち、上記取得単位データと異なる2以上のログ単位データそれぞれについて、上記ログ単位取得部が取得した取得単位データとの違いを表わす差分データを生成し、
上記差分対象判定部は、上記処理装置を用いて、上記複数のログ単位データのうち、上記ログ差分生成部が生成した差分データのデータ量が最も小さいログ単位データを判定して、選択対象データとし、
上記圧縮単位出力部は、上記処理装置を用いて、上記ログ単位取得部が取得した取得単位データを圧縮した圧縮単位データとして、上記差分対象判定部が判定した選択対象データについて上記ログ差分生成部が生成した差分データを出力することを特徴とする。
この発明にかかるログ圧縮装置によれば、ログ単位データを圧縮した圧縮単位データの圧縮率が高くなるので、ログ収集装置に対して送信するデータ量を少なくすることができる。したがって、通信線の通信容量が小さい場合でも、ログの欠落などを防ぐことができる。
実施の形態1におけるログ収集システム800の全体構成の一例を示すシステム構成図。 実施の形態1におけるログ生成装置810・ログ収集装置830の外観の一例を示す斜視図。 実施の形態1におけるログ生成装置810・ログ収集装置830のハードウェア資源の一例を示す図。 実施の形態1におけるログ圧縮装置812の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1におけるログ復元装置832の機能ブロックの構成の一例を示すブロック構成図。 実施の形態1におけるログ圧縮処理S510の流れの一例を示すフローチャート図。 実施の形態1におけるログ復元処理S610の流れの一例を示すフローチャート図。 実施の形態1におけるログ圧縮装置812が処理するデータの一例を示す図。 実施の形態1におけるログ圧縮装置812が処理するデータの一例を示す図。 実施の形態1におけるログ復元装置832が処理するデータの一例を示す図。 実施の形態2におけるログ収集システム800の構成の一例を示す構成図。 実施の形態2におけるログ情報送信側の動作の一例を示す図。 実施の形態2におけるログ情報受信側の動作の一例を示す図。 実施の形態2におけるデータの流れの一例を示す図。 実施の形態3におけるログ収集システム800の構成の一例を示す構成図。 実施の形態3におけるログ情報送信側のデータの流れの一例を示す図。 実施の形態3におけるログ情報受信側のデータの流れの一例を示す図。 実施の形態4におけるログ圧縮装置812の機能ブロックの構成の一例を示すブロック構成図。 実施の形態4におけるログ圧縮処理S510の流れの一例を示すフローチャート図。 実施の形態4におけるログ圧縮装置812が処理するデータの一例を示す図。 実施の形態4におけるログ圧縮装置812が処理するデータの一例を示す図。 実施の形態4におけるログ圧縮装置812が処理するデータの一例を示す図。 実施の形態4におけるログ圧縮装置812が処理するデータの一例を示す図。 実施の形態5におけるログ情報送信側のデータの流れの一例を示す図。 実施の形態6におけるログ圧縮装置812の機能ブロックの構成の一例を示すブロック構成図。 実施の形態6におけるログ圧縮処理S510の流れの一例を示すフローチャート図。 実施の形態6におけるログ圧縮装置812が処理するデータの一例を示す図。 実施の形態6におけるログ圧縮装置812が処理するデータの一例を示す図。 実施の形態6におけるログ圧縮装置812が処理するデータの一例を示す図。 実施の形態7におけるログ情報分割部がログ情報の順序を入れ替える様子の一例を示す図。 実施の形態8におけるログ収集システム800の構成の一例を示す構成図。 実施の形態9におけるログ収集システム800の構成の一例を示す構成図。
実施の形態1.
実施の形態1について、図1〜図10を用いて説明する。
図1は、この実施の形態におけるログ収集システム800の全体構成の一例を示すシステム構成図である。
ログ収集システム800は、ログ生成装置810、通信線820、ログ収集装置830を有する。ログ生成装置810は、動作ログなどのログを表わすログデータを生成する。ログ収集装置830は、ログ生成装置810から離れた場所に位置し、通信線820を介してログ生成装置810に接続している。ログ収集装置830は、通信線820を介して、ログ生成装置810が生成したログデータを収集し、蓄積する。通信線820は、ログ生成装置810とログ収集装置830との間の通信をするための回線であり、例えばインターネットである。
通信線820を介して単位時間当たりに伝送できるデータ量には、上限がある。ログ生成装置810は、生成したログデータを圧縮して、圧縮ログデータを生成し、生成した圧縮ログデータを送信する。ログ収集装置830は、ログ生成装置810が送信した圧縮ログデータを受信して、受信した圧縮ログデータからログデータを復元する。これにより、ログ生成装置810が生成するログデータのデータ量が多く、通信線820の通信容量を上回るような場合であっても、ログ収集装置830は、すべてのログデータを欠落なく収集し、蓄積することができる。
ログ生成装置810は、例えばログ記録装置811、ログ圧縮装置812、ログ送信装置813を有する。ログ記録装置811は、動作ログなどのログを記録して、ログデータを生成する。ログ圧縮装置812は、ログ記録装置811が生成したログデータを圧縮して、圧縮ログデータを生成する。ログ送信装置813は、通信線820を介してログ収集装置830に対して、ログ圧縮装置812が生成した圧縮ログデータを送信する。
ログ収集装置830は、例えばログ受信装置831、ログ復元装置832、ログ蓄積装置833を有する。ログ受信装置831は、通信線820を介してログ生成装置810が送信した圧縮ログデータを受信する。ログ復元装置832は、ログ受信装置831が受信した圧縮ログデータからログデータを復元する。ログ蓄積装置833は、ログ復元装置832が復元したログデータを蓄積する。
図2は、この実施の形態におけるログ生成装置810・ログ収集装置830の外観の一例を示す斜視図である。
ログ生成装置810・ログ収集装置830は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
図3は、この実施の形態におけるログ生成装置810・ログ収集装置830のハードウェア資源の一例を示す図である。
ログ生成装置810・ログ収集装置830は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置(HDD920)と接続され、これらのハードウェアデバイスを制御する。HDD920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、HDD920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信装置915は、ファクシミリ機932、電話器931、LAN942等に接続されている。通信装置915は、LAN942に限らず、インターネット940、ISDN等のWAN(ワイドエリアネットワーク)などに接続されていても構わない。インターネット940或いはISDN等のWANに接続されている場合、ゲートウェイ941は不用となる。
HDD920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、HDD920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
図4は、この実施の形態におけるログ圧縮装置812の機能ブロックの構成の一例を示すブロック構成図である。
ログ圧縮装置812は、ログ取得部111、ログ分割部112、ログ単位取得部121、ログ単位記憶部122、ログ差分生成部123、差分対象判定部131、ログ差分記憶部132、圧縮単位出力部134を有する。
ログ取得部111は、CPU911を用いて、ログ記録装置811が生成したログデータを取得する。
ログ分割部112は、CPU911を用いて、ログ取得部111が取得したログデータを分割して、ログ単位データを生成する。例えば、ログ分割部112は、ログデータのなかに改行文字が含まれる場合に、改行文字を境界として、ログデータを1行ごとに分割する。この場合、ログ単位データは、ログデータの1行分である。通常、ログ記録装置811は、1行を単位とするログデータを生成する。しかし、ログ記録装置811によっては、複数行を1つの単位とするログデータを生成するものもある。その場合、ログ分割部112は、ログデータの単位となる行数ごとに、ログデータを分割する。
ログ単位取得部121は、CPU911を用いて、ログ分割部112が分割したログ単位データを1つずつ順に取得する。
ログ単位記憶部122は、HDD920を用いて、ログ単位取得部121が取得したログ単位データを記憶する。ログ単位記憶部122は、所定の数のログ単位データをバッファする。ログ単位記憶部122は、例えば10個のログ単位データを記憶する。ログ単位記憶部122は、ログ単位取得部121が取得した1つ目のログ単位データから10個目のログ単位データまでを順番に記憶する。ログ単位取得部121が11個目のログ単位データを取得すると、ログ単位記憶部122は、1つ目のログ単位データに上書きして、11個目のログ単位データを記憶することにより、2つ目のログ単位データから11個目のログ単位データまでを記憶する。次に、ログ単位取得部121が12個目のログ単位データを取得すると、ログ単位記憶部122は、2つ目のログ単位データを捨てて、3つ目のログ単位データから12個目のログ単位データまでを記憶する。このように、ログ単位記憶部122は、最新のログ単位データからさかのぼって所定の数に至るまでのログ単位データを記憶する。
ログ差分生成部123は、CPU911を用いて、ログ単位取得部121が取得したログ単位データ(以下「取得単位データ」と呼ぶ。)と、ログ単位記憶部122が記憶した複数のログ単位データそれぞれとの差分を取り、差分データを生成する。差分データは、取得単位データとログ単位データとの違いを表わすものであり、差分データとログ単位データとから取得単位データを復元することができる。取得単位データとログ単位データとの違いが小さければ、差分データのデータ量は小さくなり、逆に、取得単位データとログ単位データとの違いが大きければ、差分データのデータ量は大きくなる。
差分対象判定部131は、CPU911を用いて、ログ差分生成部123が生成した差分データのなかから、最もデータ量が小さい差分データを判定する。すなわち、差分対象判定部131は、ログ単位記憶部122が記憶したログ単位データのなかから、取得単位データとの違いが最も小さいログ単位データを判定する。差分対象判定部131は、CPU911を用いて、取得単位データとの違いが最も小さいと判定したログ単位データがどれであるかを表わすデータ(以下「差分対象データ」と呼ぶ。)を生成する。
ログ差分記憶部132は、HDD920を用いて、差分対象判定部131が生成した差分対象データと、ログ差分生成部123が生成した差分データのうち最もデータ量が小さいと差分対象判定部131が判定した差分データとを記憶する。
なお、取得単位データとログ単位データとの違いが大きい場合、差分を取ることにより、逆にデータ量が大きくなる場合もある。そのため、差分対象判定部131は、ログ単位取得部121が取得した取得単位データも、ログ差分生成部123が生成した差分データの一つとみなして、最もデータ量が小さい差分データを判定する。これにより、もとの取得単位データのほうがデータ量が小さい場合、ログ差分記憶部132は、もとの取得単位データを差分データとして記憶する。
圧縮単位出力部134は、CPU911を用いて、ログ差分記憶部132が記憶した差分対象データと差分データとの組を、圧縮単位データとして出力する。圧縮単位出力部134が出力した圧縮単位データは、ログ単位取得部121が取得したログ単位データに対応する。ログ分割部112が分割した1以上のログ単位データに対応する1以上の圧縮単位データ全体が、ログ取得部111が取得したログデータに対応する圧縮ログデータとなる。
圧縮単位出力部134が出力した圧縮単位データは、ログ送信装置813が通信線820を介してログ収集装置830に対して送信する。ログ送信装置813は、圧縮単位データをそのまま送信する構成でもよいし、複数の圧縮単位データを結合して送信する構成でもよい。また、ログ送信装置813は、圧縮単位データあるいはその結合を更に別の圧縮方式を用いて圧縮したものを送信する構成でもよい。
図5は、この実施の形態におけるログ復元装置832の機能ブロックの構成の一例を示すブロック構成図である。
ログ復元装置832は、圧縮単位取得部211、ログ単位復元部221、復元単位記憶部222、ログ結合部231、ログ出力部232を有する。
圧縮単位取得部211は、CPU911を用いて、ログ受信装置831が受信した圧縮単位データを取得する。ログ送信装置813が複数の圧縮単位データを結合して送信する構成の場合、ログ受信装置831は、受信したデータを分割して、圧縮単位データを復元する。また、ログ送信装置813が圧縮単位データあるいはその結合を更に圧縮して送信する構成の場合、ログ受信装置831は、受信したデータを展開して、圧縮単位データを復元する。圧縮単位取得部211は、ログ受信装置831が復元した圧縮単位データを取得する。
ログ単位復元部221は、CPU911を用いて、圧縮単位取得部211が取得した圧縮単位データに基づいて、取得単位データを復元する。
復元単位記憶部222は、HDD920を用いて、ログ単位復元部221が復元した取得単位データを復元単位データとして記憶する。
圧縮単位取得部211が取得した圧縮単位データは、差分対象データと差分データとの組である。ログ単位復元部221は、CPU911を用いて、復元単位記憶部222が記憶した復元単位データのなかから、差分対象データが表わすログ単位データを復元した復元単位データを取得し、取得した復元単位データと差分データとから、取得単位データを復元する。
そのため、復元単位記憶部222は、少なくとも、ログ単位記憶部122が記憶するログ単位データの数と同じ数かそれ以上の数の復元単位データを記憶する。復元単位記憶部222は、ログ単位記憶部122と同様、最新の復元単位データからさかのぼって所定の数に至るまでの復元単位データを記憶する。
ログ結合部231は、CPU911を用いて、復元単位記憶部222が記憶した復元単位データを結合して、復元ログデータを生成する。
ログ出力部232は、CPU911を用いて、ログ結合部231が生成した復元ログデータを出力する。
ログ出力部232が出力した復元ログデータは、ログ蓄積装置833が蓄積して記憶する。
図6は、この実施の形態におけるログ圧縮処理S510の流れの一例を示すフローチャート図である。
ログ圧縮処理S510において、ログ圧縮装置812は、ログデータを圧縮する。ログ圧縮処理S510は、新規ログ取得工程S511、ログ分割工程S513、取得単位取得工程S514、圧縮初期化工程S521、ログ単位取得工程S522、ログ差分生成工程S523、データ量比較工程S524、圧縮更新工程S525、圧縮単位出力工程S532、取得単位記憶工程S533を有する。
新規ログ取得工程S511において、ログ取得部111は、CPU911を用いて、ログ記録装置811が新たに生成したログデータを取得する。ログ取得部111は、ログ記録装置811が新たなログデータを出力するたびに取得する構成でもよいし、前回の取得時以降にログ記録装置811が出力したログデータを定期的に取得する構成でもよい。
ログ分割工程S513において、ログ分割部112は、CPU911を用いて、新規ログ取得工程S511でログ取得部111が取得したログデータを分割して、1以上のログ単位データを生成する。
取得単位取得工程S514において、ログ単位取得部121は、CPU911を用いて、ログ分割工程S513でログ分割部112が生成したログ単位データのなかから、未処理のログ単位データを1つ取得して、取得単位データとする。
ログ分割工程S513でログ分割部112が生成したログ単位データがすべて処理済であり、未処理のログ単位データがない場合、ログ圧縮装置812は、ログ圧縮処理S510を終了する。
ログ単位取得部121が未処理のログ単位データを取得した場合、ログ圧縮装置812は、圧縮初期化工程S521へ進む。
圧縮初期化工程S521において、ログ差分記憶部132は、HDD920を用いて、取得単位取得工程S514でログ単位取得部121が取得した取得単位データを、圧縮単位データとなる差分データの候補として記憶する。
ログ単位取得工程S522において、ログ差分生成部123は、CPU911を用いて、ログ単位記憶部122が記憶したログ単位データのなかから、未処理のログ単位データを1つ取得する。
ログ単位記憶部122が記憶したログ単位データがすべて処理済であり、未処理のログ単位データがない場合、ログ圧縮装置812は、圧縮単位出力工程S532へ進む。
ログ差分生成部123が未処理のログ単位データを取得した場合、ログ圧縮装置812は、ログ差分生成工程S523へ進む。
ログ差分生成工程S523において、ログ差分生成部123は、CPU911を用いて、取得単位取得工程S514でログ単位取得部121が取得した取得単位データと、ログ単位取得工程S522で取得したログ単位データとに基づいて、差分データを生成する。
データ量比較工程S524において、差分対象判定部131は、CPU911を用いて、ログ差分生成工程S523でログ差分生成部123が生成した差分データのデータ量と、ログ差分記憶部132が記憶した差分データのデータ量とを比較する。
ログ差分生成工程S523でログ差分生成部123が生成した差分データのデータ量のほうが大きい場合、ログ圧縮装置812は、ログ単位取得工程S522に戻り、ログ差分生成部123は、次のログ単位データを取得する。
ログ差分生成工程S523でログ差分生成部123が生成した差分データのデータ量のほうが小さい場合、ログ圧縮装置812は、圧縮更新工程S525へ進む。
圧縮更新工程S525において、ログ差分記憶部132は、HDD920を用いて、ログ差分生成工程S523でログ差分生成部123が生成した差分データを、圧縮単位データとなる差分データの候補として記憶する。
ログ圧縮装置812は、ログ単位取得工程S522に戻り、ログ差分生成部123は、次のログ単位データを取得する。
圧縮単位出力工程S532において、差分対象判定部131は、CPU911を用いて、ログ差分生成部123が圧縮単位データとなる差分データの候補として記憶した差分データのもととなるログ単位データを表わす差分対象データを生成する。圧縮単位出力部134は、CPU911を用いて、差分対象判定部131が生成した差分対象データと、ログ差分生成部123が記憶した差分データとの組を圧縮単位データとして出力する。
図7は、この実施の形態におけるログ復元処理S610の流れの一例を示すフローチャート図である。
ログ復元処理S610において、ログ復元装置832は、圧縮ログデータからログデータを復元する。ログ復元処理S610は、圧縮単位取得工程S611、ログ単位復元工程S612、復元単位記憶工程S613、ログ結合工程S614、ログ出力工程S615を有する。
圧縮単位取得工程S611において、圧縮単位取得部211は、CPU911を用いて、ログ受信装置831が受信した圧縮単位データのなかから、未処理の圧縮単位データを1つ取得する。
ログ受信装置831が受信した圧縮単位データがすべて処理済であり、未処理の圧縮単位データがない場合、ログ復元装置832は、ログ結合工程S614へ進む。
圧縮単位取得部211が未処理の圧縮単位データを取得した場合、ログ復元装置832は、ログ単位復元工程S612へ進む。
ログ単位復元工程S612において、ログ単位復元部221は、CPU911を用いて、圧縮単位取得工程S611で圧縮単位取得部211が取得した圧縮単位データから、差分対象データと差分データとを取得する。ログ単位復元部221は、CPU911を用いて、復元単位記憶部222が記憶した復元単位データのなかから、取得した差分対象データが表わすログ単位データを復元した復元単位データを取得する。ログ単位復元部221は、CPU911を用いて、取得した復元単位データと差分データとに基づいて、ログ単位データを復元する。
復元単位記憶工程S613において、復元単位記憶部222は、HDD920を用いて、復元単位記憶工程S613でログ単位復元部221が復元したログ単位データを復元単位データとして記憶する。
ログ結合工程S614において、ログ結合部231は、CPU911を用いて、復元単位記憶部222が記憶した復元単位データを結合して、復元ログデータを生成する。
ログ出力工程S615において、ログ出力部232は、CPU911を用いて、ログ結合工程S614でログ結合部231が生成した復元ログデータを出力する。
図8は、この実施の形態におけるログ圧縮装置812が処理するデータの一例を示す図である。
ログデータ710は、アルファベット・数字・特殊文字などの可読文字と、改行文字712などの制御文字とを含む文字列データである。
新規ログ取得工程S511において、ログ取得部111は、ログデータ710を取得する。
ログ分割工程S513において、ログ分割部112は、改行文字712を境界として、ログ取得部111が取得したログデータ710を分割し、3つのログ単位データ721a〜721cを生成する。
図9は、この実施の形態におけるログ圧縮装置812が処理するデータの一例を示す図である。
取得単位取得工程S514において、ログ単位取得部121は、ログ分割部112が分割した3つのログ単位データ721a〜721cを1つずつ順に取得する。
1回目の取得単位取得工程S514において、ログ単位取得部121は、ログ単位データ721aを取得する。
圧縮初期化工程S521において、ログ差分記憶部132は、ログ単位データ721aを圧縮単位データとなる差分データ731aとして記憶する。差分対象判定部131は、ログ単位データ721aのデータ量(131文字)を算出する。
ログ単位取得工程S522において、ログ差分生成部123は、ログ単位記憶部122が記憶したログ単位データのなかから、ログ単位データを1つずつ取得する。この時点で、ログ差分記憶部132は、まだログ単位データを記憶していないので、ログ圧縮装置812は、圧縮単位出力工程S532へ進む。
圧縮単位出力工程S532において、圧縮単位出力部134は、ログ差分記憶部132が記憶した差分データ731aを、圧縮単位データに含まれる差分データ742aとする。差分対象判定部131は、ログ単位データ721aがそのまま差分データ742aとなったことを表わす差分対象データ741a(例えば「−0」)を生成する。圧縮単位出力部134は、差分対象データ741aと差分データ742aとの組を出力する。
取得単位記憶工程S533において、ログ単位記憶部122は、ログ単位データ721aを記憶する。
2回目の取得単位取得工程S514において、ログ単位取得部121は、ログ単位データ721bを取得する。
圧縮初期化工程S521において、ログ差分記憶部132は、ログ単位データ721bを圧縮単位データとなる差分データとして記憶する。差分対象判定部131は、ログ単位データ721bのデータ量(127文字)を算出する。
ログ単位取得工程S522において、ログ差分生成部123は、ログ単位記憶部122が記憶したログ単位データのなかから、ログ単位データを1つずつ取得する。この時点で、ログ差分記憶部132は、1つのログ単位データ721aを記憶しているので、ログ差分生成部123は、ログ単位データ721aを取得する。
ログ差分生成工程S523において、ログ差分生成部123は、ログ単位データ721aとログ単位データ721bとの差分データ732aを生成する。この例において、ログ差分生成部123が生成する差分データは、2つの数字と1つの文字列との組を1つの単位とし、1以上の単位からなる。1つ目の数字は置換開始位置を表わし、2つ目の数字は置換文字数を表わし、文字列は置換文字列を表わす。例えば差分データ732aは、ログ単位データ721aの67文字目から50文字を、46文字の文字列「struts.〜」で置き換え、127文字目から3文字を、3文字の文字列「137」で置き換えると、ログ単位データ721bになることを表わしている。なお、差分データの書式は、この例に示した書式に限らず、他の書式であってもよい。
データ量比較工程S524において、差分対象判定部131は、差分データ732aのデータ量(63文字)を算出する。算出した差分データ732aのデータ量が、ログ差分記憶部132が記憶しているログ単位データ721bのデータ量(127文字)より小さいので、ログ圧縮装置812は、圧縮更新工程S525へ進む。
圧縮更新工程S525において、ログ差分記憶部132は、差分データ732aを圧縮単位データとなる差分データとして記憶する。
ログ単位取得工程S522に戻り、ログ単位記憶部122が記憶したログ単位データの処理がすべて終わったので、ログ圧縮装置812は、圧縮単位出力工程S532へ進む。
圧縮単位出力工程S532において、圧縮単位出力部134は、ログ単位記憶部122が記憶した差分データ732aを、圧縮単位データに含まれる差分データ742bとする。差分対象判定部131は、差分データ742bが、1つ前のログ単位データ721aとログ単位データ721bとの差分であることを表わす差分対象データ741b(例えば「−1」)を生成する。圧縮単位出力部134は、差分対象データ741bと差分データ742bとの組を出力する。
取得単位記憶工程S533において、ログ単位記憶部122は、ログ単位データ721bを追加して記憶する。その結果、ログ単位記憶部122は、2つのログ単位データ721a,721bを記憶する。
3回目の取得単位取得工程S514において、ログ単位取得部121は、ログ単位データ721cを取得する。
圧縮初期化工程S521において、ログ差分記憶部132は、ログ単位データ721cを圧縮単位データとなる差分データとして記憶する。差分対象判定部131は、ログ単位データ721cのデータ量(119文字)を算出する。
ログ単位取得工程S522において、ログ差分生成部123は、ログ単位記憶部122が記憶したログ単位データのなかから、ログ単位データを1つずつ取得する。この時点で、ログ差分記憶部132は、2つのログ単位データ721aを記憶している。ログ差分生成部123は、例えば、ログ単位データ721aを取得する。
ログ差分生成工程S523において、ログ差分生成部123は、ログ単位データ721aとログ単位データ721cとの差分データ733aを生成する。
データ量比較工程S524において、差分対象判定部131は、差分データ733aのデータ量(58文字)を算出する。算出した差分データ733aのデータ量が、ログ差分記憶部132が記憶しているログ単位データ721cのデータ量(119文字)より小さいので、ログ圧縮装置812は、圧縮更新工程S525へ進む。
圧縮更新工程S525において、ログ差分記憶部132は、差分データ733aを圧縮単位データとなる差分データとして記憶する。
ログ単位取得工程S522に戻り、ログ差分生成部123は、未処理のログ単位データ721bを取得する。
ログ差分生成工程S523において、ログ差分生成部123は、ログ単位データ721bとログ単位データ721cとの差分データ733bを生成する。
データ量比較工程S524において、差分対象判定部131は、差分データ733bのデータ量(22文字)を算出する。算出した差分データ733bのデータ量が、ログ差分記憶部132が記憶している差分データ733aのデータ量(58文字)より小さいので、ログ圧縮装置812は、圧縮更新工程S525へ進む。
圧縮更新工程S525において、ログ差分記憶部132は、差分データ733bを圧縮単位データとなる差分データとして記憶する。
ログ単位取得工程S522に戻り、ログ単位記憶部122が記憶したログ単位データの処理がすべて終わったので、ログ圧縮装置812は、圧縮単位出力工程S532へ進む。
圧縮単位出力工程S532において、圧縮単位出力部134は、ログ単位記憶部122が記憶した差分データ733bを、圧縮単位データに含まれる差分データ742cとする。差分対象判定部131は、差分データ742cが、1つ前のログ単位データ721bとログ単位データ721cとの差分であることを表わす差分対象データ741c(例えば「−1」)を生成する。圧縮単位出力部134は、差分対象データ741cと差分データ742cとの組を出力する。
図10は、この実施の形態におけるログ復元装置832が処理するデータの一例を示す図である。
圧縮単位出力部134が出力した圧縮単位データ(差分対象データと差分データとの組)は、ログ送信装置813が送信し、通信線820を介して伝送されて、ログ受信装置831が受信する。
圧縮単位取得工程S611において、圧縮単位取得部211は、ログ受信装置831が受信した圧縮単位データを1つずつ順に取得する。
1回目の圧縮単位取得工程S611において、圧縮単位取得部211は、差分対象データ741aと差分データ742aとの組である圧縮単位データを取得する。
ログ単位復元工程S612において、差分データ742aが差分を取った結果ではなくログ単位データそのものであることを、差分対象データ741aが表わしているので、ログ単位復元部221は、差分データ742aをそのまま復元単位データ751aとする。
復元単位記憶工程S613において、復元単位記憶部222は、復元単位データ751aを記憶する。
2回目の圧縮単位取得工程S611において、圧縮単位取得部211は、差分対象データ741bと差分データ742bとの組である圧縮単位データを取得する。
ログ単位復元工程S612において、差分データ742bが一つ前のログ単位データとの差分であることを、差分対象データ741bが表わしているので、ログ単位復元部221は、復元単位記憶部222が記憶した復元単位データのなかから、1つ前のログ単位データに当たる復元単位データ751aを取得する。ログ単位復元部221は、復元単位データ751aと差分データ742aとに基づいて、復元単位データ751bを生成する。
復元単位記憶工程S613において、復元単位記憶部222は、復元単位データ751bを記憶する。その結果、復元単位記憶部222は、2つの復元単位データ751a,752bを記憶する。
3回目の圧縮単位取得工程S611において、圧縮単位取得部211は、差分対象データ741cと差分データ742cとの組である圧縮単位データを取得する。
ログ単位復元工程S612において、差分データ742cが一つ前のログ単位データとの差分であることを、差分対象データ741cが表わしているので、ログ単位復元部221は、復元単位記憶部222が記憶した復元単位データのなかから、1つ前のログ単位データに当たる復元単位データ751bを取得する。ログ単位復元部221は、復元単位データ751bと差分データ742cとに基づいて、復元単位データ751cを生成する。
復元単位記憶工程S613において、復元単位記憶部222は、復元単位データ751cを記憶する。その結果、復元単位記憶部222は、3つの復元単位データ751a〜751cを記憶する。
このように、ログ圧縮装置812は、ログデータをログ単位データに分割し、分割したログ単位データの差分を取ることにより、圧縮単位データを生成する。ログデータは、似たような文字列の繰り返しであることが多いので、ログ単位データ間の差は小さく、ログデータを効率よく圧縮することができる。また、差分を取る相手のログ単位データとして複数のログ単位データを候補とし、生成した差分データのデータ量が最も小さいものを選択するので、圧縮率が高くなる。
この実施の形態におけるログ圧縮装置812は、データを処理する処理装置(CPU911)と、ログ単位取得部121と、ログ差分生成部123と、差分対象判定部131と、圧縮単位出力部134とを有する。
上記ログ単位取得部121は、上記処理装置を用いて、ログデータを構成する複数のログ単位データのなかからログ単位データを取得して、取得単位データとする。
上記ログ差分生成部123は、上記処理装置を用いて、上記複数のログ単位データのうち、上記取得単位データと異なる2以上のログ単位データそれぞれについて、上記ログ単位取得部121が取得した取得単位データとの違いを表わす差分データを生成する。
上記差分対象判定部131は、上記処理装置を用いて、上記複数のログ単位データのうち、上記ログ差分生成部123が生成した差分データのデータ量が最も小さいログ単位データを判定して、選択対象データとする。
上記圧縮単位出力部134は、上記処理装置を用いて、上記ログ単位取得部121が取得した取得単位データを圧縮した圧縮単位データとして、上記差分対象判定部131が判定した選択対象データについて上記ログ差分生成部123が生成した差分データを出力する。
これにより、ログ単位データを圧縮した圧縮単位データの圧縮率が高くなるので、ログ収集装置830に対して送信するデータ量を少なくすることができる。したがって、通信線820の通信容量が小さい場合でも、ログの欠落などを防ぐことができる。
この実施の形態におけるログ圧縮装置812は、更に、ログ分割部112を有する。
上記ログ分割部112は、上記処理装置を用いて、上記ログデータを分割して、複数のログ単位データを生成する。
上記ログ単位取得部121は、上記処理装置を用いて、上記ログ分割部112が生成した複数のログ単位データのなかから上記取得単位データを取得する。
ログデータを差の少ないログ単位データに分割することにより、差分データのデータ量が小さくなるので、圧縮単位データの圧縮率が高くなり、ログ収集装置830に対して送信するデータ量を少なくすることができる。したがって、通信線820の通信容量が小さい場合でも、ログの欠落などを防ぐことができる。
この実施の形態におけるログ収集システム800は、上記ログ圧縮装置812と、ログ復元装置832とを有する。
上記ログ復元装置832は、上記圧縮単位出力部134が出力した圧縮単位データを取得し、取得した圧縮単位データから、上記ログ単位取得部121が取得したログ単位データを復元する。
これにより、ログ圧縮装置812からログ復元装置832に対して送信するデータ量を少なくすることができる。したがって、通信線820の通信容量が小さい場合でも、ログの欠落などを防ぐことができる。
この実施の形態におけるログ圧縮装置812は、コンピュータをログ圧縮装置として機能させるコンピュータプログラムを、上記コンピュータが実行することにより、実現することができる。
これにより、ログ単位データを圧縮した圧縮単位データの圧縮率が高くなるので、ログ収集装置830に対して送信するデータ量を少なくすることができ、通信線820の通信容量が小さい場合でも、ログの欠落などを防ぐことができるログ圧縮装置812を実現することができる。
この実施の形態におけるログ圧縮装置812がログデータを圧縮するログ圧縮方法は、以下の工程を有する。
上記処理装置が、上記ログデータを構成する複数のログ単位データのなかからログ単位データを取得して、取得単位データとする。
上記処理装置が、上記複数のログ単位データのうち、上記取得単位データと異なる2以上のログ単位データそれぞれについて、取得した取得単位データとの差分データを生成する。
上記処理装置が、生成した差分データのうち、データ量が最も小さい差分データを判定する。
上記処理装置が、取得した取得単位データを圧縮した圧縮単位データとして、判定した差分データを出力する。
これにより、ログ単位データを圧縮した圧縮単位データの圧縮率が高くなるので、ログ収集装置830に対して送信するデータ量を少なくすることができる。したがって、通信線820の通信容量が小さい場合でも、ログの欠落などを防ぐことができる。
実施の形態2.
実施の形態2について、図11〜図14を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
図11は、この実施の形態におけるログ収集システム800の構成の一例を示す構成図である。
ログ情報送信側(ログ生成装置810)は、監視対象のシステムが動作するサーバである。ログ情報送信側は、ログ情報(ログデータ)を取得し、ネットワーク(通信線820)経由でサーバへ送信、または、記憶媒体に保存する機器またはPCである。
ログ情報受信側(ログ収集装置830)は、ログ情報を収集、分析、監視するサーバである。ログ情報受信側は、ネットワーク経由、または記憶媒体を使って送付されたログ差分情報(圧縮ログデータ)を受け取り、元のログ情報を再現する、サーバ上の構成要素である。
ログ情報送信側において、ログファイルは、監視対象のシステムが出力する動作ログのファイル、である。ログファイル読み取り部(ログ取得部111)は、ログファイルからログ情報(ログデータ)を読み取る。ログファイル読み取り位置記憶部は、ログファイルから最後に取得したログ情報の位置を記憶する。ログ情報分割部(ログ分割部112)は、ログ情報を最小単位に分割する。ログ情報バッファ(ログ単位記憶部122)は、分割されたログ情報(ログ単位データ)を1つ記憶する。ログ情報差分生成部(ログ差分生成部123)は、分割された2つのログ情報からその差分をとりログ差分情報(差分データ)を生成する。ログ情報送信/保存部(圧縮単位出力部134)は、ログ差分情報をネットワーク経由でサーバへ送信または記憶媒体に保存する。
ログ情報受信側において、ログ情報受信部(圧縮単位取得部211)は、ネットワーク経由または記憶媒体からログ差分情報を受け取る。ログ再現部(ログ単位復元部221)は、ログ差分情報と1つ前のログ情報を使いログ情報を再現する。ログ情報バッファ(復元単位記憶部222)は、1つ前のログ情報を記憶する。ログ情報保存部(ログ結合部231・ログ出力部232)は、再現されたログ情報を統合しファイルやデータベースなどに保存する。
図12は、この実施の形態におけるログ情報送信側の動作の一例を示す図である。
ログ情報送信側において、ログファイル読み取り部は、ログファイル読み取り位置記憶部から、前回取得したログ情報の位置を受け取り、ログファイル中のその位置以降のログ情報を読み込む。
ログ情報分割部は、読み込んだログ情報を最小単位に分割する。最小単位は、例えば、1行や、単一の処理が出力する複数行(処理開始、処理中、処理終了などのログを含む複数行で、ログの内容毎にあらかじめ設定する)である。分割したログ情報は、ログ情報バッファとログ差分生成部に送られる。
ログ情報バッファがあることにより、ログ差分生成部は、最新の分割されたログ情報と、一つ前の分割されたログ情報を受け取る。ログ差分生成部は、この2つのログ情報から、ログ差分情報を生成する。
ログ情報送信/保存部は、ログ差分情報をネットワーク経由でサーバに送信、または、記憶媒体に保存する。なお、送信または保存する際に、差分圧縮では無い通常の圧縮を行い、さらに転送量を減らす構成としてもよい。
図13は、この実施の形態におけるログ情報受信側の動作の一例を示す図である。
ログ情報受信側においては、ログ情報受信部は、ネットワーク経由で送られた、または、記憶媒体により搬送されたログ差分情報を受け取る。ログ情報送信側でログ差分情報が圧縮されていた場合はここで展開する。
ログ再現部は、ログ情報バッファにある1つ前のログ情報と、ログ差分情報を用いて次のログ情報を再現する。再現されたログ情報は、ログ情報保存部によってファイルやデータベースなどに保存する。
なお、ログ情報送信側の停止条件は、例えば、ネットワーク経由でサーバに送付する場合、利用者の操作によって停止が指示された場合である。あるいは、記憶媒体に保存する場合、利用者の操作によって停止が指示された、または、記憶媒体に書き込める残り容量が無くなった場合である。
また、ログ情報受信側の停止条件は、例えば、ネットワーク経由でサーバに送付する場合、利用者の操作によって停止が指示された場合である。あるいは、記憶媒体に保存する場合、記憶媒体に保存されている全ての差分情報を取得した場合である。
図14は、この実施の形態におけるデータの流れの一例を示す図である。
この実施の形態におけるログ転送量圧縮方式(ログ収集システム800)は、ログ情報送信側(ログ圧縮装置812)が、ログファイルを読み取るログファイル読み取り部(ログ取得部111)と、ログ情報分割部(ログ分割部112)により分割されたログ情報(ログ単位データ)と、ログ情報バッファに保存した直前のログ情報との差分(差分データ)を生成するログ差分生成部123とを持つ。ログ情報受信側(ログ復元装置832)は、ログ情報バッファ(復元単位記憶部222)とログ再現部(ログ単位復元部221)とを持ち、差分情報からログ情報を再現する。
以上のように、ログ情報を収集する際に、ログ情報そのものではなく、分割されたログ情報の差分を収集することが出来る。ログ情報は定型のフォーマットが多いため、分割されたログ情報は差が少なく、差分のみを収集の対象とすることでデータ量を低減することが可能となる。
一般的なデータとは異なり、ログ情報は定型のフォーマットを持つものが多い。また、同一の処理が出力するログ情報は、時刻やパラメータの内容が異なるだけで、それ以外の処理名、モジュール名等の情報は同じである場合がほとんどである。そこで、ログ情報を最小単位に分割し、分割したログ情報間で差分圧縮を行うことで、取得する情報量を低減する。
ログを受け取った側は、前回受信したログ情報とログ差分を元に、ログ情報を再現する。
これにより、ログデータの転送量を削減することができる。
実施の形態3.
実施の形態3について、図15〜図17を用いて説明する。
なお、実施の形態1または実施の形態2と共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態では、n個のログ情報を保存し、差分情報をn個生成して、その中から最小の物を選択する構成について説明する。
図15は、この実施の形態におけるログ収集システム800の構成の一例を示す構成図である。
ログ情報送信側のログ情報バッファ(ログ単位記憶部122)は、あらかじめ決められた数だけ(n個)存在する。ログ情報バッファ1は、1世代前のログ情報、ログ情報バッファnはn世代前のログ情報を保管する。
最小差分選択部(差分対象判定部131)は、1世代前との差分からn世代前との差分の中から、最もデータ量が少ない差分情報を選択する。
ログ情報受信側のログ情報バッファ(復元単位記憶部222)は、あらかじめ決められた数だけ(n個)存在する。ログ情報バッファ1は、1世代前のログ情報、ログ情報バッファnはn世代前のログ情報を保管する。
図16は、この実施の形態におけるログ情報送信側のデータの流れの一例を示す図である。
ログ情報送信側において、ログ情報バッファ1は、1世代前のログ情報を保持する。ログ情報分割部が新たなログ情報を取得したとき、ログ情報バッファ1は、ログ情報バッファ2とログ差分生成部に保持していたログ情報を渡す。
同様に、ログ情報バッファ2は、ログ差分生成部とログ情報バッファ3に保持していたログ情報を渡す。これにより、ログ情報バッファ1は常に1世代前、ログ情報バッファ2は2世代前、ログ情報バッファnはn世代前のログ情報を持つ。
また、ログ差分生成部は、ログ情報分割部が分割した最新のログ情報と、1世代前からn世代前までのログ情報を得る。ログ差分生成部は、最新のログ情報と、1世代前からn世代前までのログ情報との差分を生成し、何世代前と比較したかを示す情報を付加する。
最小差分選択部は、生成された差分情報のうち、最もデータ量が少ない物を選択し、ログ情報送信/保存部へ渡す。
図17は、この実施の形態におけるログ情報受信側のデータの流れの一例を示す図である。
ログ情報受信側において、ログ情報バッファは、ログ情報送信側と同じ方式で常に1世代前からn世代前までのログ情報を保持する。
ログ再現部は、ログ情報受信部から最新の差分情報を受け取る。また、ログ情報バッファ1〜ログ情報バッファnから、1世代からn世代前までのログ情報を受け取る。差分情報中の、比較対象の世代情報を使い、その世代前のログ情報と、差分情報からログ情報を再現する。再現されたログ情報は、ログ情報保存部とログ情報バッファ1に送られる。
この実施の形態におけるログ情報量圧縮方式(ログ収集システム800)は、複数のログ情報バッファ(ログ単位記憶部122)を持ち、ログ差分を複数生成し、その中から最小の差分情報を用いる。
以上のように、比較する対象を1世代前のみではなく、n世代前までとすることで、差分データの量を更に減らすことができる。
分割されたログ情報を複数世代保持し、それぞれと比較を行い、最も差が小さい差分情報を使用することで、さらにデータ量を低減する。
実施の形態4.
実施の形態4について、図18〜図23を用いて説明する。
なお、実施の形態1乃至実施の形態3のいずれかと共通する部分については、同一の符号を付し、説明を省略する。
図18は、この実施の形態におけるログ圧縮装置812の機能ブロックの構成の一例を示すブロック構成図である。
ログ圧縮装置812は、実施の形態1で説明した機能ブロックに加えて、更に、分割方式判定部133を有する。
ログ分割部112は、CPU911を用いて、ログ取得部111が取得したログデータを、異なる複数の分割方式により分割し、複数の分割方式に対応する複数組のログ単位データを生成する。
ログ単位取得部121は、CPU911を用いて、それぞれの分割方式に対応して、ログ単位データを取得する。
ログ単位記憶部122は、HDD920を用いて、それぞれの分割方式に対応づけて、ログ単位取得部121が取得したログ単位データを記憶する。
ログ差分生成部123は、CPU911を用いて、それぞれの分割方式に対応して、ログ単位取得部121が取得したログ単位データ(取得単位データ)と、ログ単位記憶部122が記憶した1以上のログ単位データそれぞれとの差分データを生成する。
差分対象判定部131は、CPU911を用いて、それぞれの分割方式に対応して、ログ差分生成部123が生成した1以上の差分データのなかから、データ量が最も小さい差分データを判定する。
ログ差分記憶部132は、HDD920を用いて、それぞれの分割方式に対応づけて、差分対象判定部131が判定した差分データを記憶する。
分割方式判定部133は、CPU911を用いて、ログ分割部112が使った複数の分割方式のなかから、ログ差分記憶部132が記憶した差分データのデータ量が最も小さい分割方式を判定する。
圧縮単位出力部134は、CPU911を用いて、ログ差分記憶部132が記憶した差分データのうち、分割方式判定部133が判定した分割方式に対応する差分データを取得し、取得した差分データを含む圧縮単位データを出力する。
分割方式には、例えば、ログデータを1行ずつに分割する分割方式、2行ずつに分割する分割方式、3行ずつに分割する分割方式などがある。また、これらの分割方式を取り混ぜた分割方式もあり得る。上述したように、ログ記録装置811には、1行を1つの単位とするログデータを生成するもの、2行を1つの単位とするもの、3行を1つの単位とするものなどがある。
この実施の形態におけるログ圧縮装置812は、ログ取得部111が取得するログデータを生成するログ記録装置811がどのようなログデータを生成するか事前にわからない場合や、ログ取得部111が取得するログデータが複数種類のログ記録装置811が生成したログデータが混ざり合ったものである場合などでもログデータを適切に分割する。
図19は、この実施の形態におけるログ圧縮処理S510の流れの一例を示すフローチャート図である。
ログ圧縮処理S510は、実施の形態1で説明した工程に加えて、更に、分割方式選択工程S512、データ量比較工程S534、圧縮単位出力工程S535を有する。
新規ログ取得工程S511の後、ログ圧縮装置812は、分割方式選択工程S512へ進む。
分割方式選択工程S512において、ログ分割部112は、CPU911を用いて、複数の分割方式のなかから、未実施の分割方式を1つ選択する。
すべての分割方式を実施済であり、未実施の分割方式がない場合、ログ圧縮装置812は、データ量比較工程S534へ進む。
ログ分割部112が未実施の分割方式を選択した場合、ログ圧縮装置812は、ログ分割工程S513へ進む。
ログ分割工程S513において、ログ分割部112は、CPU911を用いて、分割方式選択工程S512で選択した分割方式を使って、新規ログ取得工程S511でログ取得部111が取得したログデータを分割し、1以上のログ単位データを生成する。
ログ単位取得工程S522で、ログ単位取得部121が未処理のログ単位データがない場合、ログ圧縮装置812は、取得単位記憶工程S533へ進む。
データ量比較工程S534において、分割方式判定部133は、CPU911を用いて、ログ差分記憶部124がそれぞれの分割方式について記憶した差分データの組について、差分データのデータ量の合計を算出する。分割方式判定部133は、CPU911を用いて、算出したデータ量の合計を比較して、最もデータ量の合計が小さい分割方式を判定する。
圧縮単位出力工程S535において、圧縮単位出力部134は、CPU911を用いて、データ量比較工程S534で分割方式判定部133が判定した分割方式について、ログ差分記憶部124が記憶した差分データを含む圧縮単位データを出力する。
図20は、この実施の形態におけるログ圧縮装置812が処理するデータの一例を示す図である。
この例において、ログデータ710は、全部で6行からなり、2行を1つの単位とする3つの単位で構成されている。そのため、2行ごとにわずかに異なる内容が繰り返されている。
図21は、この実施の形態におけるログ圧縮装置812が処理するデータの一例を示す図である。
この例は、図20に示したログデータ710を、1行を1つの単位として6つのログ単位データに分割した場合に、ログ圧縮装置812が生成する6つの圧縮単位データ(差分対象データ741a〜741fと差分データ742a〜742fとの組)を示している。
ログデータ710の1行目に対応してログ圧縮装置812が生成する差分データ742aは、差分を取るべき相手がないので、ログデータ710の1行目そのままである。
ログデータ710の2行目に対応してログ圧縮装置812が生成する差分データ742bは、ログデータ710の1行目との差分データよりも、ログデータ710の2行目そのままのほうがデータ量が小さいので、ログデータ710の2行目そのままである。
ログデータ710の3行目に対応してログ圧縮装置812が生成する差分データ742cは、2つ前のログ単位データであるログデータ710の1行目との差分データである。
ログデータ710の4行目に対応してログ圧縮装置812が生成する差分データ742dは、2つ前のログ単位データであるログデータ710の2行目との差分データである。
ログデータ710の5行目に対応してログ圧縮装置812が生成する差分データ742eは、2つ前のログ単位データであるログデータ710の3行目との差分データである。
ログデータ710の6行目に対応してログ圧縮装置812が生成する差分データ742fは、2つ前のログ単位データであるログデータ710の4行目との差分データである。
図22は、この実施の形態におけるログ圧縮装置812が処理するデータの一例を示す図である。
この例は、図20に示したログデータ710を、2行を1つの単位として3つのログ単位データに分割した場合に、ログ圧縮装置812が生成する3つの圧縮単位データ(差分対象データ741g〜741iと差分データ742g〜742iとの組)を示している。
ログデータ710の1行目から2行目までに対応してログ圧縮装置812が生成する差分データ742gは、差分を取るべき相手がないので、ログデータ710の1行目から2行目までそのままである。
ログデータ710の3行目から4行目までに対応してログ圧縮装置812が生成する差分データ742hは、1つ前のログ単位データであるログデータ710の1行目から2行目までとの差分データである。
ログデータ710の5行目から6行目までに対応してログ圧縮装置812が生成する差分データ742iは、1つ前のログ単位データであるログデータ710の3行目から4行目までとの差分データである。
図23は、この実施の形態におけるログ圧縮装置812が処理するデータの一例を示す図である。
この例は、図20に示したログデータ710を、3行を1つの単位として2つのログ単位データに分割した場合に、ログ圧縮装置812が生成する2つの圧縮単位データ(差分対象データ741j,741kと差分データ742j,742kとの組)を示している。
ログデータ710の1行目から3行目までに対応してログ圧縮装置812が生成する差分データ742jは、差分を取るべき相手がないので、ログデータ710の1行目から3行目までそのままである。
ログデータ710の4行目から6行目までに対応してログ圧縮装置812が生成する差分データ742kは、1つ前のログ単位データであるログデータ710の1行目から3行目までとの差分データである。
このように、ログデータ710を構成する単位の行数と同じ行数(2行)を単位として分割した場合が、最も圧縮効率がよく、圧縮単位データのデータ量の合計が小さくなる。
分割方式判定部133は、データ量の合計を比較して、分割方式を判定する。この例の場合、分割方式判定部133は、2行を1つの単位とする分割方式を使うと判定する。
なお、このように、複数の分割方式を試してみて分割方式を決定する方式は、ログ圧縮装置812における計算量が大きくなる。
このため、ログ圧縮装置812は、CPU911を複数有し、それぞれのCPU911が異なる分割方式を試してみる構成としてもよい。そうすれば、複数の分割方式を並列して試すことができるので、分割方式を決定するのにかかる時間を短縮することができる。
また、ログ圧縮装置812は、最初のうちは、複数の分割方式を試してみて分割方式を決定し、その後は、複数の分割方式を試さずに、決定した分割方式を使用する構成としてもよい。
例えば、ログ圧縮装置812は、ログデータの最初から所定の行数について、複数の分割方式を試してみる。ログ圧縮装置812は、分割方式判定部133の判定結果に基づいて、最も多い判定結果に基づいて、その後の分割方式を決定する。
あるいは、ログ圧縮装置812は、複数の分割方式を試してみて、安定した判定結果が得られた場合に、その後、複数の分割方式を試さず、決まった分割方式を使用する。安定した判定結果が得られたか否かの判定方式は、例えば、分割方式判定部133が所定の回数(例えば20回)判定をして、20回とも同じ判定結果である場合に、ログ圧縮装置812は、安定した判定結果であると判定する。あるいは、ログ圧縮装置812は、統計的手法に基づいて、安定した判定結果が得られたか否かを判定する構成であってもよい。
また、分割方式を1つに決定できない場合、ログ圧縮装置812は、少しずつ分割方式の候補を絞っていく構成であってもよい。例えば、3つの分割方式のうち最もデータ量が少ないと分割方式判定部133が判定する分割方式が、1つ目の分割方式である場合と2つ目の分割方式である場合とが拮抗し、3つ目の分割方式である場合はほとんどない場合、ログ圧縮装置812は、候補を1つ目と2つ目の2つに絞り、その後は、2つの分割方式を試す。これにより、計算量を削減しつつ、最良の分割方式を見つけることができる。
この実施の形態におけるログ圧縮装置812は、分割方式判定部133を有する。
上記ログ分割部112は、上記処理装置(CPU911)を用いて、複数の分割方式を使って上記ログデータを分割し、上記複数の分割方式それぞれに対応する複数のログ単位データの組を生成する。
上記分割方式判定部133は、上記処理装置を用いて、上記ログ分割部112が使用した複数の分割方式のなかから、上記ログデータの同じ範囲を分割した1以上のログ単位データに基づいて上記ログ差分生成部123が生成した1以上の差分データのデータ量の合計が最も小さい分割方式を判定して、選択分割方式とする。
上記圧縮単位出力部134は、上記処理装置を用いて、上記ログ単位取得部121が取得した取得単位データを圧縮した圧縮単位データとして、上記分割方式判定部133が判定した選択分割方式を使って上記ログ分割部112が分割したログ単位データに基づいて上記ログ差分生成部123が生成した差分データを出力する。
これにより、ログ取得部111が取得するログデータの単位が不明である場合であっても、最適な分割方式を選択することができるので、ログ収集装置830に対して送信するデータ量を少なくすることができる。したがって、通信線820の通信容量が小さい場合でも、ログの欠落などを防ぐことができる。
実施の形態5.
実施の形態5について、図24を用いて説明する。
なお、実施の形態1乃至実施の形態4のいずれかと共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態では、ログの内容に応じて動的に分割サイズを変更することで、ログ差分を小さくする構成について説明する。
例えば、図8に示したログデータ710は、1行の中に日付、処理のID、エラーメッセージが出力され、ログの最小単位は1行となっている。また、図20に示したログデータ710は、1行目に日付、ID処理モジュール名などが出力され、2行目にメッセージのコード、ログのメッセージが出力され、ログの最小単位は2行となっている。
ログ情報分割部(ログ分割部112)は、1行、2行...n行で分割したログ情報を一旦生成し、それぞれ送信済みログ情報との差分を生成し、最も小さい物を選択する。
図24は、この実施の形態におけるログ情報送信側のデータの流れの一例を示す図である。
ログ情報分割部は、1行で分割した場合、2行で分割した場合、n行で分割した場合というように、複数の分割パターンでログ情報を分割する。
ログ差分生成部は、分割されたログ情報と、ログ情報バッファが持っている過去のログ情報との間で、それぞれ差分情報を生成する。
ログ情報送信/保存部は、その差分情報の中で、最もサイズが小さい物を選択する。また、ログ情報バッファには、選択された差分情報の元になったログ情報を保存する。
ログファイル読み取り位置記憶部は、そのログ情報を読み込んだ分だけ、ログファイルの読み取り位置を進める。これにより、次に分割するログ情報が、送付したログ差分情報の元になったログ情報と連続性を保つことができる。
この実施の形態におけるログ情報量圧縮方式(ログ収集システム800)は、ログ情報分割部(ログ分割部112)が分割するログのサイズを動的に変更し、最も小さい差分情報を生成したログの分割サイズを用いる。
これにより、ログファイルの内容によって異なる、最適なログ情報の最小単位を、自動的、かつ動的に設定することが可能となる。
また、ログファイルを処理していく課程で、分割する行数が何行の場合に最も差分が小さくなったか、という統計情報を残すことで、ある程度処理を進めた後は、分割の行数を複数パターン試さずとも、効率良く差分を生成することが可能である。
実施の形態6.
実施の形態6について、図25〜図29を用いて説明する。
なお、実施の形態1乃至実施の形態5のいずれかと共通する部分については、同一の符号を付し、説明を省略する。
図25は、この実施の形態におけるログ圧縮装置812の機能ブロックの構成の一例を示すブロック構成図である。
ログ圧縮装置812は、実施の形態1で説明した機能ブロックに加えて、更に、ログ単位分類部113を有する。
ログ単位分類部113は、CPU911を用いて、ログ分割部112が生成したログ単位データを1以上の種別に分類する。ログ単位分類部113は、分類した種別を表わすデータを生成して、種別データとする。
ログ単位取得部121は、CPU911を用いて、ログ分割部112が生成したログ単位データ(取得単位データ)を取得し、取得したログ単位データについてログ単位分類部113が生成した種別データを取得する。
ログ単位記憶部122は、HDD920を用いて、ログ単位取得部121が取得したログ単位データを、種別データが表わす種別ごとに分けて記憶する。ログ単位記憶部122は、それぞれの種別ごとに、所定の数のログ単位データを記憶する。
ログ差分生成部123は、CPU911を用いて、ログ単位取得部121が取得した取得単位データと、ログ単位記憶部122が記憶したログ単位データのうち取得単位データと同じ種別に属するログ単位データとの間の差分データを生成する。
圧縮単位出力部134は、CPU911を用いて、差分対象データと差分データと種別データとを含む圧縮単位データを出力する。
ログ単位データの種別とは、例えば1つのログデータのなかに複数のログ記録装置811が生成したログが混じり合っている場合において、そのログ単位データを生成したログ記録装置811である。ログ記録装置811が異なれば、ログの書式も異なる場合が多い。また、1つのログ記録装置811が生成したログであっても、記録される内容によって、書式が大幅に異なる場合がある。
このように、書式が大幅に異なるログ単位データが混ざっている場合、書式が異なるログ単位データとの差分データよりも、書式が同じログ単位データとの差分データのほうがデータ量が少なくなる。
ログ復元装置832について、図5を用いて説明する。
復元単位記憶部222は、HDD920を用いて、圧縮単位データに含まれる種別データに基づいて、復元単位データを種別ごとに分けて記憶する。復元単位記憶部222は、種別ごとに所定の数の復元単位データを記憶する。
ログ単位復元部221は、CPU911を用いて、圧縮単位取得部211が取得した圧縮単位データに含まれる種別データと差分対象データとに基づいて、復元単位記憶部222が記憶した復元単位データのなかから、復元単位データを取得する。ログ単位復元部221は、CPU911を用いて、取得した復元単位データと、差分データとに基づいて、ログ単位データを復元する。
図26は、この実施の形態におけるログ圧縮処理S510の流れの一例を示すフローチャート図である。
ログ圧縮処理S510は、実施の形態1で説明した工程に加えて、更に、分類判定工程S515を有する。
分類判定工程S515において、ログ単位分類部113は、CPU911を用いて、取得単位取得工程S514でログ単位取得部121が取得したログ単位データについて、ログ単位データの種別を判定する。ログ単位取得部121は、CPU911を用いて、ログ単位分類部113が生成した種別データを取得する。
ログ単位取得工程S522において、ログ差分生成部123は、CPU911を用いて、ログ単位記憶部122が記憶したログ単位データのうち、分類判定工程S515でログ単位取得部121が取得した種別データが表わす種別と同じ種別に属するログ単位データのなかから、未処理のログ単位データを1つ取得する。
圧縮単位出力工程S532において、圧縮単位出力部134は、CPU911を用いて、差分対象判定部131が生成した差分対象データと、ログ差分記憶部132が記憶した差分データと、ログ単位取得部121が取得した種別データとを含む圧縮単位データを出力する。
取得単位記憶工程S533において、ログ単位記憶部122は、CPU911を用いて、ログ単位取得部121が取得した種別データが表わす種別に基づいて、ログ単位取得部121が取得したログ単位データを分類して記憶する。
ログ復元処理S610について、図7を用いて説明する。
ログ単位復元工程S612において、ログ単位復元部221は、CPU911を用いて、圧縮単位取得工程S611で圧縮単位取得部211が取得した圧縮単位データから、差分対象データと差分データと種別データとを取得する。ログ単位復元部221は、CPU911を用いて、復元単位記憶部222が記憶した復元単位データのなかから、取得した差分対象データと種別データとが表わすログ単位データを復元した復元単位データを取得する。ログ単位復元部221は、CPU911を用いて、取得した復元単位データと差分データとに基づいて、ログ単位データを復元する。
図27は、この実施の形態におけるログ圧縮装置812が処理するデータの一例を示す図である。
この例において、ログデータ710は、全部で6行からなり、1行を1つの単位とする6つの単位で構成されている。
各単位の種別は、例えば「<」「>」で括られた文字列により判別できる。6つの単位のうち、1つ目と4つ目は「<signalHandler−1>」、2つ目と5つ目は「<TP−Processor2」、3つ目と6つ目は「<TP−Processor1>」であるから、この6つの単位は、3つの種別に分けられる。
図28は、この実施の形態におけるログ圧縮装置812が処理するデータの一例を示す図である。
6つのログ単位データ721a〜721fは、図27に示したログデータ710をログ分割部112が分割したものである。
また、種別データ723a〜723fは、ログ分割部112が分割した6つのログ単位データ721a〜721fそれぞれについて、ログ単位分類部113が生成したものである。
ログ単位分類部113は、例えば上記のような基準にしたがって、ログ単位データを分類し、種別データ723a〜723fを生成する。
図29は、この実施の形態におけるログ圧縮装置812が処理するデータの一例を示す図である。
ログ単位データ721aについて圧縮単位出力部134が出力する圧縮単位データは、差分対象データ741a、差分データ742a、種別データ743aを含む。種別データ743aは、ログ単位分類部113がログ単位データ721aについて生成した種別データ723aと等しい。この時点で、ログ単位記憶部122は、ログ単位データを記憶していないので、差分データ742aは、ログ単位データ721aそのものであり、差分対象データ741aは、そのことを表わす。
ログ単位データ721bについて圧縮単位出力部134が出力する圧縮単位データは、差分対象データ741b、差分データ742b、種別データ743bを含む。種別データ743bは、ログ単位分類部113がログ単位データ721bについて生成した種別データ723bと等しい。この時点で、ログ単位記憶部122は、種別データ723aが表わす種別について1つのログ単位データ721aを記憶しているが、種別データ723bが表わす種別についてログ単位データを記憶していないので、差分データ742bは、ログ単位データ721bそのものであり、差分対象データ741bは、そのことを表わす。
ログ単位データ721cについて圧縮単位出力部134が出力する圧縮単位データは、差分対象データ741c、差分データ742c、種別データ743cを含む。種別データ743cは、ログ単位分類部113がログ単位データ721cについて生成した種別データ723cと等しい。この時点で、ログ単位記憶部122は、種別データ723aが表わす種別について1つのログ単位データ721aと、種別データ723bが表わす種別について1つのログ単位データ721bとを記憶しているが、種別データ723cが表わす種別についてログ単位データを記憶していないので、差分データ742cは、ログ単位データ721cそのものであり、差分対象データ741cは、そのことを表わす。
ログ単位データ721dについて圧縮単位出力部134が出力する圧縮単位データは、差分対象データ741d、差分データ742d、種別データ743dを含む。種別データ743dは、ログ単位分類部113がログ単位データ721dについて生成した種別データ723dと等しい。種別データ723dは種別データ723aと等しいので、この時点で、ログ単位記憶部122は、種別データ723dが表わす種別について1つのログ単位データ721aを記憶している。ログ差分生成部123は、ログ単位データ721aとログ単位データ721dとの差分データを生成する。ログ差分生成部123が生成した差分データのデータ量は、ログ単位データ721dのデータ量より小さいので、差分データ742dは、ログ差分生成部123が生成した差分データである。
ログ単位データ721eについて圧縮単位出力部134が出力する圧縮単位データは、差分対象データ741e、差分データ742e、種別データ743eを含む。種別データ743eは、ログ単位分類部113がログ単位データ721eについて生成した種別データ723eと等しい。種別データ723eは種別データ723bと等しいので、この時点で、ログ単位記憶部122は、種別データ723eが表わす種別について1つのログ単位データ721bを記憶している。ログ差分生成部123は、ログ単位データ721bとログ単位データ721eとの差分データを生成する。ログ差分生成部123が生成した差分データのデータ量は、ログ単位データ721eのデータ量より小さいので、差分データ742eは、ログ差分生成部123が生成した差分データである。
ログ単位データ721fについて圧縮単位出力部134が出力する圧縮単位データは、差分対象データ741f、差分データ742f、種別データ743fを含む。種別データ743fは、ログ単位分類部113がログ単位データ721fについて生成した種別データ723fと等しい。種別データ723fは種別データ723cと等しいので、この時点で、ログ単位記憶部122は、種別データ723fが表わす種別について1つのログ単位データ721cを記憶している。ログ差分生成部123は、ログ単位データ721cとログ単位データ721fとの差分データを生成する。ログ差分生成部123が生成した差分データのデータ量は、ログ単位データ721fのデータ量より小さいので、差分データ742fは、ログ差分生成部123が生成した差分データである。
このように、ログ単位データを種別ごとに分けることにより、ログ差分生成部123が生成する差分データの数を少なくすることができるので、ログ圧縮装置812の計算量を減らすことができる。
また、ログ単位記憶部122が種別ごとに所定の数のログ単位データを記憶するので、出現頻度が低い種別のログ単位データについても、差の小さいログ単位データをログ単位記憶部122が保持している。このため、差分データのデータ量を小さくすることができ、圧縮効率を高めることができる。
この実施の形態におけるログ圧縮装置812は、更に、ログ単位分類部113を有する。
上記ログ単位分類部113は、上記処理装置(CPU911)を用いて、上記複数のログ単位データを複数の種別に分類する。
上記ログ差分生成部123は、上記処理装置を用いて、上記複数のログ単位データのうち、上記ログ単位分類部113が上記取得単位データと同じ種別に分類したログ単位データについて、上記ログ単位取得部121が取得した取得単位データとの差分データを生成する。
これにより、ログ圧縮装置812の計算量を減らすことができるとともに、差分データのデータ量を小さくすることができる。ログ単位データを圧縮した圧縮単位データの圧縮率が高くなるので、ログ収集装置830に対して送信するデータ量を少なくすることができる。したがって、通信線820の通信容量が小さい場合でも、ログの欠落などを防ぐことができる。
なお、この実施の形態では、実施の形態1で説明した構成を元にした構成について説明したが、他の実施の形態で説明した構成を元にした構成であってもよい。
実施の形態7.
実施の形態7について、図30を用いて説明する。
なお、実施の形態1乃至実施の形態6のいずれかと共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態では、ログの内容に応じて、読み取り位置を変え、ログ情報の順序を入れ替えることで、ログ差分を小さくする構成について説明する。
例えば、図27に示したログデータ710は、3つのモジュールが出力するログが、1つのログファイル上に混ざって出力されている。ログデータ710の各部分は、それぞれ異なるモジュールが同時に動作して出力したログになっている。このようにログが入れ子になることは、ログ情報送信側で、ログファイルを出力するシステムの、CPUが複数個ある場合や、CPUコアが複数ある場合に顕著に発生する。ログの内容にもよるが、この例の場合は、「<」「>」内に記述されている識別子(signalHandler−1、TP−Processor1、TP−Processor2など)により、分類出来る。
ログファイル読み取り部(ログ取得部111)は、ある程度まとまった大きさのログ情報(ログデータ710)をログファイルから読み込む。ログファイル読み取り部は、例えば12行をまとめて読み込む。ログファイル読み取り部は、読み込んだログ情報を1行ずつに分割する。ログファイル読み取り部は、識別子によってログ情報を入れ替える。ログ情報分割部(ログ分割部112)は、入れ替え後に、ログ情報を最小単位に分割する。ログ情報分割部は、実施の形態5の構成と同様、分割サイズを変更する構成であってもよい。複数行にわたる一連の処理内容を一つのログ情報としてまとめ、その単位で差分を生成することにより、より差分を小さく出来ることが期待できる。また、ログ情報送信/保存部が送信、保存する差分情報(圧縮単位データ)には、元のログ情報内の位置を示すインデックス(idx)を持たせる。
図30は、この実施の形態におけるログ情報分割部がログ情報の順序を入れ替える様子の一例を示す図である。
ログ情報受信側では、差分からログ情報を復元後に、idxを元にしてログ情報を入れ替え、元のログファイルと同じ順序でログ情報保存部がログ情報を保存する。
この実施の形態におけるログ情報量圧縮方式(ログ収集システム800)において、ログファイル読み取り部(ログ取得部111)は、ログ情報内の識別子によってログ情報の順序を入れ替えてから差分を生成し、ログ情報受信側では差分からの復元後に再度順序を入れ替えて元のログを復元する。
これにより、複数のモジュールが同時に動作し、ログを出力しているシステムのログに対して、より効果的に差分を使って情報量を削減することが出来る。
実施の形態8.
実施の形態8について、図31を用いて説明する。
なお、実施の形態1乃至実施の形態7のいずれかと共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態では、差分生成部を複数持つことで、差分生成でのスループットを上げる構成について説明する。
図31は、この実施の形態におけるログ収集システム800の構成の一例を示す構成図である。
ログ差分生成部1は、ログ情報分割部(ログ分割部112)とログ情報バッファ1(ログ単位記憶部122)からログ情報(ログ単位データ)を受け取り、1世代前のログ情報との差分情報を生成する。同様に、ログ差分生成部nは、ログ情報分割部とログ情報バッファnからログ情報を受け取り、n世代前のログ情報との差分情報を生成する。
ログ差分生成部1は、ログ情報分割部からログ情報、ログ情報バッファ1から1世代前のログ情報を受け取り、1世代前との差分情報を生成する。同様にして、ログ差分生成部2は、2世代前のログ情報との差分情報、ログ差分生成部nはn世代前のログ情報との差分情報を生成する。
この実施の形態におけるログ情報量圧縮方式(ログ収集システム800)は、差分生成部を複数持つことにより、差分生成処理のスループットを上げる。
このように、ログ差分生成部がn個同時に動作することにより、差分生成を平行して行い、差分生成のスループットを上げることが出来る。CPUを複数持つ場合や、CPUが複数のコアを持つ場合に特に効果が高い。
なお、この実施の形態で説明した構成を、他の実施の形態で説明した構成と組み合わせた構成としてもよい。差分情報生成部を複数持つことで、差分生成処理でのスループットを上げることができる。
実施の形態9.
実施の形態9について、図32を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態では、ログ情報送信側の機器またはPCサーバの負荷に応じて差分を生成する世代数を増減させる構成について説明する。
図32は、この実施の形態におけるログ収集システム800の構成の一例を示す構成図である。
負荷測定部は、ログ送信側のCPU/メモリ/ディスクなどの負荷を測定し、あらかじめ設定した負荷を超える場合は、差分を生成する世代数を減らし、ログ差分情報生成による機器またはPCへの負荷を低減する。世代数が減った場合、ログ差分生成部で生成する差分の数が減るため、負荷を減らすことが可能である。
この実施の形態におけるログ情報量圧縮方式(ログ収集システム800)は、ログ情報送信側に負荷測定部を持ち、負荷に応じて差分を生成する世代数を増減させる。
これにより、ログ差分情報生成によって機器またはPCへかかる負荷を減らすことができるので、ログファイルを生成する業務アプリケーション等の動作に影響が出るのを防ぐことができる。ログ差分情報生成の負荷を変化させることにより、業務アプリケーション等への影響を抑えることが出来る。
なお、この実施の形態で説明した構成を、他の実施の形態で説明した構成と組み合わせた構成としてもよい。ログ情報送信側の機器またはPCの付加に応じて世代数を増減させることにより、同様の効果を得ることができる。
111 ログ取得部、112 ログ分割部、113 ログ単位分類部、121 ログ単位取得部、122 ログ単位記憶部、123 ログ差分生成部、131 差分対象判定部、132 ログ差分記憶部、133 分割方式判定部、134 圧縮単位出力部、211 圧縮単位取得部、221 ログ単位復元部、222 復元単位記憶部、231 ログ結合部、232 ログ出力部、710 ログデータ、712 改行文字、721 ログ単位データ、723,743 種別データ、731〜733,742 差分データ、741 差分対象データ、751 復元単位データ、800 ログ収集システム、810 ログ生成装置、811 ログ記録装置、812 ログ圧縮装置、813 ログ送信装置、820 通信線、830 ログ収集装置、831 ログ受信装置、832 ログ復元装置、833 ログ蓄積装置、901 表示装置、902 キーボード、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信装置、920 HDD、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、931 電話器、932 ファクシミリ機、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (7)

  1. データを処理する処理装置と、ログ単位取得部と、ログ差分生成部と、差分対象判定部と、圧縮単位出力部とを有し、
    上記ログ単位取得部は、上記処理装置を用いて、ログデータを構成する複数のログ単位データのなかからログ単位データを取得して、取得単位データとし、
    上記ログ差分生成部は、上記処理装置を用いて、上記複数のログ単位データのうち、上記取得単位データと異なる2以上のログ単位データそれぞれについて、上記ログ単位取得部が取得した取得単位データとの違いを表わす差分データを生成し、
    上記差分対象判定部は、上記処理装置を用いて、上記複数のログ単位データのうち、上記ログ差分生成部が生成した差分データのデータ量が最も小さいログ単位データを判定して、選択対象データとし、
    上記圧縮単位出力部は、上記処理装置を用いて、上記ログ単位取得部が取得した取得単位データを圧縮した圧縮単位データとして、上記差分対象判定部が判定した選択対象データについて上記ログ差分生成部が生成した差分データを出力することを特徴とするログ圧縮装置。
  2. 上記ログ圧縮装置は、更に、ログ分割部を有し、
    上記ログ分割部は、上記処理装置を用いて、上記ログデータを分割して、複数のログ単位データを生成し、
    上記ログ単位取得部は、上記処理装置を用いて、上記ログ分割部が生成した複数のログ単位データのなかから上記取得単位データを取得することを特徴とする請求項1に記載のログ圧縮装置。
  3. 上記ログ圧縮装置は、更に、分割方式判定部を有し、
    上記ログ分割部は、上記処理装置を用いて、複数の分割方式を使って上記ログデータを分割し、上記複数の分割方式それぞれに対応する複数のログ単位データの組を生成し、
    上記分割方式判定部は、上記処理装置を用いて、上記ログ分割部が使用した複数の分割方式のなかから、上記ログデータの同じ範囲を分割した1以上のログ単位データに基づいて上記ログ差分生成部が生成した1以上の差分データのデータ量の合計が最も小さい分割方式を判定して、選択分割方式とし、
    上記圧縮単位出力部は、上記処理装置を用いて、上記ログ単位取得部が取得した取得単位データを圧縮した圧縮単位データとして、上記分割方式判定部が判定した選択分割方式を使って上記ログ分割部が分割したログ単位データに基づいて上記ログ差分生成部が生成した差分データを出力することを特徴とする請求項2に記載のログ圧縮装置。
  4. 上記ログ圧縮装置は、更に、ログ単位分類部を有し、
    上記ログ単位分類部は、上記処理装置を用いて、上記複数のログ単位データを複数の種別に分類し、
    上記ログ差分生成部は、上記処理装置を用いて、上記複数のログ単位データのうち、上記ログ単位分類部が上記取得単位データと同じ種別に分類したログ単位データについて、上記ログ単位取得部が取得した取得単位データとの差分データを生成することを特徴とする請求項1乃至請求項3のいずれかに記載のログ圧縮装置。
  5. 請求項1乃至請求項4のいずれかに記載のログ圧縮装置と、ログ復元装置とを有し、
    上記ログ復元装置は、上記圧縮単位出力部が出力した圧縮単位データを取得し、取得した圧縮単位データから、上記ログ単位取得部が取得したログ単位データを復元することを特徴とするログ収集システム。
  6. データを処理する処理装置を有するコンピュータが実行することにより、上記コンピュータが請求項1乃至請求項4のいずれかに記載のログ圧縮装置として機能することを特徴とするコンピュータプログラム。
  7. データを処理する処理装置を有するログ圧縮装置がログデータを圧縮するログ圧縮方法において、
    上記処理装置が、上記ログデータを構成する複数のログ単位データのなかからログ単位データを取得して、取得単位データとし、
    上記処理装置が、上記複数のログ単位データのうち、上記取得単位データと異なる2以上のログ単位データそれぞれについて、取得した取得単位データとの差分データを生成し、
    上記処理装置が、生成した差分データのうち、データ量が最も小さい差分データを判定し、
    上記処理装置が、取得した取得単位データを圧縮した圧縮単位データとして、判定した差分データを出力することを特徴とするログ圧縮方法。
JP2009271243A 2009-11-30 2009-11-30 ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法 Expired - Fee Related JP5430370B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009271243A JP5430370B2 (ja) 2009-11-30 2009-11-30 ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009271243A JP5430370B2 (ja) 2009-11-30 2009-11-30 ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法

Publications (2)

Publication Number Publication Date
JP2011113443A JP2011113443A (ja) 2011-06-09
JP5430370B2 true JP5430370B2 (ja) 2014-02-26

Family

ID=44235703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009271243A Expired - Fee Related JP5430370B2 (ja) 2009-11-30 2009-11-30 ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法

Country Status (1)

Country Link
JP (1) JP5430370B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936382B1 (en) 2019-08-26 2021-03-02 Jvckenwood Corporation Log output device, log output method, and log output program

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5632931B2 (ja) * 2013-02-04 2014-11-26 アンリツ株式会社 試験装置及び試験方法
KR101575015B1 (ko) * 2013-07-01 2015-12-07 (주) 솔텍시스템 시계열적 공정 데이터의 압축 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
KR101990329B1 (ko) * 2017-08-10 2019-06-18 주식회사 티맥스데이터 로그 데이터 분석을 이용한 데이터베이스 복구 속도 향상 기법 및 장치
CN110399347B (zh) * 2018-04-23 2021-05-18 华为技术有限公司 告警日志压缩方法、装置及系统、存储介质
WO2020110414A1 (ja) * 2018-11-30 2020-06-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車両ログ送信装置、車両ログ解析システムおよび車両ログ送受信方法
JP6921342B1 (ja) * 2020-03-30 2021-08-18 三菱電機株式会社 制御装置及びロギング方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0944423A (ja) * 1995-07-28 1997-02-14 Toshiba Corp 計算機システム
JP4491577B2 (ja) * 2004-01-26 2010-06-30 独立行政法人情報通信研究機構 ログ要約装置、ログ要約プログラムおよび記録媒体
JP2006201969A (ja) * 2005-01-19 2006-08-03 Fujitsu Ltd エラー情報圧縮装置、エラー情報圧縮方法およびエラー情報圧縮プログラム
JP4157585B2 (ja) * 2007-06-11 2008-10-01 株式会社東芝 サーバ側プロキシ装置、クライアント側プロキシ装置、データ転送方法及びプログラム
JP2009042815A (ja) * 2007-08-06 2009-02-26 Renesas Technology Corp 半導体集積回路及びデバッグシステム
JP4879193B2 (ja) * 2008-01-10 2012-02-22 三菱電機株式会社 システムログ管理支援装置およびシステムログ管理支援方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936382B1 (en) 2019-08-26 2021-03-02 Jvckenwood Corporation Log output device, log output method, and log output program

Also Published As

Publication number Publication date
JP2011113443A (ja) 2011-06-09

Similar Documents

Publication Publication Date Title
JP5430370B2 (ja) ログ圧縮装置及びログ収集システム及びコンピュータプログラム及びログ圧縮方法
CN109688207B (zh) 日志传输方法、装置及服务器
JP5525410B2 (ja) 操作ログ格納システム、装置、およびプログラム
JP5781685B2 (ja) ログ管理計算機、及びログ管理方法
CN115065725B (zh) 数据处理方法、装置、电子设备及存储介质
WO2022247568A1 (zh) 一种图像恢复方法、装置和设备
US11650989B2 (en) Efficient aggregation of time series data
US20120139763A1 (en) Decoding encoded data
JP2007193436A (ja) ログ検索プログラム、ログ管理装置、情報処理装置およびログ検索方法
CN111124470A (zh) 基于云平台的程序包自动优化方法及装置
KR102339723B1 (ko) Dna 저장 장치의 연성 정보 기반 복호화 방법, 프로그램 및 장치
CN104933077A (zh) 基于规则的多文件信息分析方法
JP2015035160A (ja) 監視データ記憶装置、監視データ記憶方法およびプログラム
JP2008210073A (ja) ログデータサイズ削減装置及びログデータサイズ削減装置のログデータサイズ削減方法
CN115866331A (zh) 视频抽帧分析方法、装置、设备及存储介质
CN115905119A (zh) 一种bmc日志压缩提取方法及系统
JP2005321910A (ja) ログデータ管理システム、方法、及びプログラム
JP7276743B2 (ja) 異常操作検知装置、異常操作検知方法、およびプログラム
CN112989078A (zh) 数据处理方法、装置、计算机设备及存储介质
JP5665685B2 (ja) 重要度判定装置、重要度判定方法およびプログラム
CN112559936A (zh) 社区内容处理方法、装置、电子设备和存储介质
JP5649466B2 (ja) 重要度判定装置、重要度判定方法およびプログラム
US10936382B1 (en) Log output device, log output method, and log output program
CN111597098A (zh) 一种数据处理方法以及设备
JP2014229059A (ja) 端末操作履歴収集システム及び端末操作履歴収集方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120914

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20121207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

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: 20131105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131203

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5430370

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees