図面 (/)

技術 ログ管理装置及びログ管理プログラム

出願人 富士通株式会社
発明者 松浦主幹
出願日 2016年9月7日 (3年7ヶ月経過) 出願番号 2016-175074
公開日 2018年3月15日 (2年1ヶ月経過) 公開番号 2018-041288
状態 未査定
技術分野 計算機におけるファイル管理 検索装置 圧縮、伸長・符号変換及びデコーダ
主要キーワード 集約プログラム 前処理結果 作業用バッファ 集約装置 ログ管理プログラム PCIエクスプレス ログ管理装置 順序データ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2018年3月15日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

ログファイルの特徴を捉えた圧縮を行うことで、圧縮率を向上すること。

解決手段

タイムスタンプ情報抽出部32が、ログファイル本文からタイムスタンプを抽出し、ソート部34が、ログ本体部に基づいてログ本体部とタイムスタンプをソートする。そして、圧縮実行部42が、ソート部34によりソートされたログ本体部とタイムスタンプを圧縮し、データ保存部43が、圧縮実行部42により圧縮されたログ本体部と複数のタイムスタンプをログ記憶部5に保存する。

概要

背景

データセンタ等で複数の装置を使用する場合、各装置のログファイル集約して管理することが行われる。ログファイルを集約することによって、ログファイルを参照する場合に各装置にアクセスする必要がなくなる。また、障害が発生した装置にアクセスできるとは限らないため、事前にログファイルを集約装置に集約することによって、ログ情報を確実に収集することができる。

しかしながら、ログファイルを一箇所に集約すると、ログファイルを格納するハードディスク装置の必要容量が装置の数に比例して大きくなる。このため、集約装置は、ログファイルを圧縮してハードディスク装置に格納する。

なお、収集データを分割して圧縮し、圧縮データを転送する場合に、分割手段は、収集データを記憶する記憶手段の記憶容量の内のデータ圧縮データ転送使用可能な記憶容量に応じて収集データを分割することで、転送時間を短縮する技術がある。

概要

ログファイルの特徴を捉えた圧縮を行うことで、圧縮率を向上すること。タイムスタンプ情報抽出部32が、ログファイル本文からタイムスタンプを抽出し、ソート部34が、ログ本体部に基づいてログ本体部とタイムスタンプをソートする。そして、圧縮実行部42が、ソート部34によりソートされたログ本体部とタイムスタンプを圧縮し、データ保存部43が、圧縮実行部42により圧縮されたログ本体部と複数のタイムスタンプをログ記憶部5に保存する。

目的

本発明は、1つの側面では、ログファイルの圧縮率を向上することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数のログのそれぞれからタイムスタンプを分離する分離部と、前記分離部によりタイムスタンプが分離された複数の本体部と複数のタイムスタンプを本体部の情報に基づいてソートするソート部と、前記ソート部によりソートされた複数の本体部と複数のタイムスタンプを辞書を用いて圧縮する圧縮部と、前記圧縮部により圧縮された複数の本体部と複数のタイムスタンプを記憶装置に保存する保存部とを有することを特徴とするログ管理装置

請求項2

前記分離部は、各ログからタイムスタンプを分離するとともに各ログに順序データを付加し、前記ソート部は、複数の本体部と複数のタイムスタンプと複数の順序データを本体部の情報に基づいてソートし、前記圧縮部は、前記ソート部によりソートされた複数の本体部と複数のタイムスタンプと複数の順序データを圧縮し、前記保存部は、前記圧縮部により圧縮された複数の本体部と複数のタイムスタンプと複数の順序データを記憶装置に保存することを特徴とする請求項1に記載のログ管理装置。

請求項3

種類が同じ複数の装置のログファイルのログそれぞれに各ログファイルを識別する情報を付加する付加部と、前記複数の装置のログファイルをまとめて1つのログファイルとする結合部とをさらに有し、前記分離部は、前記結合部により1つのログファイルにまとめられた複数のログのそれぞれからタイムスタンプを分離することを特徴とする請求項1又は2に記載のログ管理装置。

請求項4

前記保存部により保存された複数の本体部と複数のタイムスタンプを前記記憶装置から読み出して伸張する伸張部と、前記伸張部により伸張された複数の本体部と複数のタイムスタンプをタイムスタンプに基づいてソートし、各タイムスタンプを対応する本体部に挿入することで元のログを復元する復元部とをさらに有することを特徴とする請求項1に記載のログ管理装置。

請求項5

前記保存部により保存された複数の本体部と複数のタイムスタンプと複数の順序データを前記記憶装置から読み出して伸張する伸張部と、前記伸張部により伸張された複数の本体部と複数のタイムスタンプと複数の順序データを順序データに基づいてソートし、各タイムスタンプを対応する本体部に挿入し、各順序データを削除することで元のログを復元する復元部とをさらに有することを特徴とする請求項2に記載のログ管理装置。

請求項6

コンピュータに、複数のログのそれぞれからタイムスタンプを分離し、複数のログのそれぞれからタイムスタンプが分離された複数の本体部と複数のタイムスタンプを本体部の情報に基づいてソートし、ソートした複数の本体部と複数のタイムスタンプを辞書を用いて圧縮し、圧縮した複数の本体部と複数のタイムスタンプを記憶装置に保存する処理を実行させることを特徴とするログ管理プログラム

