以下、図面を用いて実施形態を説明する。
図1は、情報処理装置、情報処理システムおよびプログラムの一実施形態を示す。図1に示す情報処理システム100は、ログ送信装置10と、ログ送信装置10を管理する管理装置20とを有する。ログ送信装置10は、第1の情報処理装置の一例であり、管理装置20は、第2の情報処理装置の一例である。図1では、1つのログ送信装置10が管理装置20に接続されるが、複数のログ送信装置10が管理装置20に接続され、管理装置20が複数のログ送信装置10を管理してもよい。また、ログ送信装置10および管理装置20は、ネットワークを介して接続されてもよい。
ログ送信装置10は、サービス実行部11、ログデータベース12、受信部13、頻出ログ情報保持部14、判定部15、変換部16および送信部17を有する。受信部13、判定部15、変換部16および送信部17の機能は、ログ送信装置10が有するCPU(Central Processing Unit)等のプロセッサが、ログ送信装置10が有するメモリ等に格納されるプログラムを実行することにより実現される。なお、受信部13、判定部15、変換部16および送信部17の機能は、ログ送信装置10が有するFPGA(Field-Programmable Gate Array)等のハードウェアにより実現されてもよい。
サービス実行部11は、ユーザ等が操作する図示しない端末装置からの指示に基づいて各種のサービスを実行し、サービスの実行履歴(イベントやエラー等)を示す複数のログをログデータベース12の所定の格納場所に格納する。サービス実行部11は、ログの発生元の一例である。例えば、サービス実行部11は、クラウドサービスまたはマイクロサービス等を実現するために使用される。
特に限定されないが、各ログは、サービスの実行に伴って発生する各種のイベント等の発生日時を示す時刻情報と、実行履歴等を示す複数のログ情報とを含む。そして、サービス実行部11がサービス毎に発生するログは、サービス毎にログデータベース12に割り当てられる格納場所にログファイルとして格納される。例えば、ログファイルの格納場所は、図4で説明するようにパスにより示される。
例えば、サービス実行部11は、ログ送信装置10が有する図示しないCPU等のプロセッサ、メモリ等の記憶装置およびHDD(Hard Disk Drive)等のストレージ装置等の物理リソースを仮想化した仮想マシンにより実現される。なお、サービス実行部11は、物理リソースにより実現されてもよい。また、サービス実行部11およびログデータベース12は、ログ送信装置10の外部に配置される他の情報処理装置に設けられてもよい。
受信部13は、ログ管理情報を管理装置20から受信し、受信したログ管理情報を頻出ログ情報保持部14に格納する。ログ管理情報は、ログに含まれる複数のログ情報のうち他のログ情報より発生頻度の高い頻出ログ情報と、頻出ログ情報を含むログの格納場所を示すパスと、頻出ログ情報を識別する識別子とを含む。識別子は、例えば、文字列や数字列であり、識別子の情報量は、頻出ログ情報の情報量よりも小さい。
頻出ログ情報保持部14は、頻出ログ情報とパスと識別子とが格納される領域を含む複数のレコード(行領域)を有する。後述するように、頻出ログ情報は、管理装置20により検出され、識別子は、検出された頻出ログ情報に対応して管理装置20により付与される。
判定部15は、頻出ログ情報保持部14に保持されたログ管理情報を参照し、ログデータベース12に格納されたログに含まれるログ情報が、頻出ログ情報と一致するかをパス毎(すなわち、サービス毎)に判定する。判定部15は、ログに含まれるログ情報とログの格納場所を示すパスとの組み合わせが、頻出ログ情報保持部14に保持された頻出ログ情報とパスとの組み合わせと一致する場合、一致した頻出ログ情報とパスとを変換部16に通知する。なお、判定部15は、ログ情報と一致した頻出ログ情報を保持する頻出ログ情報保持部14におけるレコードの位置を変換部16に通知してもよい。
変換部16は、判定部15からの通知に基づいて、判定部15から通知された頻出ログ情報とパスとの組み合わせに対応して頻出ログ情報保持部14に保持された識別子を取得する。そして、変換部16は、判定部15から通知された頻出ログ情報を、取得した識別子に変換することで、頻出ログ情報が識別子に変換されたログを生成する。
送信部17は、変換部16が変換した識別子を含むログを管理装置20に送信する。判定部15が、ログデータベース12に格納されたログに含まれるログ情報と頻出ログ情報とが一致しないことを判定した場合、ログデータベース12に格納されたログは、変換部16により変換されることなく管理装置20に送信される。また、送信部17は、送信するログが格納されたログデータベース12におけるログの格納場所を示すパスの情報と、ログ送信装置10を識別する装置情報とを、ログとともに管理装置20に送信する。
なお、上述したように、識別子の情報量は、頻出ログ情報の情報量よりも小さいため、頻出ログ情報を識別子に変換しない場合に比べて、ログ送信装置10から管理装置20に送信されるログの転送量を削減することができる。これにより、ログが伝送される通信路の負荷を軽減することができる。また、送信部17は、変換部16を介してログデータベース12から出力される複数のログを圧縮した後、圧縮したログを管理装置20に送信してもよい。この場合、管理装置20は、圧縮されたログを解凍する機能を有する。
管理装置20は、受信部21、管理部22、ログ情報保持部26、頻出ログ情報保持部27、ログデータベース28および送信部29を有する。管理部22は、回数管理部23および付与部24を有する。管理部22は、頻出ログ情報と、識別子と、ログの発生元毎に割り当てられるログの格納場所(ログデータベース12内)を示すパスとの対応を示すログ管理情報を管理する。
受信部21、管理部22および送信部29の機能は、管理装置20が有するCPU等のプロセッサが、管理装置20が有するメモリ等に格納されるプログラムを実行することにより実現される。なお、受信部21、管理部22および送信部29の機能は、管理装置20が有するFPGA等のハードウェアにより実現されてもよい。
受信部21は、ログ送信装置10から送信されるログを受信し、受信したログをログデータベース28に格納するとともに回数管理部23に転送する。ログデータベース28に格納されたログに含まれる識別子は、例えば、頻出ログ情報保持部27を参照することで、元の頻出ログ情報に変換される。なお、受信部21が受信したログがログデータベース28に格納される前に、受信したログに含まれる識別子が頻出ログ情報に変換されてもよい。ログデータベース28に格納されたログは、ログの解析等に使用される。
回数管理部23は、受信部21から転送されるログに含まれる複数のログ情報の各々と、ログデータベース12におけるログの格納場所を示すパスとをログ情報保持部26に格納する。また、回数管理部23は、ログ情報とパスとの組み合わせ毎のログ送信装置10からの受信回数をログ情報保持部26に格納する。例えば、ログ情報保持部26は、ログ情報とパスと受信回数とが格納される領域を含む複数のレコードを有する。ログ情報保持部26は、記憶部の一例であり、レコードは、記憶領域の一例である。
付与部24は、ログ情報保持部26に保持された受信回数が所定の閾値(例えば、100回)に到達したログ情報を頻出ログ情報に決定し、決定した頻出ログ情報に識別子を付与する。付与部24は、付与した識別子を、頻出ログ情報およびパスの組み合わせとともに頻出ログ情報保持部27の空いているレコードに格納する。すなわち、付与部24は、頻出ログ情報とパスと識別子とを含むログ管理情報を頻出ログ情報保持部27に格納する。頻出ログ情報保持部27は、ログ管理情報が格納される領域を含む複数のレコードを有する。頻出ログ情報保持部27は、記憶部の一例である。なお、1つの情報保持部が、ログ情報保持部26と頻出ログ情報保持部27との代わりに管理装置20に設けられてもよい。この場合、情報保持部は、例えば、ログ情報保持部26の各レコードに識別子を格納する領域を追加することで設けられる。
送信部29は、頻出ログ情報保持部27に格納されたログ管理情報を、ログ送信装置10に送信する。例えば、送信部29は、付与部24によりログ管理情報が頻出ログ情報保持部27に格納される毎に、頻出ログ情報保持部27に格納されたログ管理情報をログ送信装置10に送信する。換言すれば、送信部29は、付与部24により識別子が付与される毎に、付与した識別子を含むログ管理情報をログ送信装置10に送信する。これにより、管理装置20で検出したパス毎の頻出ログ情報と、頻出ログ情報に対応して付与された識別子とを含むログ管理情報を迅速にログ送信装置10に送信することができる。この結果、ログ送信装置10は、管理装置20による頻出ログ情報の検出に基づいて、頻出ログ情報を識別子に変換する処理を迅速に開始することができる。
ログ情報の受信回数を保持するログ情報保持部26とは別に、識別子を含むログ管理情報を保持する頻出ログ情報保持部27を設けることで、送信部29は、頻出ログ情報保持部27のみにアクセスすることで、識別子を含むログ管理情報を取得できる。すなわち、頻出ログ情報保持部27の該当レコードにアクセスだけで、頻出ログとパスと識別子とを含むログ管理情報を取得することができる。
図2は、図1に示す情報処理システム100の動作の一例を示す。特に限定されないが、付与部24は、同じ組み合わせのログ情報とパスとを、所定の閾値である100回受信した場合、受信したログ情報を頻出ログ情報として検出するとする。
回数管理部23は、ログ送信装置10からログを受信する毎に、受信したログに含まれるログ情報とパスとの組み合わせを、受信回数とともにログ情報保持部26に格納する。
状態(1)では、ログに含まれるログ情報”error”と、ログ情報”error”を含むログの格納場所を示すパス”/aa”とがログ情報保持部26に保持される。ログ情報”error”とパス”/aa”との組み合わせの受信回数は、78回である。また、ログに含まれるログ情報”file not found”と、ログ情報”file not found”を含むログの格納場所を示すパス”/bb”とがログ情報保持部26に保持される。ログ情報”file not found”とパス”/bb”との組み合わせの受信回数は、46回である。
さらに、ログに含まれるログ情報”error”と、ログ情報”error”を含むログの格納場所を示すパス”/bb”とがログ情報保持部26に保持される。ログ情報”error”とパス”/bb”との組み合わせの受信回数は、2回である。
状態(1)に示すように、同じログ情報”error”であっても、パスが異なる場合、受信回数が異なる場合がある。これは、サービスの内容が異なる場合、出力されるログの内容とログ情報の発生頻度が異なるためである。このため、管理部22は、ログ情報が互いに同じ場合でも(”error”)、ログ情報を含むログの格納場所を示すパスが異なる場合、パス毎に受信回数を分けて管理する。なお、”error”等のログ情報は、文字列(テキストデータ)である。
状態(1)では、受信回数が100回以上のログ情報とパスとの組み合わせがログ情報保持部26に存在しない。このため、付与部24は、頻出ログ情報を検出せず、頻出ログ情報保持部27、14は、空である。
状態(2)において、ログ情報保持部26に保持されたログ情報”error”とパス”/aa”との組み合わせの受信回数が100回になったことに基づいて、付与部24は、パス”/aa”に対応するログ情報”error”を頻出ログ情報に決定する。付与部24は、パス”/aa”に対応する頻出ログ情報”error”に識別子”A”を付与する。例えば、識別子”A”は、文字列”A”である。付与部24は、付与した識別子”A”を、頻出ログ情報”error”およびパス”/aa”の組み合わせとともに、ログ管理情報として頻出ログ情報保持部27に格納する。
送信部29は、頻出ログ情報保持部27に格納されたログ管理情報を、ログ送信装置10に送信する。例えば、付与部24は、ログ管理情報を格納した頻出ログ情報保持部27のレコードを示す情報を送信部29に通知する。送信部29は、付与部24から通知されたレコードに格納されたログ管理情報をログ送信装置10に送信する。これにより、ログ管理情報が頻出ログ情報保持部27に格納される毎に、頻出ログ情報保持部27に格納されたログ管理情報を、ログ送信装置10に送信することができる。また、管理装置20は、ログ送信装置10から受信する実際のログに基づいて、頻出ログ情報を管理するログ情報保持部26および頻出ログ情報保持部27を動的に更新することができる。すなわち、人手を介することなく、頻出ログ情報を自動的に更新することができる。
ログ送信装置10の受信部13は、受信したログ管理情報を頻出ログ情報保持部14に格納する。そして、ログ送信装置10は、頻出ログ情報保持部14に保持されたログ管理情報に基づいて、ログに含まれるログ情報を識別子に変換し、変換した識別子を含むログを管理装置20に送信する。
例えば、判定部15は、頻出ログ情報保持部14を参照し、パス”/aa”で示される格納場所に格納されたログに含まれる複数のログ情報の中に、頻出ログ情報”error”が存在するかを判定する。そして、判定部15は、頻出ログ情報”error”が存在する場合、頻出ログ情報”error”をパス”/aa”とともに変換部16に通知することで、頻出ログ情報”error”の識別子への置き換えを指示する。変換部16は、判定部15からの指示に基づいて、頻出ログ情報と判定されたログ情報”error”を識別子”A”に変換する。
そして、送信部17は、変換部16によりログ情報”error”が識別子”A”に変換されたログを管理装置20に送信する。このため、ログ送信装置10の頻出ログ情報保持部14に頻出ログ情報”error”が格納された後、管理装置20は、パス”/aa”に対応するログに含まれるログ情報”error”の代わりに識別子”A”を受信する。これ以降、回数管理部23は、パス”/aa”に対応するログに含まれるログ情報”error”を受信しないため、ログ情報保持部26において、ログ情報”error”とパス”/aa”との組み合わせの受信回数が増加することはない。
なお、管理部22は、付与部24が付与した識別子を認識しているため、回数管理部23は、例えば、パス”/aa”のログに含まれる識別子”A”をログ情報として扱わない。このため、識別子”A”がログ情報として扱われることはなく、識別子”A”の受信回数がログ情報保持部26に格納されることはない。したがって、その後に多数受信する識別子”A”が頻出ログ情報に判定されることはない。
一方、例えば、判定部15は、パス”/bb”に対応する頻出ログ情報が頻出ログ情報保持部14に存在しないことを、頻出ログ情報保持部14を予め参照するなどして検出済みである。このため、判定部15は、パス”/bb”で示される格納場所に格納されたログに対して、頻出ログ情報保持部14を検索せず、ログ情報の判定動作を実行しない。すなわち、判定部15は、頻出ログ情報の識別子への置き換えを変換部16に指示しない。
このように、頻出ログ情報と識別子とをパス毎にログ管理情報として頻出ログ情報保持部14に保持することで、頻出ログ情報をパス毎に管理しない場合に比べて、判定部15による頻出ログ情報保持部14の検索頻度を下げることができる。したがって、頻出ログ情報をパス毎に管理しない場合に比べて、判定部15のオーバヘッドを削減することができる。
変換部16は、判定部15からの指示がないため、パス”/bb”で示される格納場所に格納されたログ情報の識別子への変換動作を実行することなく、ログデータベース12から読み出したログを送信部17に転送する。一方、頻出ログ情報をパス毎に管理せず、複数のサービスに共通に頻出ログ情報と識別子との組み合わせを設定する場合、変換部16は、パス”/bb”で示される格納場所に格納されたログ情報の識別子への変換動作を実行する。したがって、図2では、頻出ログ情報をパス毎に管理しない場合に比べて、変換部16によるログ情報の識別子への変換頻度を下げることができ、変換部16のオーバヘッドを削減することができる。この結果、ログ送信装置10のオーバヘッドを削減することができる。また、ログ送信装置10は、実際のログに基づいて管理装置20が設定したログ管理情報を使用して、ログに含まれる頻出ログ情報が識別子に変換する。このため、頻出ログ情報を人手等により予想する場合に比べて、ログを効率的に圧縮することができる。
これに対して、例えば、管理部22が、パス(サービス)で区別することなくログ情報の受信回数を計数するとする。この場合、”パス”/aa”に対応するログ情報”error”だけでなく、パス”/bb”に対応するログ情報”error”も、頻出ログ情報に決定される。管理装置20は、頻出ログ情報”error”をパス”/aa”に紐付けすることなく識別子”A”とともにログ送信装置10に送信する。
この場合、判定部15は、パス”/aa”のログ中のログ情報”error”に対する頻出ログ情報保持部14の検索だけでなく、パス”/bb”のログ中のログ情報”error”に対する頻出ログ情報保持部14の検索も実行する。そして、判定部15は、パス”/aa”に保持されたログ中のログ情報”error”だけでなく、パス”/bb”に保持されたログ中のログ情報”error”も頻出ログ情報として判定する。したがって、判定部15による頻出ログ情報保持部14の検索のオーバヘッドが発生する。
また、変換部16は、パス”/aa”に保持されたログ中のログ情報”error”だけでなく、パス”/bb”に保持されたログ中のログ情報”error”も識別子に変換する。本来、頻出ログ情報でないパス”/bb”のログ情報”error”を識別子に変換するため、変換部16のオーバヘッドが発生する。さらに、例えば、状態(2)において、パス”/bb”に対応するログ情報”error”の受信回数は3回であり、真の頻出ログ情報ではない。したがって、頻出ログ情報をパス毎に管理しない場合、真の頻出ログ情報を抽出する精度は低下する。
状態(3)において、付与部24は、ログ情報保持部26に保持されたログ情報”file not found”とパス”/bb”との組み合わせの受信回数が100回になったことを検出する。付与部24は、パス”/bb”に対応するログ情報”file not found”を頻出ログ情報に決定する。付与部24は、パス”/bb”に対応する頻出ログ情報”file not found”に識別子”B”を付与する。例えば、識別子”B”は、文字列”B”である。付与部24は、付与した識別子”B”を、頻出ログ情報”file not found”およびパス”/bb”の組み合わせとともに、ログ管理情報として頻出ログ情報保持部27に格納する。送信部29は、頻出ログ情報保持部27に格納されたログ管理情報を、ログ送信装置10に送信し、ログ送信装置10は、受信したログ管理情報を頻出ログ情報保持部14に格納する。そして、ログ送信装置10は、頻出ログ情報保持部14に格納したログ管理情報に基づいて、ログに含まれるログ情報を識別子に変換し、変換した識別子を含むログを管理装置20に送信する。
例えば、判定部15は、パス”/aa”で示される格納場所に格納されたログに含まれる複数のログ情報の中に、頻出ログ情報”error”が存在するかを、頻出ログ情報保持部14においてパス”/aa”を保持するレコードのみを検索して判定する。状態(2)と同様に、パス”/bb”を保持するレコードの検索が不要になるため、頻出ログ情報をパス毎に管理しない場合に比べて、判定部15による頻出ログ情報保持部14の検索効率を向上することができる。
また、頻出ログ情報をパス毎に管理することで、着目するログ情報の受信回数がパスによって互いに異なる場合にも、頻出ログ情報をパス毎の受信回数に基づいて決定することができる。これにより、頻出ログ情報をパス毎に管理しない場合に比べて、真の頻出ログ情報を抽出する精度を向上することができる。
以上、図1および図2に示す実施形態では、頻出ログ情報をパス毎に管理するため、ログに含まれる頻出ログ情報を頻出ログ情報保持部14から検索する場合、ログに対応するパスを含むレコードのみを検索すればよい。このため、頻出ログ情報をパス毎に管理しない場合に比べて、判定部15による頻出ログ情報の検索効率を向上することができ、判定部15による頻出ログ情報保持部14の検索頻度を下げることができる。また、変換部16によるログ情報の識別子への変換頻度を下げることができる。すなわち、頻出ログ情報をパス毎に管理しない場合に比べて、ログが伝送される通信路の負荷を軽減しつつ、ログ送信装置10のオーバヘッドを削減することができる。
ログ送信装置10から受信する実際のログに基づいて、頻出ログ情報を管理するログ情報保持部26および頻出ログ情報保持部27を動的に更新することができる。すなわち、人手を介することなく、頻出ログ情報を自動的に更新することができ、頻出ログ情報を人手等により予想して設定する場合に比べて、ログ送信装置10は、ログを効率的に圧縮することができる。
頻出ログ情報をパス毎に管理することで、着目するログ情報の受信回数がパスによって互いに異なる場合にも、頻出ログ情報をパス毎の受信回数に基づいて決定することができる。これにより、頻出ログ情報をパス毎に管理しない場合に比べて、真の頻出ログ情報を抽出する精度を向上することができる。
ログ管理情報が頻出ログ情報保持部27に格納される毎に、ログ管理情報をログ送信装置10に送信することで、パス毎の頻出ログ情報と識別子とを含むログ管理情報を迅速にログ送信装置10に送信することができる。これにより、ログ送信装置10は、管理装置20による頻出ログ情報の検出に基づく頻出ログ情報の識別子への変換処理を迅速に開始することができる。ログ情報保持部26とは別に頻出ログ情報保持部27を設けることで、送信部29は、頻出ログ情報保持部27の該当するレコードをアクセスだけで、頻出ログ情報とパスと識別子とを含むログ管理情報のみを取得することができる。
図3は、情報処理装置、情報処理システムおよびプログラムの別の実施形態を示す。図1および図2と同じ要素については、詳細な説明は省略する。図3に示す情報処理システム102は、例えば、ネットワークを介してコンピュータリソースを提供するクラウドサービスまたはマイクロサービス等に使用される。情報処理システム102は、情報処理を実行する複数の処理サーバ400(400A、400B、400C等)と、処理サーバ400を管理する管理サーバ500とを有する。
処理サーバ400と管理サーバ500とは、管理ネットワーク602を介して相互に接続される。処理サーバ400は、ログ送信装置または第1の情報処理装置の一例であり、管理サーバ500は、管理装置または第2の情報処理装置の一例である。処理サーバ400および管理サーバ500のハードウェア構成の例は、図11に示される。
処理サーバ400および管理サーバ500は、ユーザネットワーク604を介して、インターネットまたはイントラネット等のネットワーク606に接続される。ネットワーク606には、処理サーバ400を使用する各ユーザにより操作される端末装置700(700A、700Bなど)が接続される。
なお、ネットワーク606は、ユーザネットワーク604を介さずに管理サーバ500に接続され、端末装置700からの指示が、管理サーバ500を介して各処理サーバ400に伝達されてもよい。また、同種のサービスを複数の処理サーバ400で実行する場合、情報処理システム102は、端末装置700からの指示を複数の処理サーバ400に分散させるロードバランサを有してもよい。処理サーバ400の構成は、互いに同一または同様であるため、以下では、主に処理サーバ400Aについて説明される。また、以下では、処理サーバ400は、ホストとも称される。
処理サーバ400Aは、サービス実行部41A、ログデータベース42、エージェント43、変換部44、圧縮部45、転送部46および記憶部47を有する。記憶部47は、ログ保持部48および頻出メッセージ抽出テーブル49を有する。頻出メッセージ抽出テーブル49の例は、図5に示される。記憶部47は、例えば、複数のSDRAM(Synchronous Dynamic Random Access Memory)を含むメモリモジュール、HDDまたはSSD(Solid State Drive)等の記憶装置を有する。
例えば、エージェント43、変換部44、圧縮部45および転送部46の機能は、処理サーバ400Aが有するCPU等のプロセッサが記憶部47等に格納されるプログラムを実行することで実現される。なお、エージェント43、変換部44、圧縮部45および転送部46の機能は、処理サーバ400Aが有するFPGA等のハードウェアにより実現されてもよい。処理サーバ400の動作の例は、図9に示される。
サービス実行部41(41A、41B、41C)の各々は、端末装置700を操作するユーザからの指示に基づいて、所定数の各種サービスを実行する。例えば、サービス実行部41は、処理サーバ400上で動作する仮想マシンにより実現される。すなわち、サービス実行部41は、処理サーバ400Aが有するCPU、メモリ、ストレージ等の物理リソースを利用して、ハイパーバイザ等のソフトウェアにより実現される。なお、サービス実行部41は、物理リソースを用いて実現されてもよい。
サービス実行部41A、41Bは、互いに同じサービスNOVAを分散して実行し、サービス実行部41Cは、サービスNOVAと異なるサービスNEUTRONを実行する。サービスNOVAを実行する処理サーバ400A、400Bは、管理サーバ500によりホストNOVA1、NOVA2として管理される。すなわち、末尾の数字のみが異なるホスト名は、互いに同じサービスを実行する処理サーバ400を示す。サービスNEUTRONを実行する処理サーバ400Cは、管理サーバ500によりホストNEUTRON1として管理される。
例えば、サービスNOVAの処理負荷が増加し、サービスNOVAを実行する処理サーバ400が増設される場合(スケールアウト)、増設された処理サーバ400は、ホストNOVA3として管理サーバ500に管理される。一方、サービスNOVAの処理負荷が減少した場合、サービスNOVAを実行する処理サーバ400が減設されてもよい(スケールイン)。
ログデータベース42は、サービス実行部41Aが実行する複数種のサービスの各々に対応して、サービス実行部41Aが出力するログをサービス毎に保持する。なお、処理サーバ400Aは、互いに異なる1つのサービスを実行する複数のサービス実行部41Aを有してもよい。この場合にも、ログデータベース42は、複数のサービス実行部41Aが出力するログをサービス毎に保持する。ログデータベース42には、サービス毎にログを保持する格納場所が割り当てられ、各格納場所は、図4で説明するようにパスにより管理される。なお、ログデータベース42は、記憶部47に設けられてもよい。
エージェント43は、ログデータベース42に格納されたログをパス毎に区別して収集し、収集したログをログ保持部48に格納する。エージェント43は、頻出メッセージ抽出テーブル49に保持された情報に基づいて、ログ保持部48に格納したログに含まれるメッセージの中に、出現頻度が他よりも高い頻出メッセージがあるか否かを判定する。この際、エージェント43は、頻出メッセージ抽出テーブル49に保持された情報に基づいて、頻出メッセージをサービス実行部41Aが実行するサービス毎(すなわち、パス毎)に判定する。すなわち、エージェント43は、ログの格納先を示すパス毎にログを収集し、ログに含まれるメッセージが、頻出メッセージ抽出テーブル49にほじされたパス毎の頻出メッセージと一致するかを判定する。メッセージが頻出メッセージであるかを判定するエージェント43は、判定部の一例である。ログに含まれるメッセージは、ログ情報の一例であり、頻出メッセージは、頻出ログ情報の一例である。
エージェント43は、ログの中に頻出メッセージを検出した場合、ログに含まれる頻出メッセージをID(Identification)に変換させる指示を変換部44に発行する。IDは、頻出メッセージを識別するための識別子の一例である。IDは、例えば、文字列や数字列であり、頻出メッセージの情報量よりも小さいものが選択される。
変換部44は、エージェント43からの指示に基づいて、頻出メッセージを含むログをログ保持部48から読み出し、頻出メッセージ抽出テーブル49に保持された情報に基づいて、読み出したログに含まれる頻出メッセージをIDに変換する。例えば、変換部44は、頻出メッセージをIDに置き換えたログをログ保持部48に書き戻す。
エージェント43は、所定量のログに対して頻出メッセージを検出する処理を実行した場合、ログ保持部48に保持された所定量のログを、処理サーバ400のホスト名およびログの格納場所を示すパスとともに圧縮する指示を圧縮部45に発行する。圧縮部45は、エージェント43からの指示に基づいて、ログ保持部48に保持された所定量のログを読み出し、読み出したログに含まれる情報にホスト名とパスとを付加して圧縮する。圧縮部45は、圧縮したログを転送部46に出力する。例えば、圧縮処理は、辞書式圧縮法等のデータ圧縮アルゴリズムを使用して実行される。
転送部46は、圧縮部45から受信するログを含む情報を、管理ネットワーク602を介して管理サーバ500に送信する。圧縮されたログを含む情報を管理サーバ500に送信する転送部46は、送信部の一例である。一方、転送部46は、管理ネットワーク602を介して管理サーバ500から受信する情報を頻出メッセージ抽出テーブル49に格納する。管理サーバ500から受信する情報を受信する転送部46は、受信部の一例である。
管理サーバ500は、転送部51、解凍部52、頻出ログ抽出部53、ログ情報管理部54および記憶部55を有する。記憶部55は、統計テーブル56、頻出メッセージ管理テーブル57、対応ホスト管理テーブル58およびログ保持部59を有する。頻出ログ抽出部53およびログ情報管理部54は、管理部の一例である。統計テーブル56、頻出メッセージ管理テーブル57および対応ホスト管理テーブル58の例は、図6に示される。
転送部51、解凍部52、頻出ログ抽出部53およびログ情報管理部54の機能は、管理サーバ500が有するCPU等のプロセッサが記憶部55に格納されるプログラムを実行することで実現される。なお、転送部51、解凍部52、頻出ログ抽出部53およびログ情報管理部54の機能は、管理サーバ500が有するFPGA等のハードウェアにより実現されてもよい。管理サーバ500の動作の例は、図10に示される。
転送部51は、管理ネットワーク602を介して各処理サーバ400から受信するログを含む情報を解凍部52に転送する。また、転送部51は、頻出メッセージ管理テーブル57に保持された情報を、管理ネットワーク602を介して処理サーバ400のいずれかに送信する。転送部51は、処理サーバ400からログを受信する受信部の一例である。また、転送部51は、後述するログ管理情報を処理サーバ400に送信する送信部の一例である。解凍部52は、転送部51から転送されるログを含む情報を解凍し、解凍したログとログに付加されたホスト名とパスとをログ保持部59に格納する。
頻出ログ抽出部53は、解凍部52が解凍したログをパス毎に検索し、ログに含まれるメッセージをパス毎に抽出し、抽出したメッセージをパスとともに統計テーブル56に格納する。また、頻出ログ抽出部53は、パス毎にメッセージを抽出した回数である出現回数を算出し、算出した出現回数を統計テーブル56に格納する。頻出ログ抽出部53は、処理サーバ400から受信するログに含まれるメッセージとパスとの組み合わせ毎にメッセージの出現回数を管理する回数管理部の一例であり、出現回数は、受信回数の一例である。
ログ情報管理部54は、統計テーブル56に格納されたパス毎のログに含まれるメッセージのうち、発生頻度が所定の頻度以上であるメッセージ(すなわち、頻出メッセージ)を、出現回数に基づいて検出する。ログ情報管理部54は、頻出メッセージにIDを付与し、付与したIDを頻出メッセージおよびパスとともに頻出メッセージ管理テーブル57に格納する。以下では、頻出メッセージ、パスおよびIDの組み合わせは、ログ管理情報とも称される。
また、ログ情報管理部54は、頻出メッセージ管理テーブル57に頻出メッセージを格納する毎に、新たに格納した頻出メッセージ、パスおよびIDを含むログ管理情報を、パスに対応する全ての処理サーバ400に転送する指示を転送部に発行する。頻出メッセージにIDを付与するログ情報管理部54は、付与部の一例である。頻出メッセージの検出に基づいて、検出した頻出メッセージを含むログ管理情報を、ログ管理情報に含まれるパスに対応する全ての処理サーバ400に転送する指示を発行するログ情報管理部54は、共通情報管理部の一例である。
さらに、ログ情報管理部54は、解凍部52が解凍したログに付加されたパスとホスト名との組み合わせが、対応ホスト管理テーブル58に登録済みであるか否かを検出する。ログ情報管理部54は、解凍したログに、対応ホスト管理テーブル58に未登録のパスとホスト名との組み合わせが付加されている場合、新たなホスト(処理サーバ400)を使用してサービスが開始されたと判断する。そして、ログ情報管理部54は、新たなホスト名とパスとの組み合わせを対応ホスト管理テーブル58に登録する。
ログ情報管理部54は、対応ホスト管理テーブル58に新たに登録したパスが頻出メッセージ管理テーブル57に保持されている場合、対応するログ管理情報を頻出メッセージ管理テーブル57から取り出す。そして、ログ情報管理部54は、対応ホスト管理テーブル58に新たにパスとともに登録したホスト名に対応する処理サーバ400に、取り出したログ管理情報を転送する指示を転送部51に発行する。パスとホスト名との新たな組み合わせを検出し、対応するホストに、対応するパスを含むログ管理情報を送信する指示を発行するログ情報管理部54は、新規管理部の一例である。
図4は、図3に示す各処理サーバ400におけるログデータベース42に格納されるログファイルのディレクトリ構成の一例を示す。処理サーバ400A、400Bは、共通のディレクトリ構成を有しており、例えば、/novaディレクトリの下には、2つのサービスに対応する2つのログファイル”nova-compute.log”、”nova-api.log”が配置される。処理サーバ400Cでは、例えば、/neutronディレクトリの下にログファイル”sever.log”が配置される。
処理サーバ400A、400Bの各々において、ログファイル”nova-compute.log”の格納場所のパスは、”/var/log/nova/nova-compute.log”であり、”nova-api.log”の格納場所のパスは、”/var/log/nova/nova-api.log”である。すなわち、処理サーバ400Aのサービス実行部41Aと処理サーバ400Bのサービス実行部41Bとの各々が実行する共通のサービスの実行履歴を示すログは、各処理サーバ400A、400Bにおいて、共通のパスで示される格納場所に格納される。すなわち、互いに同じサービスを実行する処理サーバ400A、400Bの各々において、ログの物理的な格納場所は互いに異なるが、格納場所を示すパスは、互いに共通である。
したがって、クラウドサービスまたはマイクロサービス等において、共通のサービスを実行する処理サーバ400が増設される場合にも、パスが共通であることを利用して、物理的に異なる格納場所に格納されたログをサービス毎のログとして管理することができる。換言すれば、共通のサービスを実行する処理サーバ400が増設される場合にも、管理サーバ500に処理サーバ400の増設を通知することなく、物理的に異なる格納場所に格納されたログをサービス毎のログとして管理することができる。また、処理サーバ400の増設前と増設後において、後述する図10に示す管理サーバ500の動作フローを同じにすることができる。
例えば、処理サーバ400A、400B(ホストNOVA1、NOVA2)が実行するサービスNOVAの処理負荷が増加し、サービスNOVAを実行する処理サーバ400Dが増設されるとする。この場合、増設された処理サーバ400(例えば、ホストNOVA3)のディレクトリ構成は、処理サーバ400A、400Bのディレクトリ構成と同じに設定される。すなわち、処理サーバ400Dは、/novaディレクトリの下に2つのサービスに対応する2つのログファイル”nova-compute.log”、”nova-api.log”が配置される。なお、各ディレクトリに配置されるログファイルは、図4に示す例に限定されない。
図5は、図3に示す処理サーバ400が有する頻出メッセージ抽出テーブル49の一例を示す。頻出メッセージ抽出テーブル49に保持されるログ管理情報は、サービス毎に共通であり、例えば、互いに同じサービスを実行する処理サーバ400A、400Bの頻出メッセージ抽出テーブル49が保持するログ管理情報は互いに同じである。頻出メッセージ抽出テーブル49は、ログに含まれるメッセージのうち、頻出と判定された頻出メッセージと、ログの格納場所を示すパスと、頻出メッセージに対応するIDとを含むログ管理情報を格納する複数のレコードを有する。
処理サーバ400A、400Bの頻出メッセージ抽出テーブル49には、/novaディレクトリの下に配置される2つのログファイル(図4)内のログに含まれるメッセージのうち、頻出メッセージがパスおよびIDとともに格納される。2つのログファイルは、”nova-api.log”と”nova-compute.log”である。処理サーバ400Cの頻出メッセージ抽出テーブル49には、/neutronディレクトリの下に配置されるログファイル(図4の”server.log”)内のログに含まれるメッセージのうち、頻出メッセージがパスおよびIDとともに格納される。
なお、パス(サービス)で区別することなくメッセージの出現回数を計数する場合、複数の処理サーバ400が実行する異種のサービスに共通のログ管理情報が、頻出メッセージ抽出テーブル49に格納される。異種のサービスでは、例えば、メッセージ”file not found”が出力される頻度は、互いに異なり、あるサービスでは頻出メッセージでも、他のサービスでは頻出メッセージでない場合がある。したがって、サービス毎にメッセージの発生頻度が異なる場合にも、頻出メッセージに反映させることが困難である。この結果、本来、頻出メッセージでないメッセージがIDに置き換わるため、処理サーバ400のエージェント43および変換部44のオーバヘッドが発生する。
また、パス(サービス)で区別することなくメッセージの出現回数を計数する場合、特定のサービスでしか発生しない頻出メッセージに対応するログ管理情報が、他のサービスを実行する処理サーバ400にも転送される。これにより、各処理サーバ400の頻出メッセージ抽出テーブル49には、全く出力されないメッセージに対応する無駄なログ管理情報が格納されてしまう。エージェント43は、頻出メッセージ抽出テーブル49に保持された有用なログ管理情報だけでなく、無駄なログ管理情報も検索して頻出メッセージを判定するため、エージェント43のオーバヘッドはさらに増大する。
図6は、図3に示す管理サーバ500が有する統計テーブル56、頻出メッセージ管理テーブル57および対応ホスト管理テーブル58の一例を示す。
統計テーブル56は、ログが格納されるログファイルの格納場所を示すパスと、ログに含まれるメッセージと、メッセージの出現回数とを格納する複数のレコードを有する。例えば、統計テーブル56には、各サービスが出力した全てのログに含まれる全てのメッセージが格納される。パス毎に新たなメッセージが統計テーブル56に格納された場合、出現回数は”1”に設定される。また、新たに発生したログに含まれるメッセージが、統計テーブル56に既に格納されている場合、出現回数は”1”増加される。
頻出メッセージ管理テーブル57は、ログに含まれる頻出メッセージと、ログが格納されるログファイルの格納場所を示すパスと、頻出メッセージに代えて置き換えられるIDとを含むログ管理情報を格納する複数のレコードを有する。頻出メッセージ管理テーブル57には、統計テーブル56に格納されたメッセージのうち、例えば、出現回数が所定の閾値(例えば、100回)に到達したメッセージに対応する情報が格納される。換言すれば、出現回数が閾値に到達したメッセージは、発生頻度が所定の頻度以上である頻出メッセージとして扱われる。なお、図6では、IDは、文字”A”、”B”、”C”、”D”で示されるが、メッセージの情報量より小さければ、IDは他の文字列または数字列でもよい。
統計テーブル56および頻出メッセージ管理テーブル57は、記憶部の一例であり、統計テーブル56および頻出メッセージ管理テーブル57のレコードは、記憶領域の一例である。なお、統計テーブル56および頻出メッセージ管理テーブル57との代わりに、1つのテーブルが、管理サーバ500に設けられてもよい。この場合、例えば、テーブルは、統計テーブル56の各レコードにIDを格納する領域を追加することで設けられ、頻出メッセージ管理テーブル57は削除される。
対応ホスト管理テーブル58は、ログが格納されるログファイルの格納場所を示すパスと、パスで示されるログファイルにログを格納する処理サーバ400(すなわち、ホスト)を識別するホスト名とを格納する複数のレコードを有する。すなわち、対応ホスト管理テーブル58は、各ログファイルがどの処理サーバ400に保持されているかを示す。ホストとパスとの組み合わせは、装置管理情報の一例である。
図7は、図3に示す情報処理システム102の動作の一例を示す。説明を分かりやすくするため、統計テーブル56には、状態(1)で示すパスとメッセージとの5つの組み合わせ以外は格納されないものとする。すなわち、管理サーバ500が各ホストから受信するログに含まれるメッセージは、5つの組み合わせのメッセージのいずれかであるとする。また、説明を分かりやすくするため、統計テーブル56には、出現回数が100回に到達したメッセージに対応するレコードに符号”*”を付している。
状態(1)では、パスとメッセージとの5つの組み合わせと、出現回数とが、頻出ログ抽出部53により統計テーブル56に格納済みである。5つの組み合わせのうちの2つは、メッセージの出現回数が100回に到達している。ログ情報管理部54は、出現回数が100回に到達したメッセージを頻出メッセージに決定し、頻出メッセージにIDを付与する。そして、ログ情報管理部54は、頻出メッセージとパスとIDとの組み合わせを含むログ管理情報を頻出メッセージ管理テーブル57に格納する。
状態(1)において、頻出メッセージ管理テーブル57の一番上のレコードに示す破線の矢印は、ログ管理情報が、パス”/var/log/nova/nova-api.log”に対応するホストNOVA1、NOVA2に転送されたことを示す。頻出メッセージ管理テーブル57の上から2番目のレコードに示す破線の矢印は、ログ管理情報が、パス”/var/log/neutron/server.log”に対応するホストNEUTRON1に転送されたことを示す。
各状態(1)−(4)の右側に矢印で示すように、頻出メッセージ管理テーブル57に格納されたログ管理情報は、パスに対応するホストのみに転送される。このため、ログ管理情報を情報処理システム102が有する全てのホストに転送する場合に比べて、管理ネットワーク602の負荷を減らすことができる。換言すれば、ログ管理情報をパス毎に管理することで、各ホストが有する頻出メッセージ抽出テーブル49の更新頻度を下げることができ、管理ネットワーク602の負荷を減らすことができる。
頻出ログ抽出部53は、ホストのいずれかから転送されるログに基づいて、統計テーブル56の出現回数を更新する。但し、出現回数が100回に到達したメッセージは、IDに置き換えられてホストから転送される。例えば、状態(1)の統計テーブル56の一番上のレコードに保持されるパス”/var/log/nova/nova-api.log”に保持されたメッセージ”file not found”は、ID(=”A”)に置き換えられてホストNOVA1、NOVA2から転送される。同様に、状態(1)の統計テーブル56の上から2番目のレコードに保持されるパス”/var/log/neutron/server.log”に保持されたメッセージ”neutron error”は、ID(=”B”)に置き換えられてホストNEUTRON1から転送される。このため、状態(1)の統計テーブル56の上から1番目と2番目のレコードに対応するログ管理情報が、対応するホストに登録された後、これらレコードに含まれる出現回数は増加しない。
なお、状態(1)では、パス”/var/log/neutron/server.log”に格納されたログに含まれるメッセージ”file not found”は、頻出メッセージに設定されていない。すなわち、ログにメッセージ”file not found”が発生する頻度は、サービスによって異なる。このため、ホストNEUTRON1は、メッセージ”file not found”をIDに置き換えることなく管理サーバ500に転送する。頻出メッセージをパス毎に管理することで、頻出メッセージの種類がサービス毎に異なる特性に対応してログを管理することができ、頻出ログ抽出部53により真の頻出ログ情報を抽出する精度を向上することができる。
次に、状態(2)では、パス”/var/log/neutron/server.log”に格納されたログに含まれるメッセージ”file not found”の出現回数が100回に到達する。ログ情報管理部54は、統計テーブル56の上から3番目のレコードのメッセージ”file not found”を頻出メッセージとして検出し、頻出メッセージにID(=”C”)を付与する。ログ情報管理部54は、統計テーブル56の上から3番目のレコードに対応する頻出メッセージとパスと、付与したIDとをログ管理情報として頻出メッセージ管理テーブル57に格納する。
ログ情報管理部54は、頻出メッセージ管理テーブル57の上から3番目のレコードに新たに格納したログ管理情報を、対応するホストに転送する指示を転送部51に発行する。転送部51は、ログ情報管理部54からの指示に基づいて、頻出メッセージ管理テーブル57に新たに格納されたログ管理情報を、ログ管理情報に含まれるパス”/var/log/neutron/server.log”に対応するホストNEUTRON1に転送する。
ここで、ログ情報管理部54は、頻出メッセージ管理テーブル57に新たに格納されたパスと同じパスを保持する対応ホスト管理テーブル58(図3)のレコードに保持されたホスト名により示されるホストを、ログ管理情報の転送先に設定する。ここでは、ログ管理情報がホストNEUTRON1に転送される。ログ管理情報を受信したホストNEUTRON1は、パス”/var/log/neutron/server.log”に格納されたログに含まれるメッセージ”file not found”を、ID(=”C”)に置き換え、管理サーバ500に転送する。
このように、管理サーバ500は、処理サーバ400から受信する実際のログに基づいて、頻出メッセージを管理する統計テーブル56、頻出メッセージ管理テーブル57および対応ホスト管理テーブル58を動的に更新することができる。すなわち、人手を介することなく、頻出メッセージを自動的に更新することができ、頻出メッセージを人手等により予想して設定する場合に比べて、処理サーバ400は、ログを効率的に圧縮することができる。
次に、状態(3)では、例えば、サービスNOVAの処理負荷が増加し、サービスNOVAを実行するホストNOVA3が増設され、サービスNOVAは、ホストNOVA1、NOVA2に加えて、ホストNOVA3で実行される。そして、管理サーバ500は、ホストNOVA3で実行されたサービスNOVAが出力したログを受信する。例えば、ホストNOVA3から転送されるログは、パス”/var/log/nova/nova-api.log”で示されるログファイル”nova-api.log”に含まれ、メッセージ”file not found”を含む。
ログ情報管理部54は、頻出ログ抽出部53によりパスとメッセージとが統計テーブル56に格納された場合、パスとログに付加されたホスト名とに基づいて、対応ホスト管理テーブル58に未登録のパスとホスト名との組み合わせが存在するか否かを検出する。なお、ログ情報管理部54は、ログを受信する毎に対応ホスト管理テーブル58を参照する。対応ホスト管理テーブル58に未登録のパスとホスト名との組み合わせが存在するか否かを検出する。
この例では、後述する図8の状態(1)に示すように、パス”/var/log/nova/nova-api.log”とホスト名”NOVA3”との組み合わせが対応ホスト管理テーブル58に登録されていない。このため、ログ情報管理部54は、パス”/var/log/nova/nova-api.log”とホスト名”NOVA3”との新たな組み合わせを対応ホスト管理テーブル58に登録する。対応ホスト管理テーブル58が更新される例は、図8で説明される。
また、ログ情報管理部54は、パス”/var/log/nova/nova-api.log”を含む頻出メッセージ管理テーブル57のレコードのログ管理情報を、ホスト名”NOVA3”に対応するホストNOVA3に転送する指示を転送部51に発行する。転送部51は、状態(3)の頻出メッセージ管理テーブル57の一番上のレコードに保持されたパス”/var/log/nova/nova-api.log”を含むログ管理情報をホストNOVA3に転送する。これ以降、ホストNOVA3は、パス”/var/log/nova/nova-api.log”に格納されたログに含まれるメッセージ”file not found”をID(=”A”)に変換し、管理サーバ500に転送する。このように、管理サーバ500は、対応ホスト管理テーブル58を用いることで、ホストの増設を検出し、増設を検出したホストにログ管理情報を転送することができる。
次に、状態(4)では、管理サーバ500は、ホストNOVA3からパス”/var/log/nova/nova-compute.log”で示されるログファイル”nova-compute.log”に含まれるログを受信する。ログは、メッセージ”nova error”を含む。頻出ログ抽出部53は、抽出したメッセージ”nova error”をパス”/var/log/nova/nova-compute.log”とともに統計テーブル56に格納する。ここで、メッセージ”nova error”とパス”/var/log/nova/nova-compute.log”との組み合わせの出現回数が100回に到達したとする。
ログ情報管理部54は、状態(4)の上から4番目のレコードのメッセージを頻出メッセージとして検出し、頻出メッセージにID(=”D”)を付与する。ログ情報管理部54は、上から4番目のレコードに対応する頻出メッセージとパスと付与したIDとをログ管理情報として頻出メッセージ管理テーブル57に格納する。
この時点では、ホスト名”NOVA1”、”NOVA2”の各々と、パス”/var/log/nova/nova-compute.log”との2つの組み合わせが対応ホスト管理テーブル58に登録済みである。一方、メッセージ”nova error”を含むログの転送元のホストNOVA3と、パス”/var/log/nova/nova-compute.log”との組み合わせは、対応ホスト管理テーブル58に保持されていない。このため、ログ情報管理部54は、ホストNOVA3と、パス”/var/log/nova/nova-compute.log”との組み合わせを、対応ホスト管理テーブル58に登録する。なお、状態(4)は、図6の統計テーブル56と頻出メッセージ管理テーブル57との状態と同じである。
ログ情報管理部54は、状態(4)の頻出メッセージ管理テーブル57の上から4番目のレコードに新たに格納したログ管理情報を転送するホストを、対応ホスト管理テーブル58に保持された情報に基づいて決定する。対応ホスト管理テーブル58には、パス”/var/log/nova/nova-compute.log”に対応して、ホスト名”NOVA1”、”NOVA2”、”NOVA3”が登録済みである。このため、ログ情報管理部54は、頻出メッセージ管理テーブル57に新たに格納されたログ管理情報を、ホストNOVA1−NOVA3のそれぞれに転送することを決定し、転送部51に指示する。転送部51は、ログ情報管理部54からの指示に基づいて、頻出メッセージ管理テーブル57に新たに格納されたログ管理情報を、ホストNOVA1−NOVA3に転送する。
図8は、図3に示す情報処理システム102において、対応ホスト管理テーブル58が更新される動作の一例を示す。
状態(1)は、図7の状態(2)に対応し、対応ホスト管理テーブル58は、パスとホスト名との5つの組み合わせを保持する。なお、図7の状態(2)に示すように、パス”/var/log/nova/nova-compute.log”に保持されたログに含まれる各メッセージは、出現回数が100回未満であり、頻出メッセージでない。このため、図8の状態(1)において、対応ホスト管理テーブル58の上から1番目と2番目のレコードに保持されたパス”/var/log/nova/nova-compute.log”は、頻出メッセージ管理テーブル57に未登録である。
状態(2)は、図7の状態(3)に対応する。管理サーバ500は、ホストNOVA3が実行するサービスNOVAに伴い、ホストNOVA3のログデータベース42のパス”/var/log/nova/nova-api.log”に格納されたログを受信する。管理サーバ500は、ログに付加されたパス”/var/log/nova/nova-api.log”とホスト名”NOVA3”との組み合わせが、対応ホスト管理テーブル58に未登録であることを検出する。そして管理サーバ500は、パス”/var/log/nova/nova-api.log”とホスト名”NOVA3”との組み合わせを対応ホスト管理テーブル58に登録する。この後、図7の状態(3)で説明したように、管理サーバ500は、パス”/var/log/nova/nova-api.log”を含む頻出メッセージ管理テーブル57のレコードのログ管理情報を、ホストNOVA3に転送する。
状態(3)は、図6および図7の状態(4)に対応する。管理サーバ500は、ホストNOVA3のログデータベース42のパス”/var/log/nova/nova-compute.log”に格納されたログを受信する。管理サーバ500は、ログに含まれるメッセージ”nova error”とパス”/var/log/nova/nova-compute.log”との組み合わせの出現回数が100回に到達したことを検出する。このため、管理サーバ500は、メッセージ”nova error”とパス”/var/log/nova/nova-compute.log”とID(=”D”)とをログ管理情報として頻出メッセージ管理テーブル57に格納する。
管理サーバ500は、ログに付加されたパス”/var/log/nova/nova-compute.log”とホスト名”NOVA3”との組み合わせが、対応ホスト管理テーブル58に未登録であることを検出する。このため、管理サーバ500は、パス”/var/log/nova/nova-compute.log”とホスト名”NOVA3”との組み合わせを対応ホスト管理テーブル58に登録する。
管理サーバ500は、状態(3)の頻出メッセージ管理テーブル57の上から4番目のレコードに新たに格納したログ管理情報を、対応するホストに転送する。この際、管理サーバ500は、対応ホスト管理テーブル58において、ログ管理情報に含まれるパス”/var/log/nova/nova-compute.log”を含むレコードからホスト名NOVA1、NOVA2、NOVA3を抽出する。そして、管理サーバ500は、ログ管理情報をホストNOVA1、NOVA2、NOVA3に転送する。
図9は、図3に示す処理サーバ400の動作の一例を示す。すなわち、図9は、処理サーバ400による情報処理方法および処理サーバ400が実行するプログラムの一例を示す。
まず、ステップS100において、処理サーバ400は、ログデータベース42を参照し、サービス実行部41から新たなログが出力されることで、サービスに対応するログファイルが更新されたか否かを判定する。処理サーバ400は、ログファイルの更新を検出した場合、処理をステップS102に移行し、ログファイルの更新を検出するまでステップS100の判定を繰り返す。
ステップS102において、処理サーバ400は、ログデータベース42にアクセスし、サービス実行部41が新たに出力したログを収集する。なお、処理サーバ400は、複数のサービスの各々に対応する複数のログファイルが更新された場合、複数のログファイルのそれぞれから新たに格納されたログを収集する。すなわち、処理サーバ400は、ログをパス毎(サービス毎)に収集する。
次に、ステップS104において、処理サーバ400は、頻出メッセージ抽出テーブル49が空であるか判定する。頻出メッセージ抽出テーブル49の全てのレコードが空の場合、処理サーバ400は、頻出メッセージを検出する処理を実行できないため、処理をステップS112に移行する。頻出メッセージ抽出テーブル49のレコードのいずれかに頻出メッセージとパスとIDとの組み合わせが格納されている場合、処理サーバ400は、ログに含まれる頻出メッセージを検出するため、処理をステップS106に移行する。
ステップS106からステップS110の処理は、パス毎に実行される。ステップS106において、処理サーバ400は、ステップS102で収集したログのパスが頻出メッセージ抽出テーブル49に登録されているか判定する。パスが頻出メッセージ抽出テーブル49に登録済みの場合、対象パスのログに頻出メッセージが存在する可能性がある。このため、処理サーバ400は、頻出メッセージ抽出テーブル49において当該パスが登録されたレコードを対象レコードとして記録し、処理をステップS108に移行する。パスが頻出メッセージ抽出テーブル49に登録されていない場合、検索対象のログに頻出メッセージが存在しないため、処理サーバ400は処理をステップS112に移行する。
ステップS108において、処理サーバ400は、ステップS102で収集した検索対象のログに、頻出メッセージ抽出テーブル49の各対象レコードに登録された頻出メッセージが含まれるか判定する。頻出メッセージが検索対象のログに含まれる場合、処理サーバ400は、検索対象のログに含まれる頻出メッセージをIDに変換するために、処理をステップS110に移行する。頻出メッセージが検索対象のログに含まれない場合、検索対象のログに頻出メッセージが存在しないため、処理サーバ400は、処理をステップS112に移行する。例えば、ステップS100からステップS108の処理は、エージェント43により実行される。
ステップS110において、処理サーバ400は、頻出メッセージ抽出テーブル49の対象レコードを参照し、ステップS108で判定した検索対象のログに含まれる頻出メッセージをIDに変換し、処理をステップS112に移行する。処理サーバ400は、頻出メッセージをIDに置き換えたログを、ログ保持部48に格納する。例えば、ステップS110の処理は、変換部44により実行される。
ステップS106からステップS110の処理をパス毎に実行することで、エージェント43は、頻出メッセージ抽出テーブル49におけるログのパスを含む対象レコードのみを用いて、ログに含まれる全てのメッセージの各々が頻出メッセージか判定できる。これにより、頻出メッセージ抽出テーブル49の全てのレコードを用いて、ログに含まれる頻出メッセージを判定する場合に比べて、頻出メッセージの検索効率を向上することができる。また、検索対象のログのパスが頻出メッセージ抽出テーブル49に含まれない場合、頻出メッセージの検索は実行されないため、頻出メッセージ抽出テーブル49の検索頻度を下げることができる。この結果、頻出メッセージをパス毎に管理せずに、頻出メッセージを複数のパスに対応する複数のログに共通に設定する場合に比べて、エージェント43および変換部44のオーバヘッドを削減することができる。
次に、ステップS112において、処理サーバ400は、管理サーバ500に転送していない所定量のログがログ保持部48に貯まったか否かを判定する。処理サーバ400は、所定量のログが貯まった場合、ログの圧縮を指示して処理をステップS112に移行し、所定量のログが貯まっていない場合、処理をステップS100に戻す。例えば、ステップS112の処理は、エージェント43により実行される。
ステップS114において、処理サーバ400は、管理サーバ500に転送していない各ログにホスト名とパスとを付加し、ログとホスト名とパスとを含む情報を、辞書式圧縮法等のデータ圧縮アルゴリズムを使用して圧縮する。例えば、ステップS114の処理は、圧縮部45により実行される。次に、ステップS116において、処理サーバ400は、ログとホスト名とパスとを含む圧縮した情報を管理サーバ500に転送し、処理をステップS100に戻す。例えば、ステップS116の処理は、転送部46により実行される。
図10は、図3に示す管理サーバ500の動作の一例を示す。すなわち、図10は、管理サーバ500による情報処理方法および管理サーバ500が実行するプログラムの一例を示す。
まず、ステップS200において、管理サーバ500は、処理サーバ400のいずれかからログを受信した場合、受信したログを解凍部52に転送して処理をステップS202に移行し、ログを受診していない場合、ステップS200の判定を繰り返す。例えば、ステップS200の処理は、転送部51により実行される。
ステップS202において、管理サーバ500は、処理サーバ400のいずれかから受信したログを解凍し、解凍により得られたログと、ログに付加されたホスト名とパスとをログ保持部59に格納する。例えば、ステップS202によるログの解凍は、辞書式圧縮法等のデータ圧縮アルゴリズムを使用して、解凍部52により実行される。
次に、ステップS204において、管理サーバ500は、一定時間が経過した場合、処理をステップS206に移行し、一定時間が経過していない場合、処理をステップS200に戻す。例えば、一定時間は、ステップS200で受信するログの受信間隔(すなわち、処理サーバ400によるログの送信間隔)より長い。一定時間は、一定時間が経過する毎に繰り返し測定される。ログの受信間隔より長い一定時間毎に、ステップS206以降の処理を実行することで、ログの受信毎にステップS206以降の処理を実行する場合に比べて、メッセージの抽出数を多くすることができる。したがって、パス毎のメッセージの出現回数の増分を大きくすることができ、頻出メッセージを検出するために実行されるステップS206以降の処理の頻度を減らすことができる。これにより、頻出ログ抽出部53およびログ情報管理部54の負荷を減らすことができる。
ステップS206において、管理サーバ500は、ステップS202による解凍で得られたログを検索し、ログに含まれる全てのメッセージを抽出する。なお、管理サーバ500は、メッセージを一度抽出したログを再び検索しない。なお、管理サーバ500は、一定時間の経過を待つことなく、処理サーバ400のいずれかからログを受信する毎に、ステップS206の処理を実行してもよい。
次に、ステップS208において、管理サーバ500は、ステップS206で抽出したメッセージとパスとの複数の組み合わせの各々が統計テーブル56に登録されているか判定する。管理サーバ500は、メッセージとパスとの複数の組み合わせの全てが統計テーブル56に登録済みの場合、処理をステップS212に移行する。管理サーバ500は、メッセージとパスとの複数の組み合わせの少なくともいずれかが統計テーブル56に登録されていない場合、処理をステップS210に移行する。ステップS208の処理は、統計テーブル56において、判定対象のパスを含むレコードのみを検索することで実行されるため、全てのレコードを検索する場合に比べて、検索回数を削減することができ、検索効率を向上することができる。
ステップS210において、管理サーバ500は、ステップS208で判定した未登録のメッセージとパスとの組み合わせを統計テーブル56に登録し、処理をステップS212に移行する。ステップS212において、管理サーバ500は、ステップS208での判定結果に基づいて、統計テーブル56に保持された出現回数を更新する。例えば、管理サーバ500は、抽出したメッセージとパスとの組み合わせが統計テーブル56に登録済みである場合、統計テーブル56において、抽出したメッセージとパスとを保持するレコードに保持された出現回数を”1”増加する。また、管理サーバ500は、抽出したメッセージとパスとの組み合わせが統計テーブル56に未登録の場合、統計テーブル56において、ステップS210でメッセージとパスとを新たに登録したレコードに保持された出現回数を初期値の”0”から”1”増加する。例えば、ステップS206からステップS212の処理は、頻出ログ抽出部53により実行される。
次に、ステップS214において、管理サーバ500は、出現回数が閾値(例えば、100回)に到達したメッセージとパスとの組み合わせが統計テーブル56に存在するか判定する。管理サーバ500は、出現回数が閾値に到達したメッセージとパスとの組み合わせが統計テーブル56に存在する場合、処理をステップS222に移行する。管理サーバ500は、出現回数が閾値に到達したメッセージとパスとの組み合わせが統計テーブル56に存在しない場合、処理をステップS216に移行する。ステップS214の実際の処理では、統計テーブル56の各レコードに保持された出現回数に基づいて、処理はレコード毎にステップS222またはステップS216に移行される。
なお、出現回数が閾値に一度到達したメッセージとパスとの組み合わせを頻出ログ抽出部53が抽出した場合、ステップS214の処理では、常にステップS216への移行が判定される。出現回数が閾値に到達済みか否かは、統計テーブル56に保持された出現回数を参照することで判定される。但し、出現回数が閾値に一度到達したメッセージは、処理サーバ400によりIDに変換される。このため、管理サーバ500が、出現回数が閾値に一度到達したメッセージを受信するケースは、メッセージの出現回数が閾値に到達した後、対応するログ管理情報が処理サーバ400の頻出メッセージ抽出テーブル49に登録されるまでの期間に限定される。
ステップS216において、管理サーバ500は、ログ保持部59を参照し、ステップS202による解凍で得られたログの格納場所であるパスとログの送信元を示すホスト名との組み合わせが、対応ホスト管理テーブル58に登録済みか判定する。管理サーバ500は、当該組み合わせが対応ホスト管理テーブル58に登録済みの場合、当該組み合わせがログ管理情報の転送対象に設定済みであるため、処理をステップS200に戻す。管理サーバ500は、当該組み合わせが対応ホスト管理テーブル58に未登録の場合、当該組み合わせがログ管理情報の転送対象に設定されていないため、処理をステップS218に移行する。ステップS218において、管理サーバ500は、ステップS216で未登録と判定したパスとホスト名との組み合わせを対応ホスト管理テーブル58に登録し、処理をステップS220に移行する。
ステップS220において、管理サーバ500は、ステップS218で新たな登録したホスト名により示されるホストに、ステップS218で新たに登録したパスに対応して頻出メッセージ管理テーブル57に保持されているログ管理情報を転送する。これにより、ホストが増設された場合、増設されたホストが実行するサービスが出力するログに対応するログ管理情報を、増設されたホストに迅速に転送することができる。ステップS220の後、処理はステップS200に戻される。
ステップS222において、管理サーバ500は、ステップS214で判定した出現回数が閾値に到達したメッセージとパスとの組み合わせにIDを付与する。また、管理サーバ500は、IDを付与したメッセージとパスとの組み合わせを、IDとともにログ管理情報として頻出メッセージ管理テーブル57の空いているレコードに登録し、処理をステップS224に移行する。
ステップS224において、管理サーバ500は、出現回数が閾値に到達したメッセージを含むログの格納場所を示すパスと、ログの送信元のホストとの組み合わせが、対応ホスト管理テーブル58に登録されているかを判定する。管理サーバ500は、当該組み合わせが対応ホスト管理テーブル58に登録済みの場合、処理をステップS228に移行する。管理サーバ500は、当該組み合わせが対応ホスト管理テーブル58に未登録の場合、当該組み合わせを対応ホスト管理テーブル58に登録するため、処理をステップS226に移行する。ステップS226において、管理サーバ500は、出現回数が閾値に到達したメッセージを含むログの格納場所を示すパスと、ログの送信元のホストとの組み合わせを、対応ホスト管理テーブル58に登録し、処理をステップS228に移行する。
ステップS228において、管理サーバ500は、対応ホスト管理テーブル58を参照し、ステップS222で新たに登録したログ管理情報に含まれるパスと同じパスを含むレコードが保持するホスト名を検索する。管理サーバ500は、検索により見つけたホスト名が示すホストにステップS222で登録したログ管理情報を転送し、処理をステップS200に移行する。これにより、出現回数が閾値に到達したメッセージを含むログの格納場所を示すパスに対応する全てのホストに、ログ管理情報を転送することができる。また、対応ホスト管理テーブル58に未登録のホストから受信したログに含まれるメッセージの出現回数が閾値に到達した場合にも、未登録のホストを含む全ての対象ホストに、ログ管理情報を転送することができる。
以上、図3から図10に示す実施形態においても、図1および図2に示す実施形態と同様の効果を得ることができる。例えば、頻出メッセージをパス毎に管理することで、エージェント43は、頻出メッセージをパス毎に管理しない場合に比べて、頻出メッセージの検索効率を向上でき、頻出メッセージ抽出テーブル49の検索頻度を下げることができる。したがって、頻出メッセージをパス毎に管理しない場合に比べて、ログが伝送される管理ネットワーク602の負荷を軽減しつつ、処理サーバ400のオーバヘッドを削減することができる。
また、管理サーバ500は、処理サーバ400から受信する実際のログに基づいて、頻出メッセージを管理する統計テーブル56、頻出メッセージ管理テーブル57および対応ホスト管理テーブル58を動的に更新することができる。すなわち、人手を介することなく、頻出メッセージを自動的に更新することができるため、頻出メッセージを人手等により予想して設定する場合に比べて、処理サーバ400は、ログを効率的に圧縮することができる。
頻出メッセージをパス毎に管理することで、頻出メッセージの種類がサービス毎に異なる特性に対応してログを管理することができ、真の頻出ログ情報を抽出する精度を向上することができる。統計テーブル56とは別に頻出メッセージ管理テーブル57を設けることで、管理サーバ500は、頻出メッセージ管理テーブル57の該当するレコードをアクセスするだけで、頻出メッセージとパスとIDとを含むログ管理情報のみを取得できる。
さらに、図3から図10に示す実施形態では、共通のサービスを実行する処理サーバ400が増設される場合にも、パスが共通であることを利用して、物理的に異なる格納場所に格納されたログをサービス毎のログとして管理することができる。換言すれば、共通のサービスを実行する処理サーバ400が増設される場合にも、管理サーバ500に処理サーバ400の増設を通知することなく、物理的に異なる格納場所に格納されたログをサービス毎のログとして管理することができる。また、処理サーバ400の増設前と増設後において、管理サーバ500の動作フローを同じにすることができる。
ログ管理情報をパス毎に管理することで、情報処理システム102が有する全てのホストにログ管理情報を転送する場合に比べて、管理ネットワーク602の負荷を減らすことができる。換言すれば、ログ管理情報をパス毎に管理することで、各ホストが有する頻出メッセージ抽出テーブル49の更新頻度を下げることができ、管理ネットワーク602の負荷を減らすことができる。
ログの受信間隔より長い一定時間毎に、頻出ログ抽出部53およびログ情報管理部54を動作させることで、頻出メッセージを検出するために実行される図10のステップS206以降の処理の頻度を減らすことができる。この結果、頻出ログ抽出部53およびログ情報管理部54の負荷を減らすことができる。
図11は、図1に示す管理装置20および図3に示す管理サーバ500のハードウェア構成の一例を示す。管理装置20および管理サーバ500のハードウェア構成は、互いに同様のため、以下では、管理サーバ500の構成が説明される。なお、図1に示すログ送信装置10と、図3に示す処理サーバ400および端末装置700も、図11と同一または同様のハードウェア構成を有する。
管理サーバ500は、マザーボード等の本体部70と、本体部70に接続されるモニタ80、マウス82およびキーボード84とを有する。本体部70は、バスBUSを介して相互に接続されるCPU等のプロセッサ71、メモリ72、73、グラフィック処理部74、HDD(Hard Disk Drive)75、入力インタフェース76、入出力インタフェース77および通信インタフェース78を有する。なお、本体部70は、FPGAを有してもよい。
プロセッサ71は、演算処理を実行する複数のプロセッサコア71aを有する。なお、本体部70は、複数のプロセッサ71を有してもよい。プロセッサコア71aのいずれかは、プログラムを実行することで、図1に示す管理装置20または図3に示す管理サーバ500の機能を実現する。なお、本体部70に複数のプロセッサ71が設けられる場合、複数のプロセッサ71のいずれかにプログラムを実行させてもよい。
例えば、メモリ72は、複数のSDRAMが搭載されたメモリモジュールであり、メモリ73は、フラッシュメモリである。グラフィック処理部74は、プロセッサ71からの指示に基づいて、モニタ80に表示させる画像データ等をモニタ80に出力する。HDD75は、プロセッサ71が実行する各種プログラム等を保持する。なお、プロセッサ71は、HDD75からメモリ72に転送された各種プログラムを実行する。
入力インタフェース76は、マウス82およびキーボード84等の入力装置から受信する信号をプロセッサ71に送信する。入出力インタフェース77は、プロセッサ71からの指示に基づいて、記録媒体86から各種プログラムまたはデータ等の情報を読み出し、読み出した情報をHDD75等に書き込む。また、入出力インタフェース77は、プロセッサ71からの指示に基づいて、HDD75等に格納された情報を読み出し、読み出した情報を記録媒体86に書き込む。記録媒体86は、CD(Compact Disc:登録商標)、DVD(Digital Versatile Disc:登録商標)またはUSB(Universal Serial Bus)メモリ等である。通信インタフェース78は、管理ネットワーク602等のネットワークを介して、ネットワークに接続される他の装置との間で情報を送受信する。
以上の図1から図11に示す実施形態に関し、さらに以下の付記を開示する。
(付記1)
ログ送信装置からログを受信する情報処理装置において、
ログに含まれる複数のログ情報のうち他のログ情報より発生頻度の高い頻出ログ情報と、頻出ログ情報を識別する識別子と、ログの発生元毎に割り当てられるログの格納場所を示すパスとの対応を示すログ管理情報を管理する管理部と、
前記ログ管理情報を前記ログ送信装置に送信する送信部と、
前記ログ送信装置が前記ログ管理情報に基づいて前記頻出ログ情報を前記識別子に変換したログを受信する受信部と
を備えることを特徴とする情報処理装置。
(付記2)
前記管理部は、
前記ログ送信装置から受信するログに含まれる前記複数のログ情報の各々と、各ログ情報を含むログに対応するパスとの組み合わせ毎にログ情報の受信回数を管理する回数管理部と、
前記受信回数が所定の閾値に到達したログ情報を前記頻出ログ情報に決定し、決定した前記頻出ログ情報に前記識別子を付与する付与部と
を備え、
前記送信部は、前記付与部が前記識別子を付与する毎に、付与した前記識別子を含む前記ログ管理情報を、付与した前記識別子を含む前記ログ管理情報に含まれるパスに対応する前記ログ送信装置に送信することを特徴とする付記1に記載の情報処理装置。
(付記3)
前記情報処理装置は、さらに、
前記複数のログ情報の各々とパスと前記受信回数との組み合わせがそれぞれ格納される複数の記憶領域を含む第1の記憶部と、
前記頻出ログ情報とパスと前記識別子との組み合わせがそれぞれ格納される複数の記憶領域を含む第2の記憶部を備え、
前記回数管理部は、前記ログ送信装置から受信したログに基づいて、前記複数のログ情報の各々とパスと前記受信回数とを前記第1の記憶部の複数の記憶領域のいずれかに格納し、
前記付与部は、前記第1の記憶部において前記受信回数が前記所定の閾値に到達した記憶領域が保持するログ情報を頻出ログ情報として、パスおよび付与した識別子とともに前記第2の記憶部の空いている記憶領域に格納することを特徴とする付記2に記載の情報処理装置。
(付記4)
前記回数管理部は、前記ログ送信装置からのログの受信間隔より長い一定時間毎に、前記ログ送信装置から受信した複数のログに基づいて前記記憶部が保持する情報を更新することを特徴とする付記3に記載の情報処理装置。
(付記5)
前記情報処理装置は、所定のサービスを実行する複数のサービス実行部のそれぞれによりログが格納される複数の前記格納場所のそれぞれに対応する複数の前記ログ送信装置からログを受信し、互いに同じサービスを実行する複数のサービス実行部の各々がログを格納する前記格納場所を示すパスは共通であり、
前記管理部は、複数の前記ログ送信装置の各々と、複数の前記ログ送信装置の各々に対応する前記格納場所を示すパスとの組み合わせを示す装置管理情報を管理し、
前記管理部は、さらに、
前記装置管理情報に基づいて、パスが共通のサービス実行部に対応する前記ログ送信装置の各々に、共通のパスに対応する前記ログ管理情報を送信する指示を前記送信部に発行するログ情報管理部を備えることを特徴とする付記1ないし付記4のいずれか1項に記載の情報処理装置。
(付記6)
前記管理部は、さらに、
受信したログに基づいてログ送信装置とパスとの新たな組み合わせを検出した場合、前記新たな組み合わせに含まれるパスを含む前記ログ管理情報を前記新たな組み合わせに含まれるログ送信装置に送信する指示を前記送信部に発行する新規管理部を備えることを特徴とする付記1ないし付記5のいずれか1項に記載の情報処理装置。
(付記7)
前記識別子の情報量は、前記頻出ログ情報の情報量よりも小さいことを特徴とする付記1ないし付記6のいずれか1項に記載の情報処理装置。
(付記8)
ログに含まれる複数のログ情報のうち他のログ情報より発生頻度の高い頻出ログ情報と、前記頻出ログ情報を識別する識別子と、ログの発生元毎に割り当てられるログの格納場所を示すパスとの対応を示すログ管理情報を、ログを管理する管理装置から受信する受信部と、
前記ログ管理情報に含まれるパスで示される前記格納場所に格納されたログに含まれるログ情報が、前記ログ管理情報に含まれる頻出ログ情報と一致するかを判定する判定部と、
前記判定部が一致を判定した頻出ログ情報を前記ログ管理情報に含まれる識別子に変換する変換部と、
前記変換部が変換した識別子を含むログを前記管理装置に送信する送信部と
を備えることを特徴とする情報処理装置。
(付記9)
ログを送信する第1の情報処理装置と、前記第1の情報処理装置から受信するログを管理する第2の情報処理装置とを備える情報処理システムにおいて、
前記第1の情報処理装置は、
ログに含まれる複数のログ情報のうち他のログ情報より発生頻度の高い頻出ログ情報と、前記頻出ログ情報を識別する識別子と、ログの発生元毎に割り当てられるログの格納場所を示すパスとの対応を示すログ管理情報を前記第2の情報処理装置から受信する受信部と、
前記ログ管理情報に含まれるパスで示される前記格納場所に格納されたログに含まれるログ情報が、前記ログ管理情報に含まれる頻出ログ情報と一致するかを判定する判定部と、
前記判定部が一致を判定した頻出ログ情報を前記ログ管理情報に含まれる識別子に変換する変換部と、
前記変換部が変換した識別子を含むログを前記第2の情報処理装置に送信する送信部と
を備え、
前記第2の情報処理装置は、
前記ログ管理情報を管理する管理部と、
前記ログ管理情報を前記第1の情報処理装置に送信する送信部と、
前記第1の情報処理装置の前記変換部が変換した識別子を含むログを受信する受信部と
を備えることを特徴とする情報処理システム。
(付記10)
ログ送信装置からログを受信する情報処理装置に、
ログに含まれる複数のログ情報のうち他のログ情報より発生頻度の高い頻出ログ情報と、頻出ログ情報を識別する識別子と、ログの発生元毎に割り当てられるログの格納場所を示すパスとの対応を示すログ管理情報を管理し、
前記ログ管理情報を前記ログ送信装置に送信し、
前記ログ送信装置が前記ログ管理情報に基づいて前記頻出ログ情報を前記識別子に変換したログを受信する
処理を実行させることを特徴とするプログラム。
(付記11)
ログを送信するログ送信装置に、
ログに含まれる複数のログ情報のうち他のログ情報より発生頻度の高い頻出ログ情報と、前記頻出ログ情報を識別する識別子と、ログの発生元毎に割り当てられるログの格納場所を示すパスとの対応を示すログ管理情報を、ログを管理する管理装置から受信し、
前記ログ管理情報に含まれるパスで示される前記格納場所に格納されたログに含まれるログ情報が、前記ログ管理情報に含まれる頻出ログ情報と一致するかを判定し、
一致を判定した頻出ログ情報を前記ログ管理情報に含まれる識別子に変換し、
変換した識別子を含むログを前記管理装置に送信する
処理を実行させることを特徴とするプログラム。
(付記12)
ログ送信装置からログを受信する情報処理装置に、
ログに含まれる複数のログ情報のうち他のログ情報より発生頻度の高い頻出ログ情報と、頻出ログ情報を識別する識別子と、ログの発生元毎に割り当てられるログの格納場所を示すパスとの対応を示すログ管理情報を管理し、
前記ログ管理情報を前記ログ送信装置に送信し、
前記ログ送信装置が前記ログ管理情報に基づいて前記頻出ログ情報を前記識別子に変換したログを受信する
処理を実行させるプログラムを記憶したことを特徴とする記録媒体。
(付記13)
ログを送信するログ送信装置に、
ログに含まれる複数のログ情報のうち他のログ情報より発生頻度の高い頻出ログ情報と、前記頻出ログ情報を識別する識別子と、ログの発生元毎に割り当てられるログの格納場所を示すパスとの対応を示すログ管理情報を、ログを管理する管理装置から受信し、
前記ログ管理情報に含まれるパスで示される前記格納場所に格納されたログに含まれるログ情報が、前記ログ管理情報に含まれる頻出ログ情報と一致するかを判定し、
一致を判定した頻出ログ情報を前記ログ管理情報に含まれる識別子に変換し、
変換した識別子を含むログを前記管理装置に送信する
処理を実行させるプログラムを記憶したことを特徴とする記録媒体。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。