技術分野

0001

本発明は、ログ管理装置及びログ管理プログラムに関する。

背景技術

0002

データセンタ等で複数の装置を使用する場合、各装置のログファイル集約して管理することが行われる。ログファイルを集約することによって、ログファイルを参照する場合に各装置にアクセスする必要がなくなる。また、障害が発生した装置にアクセスできるとは限らないため、事前にログファイルを集約装置に集約することによって、ログ情報を確実に収集することができる。

0003

しかしながら、ログファイルを一箇所に集約すると、ログファイルを格納するハードディスク装置の必要容量が装置の数に比例して大きくなる。このため、集約装置は、ログファイルを圧縮してハードディスク装置に格納する。

0004

なお、収集データを分割して圧縮し、圧縮データを転送する場合に、分割手段は、収集データを記憶する記憶手段の記憶容量の内のデータ圧縮データ転送使用可能な記憶容量に応じて収集データを分割することで、転送時間を短縮する技術がある。

先行技術

0005

特開2002−163180号公報

発明が解決しようとする課題

0006

従来のログファイルの圧縮には、ログファイルの特徴を捉えた圧縮を行っていないため圧縮率が悪いという問題がある。例えば、二つのログの間にはタイムスタンプだけが異なる場合がある、といった特徴がログファイルにはある。このようなログファイルの特徴を捉えた圧縮を行うことで、圧縮率を向上することができる。

0007

本発明は、1つの側面では、ログファイルの圧縮率を向上することを目的とする。

課題を解決するための手段

0008

1つの態様では、ログ管理装置は、分離部と、ソート部と、圧縮部と、保存部とを有する。分離部は、複数のログのそれぞれからタイムスタンプを分離する。ソート部は、分離部によりタイムスタンプが分離された複数の本体部と複数のタイムスタンプを本体部の情報に基づいてソートする。圧縮部は、ソート部によりソートされた複数の本体部と複数のタイムスタンプを辞書を用いて圧縮する。保存部は、圧縮部により圧縮された複数の本体部と複数のタイムスタンプを記憶装置に保存する。

発明の効果

0009

1つの側面では、ログファイルの圧縮率を向上することができる。

図面の簡単な説明

0010

図1は、辞書を利用した圧縮を説明するための図である。
図2は、ログファイルの一例を示す図である。
図3は、位置情報テーブルの一例を示す図である。
図4は、1行処理時点のログ本体部、タイムスタンプ及び順序情報を示す図である。
図5は、全行処理完了時点のログ本体部、タイムスタンプ及び順序情報を示す図である。
図6は、ソート後のログ本体部、タイムスタンプ及び順序情報を示す図である。
図7は、ログ本体部、タイムスタンプ及び順序情報の3つのそれぞれの行の結合結果を示す図である。
図8は、対応付け後のログ本体部、タイムスタンプ及び順序情報を示す図である。
図9は、ソート後のログ本体部、タイムスタンプ及び順序情報を示す図である。
図10は、1行処理時点のログファイル本文を示す図である。
図11は、全行処理完了時点のログファイル本文を示す図である。
図12は、実施例1に係る集約装置の機能構成を示す図である。
図13は、前処理部による処理のフローを示すフローチャートである。
図14は、復元部による処理のフローを示すフローチャートである。
図15は、実施例2に係る集約装置によるログファイルの結合を説明するための図である。
図16は、2つのログファイルの例を示す図である。
図17は、ログファイルに対応付けられる付加情報をタイムスタンプの先頭に付加する手順を示す図である。
図18は、ログファイルに対応付けられた付加情報がタイムスタンプの先頭に付加された後のログファイルを示す図である。
図19は、結合後のログファイルを示す図である。
図20は、付加情報と元ログファイル名の対応表の一例を示す図である。
図21は、複数ファイル結合処理のフローを示すフローチャートである。
図22は、実施例に係る集約プログラムを実行するコンピュータハードウェア構成を示す図である。

0011

以下に、本願の開示するログ管理装置及びログ管理プログラムの実施例を図面に基づいて詳細に説明する。実施例1では、ログ管理装置として、各サーバのログファイルを圧縮して保存する集約装置について説明し、実施例2では、ログ管理装置として、複数のサーバのログを1つのログファイルにまとめてから圧縮して保存する集約装置について説明する。なお、実施例1及び2は開示の技術を限定するものではない。

0012

ログファイルの圧縮には、辞書を利用した圧縮が用いられる。辞書を利用した圧縮には、例えば、LZSS符号、LZ77符号がある。図1は、辞書を利用した圧縮を説明するための図である。図1において、「WHAT IS THIS? THIS IS A PEN.」は圧縮されるテキストである。参照部91は、圧縮対象のテキストの一部であり、辞書として利用される。

0013

符号化部92は、これから圧縮される部分である。符号化部92のテキストと同一の文字列が参照部91に存在するか否かが判定され、存在する場合には、符号化部92の文字列が辞書にある文字列の位置と長さに変換される。図1では、符号化部92の「THIS」が辞書に存在するため、(位置、長さ)の組である(3、4)で置き換えられる。

0014

参照部91と符号化部92の長さが共に256文字である場合には、位置及び長さを表現するためにそれぞれ8ビット必要であり、合計16ビットが必要である。一方、圧縮前の4文字を表現するためにはASCIIコードでは32ビット必要であるため、変換後のビット長は半分になる。

0015

参照部91は固定長であるため、参照部91は符号化部92の移動と共に移動する。参照部91が大きくなると、符号化部92の文字列が参照部91に存在する可能性は高くなるが、変換後のデータの位置を表現するために必要なビット数も増えるため、必ずしも圧縮率が向上するとは限らない。また、参照部91は符号化部92の移動と共に移動するため、近くに同じ文字列があれば圧縮率は向上する。そこで、実施例1に係る圧縮は、ログファイルに対して同じ文字列が近くに現れるように前処理を行うことで圧縮率を向上する。

0016

図2図7は、実施例1に係る前処理の例を説明するための図である。図2は、ログファイルの一例を示す図であり、前処理されるログファイルを示す。図2に示すように、ログの種類は、Windows(登録商標、以下同様)のイベントログである。ログファイル本文は、イベントログとして収集されたログである。

0017

各ログには、所定の位置にタイムスタンプが含まれる。図2では、例えば、1行目のログにおける「2015/01/01 12:00:00」がタイムスタンプである。ログ内のタイムスタンプの位置は、ログの種類毎に位置情報テーブルで定義される。

0018

図3は、位置情報テーブルの一例を示す図である。図3に示すように、位置情報テーブルでは、ログ種類とタイムスタンプ位置情報を対応付けられる。例えば、Windowsのイベントログでは、カンマ区切りで2番目がタイムスタンプの位置である。

0019

実施例1に係る前処理部は、位置情報テーブルを基に、各行からタイムスタンプの情報を抽出する。そして、実施例1に係る前処理部は、各行に順序情報nを付加する。ここで、nは、ログファイルにおける行の順序を示す番号である。nは固定のビット長で表現され、ビット長はログファイルの総行数を表現可能な最小のビット数である。例えば、ログファイルの総行数が1000である場合には、29=512<1000<1024=210であることから、nのビット長は10である。

0020

図4は、1行処理時点のログ本体部、タイムスタンプ及び順序情報を示す図である。ここで、ログ本体部とは、ログからタイムスタンプが抽出された後の残りの文字列の部分である。図4に示すように、「エラー,2015/01/01 12:00:00,Application Error,Name=Explorer.exe」からタイムスタンプ「2015/01/01 12:00:00」が抽出され、順序情報「1」が付加される。ログ本体部は、タイムスタンプが取り除かれた「エラー,,Application Error,Name=Explorer.exe」である。

0021

図5は、全行処理完了時点のログ本体部、タイムスタンプ及び順序情報を示す図である。図5に示すように、タイムスタンプ「2015/01/01 12:00:00」〜「2015/05/06 11:00:00」が抽出され、順序情報「1」〜「5」が付加される。

0022

そして、実施例1に係る前処理部は、ログ本体部の文字列の大小を先頭から比較し、小さい順でログ本体部をソートする。その際、実施例1に係る前処理部は、ログ本体部の入れ替えにしたがって、タイムスタンプと順序情報の入れ替えも行う。

0023

文字列の大小を比較する方法には、例えば、文字コードを利用する方法がある。この方法は、例えば、ASCIIにおける記号「a」の文字コードは「0x61」であり、「b」の文字コードは「0x62」であるため、「a<b」となることを利用してソートする。

0024

実施例1に係る前処理部は、まず、先頭の文字を比較し、先頭文字において、文字コードを利用した大小比較を実施し、この時点で大小が判定できればその大小関係を利用する。もし同じである場合には、実施例1に係る前処理部は、次の文字において同様に文字コードを利用して大小を比較する。そして、実施例1に係る前処理部は、このような比較を文字列の末尾まで実施し、最後まで同じであった場合には2つの文字列は同じ文字列と判定する。

0025

図6は、ソート後のログ本体部、タイムスタンプ及び順序情報を示す図である。図6に示すように、ソートの結果、文字列「エラー」を先頭に含む行が最初の2行となり、文字列「情報」を先頭に含む行が残り3行になる。すなわち、ログ本体部が類似する行が近くに現れるように行の入れ替えが行われる。

0026

そして、実施例1に係る前処理部は、ログ本体部、タイムスタンプ及び順序情報の3つのそれぞれの行を結合し、3つのファイルとする。図7は、ログ本体部、タイムスタンプ及び順序情報の3つのそれぞれの行の結合結果を示す図である。図7に示すように、ログ本体部の行を結合したファイル、タイムスタンプの行を結合したファイル、及び、順序情報を結合したファイルが作成される。

0027

作成された3つのファイルは圧縮部によって圧縮され、集約装置のハードディスク装置に格納される。前処理を行わない場合と比較して、3つのファイルを合わせてもファイルサイズは小さくなる。

0028

図8図11は、前処理前のログファイルへの復元処理を説明するための図である。実施例1に係る復元部は、伸張部により伸張された3つのファイルを行毎に読み込んで対応付ける。図8は、対応付け後のログ本体部、タイムスタンプ及び順序情報を示す図である。図8に示すように、例えば、ログ本体部「エラー,,Application Error,Name=Explorer.exe」、タイムスタンプ「2015/01/01 12:00:00」、及び、順序情報「1」が対応付けられる。

0029

そして、実施例1に係る復元部は、小さい順で順序情報をソートする。その際、実施例1に係る復元部は、順序情報の入れ替えにしたがって、ログ本体部及びタイムスタンプの入れ替えも行う。図9は、ソート後のログ本体部、タイムスタンプ及び順序情報を示す図である。図9に示すように、順序情報の小さい順に、ログ本体部、タイムスタンプ及び順序情報がソートされる。

0030

そして、実施例1に係る復元部は、位置情報テーブルを基に、各行のログ本体部にタイムスタンプの情報を挿入し、順序情報を削除して、ログファイル本文を復元する。図10は、1行処理時点のログファイル本文を示す図である。図10に示すように、例えば、ログ本体部「エラー,,Application Error,Name=Explorer.exe」とタイムスタンプ「2015/01/01 12:00:00」から、ログファイル本文が復元される。復元されたログファイル本文は、「エラー,2015/01/01 12:00:00,Application Error,Name=Explorer.exe」である。

0031

図11は、全行処理完了時点のログファイル本文を示す図である。図11に示すように、タイムスタンプ「2015/01/01 12:00:00」〜「2015/05/06 11:00:00」がログ本体部の対応する行にそれぞれ挿入され、5行のログファイル本文が復元される。

0032

次に、実施例1に係る集約装置の機能構成について説明する。図12は、実施例1に係る集約装置の機能構成を示す図である。図12に示すように、実施例1に係る集約装置1は、ログ収集部2と、前処理部3と、圧縮部4と、ログ記憶部5と、伸張部6と、復元部7と、ログ出力部8とを有する。

0033

ログ収集部2は、複数サーバからログファイルを収集し、サーバ毎にログファイルをハードディスク装置に保存する。ログ収集部2は、収集実行部21と、一時保存部22とを有する。収集実行部21は、各サーバからログファイルを収集する。一時保存部22は、収集実行部21により収集されたログファイルをサーバ毎にハードディスク装置に保存する。

0034

前処理部3は、ログファイルをハードディスク装置から読み込んで前処理を行い、前処理結果をハードディスク装置に保存する。前処理部3は、一時データ読込部31と、タイムスタンプ情報抽出部32と、順序情報付加部33と、ソート部34と、一時保存部35と、作業用バッファ36とを有する。

0035

一時データ読込部31は、ハードディスク装置からログファイルを読み込む。タイムスタンプ情報抽出部32は、ログファイルの各ログから位置情報テーブル32aに基づいてタイムスタンプの情報を抽出する。順序情報付加部33は、各ログに順序情報を付加する。

0036

ソート部34は、ログ本体部に基づいて、ログ本体部、タイムスタンプ及び順序情報をソートする。一時保存部35は、ソート部34によりソートされたログ本体部、タイムスタンプ及び順序情報をそれぞれファイルとしてハードディスク装置に保存する。作業用バッファ36は、前処理部3が作業用に使用する記憶領域である。

0037

圧縮部4は、ログ本体部、タイムスタンプ及び順序情報のファイルを読み込んで圧縮し、ログ記憶部5に保存する。圧縮部4は、一時データ読込部41と、圧縮実行部42と、データ保存部43とを有する。

0038

一時データ読込部41は、ログ本体部、タイムスタンプ及び順序情報のファイルをハードディスク装置から読み込む。圧縮実行部42は、一時データ読込部41により読み込まれたログ本体部、タイムスタンプ及び順序情報のファイルを、辞書を利用して圧縮する。データ保存部43は、圧縮実行部42により圧縮されたログ本体部、タイムスタンプ及び順序情報のファイルをログ記憶部5に保存する。

0039

ログ記憶部5は、サーバ毎の圧縮ログを記憶する。すなわち、ログ記憶部5は、圧縮部4により圧縮されたログ本体部、タイムスタンプ及び順序情報のファイルをサーバ毎に記憶する。ログ記憶部5は、ハードディスク装置内の領域である。

0040

伸張部6は、ログ記憶部5から圧縮ログを読み込んで伸張し、ハードディスク装置に保存する。伸張部6は、データ読込部61と、伸張実行部62と、一時保存部63とを有する。データ読込部61は、ログ記憶部5からログ本体部、タイムスタンプ及び順序情報のファイルを読み込む。伸張実行部62は、データ読込部61によって読み込まれたログ本体部、タイムスタンプ及び順序情報のファイルを伸張する。一時保存部63は、伸張実行部62により伸張されたログ本体部、タイムスタンプ及び順序情報のファイルをハードディスク装置に保存する。

0041

復元部7は、伸張部6により伸張されたログ本体部、タイムスタンプ及び順序情報のファイルからログファイルを復元する。復元部7は、一時データ読込部71と、ソート部72と、順序情報削除部73と、タイムスタンプ情報結合部74と、一時保存部75と、作業用バッファ76とを有する。

0042

一時データ読込部71は、伸張部6により伸張されたログ本体部、タイムスタンプ及び順序情報のファイルをハードディスク装置から読み込み、3つのファイルの行毎の対応付けを行う。ソート部72は、順序情報に基づいてログ本体部、タイムスタンプ及び順序情報をソートする。

0043

順序情報削除部73は、ソート部72によるソートの後の順序情報を削除する。タイムスタンプ情報結合部74は、タイムスタンプの情報を位置情報テーブル74aを用いてログ本体部に挿入し、ログファイル本文を復元する。一時保存部75は、タイムスタンプ情報結合部74により復元されたログファイル本文をログファイルとしてハードディスク装置に保存する。作業用バッファ76は、復元部7が作業用に使用する記憶領域である。

0044

ログ出力部8は、ユーザが指定する条件を満たすログに関する情報を表示装置に表示する。ログ出力部8は、一時データ読込部81と、フィルタ部82と、画面出力部83とを有する。一時データ読込部81は、復元部7により復元されたログファイルをハードディスク装置から読み込む。フィルタ部82は、ユーザが指定する条件を満たすログをログファイルから抽出する。画面出力部83は、フィルタ部82により抽出されたログに関する情報を表示装置に表示する。

0045

次に、前処理部3による処理のフローについて説明する。図13は、前処理部3による処理のフローを示すフローチャートである。図13に示すように、前処理部3は、ログファイルを読み込む(ステップS1)。そして、前処理部3は、位置情報テーブル32aからログの種類に対するタイムスタンプ位置情報を検索し(ステップS2)、作業用バッファ36にタイムスタンプ位置情報を保存する(ステップS3)。

0046

そして、前処理部3は、ログファイルのデータを1行読み込み(ステップS4)、タイムスタンプ位置情報に基づいてタイムスタンプを抽出する(ステップS5)。そして、前処理部3は、順序情報を付加し(ステップS6)、ログファイルの最後か否かを判定する(ステップS7)。そして、前処理部3は、ログファイルの最後でない場合には、ステップS4に戻る。

0047

一方、ログファイルの最後である場合には、前処理部3は、ログ本体部に従い、ログ本体部、タイムスタンプ、順序情報をソートし(ステップS8)、ログ本体部、タイムスタンプ、順序情報それぞれにおいて、行を結合する(ステップS9)。そして、前処理部3は、ログ本体部、タイムスタンプ、順序情報をそれぞれ別ファイルに保存する。

0048

このように、前処理部3が、ログ本体部に従い、ログ本体部、タイムスタンプ、順序情報をソートすることによって、同じ文字列を有するログが近くに現れるようにログを並べ替えることができる。

0049

次に、復元部7による処理のフローについて説明する。図14は、復元部7による処理のフローを示すフローチャートである。図14に示すように、復元部7は、ログ本体部ファイル、タイムスタンプファイル、順序情報ファイルを読み込み、行毎に展開する(ステップS21)。ここで、行毎に展開するとは、行毎に対応付けを行うことである。

0050

そして、復元部7は、順序情報に従い、ログ本体部、タイムスタンプ、順序情報をソートする(ステップS22)。そして、復元部7は、位置情報テーブル74aからログの種類に対するタイムスタンプ位置情報を検索し(ステップS23)、作業用バッファ76にタイムスタンプ位置情報を保存する(ステップS24)。

0051

そして、復元部7は、ログ本体部、タイムスタンプ、順序情報のデータを1行読み込み(ステップS25)、タイムスタンプ位置情報に基づいてログ本体部にタイムスタンプを挿入する(ステップS26)。そして、復元部7は、順序情報を削除し(ステップS27)、データの最後か否かを判定する(ステップS28)。

0052

そして、復元部7は、データの最後でない場合には、ステップS25に戻り、データの最後である場合には、復元したログファイル本文をファイルに保存する(ステップS29)。

0053

このように、復元部7が、ログを元の順序に戻し、タイムスタンプをログの元の位置に戻し、順序情報を削除することによって、ログファイルを復元することができる。

0054

上述してきたように、実施例1では、タイムスタンプ情報抽出部32が、ログファイル本文からタイムスタンプを抽出し、ソート部34が、ログ本体部に基づいてログ本体部とタイムスタンプをソートする。そして、圧縮実行部42が、ソート部34によりソートされたログ本体部とタイムスタンプを圧縮する。したがって、集約装置1は、同じ文字列を含むログが近くに現れるようにログを入れ替えることができ、ログファイルの圧縮率を向上することができる。

0055

また、実施例1では、順序情報付加部33が各ログに順序情報を付加し、ソート部34が、ログ本体部に基づいてログ本体部とタイムスタンプと順序情報をソートする。したがって、集約装置1は、順序情報を用いてログを復元することができる。

0056

ところで、上記実施例1では、サーバ毎にログファイルを圧縮して保存する場合について説明したが、サーバ毎のログファイルをまとめて1つのログファイルとした後に圧縮することもできる。そこで、実施例2では、サーバ毎のログファイルをまとめて1つのログファイルとした後に圧縮する集約装置について説明する。

0057

まず、実施例2に係る集約装置によるログファイルの結合について説明する。図15は、実施例2に係る集約装置によるログファイルの結合を説明するための図である。図15に示すように、実施例2に係る集約装置1aは、サーバA〜サーバCそれぞれからネットワーク1bを介してログファイルを取得する。そして、集約装置1aは、サーバA〜サーバCから取得した複数のログファイルを結合して1つのログファイルを作成し、作成したログファイルを圧縮してログ記憶部5aに保存する。

0058

集約装置1aは、図12に示した機能部に加えて、結合部2aを有する。結合部2aは、サーバA〜サーバCから取得した複数のログファイルを結合して1つのログファイルを作成する。また、結合部2aは、位置情報テーブル2bと作業用バッファ2cとを有する。

0059

複数のサーバA〜Cのログには、同じものが含まれる。例えば、サーバAのログ「バックアップ成功」はサーバCにも含まれる。また、サーバAのログ「ウィルスチェック:OK」はサーバB及びサーバCにも含まれる。したがって、集約装置1aは、複数のログファイルをまとめたログファイルに対して同じ文字列を含むログが近くに現れるように並び替えを行うことによって、圧縮率をさらに向上することができる。

0060

図16図20は、2つのログファイルを例としてログファイルの結合を説明するための図である。図16は、2つのログファイルの例を示す図である。図16に示すように、ログファイル#1には、5つのログが含まれ、ログファイル#2には4つのログが含まれる。

0061

結合部2aは、各ログのタイムスタンプの先頭にログファイルに対応付けられる付加情報を付加する。図17は、ログファイルに対応付けられる付加情報をタイムスタンプの先頭に付加する手順を示す図である。

0062

図17に示すように、結合部2aは、ログファイル#1から1行読み込み、タイムスタンプの位置情報を使用して、読み込んだ行からタイムスタンプの情報を抽出する。そして、結合部2aは、タイムスタンプの先頭にログファイル#1に対応付けられた付加情報「1」を付加する。図17では、タイムスタンプ「2015/01/01 12:00:00」の先頭に「1」が付加され、タイムスタンプが「12015/01/01 12:00:00」に変更されている。そして、結合部2aは、タイムスタンプの位置情報を使用して、元の位置にタイムスタンプの情報を挿入する。

0063

結合部2aは、図17に示した処理をログファイル#1の各行に対して行った後、同様の処理をログファイル#2の各行に対して行う。図18は、ログファイルに対応付けられた付加情報がタイムスタンプの先頭に付加された後のログファイルを示す図である。図18(a)に示すように、ログファイル#1の各ログのタイムスタンプの先頭には「1」が付加され、図18(b)に示すように、ログファイル#2の各ログのタイムスタンプの先頭には「2」が付加される。

0064

そして、結合部2aは、ログファイル#1の後方にログファイル#2を追加し、1つのログファイルとする。図19は、結合後のログファイルを示す図である。図19に示すように、ログファイル#1の最後のログ「情報,12015/05/06 11:00:00,Logoff」の後に、ログファイル#2の先頭のログ「情報,22015/04/15 08:40:03,Logon」から4つのログが追加されている。

0065

そして、結合部2aは、付加情報と元のログファイル名とを対応付ける対応表を作成し、保存する。図20は、付加情報と元ログファイル名の対応表の一例を示す図である。図20に示すように、付加情報「1」には元ログファイル名「ログファイル#1」が対応付けられ、付加情報「2」には元ログファイル名「ログファイル#2」が対応付けられる。

0066

そして、結合部2aは、結合後のログファイルを前処理部3に渡す。ログファイル#2には、「Application Error」を含むログは1つしかないが、ログファイル#1には、「Application Error」を含むログが2つあるため、2つのログファイルを別々に圧縮する場合と比較して、1つのログファイルに結合して圧縮すると、圧縮後のファイルサイズを小さくすることができる。

0067

また、集約装置1aは、復元したログファイルをタイムスタンプの先頭に基づいて2つのログファイルに分割し、各ログのタイムスタンプの先頭から付加情報を取り除くことによって、元の2つのログファイルを復元することができる。なお、結合部2aは、付加情報をタイムスタンプの先頭に付加したが、タイムスタンプの最後、タイムスタンプ以外の場所等他の位置に付加情報を付加してもよい。

0068

図21は、複数ファイル結合処理のフローを示すフローチャートである。図21に示すように、結合部2aは、位置情報テーブル2bからログの種類に対するタイムスタンプ位置情報を検索し(ステップS41)、作業用バッファ2cにタイムスタンプ位置情報を保存する(ステップS42)。

0069

そして、結合部2aは、1つのログファイルを読み込み(ステップS43)、読み込んだログファイルからデータを1行読み込む(ステップS44)。そして、結合部2aは、読み込んだデータからタイムスタンプの情報を抽出し(ステップS45)、タイムスタンプに付加情報を付加する(ステップS46)。

0070

そして、結合部2aは、元の位置にタイムスタンプの情報を挿入し(ステップS47)、データの最後か否かを判定する(ステップS48)。そして、結合部2aは、データの最後でない場合には、ステップS44へ戻り、データの最後である場合には、最後のログファイルか否かを判定する(ステップS49)。

0071

そして、結合部2aは、最後のログファイルでない場合には、ステップS43へ戻り、最後のログファイルである場合には、全てのログファイルを結合し、1つのログファイルとして保存する(ステップS50)。

0072

このように、結合部2aは、複数のログファイルを1つにまとめることによって、同じ文字列を含むログが複数ある可能性を高くし、圧縮率を向上することができる。

0073

上述してきたように、実施例2では、結合部2aは、複数のログファイルの各ログのタイムスタンプの先頭にログファイル名に対応付けられた付加情報を付加し、複数のログファイルをまとめて1つのログファイルを作成する。したがって、集約装置1aは、圧縮率をさらに向上することができる。

0074

なお、実施例1及び2では、順序情報を用いてログを元の順番に戻したが、順序情報の代わりにタイムスタンプを用いてログを元の順番に戻してもよい。タイムスタンプを用いることによって順序情報が不要となり、集約装置は圧縮率をさらに向上することができる。

0075

ただし、実際には、タイムスタンプの順序はログが出力された順序と一致しない場合がある。例えば、OS(オペレーティングシステム)内部の時刻は、別のサーバと同期していることがよくあるが、同期するタイミングは周期的であり、同期タイミングでずれた時刻が修正される。特に前の時刻に修正された場合、修正された時刻の前後のログにおいて時刻と出力の順番の整合性が取れないことがある。そのため、実際のログファイルにてタイムスタンプの順序が保証された場合にのみ、順序情報をタイムスタンプ情報に代えることが可能となる。

0076

タイムスタンプ情報に代替可能かのチェックは、前処理部3がログファイルから1行ずつ読み込む処理にて確認が可能である。具体的には、前処理部3は、1行読み込んでタイムスタンプの情報を抽出した際、タイムスタンプの情報を一時バッファに保存しておく。そして、前処理部3は、次の行を読み込んだときに、保存した前の行のタイムスタンプの情報と比較する。そして、前処理部3は、前の行のタイムスタンプの方が時刻として前である場合には「true」そうでない場合には「false」と判定する。そして、前処理部3は、全ての行の処理が終わった時点で1回も「false」の判定が無かった場合には順序情報をタイムスタンプで代用することが可能であると判定する。

0077

実施例2において複数のログファイルが結合された状態であっても、ログの順番を元に戻す際に、まず先頭に付加された元ログファイルの情報にてソートしてからタイムスタンプでソートすることで順序情報をタイムスタンプで代用することが可能となる。ただし、結合する全てのログファイルにおいてタイムスタンプの順序の整合性が保障されている必要がある。

0078

また、実施例1及び2では、集約装置について説明したが、集約装置が有する構成をソフトウェアによって実現することで、同様の機能を有する集約プログラムを得ることができる。そこで、集約プログラムを実行するコンピュータについて説明する。

0079

図22は、実施例に係る集約プログラムを実行するコンピュータのハードウェア構成を示す図である。図22に示すように、コンピュータ50は、メインメモリ51と、CPU52と、LAN(Local Area Network)インタフェース53と、HDD(Hard Disk Drive)54とを有する。また、コンピュータ50は、スーパーIO(Input Output)55と、DVI(Digital Visual Interface)56と、ODD(Optical Disk Drive)57とを有する。

0080

メインメモリ51は、プログラムやプログラムの実行途中結果などを記憶するメモリである。CPU52は、メインメモリ51からプログラムを読出して実行する中央処理装置である。CPU52は、メモリコントローラを有するチップセットを含む。

0081

LANインタフェース53は、コンピュータ50をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD54は、プログラムやデータを格納するハードディスク装置であり、スーパーIO55は、マウスキーボードなどの入力装置を接続するためのインタフェースである。DVI56は、液晶表示装置を接続するインタフェースであり、ODD57は、DVDの読み書きを行う装置である。

0082

LANインタフェース53は、PCIエクスプレスPCIe)によりCPU52に接続され、HDD54及びODD57は、SATA(Serial Advanced Technology Attachment)によりCPU52に接続される。スーパーIO55は、LPC(Low Pin Count)によりCPU52に接続される。

0083

そして、コンピュータ50において実行される集約プログラムは、DVDに記憶され、ODD57によってDVDから読出されてコンピュータ50にインストールされる。あるいは、集約プログラムは、LANインタフェース53を介して接続された他のコンピュータシステムデータベースなどに記憶され、これらのデータベースから読出されてコンピュータ50にインストールされる。そして、インストールされた集約プログラムは、HDD54に記憶され、メインメモリ51に読出されてCPU52によって実行される。

0084

また、実施例では、サーバのログファイルを圧縮する場合について説明したが、本発明はこれに限定されるものではなく、例えばスイッチ等の他の装置のログファイルを圧縮する場合にも同様に適用することができる。

0085

以上の実施例1〜2を含む実施形態に関し、さらに以下の付記を開示する。

0086

(付記1)複数のログのそれぞれからタイムスタンプを分離する分離部と、
前記分離部によりタイムスタンプが分離された複数の本体部と複数のタイムスタンプを本体部の情報に基づいてソートするソート部と、
前記ソート部によりソートされた複数の本体部と複数のタイムスタンプを辞書を用いて圧縮する圧縮部と、
前記圧縮部により圧縮された複数の本体部と複数のタイムスタンプを記憶装置に保存する保存部と
を有することを特徴とするログ管理装置。

0087

(付記2)前記分離部は、各ログからタイムスタンプを分離するとともに各ログに順序データを付加し、
前記ソート部は、複数の本体部と複数のタイムスタンプと複数の順序データを本体部の情報に基づいてソートし、
前記圧縮部は、前記ソート部によりソートされた複数の本体部と複数のタイムスタンプと複数の順序データを圧縮し、
前記保存部は、前記圧縮部により圧縮された複数の本体部と複数のタイムスタンプと複数の順序データを記憶装置に保存する
ことを特徴とする付記1に記載のログ管理装置。

0088

(付記3)種類が同じ複数の装置のログファイルのログそれぞれに各ログファイルを識別する情報を付加する付加部と、
前記複数の装置のログファイルをまとめて1つのログファイルとする結合部とをさらに有し、
前記分離部は、前記結合部により1つのログファイルにまとめられた複数のログのそれぞれからタイムスタンプを分離することを特徴とする付記1又は2に記載のログ管理装置。

0089

(付記4)前記保存部により保存された複数の本体部と複数のタイムスタンプを前記記憶装置から読み出して伸張する伸張部と、
前記伸張部により伸張された複数の本体部と複数のタイムスタンプをタイムスタンプに基づいてソートし、各タイムスタンプを対応する本体部に挿入することで元のログを復元する復元部と
をさらに有することを特徴とする付記1に記載のログ管理装置。

0090

(付記5)前記保存部により保存された複数の本体部と複数のタイムスタンプと複数の順序データを前記記憶装置から読み出して伸張する伸張部と、
前記伸張部により伸張された複数の本体部と複数のタイムスタンプと複数の順序データを順序データに基づいてソートし、各タイムスタンプを対応する本体部に挿入し、各順序データを削除することで元のログを復元する復元部と
をさらに有することを特徴とする付記2に記載のログ管理装置。

0091

(付記6)コンピュータに、
複数のログのそれぞれからタイムスタンプを分離し、
複数のログのそれぞれからタイムスタンプが分離された複数の本体部と複数のタイムスタンプを本体部の情報に基づいてソートし、
ソートした複数の本体部と複数のタイムスタンプを辞書を用いて圧縮し、
圧縮した複数の本体部と複数のタイムスタンプを記憶装置に保存
する処理を実行させることを特徴とするログ管理プログラム。

0092

(付記7)前記分離する処理は、各ログからタイムスタンプを分離するとともに各ログに順序データを付加し、
前記ソートする処理は、複数の本体部と複数のタイムスタンプと複数の順序データを本体部の情報に基づいてソートし、
前記圧縮する処理は、ソートした複数の本体部と複数のタイムスタンプと複数の順序データを圧縮し、
前記保存する処理は、圧縮した複数の本体部と複数のタイムスタンプと複数の順序データを記憶装置に保存する
ことを特徴とする付記6に記載のログ管理プログラム。

0093

(付記8)種類が同じ複数の装置のログファイルのログそれぞれに各ログファイルを識別する情報を付加し、
前記複数の装置のログファイルをまとめて1つのログファイルとする
処理をさらに前記コンピュータに実行させ
前記分離する処理は、1つのログファイルにまとめられた複数のログのそれぞれからタイムスタンプを分離することを特徴とする付記6又は7に記載のログ管理プログラム。

0094

(付記9)前記保存する処理により保存された複数の本体部と複数のタイムスタンプを前記記憶装置から読み出して伸張し、
伸張した複数の本体部と複数のタイムスタンプをタイムスタンプに基づいてソートし、各タイムスタンプを対応する本体部に挿入することで元のログを復元する
処理をさらに前記コンピュータに実行させることを特徴とする付記6に記載のログ管理プログラム。

実施例

0095

(付記10)前記保存する処理により保存された複数の本体部と複数のタイムスタンプと複数の順序データを前記記憶装置から読み出して伸張し、
伸張した複数の本体部と複数のタイムスタンプと複数の順序データを順序データに基づいてソートし、各タイムスタンプを対応する本体部に挿入し、各順序データを削除することで元のログを復元する
処理をさらに前記コンピュータに実行させることを特徴とする付記7に記載のログ管理プログラム。

0096

1,1a集約装置
1bネットワーク
2ログ収集部
2a 結合部
2b位置情報テーブル
2c作業用バッファ
3 前処理部
4圧縮部
5,5aログ記憶部
6 伸張部
7復元部
8ログ出力部
21収集実行部
22一時保存部
31一時データ読込部
32タイムスタンプ情報抽出部
32a 位置情報テーブル
33順序情報付加部
34ソート部
35 一時保存部
36 作業用バッファ
41 一時データ読込部
42圧縮実行部
43データ保存部
50コンピュータ
51メインメモリ
52 CPU
53LANインタフェース
54 HDD
55スーパーIO
56DVI
57ODD
61データ読込部
62 伸張実行部
63 一時保存部
71 一時データ読込部
72 ソート部
73 順序情報削除部
74 タイムスタンプ情報結合部
74a 位置情報テーブル
75 一時保存部
76 作業用バッファ
81 一時データ読込部
82フィルタ部
83画面出力部
91 参照部
92 符号化部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