(57)【要約】【課題】あらかじめログメッセージをグループとして関連付ける情報を用意することなくグループ化することができるログメッセージグループ化装置、ログメッセージグループ化システムおよびログメッセージグループ化方法を提供する。【解決手段】ログメッセージグループ化装置１０１は、ログメッセージ２０１を構成する単語のうち出現回数の比較的少ない単語である少数単語の一致度を示す一致度評価値Ｅ１を算出する。また、ログメッセージグループ化装置１０１が、分類値の組み合わせの出現回数に基づいてログメッセージ２０１の分類値と過去のログメッセージ２０１の分類値との組み合わせの出現度を示す出現度評価値Ｅ２を算出し、一致度評価値Ｅ１および出現度評価値Ｅ２に基づきログメッセージ２０１と過去のログメッセージ２０１との関連度を示す関連度評価値Ｅ３を算出する。【選択図】図１
2018116322.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを有するログメッセージグループ化装置であって、
前記プロセッサが、
（ａ）複数のログメッセージが記録されたログを収集する、
（ｂ）前記ログから前記複数のログメッセージを取得する、
（ｃ）第１のログメッセージを構成する単語の出現回数を、前記ログに含まれる複数のログメッセージに基づいて作成され、前記複数のログメッセージに含まれる単語と前記単語の出現回数とを関連付けて格納した単語−出現回数関連情報から取得する、
（ｄ）前記第１のログメッセージと、前記第１のログメッセージを構成する単語のうち、その出現回数が所定の出現回数判定閾値未満である単語を少数単語として関連付けてログ−単語関連情報に格納する、
（ｅ）前記第１のログメッセージより過去の第２のログメッセージに含まれる前記少数単語を前記ログ−単語関連情報から取得する、
（ｆ）前記第１のログメッセージに含まれる前記少数単語と前記第２のログメッセージに含まれる前記少数単語との一致度を示す評価値である第１の評価値を算出する、ように構成されていることを特徴とするログメッセージグループ化装置。
【請求項２】
請求項１に記載のログメッセージグループ化装置において、
前記プロセッサが、
（ｇ）前記第１のログメッセージを構成する単語の出現回数に基づいて定まる前記第１のログメッセージの識別情報である分類値を生成する、
（ｈ）前記第１のログメッセージと前記第１のログメッセージの分類値とを関連付けて前記ログ−単語関連情報に格納する、
（ｉ）前記第２のログメッセージを構成する単語の出現回数に基づいて定まる前記第２のログメッセージの分類値を取得する、
（ｊ）前記第１のログメッセージの分類値と前記第２のログメッセージの分類値との組み合わせの出現回数を、前記ログに含まれる複数のログメッセージに基づいて作成され、各ログメッセージを構成する単語の出現回数に基づいて定まる各ログメッセージの分類値の組み合わせとその出現回数とを関連付けて格納した分類値−出現回数関連情報から取得する、
（ｋ）前記分類値−出現回数関連情報から取得した前記組み合わせの出現回数に基づいて前記第１のログメッセージの分類値と前記第２のログメッセージの分類値との組み合わせの出現度を示す評価値である第２の評価値を算出する、
（ｌ）前記第１の評価値および前記第２の評価値に基づき前記第１のログメッセージと前記第２のログメッセージとの関連度を示す評価値である第３の評価値を算出する、ように構成されていることを特徴とするログメッセージグループ化装置。
【請求項３】
請求項１に記載のログメッセージグループ化装置において、
前記プロセッサが、
（ｍ）前記複数のログメッセージに含まれる単語と当該単語の出現回数とを関連付けて格納した単語−出現回数関連情報を作成する、ように構成されていることを特徴とするログメッセージグループ化装置。
【請求項４】
請求項２に記載のログメッセージグループ化装置において、
前記プロセッサが、
（ｎ）前記第１のログメッセージの分類値と前記第２のログメッセージの分類値との組み合わせと、その組み合わせの出現回数とを関連付けて格納した分類値−出現回数関連情報を作成する、ように構成されていることを特徴とするログメッセージグループ化装置。
【請求項５】
請求項２に記載のログメッセージグループ化装置において、
前記プロセッサが、
（ｏ）前記第１〜第３の評価値のいずれかに基づいて前記第１のログメッセージと前記第２のログメッセージとをグループとして関連付けてログ−グループ関連情報に格納する、ように構成されていることを特徴とするログメッセージグループ化装置。
【請求項６】
請求項５に記載のログメッセージグループ化装置において、
前記プロセッサが、
（ｐ）ログメッセージに関する情報のリクエストを受け付けると、前記リクエストに含まれるログメッセージとグループとして関連付けられた他のログメッセージを前記ログ−グループ関連情報から取得して当該リクエストに対するレスポンスに含めて出力する、ように構成されていることを特徴とするログメッセージグループ化装置。
【請求項７】
請求項６に記載のログメッセージグループ化装置において、
前記リクエストには、前記第１〜第３の評価値のいずれかに係る条件を示す情報が含まれ、
前記プロセッサが、
（ｐ’）前記リクエストに含まれるログメッセージとグループとして関連付けられかつ前記条件を満足する他のログメッセージを前記ログ−グループ関連情報から取得して当該リクエストに対するレスポンスに含めて出力する、ように構成されていることを特徴とするログメッセージグループ化装置。
【請求項８】
ログメッセージが記録されたログを出力する１または複数の情報システムと、
前記ログを収集し、前記ログメッセージをグループとして関連付けるログメッセージグループ化装置と、
前記ログメッセージグループ化装置からグループとして関連付けられたログメッセージに関する情報を取得する管理端末と、を備え、
前記ログメッセージグループ化装置が、請求項７に記載のログメッセージグループ化装置で構成されていることを特徴とするログメッセージグループ化システム。
【請求項９】
ログメッセージグループ化方法であって、
プロセッサが、
（ａ）複数のログメッセージが記録されたログを収集する、
（ｂ）前記ログから前記複数のログメッセージを取得する、
（ｃ）第１のログメッセージを構成する単語の出現回数を、前記ログに含まれる複数のログメッセージに基づいて作成され、前記複数のログメッセージに含まれる単語と前記単語の出現回数とを関連付けて格納した単語−出現回数関連情報から取得する、
（ｄ）前記第１のログメッセージと、前記第１のログメッセージを構成する単語のうち、その出現回数が所定の出現回数判定閾値未満である単語を少数単語として関連付けてログ−単語関連情報に格納する、
（ｅ）前記第１のログメッセージより過去の第２のログメッセージに含まれる前記少数単語を前記ログ−単語関連情報から取得する、
（ｆ）前記第１のログメッセージに含まれる前記少数単語と前記第２のログメッセージに含まれる前記少数単語との一致度を示す評価値である第１の評価値を算出する、ことを特徴とするログメッセージグループ化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムが出力するログの分析を支援するログメッセージグループ化装置、ログメッセージグループ化システム、および、ログメッセージグループ化方法に関する。
【背景技術】
【０００２】
ソフトウェアで構成される情報システムは、動作状態等を示すログメッセージが記録されたログを出力する。一般的に、情報システムにおいて障害等のシステム異常が発生すると、情報システムの運用者は、システム異常の根本原因を追究するために、情報システムから出力されるログを分析する。
【０００３】
このようなログの分析において、エラーやウォーニング等の明確に障害またはその徴候を表すログメッセージだけでは、システム異常の根本原因を特定できない場合がある。そのため、運用者は、ログに含まれる膨大なログメッセージの中から、たとえば、障害やその徴候などを表す第一のログメッセージおよび当該第一のログメッセージと関連性の高い第二のログメッセージを抽出し、これらログメッセージを用いて根本原因を特定する。
【０００４】
そこで、膨大なログメッセージの中から第一のログメッセージに関連する第二のログメッセージを抽出するために、これらログメッセージをグループとして関連付けて分析を支援する技術が、たとえば、下記特許文献１および特許文献２に開示されている。
【０００５】
特許文献１には、対象システムが正常である場合に出力されるログメッセージの組み合わせまたは時系列順序を正常パターンとしてグループ化し、正常パターンとの比較によりログを分析するとともに、この正常パターンと適合しないパターンについて異常パターンとして記憶して、これら正常パターンおよび異常パターンを用いてログを分析する技術が開示されている。
【０００６】
特許文献２には、複数のメッセージを出力した出力元装置に関連する文書から、複数のメッセージの説明文を取得し、取得した説明文に基づいて互いに関連するメッセージを同一のグループにグループ化する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開第２０１６／１３２７１７号
【特許文献２】特開２０１６−７６０２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、開発スピードが速いソフトウェアにおいては、ログメッセージの出力形式が頻繁に変更されるので出力形式の種類が多くなる。そのため、特許文献１のようにあらかじめ正常パターンなどのログメッセージをグループとして関連付ける情報を作成することが困難である。さらに、同様の処理を複数並行して行う情報システムにおいては、各処理に応じて出力されるログメッセージが入れ子になる可能性があることから、ログメッセージの組み合わせまたは時系列順序だけではグループ化の精度が不十分である。また、特許文献２で開示されている技術は、メッセージの説明文を取得する文書が十分に整備されていなければならないため、特許文献１と同様に、あらかじめログメッセージをグループとして関連付ける情報を作成することが困難である。
【０００９】
本発明は、あらかじめログメッセージをグループとして関連付ける情報を用意する必要のないログメッセージグループ化装置、ログメッセージグループ化システムおよびログメッセージグループ化方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一つの実施態様に係るログメッセージグループ化装置は、プロセッサを有するログメッセージグループ化装置であって、前記プロセッサが、（ａ）複数のログメッセージが記録されたログを収集する、（ｂ）前記ログから前記複数のログメッセージを取得する、（ｃ）第１のログメッセージを構成する単語の出現回数を、前記ログに含まれる複数のログメッセージに基づいて作成され、前記複数のログメッセージに含まれる単語と前記単語の出現回数とを関連付けて格納した単語−出現回数関連情報から取得する、（ｄ）前記第１のログメッセージと、前記第１のログメッセージを構成する単語のうち、その出現回数が所定の出現回数判定閾値未満である単語を少数単語として関連付けてログ−単語関連情報に格納する、（ｅ）前記第１のログメッセージより過去の第２のログメッセージに含まれる前記少数単語を前記ログ−単語関連情報から取得する、（ｆ）前記第１のログメッセージに含まれる前記少数単語と前記第２のログメッセージに含まれる前記少数単語との一致度を示す評価値である第１の評価値を算出する、ように構成されていることを特徴とする。
【００１１】
好適な実施態様においては、前記プロセッサが、（ｇ）前記第１のログメッセージを構成する単語の出現回数に基づいて定まる前記第１のログメッセージの識別情報である分類値を生成する、（ｈ）前記第１のログメッセージと前記第１のログメッセージの分類値とを関連付けて前記ログ−単語関連情報に格納する、（ｉ）前記第２のログメッセージを構成する単語の出現回数に基づいて定まる前記第２のログメッセージの分類値を取得する、（ｊ）前記第１のログメッセージの分類値と前記第２のログメッセージの分類値との組み合わせの出現回数を、前記ログに含まれる複数のログメッセージに基づいて作成され、各ログメッセージを構成する単語の出現回数に基づいて定まる各ログメッセージの分類値の組み合わせとその出現回数とを関連付けて格納した分類値−出現回数関連情報から取得する、（ｋ）前記分類値−出現回数関連情報から取得した前記組み合わせの出現回数に基づいて前記第１のログメッセージの分類値と前記第２のログメッセージの分類値との組み合わせの出現度を示す評価値である第２の評価値を算出する、（ｌ）前記第１の評価値および前記第２の評価値に基づき前記第１のログメッセージと前記第２のログメッセージとの関連度を示す評価値である第３の評価値を算出する、ように構成されていてもよい。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態に係るログメッセージグループ化システムの構成例を示す図である。
【図２】ログおよびログに記録されたログメッセージの一例を示す図である。
【図３】ログメッセージグループ化装置のハードウェア構成の一例を示すブロック図である。
【図４】ログメッセージに出現する単語のうち、出現回数が多い単語および少ない単語の一例を示す図である。
【図５】単語−出現回数関連付け管理テーブルの構成例を示す図である。
【図６】ログ−単語関連付け管理テーブルの構成例を示す図である。
【図７】分類値−出現回数関連付け管理テーブルの構成例を示す図である。
【図８】ログ−グループ関連付け管理テーブルの構成例を示す図である。
【図９】ログメッセージグループ化システムの管理端末の画面表示の一例を示す。
【図１０】単語の出現回数の算出処理の一例を示すシーケンス図である。
【図１１】一致度評価値の算出処理の一例を示すシーケンス図である。
【図１２】出現度評価値と関連度評価値との算出処理の一例を示すシーケンス図である。
【図１３】分類値の算出方法の一例を説明する図である。
【図１４】単語の出現回数の算出処理の一例を示すフローチャート図である。
【図１５】一致度評価値の算出処理の一例を示すフローチャート図である。
【図１６】出現度評価値の算出処理の一例を示すフローチャート図である。
【図１７】グループ化されたログメッセージを表示する処理の一例を示すフローチャート図である。
【発明を実施するための形態】
【００１３】
以下、本発明の一実施形態にかかるログメッセージグループ化システムについて、図面を用いて説明する。
【００１４】
図１は、本実施形態に係るログメッセージグループ化システムの構成例を示す説明図である。図２は、ログおよびログに記録されたログメッセージの一例を示す図である。
【００１５】
ログメッセージグループ化システム１００は、ログ２００を出力する１または複数の情報システム１３０と、情報システム１３０が出力したログ２００を集約するログシステム１３１と、ログシステム１３１からログ２００を収集し、関連するログメッセージ２０１をグループとして関連付けるログメッセージグループ化装置１０１と、ログメッセージグループ化装置１０１からグループとして関連付けられたログメッセージに関する情報を取得する管理端末１３２と、を備えている。
【００１６】
情報システム１３０は、１または複数のソフトウェアをコンピュータ上で実行することにより１または複数のログ２００を出力する。ログ２００の出力形式は、たとえば、Ｓｙｓｌｏｇ等の公知のログの形式でもよいし、独自のログの形式でもよい。
【００１７】
ログシステム１３１は、情報システム１３０によって出力されたログ２００を集約する。本実施形態おいて、ログシステム１３１は、ログメッセージグループ化装置１０１から独立しているが、ログメッセージグループ化装置１０１に組み込まれてもよい。情報システム１３０とログメッセージグループ化装置１０１とが一対一で設けられている構成などでは、ログシステム１３１を省略してもよい。
【００１８】
管理端末１３２は、ログメッセージグループ化装置１０１に接続される。管理端末１３２は、運用者から入力された情報を受け付け、受け付けた情報をログメッセージグループ化装置１０１に送信する。また、管理端末１３２は、ログメッセージグループ化装置１０１から情報を取得し、取得した情報を表示する。本実施形態において、管理端末１３２は、ログメッセージグループ化装置１０１から独立しているが、ログメッセージグループ化装置１０１に組み込まれていてもよい。
【００１９】
図２は、ログ２００およびログ２００に記録されたログメッセージ２０１の一例を示す。ログ２００は、１以上のログメッセージ２０１で構成されており、ログメッセージ２０１は、少なくとも１以上の単語が含まれている。単語とは、例えば、ログレベル、時刻、ソフトウェア名、固有の識別子などである。
【００２０】
図３は、ログメッセージグループ化装置１０１のハードウェア構成の一例を示すブロック図である。本実施形態では、ログメッセージグループ化装置１０１が物理マシンである場合について説明する。ログメッセージグループ化装置１０１は、プロセッサ４０１と、記憶デバイス４０２と、入力デバイス４０３と、出力デバイス４０４と、通信インタフェース４０５と、を有している。ログメッセージグループ化装置１０１の各部はデータバス４０６を介して互いに接続される。ログメッセージグループ化装置１０１は仮想マシンであってもよいし、ソフトウェアであってもよい。記憶デバイス４０２は、ネットワーククラウド上にあってもよい。
【００２１】
プロセッサ４０１は、ログメッセージグループ化装置１０１を制御する。
【００２２】
記憶デバイス４０２は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、フラッシュメモリで構成されている。
【００２３】
記憶デバイス４０２は、プロセッサ４０１により実行される収集プログラム１０２と、分割プログラム１０３と、単語出現回数算出プログラム１０４と、単語出現回数参照プログラム１０５と、単語抽出プログラム１０６と、単語関連度算出プログラム１０７と、分類値算出プログラム１０８と、ログ関連度算出プログラム１０９と、グループ化算出プログラム１１０と、を記憶する。
【００２４】
また、記憶デバイス４０２は、単語−出現回数関連付け管理テーブル１２０と、ログ−単語関連付け管理テーブル１２１と、分類値−出現回数関連付け管理テーブル１２２と、ログ−グループ関連付け管理テーブル１２３と、を記憶する。
【００２５】
記憶デバイス４０２は、永続的なまたは一時的な記録媒体であり、プロセッサ４０１の作業エリアでもある。上記プログラム１０２〜１１０はいずれも、記憶デバイス４０２にあらかじめ格納されていてもよいし、必要に応じて他の記憶デバイスや外部記憶装置、ネットワーククラウドから導入されてもよい。
【００２６】
入力デバイス４０３は、情報入力に用いられ、たとえば、キーボード、マウス、タッチパネル、テンキーまたはスキャナなどである。出力デバイス４０４は、図形や各種データを表示する、たとえば、ディスプレイである。通信インタフェース４０５は、データを送受信する。
【００２７】
プロセッサ４０１は、上記プログラム１０２〜１１０を実行することで、記憶デバイス４０２及び通信インタフェース４０５を用いながら、以下に説明する各種処理を実現する。以下の説明では、上記プログラム１０２〜１１０を実行主体として説明する。なお、プロセッサ４０１が上記プログラム１０２〜１１０を実行することで実現する機能の一部または全部は専用ハードウェアで実現してもよい。
【００２８】
プロセッサ４０１は、上記プログラム１０２〜１１０を実行することにより、
（ａ）  複数のログメッセージ２０１が記録されたログ２００を収集する、
（ｂ）  ログ２００から複数のログメッセージ２０１を取得する、
（ｃ）  ログメッセージ２０１（第１のログメッセージ）を構成する単語の出現回数を、ログ２００に含まれる複数のログメッセージ２０１に基づいて作成され、複数のログメッセージ２０１に含まれる単語と当該単語の出現回数とを関連付けて格納した学習後の単語−出現回数関連付け管理テーブル１２０から取得する、
（ｄ）  ログメッセージ２０１と、当該ログメッセージ２０１を構成する単語のうちその出現回数が所定の出現回数判定閾値未満である単語を少数単語として関連付けてログ−単語関連付け管理テーブル１２１に格納する、
（ｅ）  ログメッセージ２０１より過去のログメッセージ２０１（第２のログメッセージ）に含まれる少数単語をログ−単語関連付け管理テーブル１２１から取得する、
（ｆ）  ログメッセージ２０１の少数単語と過去のログメッセージ２０１の少数単語との一致度を示す一致度評価値Ｅ１を算出する、
（ｇ）  ログメッセージ２０１を構成する単語の出現回数に基づいて定まるログメッセージ２０１の識別情報である分類値を算出する、
（ｈ）  ログメッセージ２０１とログメッセージ２０１の分類値とを関連付けてログ−単語関連付け管理テーブル１２１に格納する、
（ｉ）  過去を構成する単語の出現回数に基づいて定まるログメッセージ２０１の分類値をログ−単語関連付け管理テーブル１２１から取得する、
（ｊ）  ログメッセージ２０１の分類値と過去のログメッセージ２０１の分類値との組み合わせの出現回数を、ログ２００に含まれる複数のログメッセージ２０１に基づいて作成され、各ログメッセージを構成する単語の出現回数に基づいて定まる各ログメッセージ２０１の分類値の組み合わせとその出現回数とを関連付けて格納した学習後の分類値−出現回数関連付け管理テーブル１２２から取得する、
（ｋ）  分類値−出現回数関連付け管理テーブル１２２から取得した分類値の組み合わせの出現回数に基づいてログメッセージ２０１の分類値と過去のログメッセージ２０１の分類値との組み合わせの出現度を示す出現度評価値Ｅ２を算出する、
（ｌ）  一致度評価値Ｅ１および出現度評価値Ｅ２に基づきログメッセージ２０１と過去のログメッセージ２０１との関連度を示す関連度評価値Ｅ３を算出する、
（ｍ）  複数のログメッセージ２０１に含まれる単語と当該単語の出現回数とを関連付けて格納した単語−出現回数関連付け管理テーブル１２０を作成する、
（ｎ）  ログメッセージ２０１の分類値と過去のログメッセージ２０１の分類値との組み合わせと、当該組み合わせの出現回数とを関連付けて格納した分類値−出現回数関連付け管理テーブル１２２を作成する、
（ｏ）  一致度評価値Ｅ１、出現度評価値Ｅ２及び関連度評価値Ｅ３のいずれかに基づいてログメッセージ２０１と過去のログメッセージ２０１とをグループとして関連付けてログ−グループ関連付け管理テーブル１２３に格納する、
（ｐ）  グループとして関連付けられたログメッセージ２０１に関する情報のリクエストメッセージ受け付けると、当該リクエストに含まれるログメッセージ２０１とグループとして関連付けられた他のログメッセージ２０１をログ−グループ関連付け管理テーブル１２３から取得して当該リクエストメッセージに対するレスポンスメッセージに含めて出力する、
（ｐ’）  前記リクエストに含まれるログメッセージとグループとして関連付けられかつ評価値を満足する他のログメッセージをログ−グループ関連付け管理テーブル１２３から取得して当該リクエストメッセージに対するレスポンスメッセージに含めて出力する。
【００２９】
次に、上記プログラム１０２〜１１０について説明する。
【００３０】
収集プログラム１０２は、ログシステム１３１において集約された、ログメッセージが記録されたログ２００を収集する。収集プログラム１０２は、収集したログ２００を分割プログラム１０３に転送する。ログ２００の収集方法は、収集プログラム１０２からログシステム１３１のログ２００を受け取りにいってもよいし、ログシステム１３１から収集プログラム１０２にログ２００を転送してもよい。また、ログシステム１３１を省略した構成では、情報システム１３０から直接ログ２００を受け取りまたは転送してもよい。
【００３１】
分割プログラム１０３は、収集プログラム１０２からログ２００を受け付ける。分割プログラム１０３は、ログ２００から記録された順に処理対象のログメッセージ２０１を取得し、分割ルールに基づいて、ログメッセージ２０１を構成する単語に分割する。分割ルールとは、たとえば、ログメッセージ２０１に含まれるスペースを区切り文字として単語に分割する、ログメッセージに含まれるカンマを区切り文字として単語に分割する、などである。分割ルールは、分割プログラム１０３にあらかじめ設定されていてもよく、または、運用者によって入力されたりしてもよい。分割プログラム１０３は、ログメッセージ２０１およびそれを構成する単語のリストを単語出現回数算出プログラム１０４および単語出現回数参照プログラム１０５に転送する。
【００３２】
単語出現回数算出プログラム１０４は、分割プログラム１０３から処理対象のログメッセージ２０１を構成する単語のリストを受け付ける。単語出現回数算出プログラム１０４は、単語のリストに含まれる単語を検索キーとして、作成途中の単語−出現回数関連付け管理テーブル１２０（図５）から検索する。単語出現回数算出プログラム１０４は、検索の結果、単語を格納したレコードが見つかるとその出現回数に１を加算して更新し、単語を格納したレコードが見つからないとその単語についての新たなレコードを追加（すなわち更新）してその出現回数を１に設定する。また、単語出現回数算出プログラム１０４は、レコードを更新した日を登録日として格納する。単語出現回数算出プログラム１０４は、このような処理を繰り返すことで、ログ２００に含まれる単語と当該単語の出現回数とを関連付けて格納した単語−出現回数関連付け管理テーブル１２０を作成していき、収集したログ２００について上記処理を終えると学習後の単語−出現回数関連付け管理テーブル１２０が完成する。学習後の単語−出現回数関連付け管理テーブル１２０は、上記収集プログラム１０２で収集された現在の処理対象のログ２００より前の過去のログ２００に基づいて作成されている。このようにすることで、ログメッセージ２０１をグループとして関連付けながら、ログ２００に含まれる単語と当該単語の出現回数とを関連付けて格納した単語−出現回数関連付け管理テーブル１２０を作成することができ、処理効率を高めることができる。
【００３３】
単語出現回数算出プログラム１０４は、たとえば、運用者によって指定された算出期間（前日や過去１週間以内など）にログ２００に記録されたログメッセージ２０１に基づいて、単語−出現回数関連付け管理テーブル１２０を作成してもよい。または、単語出現回数算出プログラム１０４が、単語−出現回数関連付け管理テーブル１２０を継続的に作成するとともに、この単語−出現回数関連付け管理テーブル１２０から運用者によって指定された参照期間に含まれる登録日が設定されたレコードのみを抽出・複製して学習後の単語−出現回数関連付け管理テーブルとしてもよい。
【００３４】
単語出現回数参照プログラム１０５は、分割プログラム１０３から処理対象のログメッセージ２０１およびそれを構成する単語のリストを受け付ける。単語出現回数参照プログラム１０５は、学習後の単語−出現回数関連付け管理テーブル１２０から単語のリストに含まれる各単語の出現回数を取得する。単語−出現回数関連付け管理テーブル１２０に単語のレコードが存在しないとき、当該単語の出現回数を０とする。そして、単語出現回数参照プログラム１０５は、単語のリストに含まれる各単語にその出現回数をひも付けして、ログメッセージ２０１とともに単語抽出プログラム１０６および分類値算出プログラム１０８に転送する。
【００３５】
単語抽出プログラム１０６は、単語出現回数参照プログラム１０５から処理対象のログメッセージ２０１と出現回数がひも付けられた単語のリストを受け付ける。単語抽出プログラム１０６は、単語のリストから出現回数判定閾値未満の出現回数の単語である少数単語を抽出して少数単語のリストを作成する。少数単語は１または複数個抽出される。出現回数判定閾値の値は、運用者によって設定された値でもよいし、たとえば出現回数について偏差値や出現確率など独自の手法を用いて決定した値でもよい。単語抽出プログラム１０６は、ログメッセージ２０１について少数単語のリストを作成すると、ログメッセージ２０１の発生時刻と、ログメッセージ２０１と、その少数単語のリストとを関連付けて格納した新たなレコードをログ−単語関連付け管理テーブル１２１（図６）に追加する。
【００３６】
図４（ａ）、（ｂ）に、ログメッセージ２０１に含まれる単語のうち、出現回数が比較的多い単語の一例３００と、出現回数が比較的少ない単語の一例３１０を示す。出現回数が多い単語とは、たとえば、ログレベル（ＩＮＦＯ、ＷＡＲＮＩＮＧ、ＥＲＲＯＲなど）やソフトウェア名（ａｕｔｈｅｎｔｉｃａｔｉｏｎ）、日付（２０１６−０９−２１、Ｓｅｐ  ２０）などの単語である。出現回数が少ない単語とは、たとえば、リクエストＩＤやユーザＩＤ、インスタンスＩＤなどの単語である。図４（ａ）、（ｂ）に記載されている出現回数が多い単語の例３００と出現回数が少ない単語の例３１０は一例であり、これらにより本実施形態の構成や効果が制限されるものではない。
【００３７】
さらに、単語抽出プログラム１０６は、ログ−単語関連付け管理テーブル１２１から、処理対象のログメッセージ２０１より前に記録されかつ発生時刻が取得対象期間に含まれる１または複数の過去のログメッセージ２０１、その少数単語のリストおよびその分類値（後述）を取得する。取得対象期間は、運用者によって指定された期間でもよいし、予め設定された期間でもよいし、独自の手法を用いて決定した期間でもよい。取得対象期間は、たとえば、１時間前以降（すなわち１時間前から現在まで）などである。単語抽出プログラム１０６は、処理対象のログメッセージ２０１およびその少数単語のリストと、ログ−単語関連付け管理テーブル１２１から取得した過去のログメッセージ２０１、その少数単語のリストおよびその分類値と、を単語関連度算出プログラム１０７に転送する。
【００３８】
単語関連度算出プログラム１０７は、単語抽出プログラム１０６から処理対象のログメッセージ２０１およびその少数単語のリストと、過去のログメッセージ２０１、その少数単語のリストおよび分類値を受け付ける。単語関連度算出プログラム１０７は、処理対象のログメッセージ２０１の少数単語および過去のログメッセージ２０１の少数単語が一致するかどうかを判定する。このとき、処理対象のログメッセージ２０１と過去のログメッセージ２０１とを１対１で比較する。例えば、単語抽出プログラム１０６から５０個の過去のログメッセージ２０１を受け付けたときは、単語関連度算出プログラム１０７は、処理対象のログメッセージ２０１（第１のログメッセージ）と５０個の過去のログメッセージ２０１（第２のログメッセージ）とをそれぞれ比較、判定する。単語関連度算出プログラム１０７は、一致する少数単語の数および比較した少数単語の数に基づいて一致度を示す一致度評価値Ｅ１を算出する。従って、上記例では５０個の一致度評価値Ｅ１が算出される。一致度評価値Ｅ１は、ログメッセージ間において少数単語の一致度を示す指標である。
【００３９】
本実施形態において、たとえば、処理対象のログメッセージ２０１の少数単語数が３、過去のログメッセージ２０１の少数単語数が３の場合に、全ての少数単語が一致したとき、一致度評価値Ｅ１は１（＝３／３）となる。処理対象のログメッセージ２０１の少数単語数が３、過去のログメッセージ２０１の少数単語数が５の場合に、２つの少数単語が一致したとき、一致度評価値Ｅ１は０．４（＝２／５）となる。処理対象のログメッセージ２０１の少数単語数が６、過去のログメッセージ２０１の少数単語数が４の場合に、３つの少数単語が一致したとき、一致度評価値Ｅ１は０．５（＝３／６）となる。すなわち、分母はいずれかのログメッセージ２０１のうち多い方の少数単語数となる。ここに示す一致度評価値Ｅ１の算出方法は、一例であって、これらにより本実施形態の構成や効果が制限されるものではなく、本発明の目的に反しない限り、少数単語の一致度評価値Ｅ１の算出方法は任意である。
【００４０】
単語関連度算出プログラム１０７は、処理対象のログメッセージ２０１と、処理対象のログメッセージ２０１と比較された過去のログメッセージ２０１及びその一致度評価値Ｅ１と、をグループ化算出プログラム１１０に転送する。さらに、単語関連度算出プログラム１０７は、一致度評価値Ｅ１が算出された処理対象のログメッセージ２０１及び過去のログメッセージ２０１の組み合わせと、過去のログメッセージ２０１およびその分類値とをログ関連度算出プログラム１０９に転送する。
【００４１】
分類値算出プログラム１０８は、単語出現回数参照プログラム１０５から処理対象のログメッセージ２０１および出現回数がひも付けられた単語のリストを受け付ける。分類値算出プログラム１０８は、単語の出現回数に基づいて分類値を算出する。分類値は、ログメッセージ２０１を、当該ログメッセージ２０１を構成する単語の出現回数に基づき分類するための値であり、ログメッセージ２０１の識別情報として扱うことができる。分類値が近いほどログメッセージ２０１の構成が類似すると考えられる。本実施形態において、処理対象のログメッセージ２０１について、各単語の出現回数の総和を算出し、この算出結果を分類値とする。分類値算出プログラム１０８は、ログメッセージ２０１と当該ログメッセージ２０１について算出した分類値とを関連付けて、ログ−単語関連付け管理テーブル１２１に格納する。なお、ログメッセージ２０１とその分類値とを関連付けて、ログ−単語関連付け管理テーブル１２１とは別の管理テーブルに格納してもよい。さらに、分類値算出プログラム１０８は、ログメッセージ２０１とその分類値をログ関連度算出プログラム１０９に転送する。
【００４２】
ログ関連度算出プログラム１０９は、分類値算出プログラム１０８から処理対象のログメッセージ２０１およびその分類値を受け付ける。また、ログ関連度算出プログラム１０９は、単語関連度算出プログラム１０７から一致度評価値Ｅ１が算出された過去のログメッセージ２０１およびその分類値を受け付ける。ログ関連度算出プログラム１０９は、処理対象のログメッセージ２０１の分類値と過去のログメッセージ２０１の分類値との組み合わせを検索キーとして、分類値−出現回数関連付け管理テーブル１２２（図７）から検索する。ログ関連度算出プログラム１０９は、検索の結果、これら分類値の組み合わせを格納したレコードが見つかるとその出現回数に１を加算して更新してもよいし、これら分類値の組み合わせを格納したレコードが見つからないとその組み合わせについて新たなレコードを追加するとともに出現回数を１に設定してもよい。ログ関連度算出プログラム１０９は、このような処理を繰り返すことで、処理対象のログメッセージ２０１の分類値と過去のログメッセージ２０１の分類値との組み合わせと、当該組み合わせの出現回数とを関連付けて格納した分類値−出現回数関連付け管理テーブル１２２を作成していき、収集したログ２００について上記処理を終えると学習後の分類値−出現回数関連付け管理テーブル１２２が完成する。学習後の分類値−出現回数関連付け管理テーブル１２２は、上記収集プログラム１０２で収集された現在の処理対象のログ２００より前の過去のログ２００に基づいて作成されている。このようにすることで、ログメッセージ２０１をグループとして関連付けながら、処理対象のログメッセージ２０１の分類値と過去のログメッセージ２０１の分類値との組み合わせと、当該組み合わせの出現回数とを関連付けて格納した分類値−出現回数関連付け管理テーブル１２２を作成することができ、処理効率を高めることができる。一方で、分類値−出現回数関連付け管理テーブル１２２は単語−出現回数関連付け管理テーブル１２０のように過去のログ２００で予め学習させておいてもよい。ログ関連度算出プログラム１０９は学習後の分類値−出現回数関連付け管理テーブル１２２を用いて、分類値の組み合わせの出現回数を取得してもよい。
【００４３】
さらに、ログ関連度算出プログラム１０９は、分類値−出現回数関連付け管理テーブル１２２から処理対象のログメッセージ２０１（第１のログメッセージ）の分類値と過去のログメッセージ２０１（第２のログメッセージ）の分類値との組み合わせの出現回数を取得する。そして、取得した分類値の組み合わせの出現回数に基づいて出現度評価値Ｅ２を算出する。すなわち、処理対象のログメッセージ２０１に対して一致度評価値Ｅ１が算出された過去のログメッセージ２０１について、出現度評価値Ｅ２が算出される。
【００４４】
出現度評価値Ｅ２は、ログメッセージ２０１のある組み合わせの出現度を示す評価値であって、本実施形態では以下の式を用いて算出する。
【００４５】
Ｅ２＝１−ｅｘｐ（−ｘ／σ）
【００４６】
ただし、ｘは分類値の組み合わせの出現回数、σは定数である。σは、たとえば、運用者によって設定された値でもよいし、出現回数について偏差値や出現確率など独自の手法を用いて決定した値でもよい。ここに示す出現度評価値Ｅ２の算出方法は、一例であって、これらにより本実施形態の構成や効果が制限されるものではなく、本発明の目的に反しない限り、分類値の組み合わせの出現度評価値Ｅ２の算出方法は任意である。出現度評価値Ｅ２は、一致度評価値Ｅ１を重み付けする値としての意味を持ち、具体的には、定数σに対して出現回数が極端に少ない分類値の組み合わせは、すなわち出現が希なログメッセージの組み合わせは重要性が低いものとして重み付けとしての出現度評価値Ｅ２を小さくする。
【００４７】
ログ関連度算出プログラム１０９は、処理対象のログメッセージ２０１と、処理対象のログメッセージ２０１と比較された過去のログメッセージ２０１及びその出現度評価値Ｅ２と、をグループ化算出プログラム１１０に転送する。
【００４８】
グループ化算出プログラム１１０は、単語関連度算出プログラム１０７から処理対象のログメッセージ２０１、過去のログメッセージ２０１及びその一致度評価値Ｅ１を受け付ける。さらに、グループ化算出プログラム１１０は、ログ関連度算出プログラム１０９から処理対象のログメッセージ２０１、過去のログメッセージ２０１及びその出現度評価値Ｅ２を受け付ける。そして、グループ化算出プログラム１１０は、過去のログメッセージ２０１ごとに、一致度評価値Ｅ１と出現度評価値Ｅ２を乗じて関連度評価値Ｅ３を算出する。グループ化算出プログラム１１０は、関連度評価値Ｅ３に対応する処理対象のログメッセージ２０１と過去のログメッセージ２０１とを一つのグループとし、グループを一意に識別するグループＩＤを生成する。グループ化算出プログラム１１０は、このグループＩＤと、関連度評価値Ｅ３を算出した２つのログメッセージ２０１と、関連度評価値Ｅ３とを関連付けて格納した新たなレコードをログ−グループ関連付け管理テーブル１２３（図８）に追加する。処理対象のログメッセージ２０１に対して複数の過去のログメッセージ２０１が存在する場合、関連度評価値Ｅ３が上位の所定数のログメッセージ２０１の組み合わせのみをログ−グループ関連付け管理テーブル１２３にレコードとして追加するようにしてもよい。このようにすることで、ログメッセージ２０１をより精度よくグループとして関連付けることができる。
【００４９】
次に、管理テーブル１２０〜１２３について、図５〜図８を参照して説明する。
【００５０】
図５は、単語−出現回数関連情報としての単語−出現回数関連付け管理テーブル１２０の構成例を示す。単語−出現回数関連付け管理テーブル１２０は、登録日５００と、単語５０１と、単語出現回数カウント５０２とを含む１または複数のレコードを有する管理情報である。単語−出現回数関連付け管理テーブル１２０は、ログメッセージグループ化装置１０１がログ２００を受け付けるたびに、単語出現回数算出プログラム１０４によって、逐次的に更新される。単語−出現回数関連付け管理テーブル１２０は、運用者により指示された算出期間について一から作成してもよい。または、継続的に単語−出現回数関連付け管理テーブル１２０を作成し、運用者によって指定された参照期間に含まれる登録日が格納されたレコードのみ抽出・複製して学習後の単語−出現回数関連付け管理テーブル１２０を作成してもよい。
【００５１】
登録日５００は、値として、レコードが新規作成された日付またはレコードが更新された日付を格納する。登録日５００は、単語出現回数参照プログラム１０５が参照期間を指定された際に使用されるものであり。あらかじめ算出期間が指定されて単語−出現回数関連付け管理テーブル１２０が作成される構成では、本カラムは不要である。単語５０１は、値として、ログ２００に記録されたログメッセージ２０１に含まれる単語を格納する。単語出現回数カウント５０２は、値として、所定期間（たとえば上記算出期間）中に単語が出現した回数を格納する。これにより、単語出現回数参照プログラム１０５は、所定期間中に単語５０１に格納された単語がログ２００に出現した回数についての情報を取得できる。
【００５２】
図６は、ログ−単語関連情報としてのログ−単語関連付け管理テーブル１２１の構成例を示す。ログ−単語関連付け管理テーブル１２１は、発生時刻６００と、ログメッセージストア６０１と、分類値ストア６０２と、少数単語リスト６０３とを含む１または複数のレコードを有する管理情報である。ログ−単語関連付け管理テーブル１２１は、ログメッセージグループ化装置１０１がログ２００を受け付けるたびに、単語抽出プログラム１０６および分類値算出プログラム１０８によって、逐次的に更新される。ログ−単語関連付け管理テーブル１２１は、単語抽出プログラム１０６によって、発生時刻６００、ログメッセージストア６０１および少数単語リスト６０３に値が格納され、分類値算出プログラム１０８によって、分類値ストア６０２に値が格納される。
【００５３】
発生時刻６００は、値としてログメッセージ２０１が発生した時刻を格納する。ログメッセージストア６０１は、値としてログメッセージ２０１を格納する。分類値ストア６０２は、値として、分類値算出プログラム１０８によって算出された分類値を格納する。少数単語リスト６０３は、値として、ログメッセージストア６０１に格納されたログメッセージ２０１について出現回数が少ない（出現回数判定閾値未満）と判定された単語である少数単語のリストが格納される。これにより、処理対象のログメッセージ２０１より前に記録された過去のログメッセージ２０１について、少数単語のリストおよび分類値を取得できる。
【００５４】
図７は、分類値−出現回数関連情報としての分類値−出現回数関連付け管理テーブル１２２の構成例を示す。分類値−出現回数関連付け管理テーブル１２２は、分類値の組み合わせ７００と、組み合わせ出現回数カウント７０１とを含む１または複数のレコードを有する管理情報である。分類値−出現回数関連付け管理テーブル１２２は、ログメッセージグループ化装置１０１がログ２００を受け付けるたびに、ログ関連度算出プログラム１０９によって、逐次的に更新される。分類値−出現回数関連付け管理テーブル１２２は、ログ関連度算出プログラム１０９によって、分類値の組み合わせ７００および組み合わせ出現回数カウント７０１に値が格納される。
【００５５】
分類値の組み合わせ７００は、値として、処理対象のログメッセージ２０１と過去のログメッセージ２０１との２つのログメッセージ２０１の分類値の組み合わせを格納する。組み合わせ出現回数カウント７０１は、値として、分類値の組み合わせ７００に格納された２つのログメッセージ２０１の分類値の組み合わせの出現回数を格納する。これにより、処理対象のログメッセージ２０１の分類値と過去のログメッセージ２０１の分類値との組み合わせの出現回数を取得できる。
【００５６】
図８は、ログ−グループ関連情報であるログ−グループ関連付け管理テーブル１２３の構成例を示す。ログ−グループ関連付け管理テーブル１２３は、グループＩＤストア８００とログメッセージグループ８０１と関連度８０２とを含む１または複数のレコードを有する管理情報である。ログ−グループ関連付け管理テーブル１２３は、グループ化算出プログラム１１０によって、逐次的に更新される。ログ−グループ関連付け管理テーブル１２３は、グループ化算出プログラム１１０によって、グループＩＤストア８００、ログメッセージグループ８０１および関連度８０２に値が格納される。
【００５７】
グループＩＤストア８００は、値として、他に同じ値が存在しないユニークな値のグループＩＤを格納する。グループＩＤはグループ化算出プログラム１１０により生成される。ログメッセージグループ８０１は、値として、グループとして関連付けられた２つのログメッセージ２０１を格納する。関連度８０２は、値として、グループ化算出プログラム１１０で算出された関連度評価値Ｅ３を格納する。これにより、運用者は関連性の高いログメッセージ２０１を取得できる。なお、関連度８０２には、一致度評価値Ｅ１または出現度評価値Ｅ２が格納されてもよい。
【００５８】
上記説明では、「×××テーブル」の表現にて各情報を説明しているが、情報はどのようなデータ構造で表現されてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「×××テーブル」を「×××情報」と呼ぶことができる。また、上記説明における各テーブルの構成は一例であり、１つのテーブルは、２以上のテーブルに分割されてもよいし、２以上のテーブルの全部又は一部が１つのテーブルであってもよい。
【００５９】
図９は、管理端末１３２の画面表示の一例を示す図であり、（ａ）はグループ化前のログメッセージを表示している状態を示し、（ｂ）はグループ化後のログメッセージを表示している状態を示す。管理端末１３２は、画面９０１において、ログメッセージ表示領域９０２と、ログメッセージ表示領域９０２に表示されたログメッセージＭ１０１、Ｍ１０２、・・・をスクロール表示するためのスクロールバー９０３と、関連度評価値Ｅ３の下限値（すなわち評価値の条件）が入力される入力ボックス９０５と、グループ化後のログメッセージを表示する処理の開始を指示するグループ表示ボタン９０４と、を有している。入力ボックス９０５を省略してもよいし、あるいは、入力ボックス９０５には一致度評価値Ｅ１または出現度評価値Ｅ２の下限値が入力されるようにしてもよい。画面９０１には、図示しないマウスによって操作されるカーソルＣが表示されており、このカーソルＣを操作して、ログメッセージ表示領域９０２に表示されているログメッセージＭ１０１、Ｍ１０２、・・・の選択、入力ボックス９０５へのフォーカス移動、グループ表示ボタン９０４の押下などを行う。図９の画面表示は一例であり、これらにより本実施形態の構成や効果が制限されるものではない。
【００６０】
次に、単語の出現回数を算出する処理について、図１０を参照して説明する。図１０は、単語の出現回数を算出する処理の一例を示すシーケンス図である。
【００６１】
本実施形態において、管理端末１３２のＣＬＩ（Ｃｏｍｍａｎｄ  Ｌｉｎｅ  Ｉｎｔｅｒｆａｃｅ）やＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の操作に応じて、管理端末１３２は、ログメッセージグループ化装置１０１へリクエストメッセージを送信する。送信時のプロトコルは、ＳＳＨ（Ｓｅｃｕｒｅ  Ｓｈｅｌｌ）、ＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の公知の手法でも独自の手法でもよい。上記リクエストメッセージに対する応答としてログメッセージグループ化装置１０１から管理端末１３２送信されたレスポンスメッセージは、管理端末１３２において処理され、処理結果がＧＵＩ等により表示される。管理端末１３２は、ログメッセージグループ化装置１０１の一部であってもよい。
【００６２】
ログメッセージグループ化システム１００の構築時に、分割プログラム１０３は、運用者により操作された管理端末１３２から分割ルールの登録要求を受け付ける（Ｓ１００１）と、分割プログラム１０３は当該分割ルールに基づいてログメッセージ２０１を分割する。分割ルールとは、たとえば、「ログメッセージをスペース区切りで単語に分割する」である。分割ルールは、各情報システム１３０について共通の分割ルールを定義してもよく、個々の情報システム１３０に応じた分割ルールを定義してもよい。また、分割ルールは、ログメッセージグループ化システム１００の構築後に変更してもよい。
【００６３】
その後、収集プログラム１０２がＳｙｓｌｏｇ等のログ２００を受け付ける（Ｓ１００２）と、分割プログラム１０３に当該ログ２００を転送する（Ｓ１００３）。分割プログラム１０３は収集プログラム１０２からログ２００を受け付けると、ステップＳ１００１にて登録した分割ルールに基づいて、ログを単語に分割する（Ｓ１００４）。これにより、ログは１以上の単語に分割される。分割プログラム１０３は分割した単語のリストを単語出現回数算出プログラム１０４に転送する（Ｓ１００５）。単語出現回数算出プログラム１０４は単語のリストを受け付けると、単語−出現回数関連付け管理テーブル１２０を参照し、単語のリストに含まれる単語の出現回数を更新する。単語出現回数算出プログラム１０４は、ステップＳ１００５により受け付けた単語の数と同じ数だけ、ステップＳ１００６〜ステップＳ１００７を繰り返す。
【００６４】
次に、一致度評価値Ｅ１を算出する処理について、図１１を参照して説明する。図１１は、一致度評価値Ｅ１を算出する処理の一例を示すシーケンス図である。
【００６５】
ログメッセージグループ化システム１００の構築時あるいは運用開始後に、単語抽出プログラム１０６は、運用者により操作された管理端末１３２から出現回数に関する閾値（出現回数判定閾値）を受け付ける（Ｓ１１０１）と、以降、単語抽出プログラム１０６はステップＳ１１０１で受け付けた出現回数判定閾値を用いて処理を行う。出現回数判定閾値は、たとえば、「出現回数が１００回以下の単語を出現回数が少ない単語（少数単語）とする」などの判定基準として使用される。また、本実施形態においては出現回数判定閾値について運用者からの指定により設定するが、独自の手法により設定してもよい。出現回数判定閾値は、各情報システム１３０について共通の値を設定してもよく、個々の情報システム１３０に応じた値を設定してもよい。出現回数判定閾値は、運用開始後に変更してもよい。
【００６６】
また、単語関連度算出プログラム１０７は、運用者により操作された管理端末１３２から時間に関する閾値（処理対象期間）を受け付ける（Ｓ１１０２）。処理対象期間は、たとえば、「現在の処理対象のログメッセージの発生時刻より前に記録された過去のログメッセージを評価値の算出対象（すなわち、処理対象のログメッセージにグループとして関連付ける対象）とする」ための対象期間として用いられる。単語抽出プログラム１０６は、ログ−単語関連付け管理テーブル１２１から、発生時刻が処理対象期間に含まれる過去のログメッセージを取得する。また、本実施形態においては処理対象期間について運用者からの指定により設定するが、独自の手法により設定してもよい。処理対象期間は、各情報システム１３０について共通の値を設定してもよく、個々の情報システム１３０に応じた値を設定してもよい。処理対象期間は、運用開始後に変更してもよい。
【００６７】
そして、収集プログラム１０２が、Ｓｙｓｌｏｇ等のログ２００を収集し（Ｓ１１０３）、分割プログラム１０３に当該ログ２００を転送する（Ｓ１１０４）。分割プログラム１０３は、収集プログラム１０２からログ２００を受け付けると、ログ２００に記録された処理対象のログメッセージ２０１を順次取得して、ステップＳ１００１にて登録した分割ルールに基づいて単語に分割し（Ｓ１１０５）、単語のリストを単語出現回数参照プログラム１０５に転送する（Ｓ１１０６）。単語出現回数参照プログラム１０５は、分割プログラム１０３から処理対象のログメッセージ２０１および単語のリストを受け付けると、学習後の単語−出現回数関連付け管理テーブル１２０から単語のリストに含まれる単語の出現回数を取得して（Ｓ１１０７）、単語にひも付けし、単語抽出プログラム１０６と分類値算出プログラム１０８にログメッセージ２０１と出現回数をひも付けした単語のリストとを転送する（Ｓ１１０８、Ｓ１１０９）。ステップＳ１１０９については後述する。
【００６８】
単語抽出プログラム１０６は、処理対象のログメッセージ２０１および出現回数をひも付けした単語のリストを受け付けると、ステップＳ１１０１にて設定された閾値（出現回数判定閾値）に基づいて、出現回数が少ない単語である少数単語を抽出する（Ｓ１１１０）。単語抽出プログラム１０６は、ログメッセージ２０１および少数単語のリストを単語関連度算出プログラム１０７に転送する（Ｓ１１１１）。単語関連度算出プログラム１０７は、ログ−単語関連付け管理テーブル１２１から、ステップＳ１１０２にて登録された閾値（処理対象期間）に発生した過去のログメッセージ２０１、その少数単語のリストおよびその分類値を取得する（Ｓ１１１２）。
【００６９】
単語関連度算出プログラム１０７は、ステップＳ１１１１にて取得した処理対象のログメッセージ２０１の少数単語のリストとステップＳ１１１２にて取得した過去のログメッセージ２０１の少数単語のリストから一致度評価値Ｅ１を算出する（Ｓ１１１３）。単語関連度算出プログラム１０７は、処理対象のログメッセージ２０１および過去のログメッセージ２０１と、これらログメッセージ２０１の一致度評価値Ｅ１とをグループ化算出プログラム１１０に転送する（Ｓ１１１４）。さらに、単語関連度算出プログラム１０７は、処理対象のログメッセージ２０１および過去のログメッセージ２０１と、過去のログメッセージ２０１およびその分類値とをログ関連度算出プログラム１０９に転送する（Ｓ１１１５）。
【００７０】
次に、出現度評価値Ｅ２と関連度評価値Ｅ３とを算出する処理について、図１２を参照して説明する。図１２は、出現度評価値Ｅ２と関連度評価値Ｅ３とを算出する処理の一例を示すシーケンス図である。
【００７１】
分類値算出プログラム１０８は、単語出現回数参照プログラム１０５から処理対象のログメッセージ２０１および出現回数がひも付けされた単語のリストを受け付けると、出現回数に基づいて分類値を算出する（Ｓ１２０１）。分類値算出プログラム１０８は、ログ関連度算出プログラム１０９にログメッセージ２０１およびその分類値を転送する（１２０２）。ログ関連度算出プログラム１０９は、処理対象のログメッセージ２０１およびその分類値を受け付けると、この分類値とステップＳ１１１５にて取得した過去のログメッセージ２０１の分類値との組み合わせについて、学習済の分類値−出現回数関連付け管理テーブル１２２を参照して、これら分類値の組み合わせの出現回数を取得する（Ｓ１２０３）。ログ関連度算出プログラム１０９は、これら分類値の組み合わせの出現回数に基づいて、出現度評価値Ｅ２を算出する（Ｓ１２０４）。ログ関連度算出プログラム１０９は、処理対象のログメッセージ２０１および過去のログメッセージ２０１と、これらログメッセージ２０１の出現度評価値Ｅ２を、グループ化算出プログラム１１０に転送する（Ｓ１２０５）。
【００７２】
グループ化算出プログラム１１０は、ステップＳ１１１４にて単語関連度算出プログラム１０７から取得した一致度評価値Ｅ１と、ステップＳ１２０５にてログ関連度算出プログラム１０９から取得した出現度評価値Ｅ２とに基づいて関連度評価値Ｅ３を算出する（Ｓ１２０６）。グループ化算出プログラム１１０は、グループＩＤを生成し、関連度評価値Ｅ３（複数ある場合は最も大きい関連度評価値Ｅ３）とその算出に用いたログメッセージ２０１の組み合わせを関連付けて、ログ−グループ関連付け管理テーブル１２３に格納する（Ｓ１２０７）。
【００７３】
次に、分類値の算出方法について、図１３を参照して説明する。図１３は、分類値の算出方法の一例を説明する図である。
【００７４】
分割プログラム１０３は、上記ステップＳ１００１によって登録された分割ルール１３００に基づいて、ログメッセージ２０１を単語のリスト１３０１にする。単語出現回数参照プログラム１０５は、単語−出現回数関連付け管理テーブル１２０を参照し、各単語の出現回数を取得して、分類値算出プログラム１０８に転送する。分類値算出プログラム１０８は、各単語の出現回数に基づいてその総和を算出し、算出結果を分類値１３０２とする。
【００７５】
次に、単語の出現回数を算出する処理について、図１４を参照して説明する。図１４は、単語の出現回数を算出する処理の一例を示すフローチャートである。本フローチャートは、図１０のステップＳ１００２〜Ｓ１００７の処理に相当する。
【００７６】
収集プログラム１０２がログ２００を収集すると分割プログラム１０３に転送し（Ｓ１４０１）、分割プログラム１０３がログ２００に記録されたログメッセージ２０１を取得し、分割ルールに基づいて単語に分割して、単語出現回数算出プログラム１０４に転送する（Ｓ１４０２）。単語出現回数算出プログラム１０４は、分割された単語のリストに含まれる全ての単語について、ステップＳ１４０４〜ステップＳ１４０７を繰り返す（Ｓ１４０３）。単語出現回数算出プログラム１０４は、単語−出現回数関連付け管理テーブル１２０を参照し、単語の出現回数を取得する（Ｓ１４０４）。単語出現回数算出プログラム１０４は、単語−出現回数関連付け管理テーブル１２０に単語のレコードが存在すると判定した場合（Ｓ１４０５：Ｙｅｓ）は、単語−出現回数関連付け管理テーブル１２０の該当する単語の出現回数を更新し（Ｓ１４０６）、レコードが存在しないと判定した場合（Ｓ１４０５：Ｎｏ）は、単語−出現回数関連付け管理テーブル１２０に単語のレコードを追加する（Ｓ１４０７）。
【００７７】
次に、一致度評価値Ｅ１を算出する処理について、図１５を参照して説明する。図１５は、一致度評価値Ｅ１を算出する処理の一例を示すフローチャートである。本フローチャートは、図１１のステップＳ１１０３〜Ｓ１１１３の処理に相当する。
【００７８】
収集プログラム１０２がログ２００を収集すると分割プログラム１０３に転送し（Ｓ１５０１）、分割プログラム１０３がログ２００に記録されたログメッセージ２０１を分割ルールに基づいて単語に分割して、単語出現回数参照プログラム１０５に転送する（Ｓ１５０２）。単語出現回数参照プログラム１０５は、学習後の単語−出現回数関連付け管理テーブル１２０を参照し、単語のリストに含まれる全ての単語について出現回数を取得して、単語抽出プログラムに転送する（Ｓ１５０３）。単語抽出プログラム１０６は、単語のリストに含まれる全ての単語について、ステップＳ１５０５〜ステップＳ１５０６を繰り返す（Ｓ１５０４）。単語抽出プログラム１０６は、単語の出現回数が閾値（出現回数判定閾値）未満であると（Ｓ１５０５：Ｙｅｓ）、出現回数が少ない単語（少数単語）と判定して少数単語のリストに含めて（Ｓ１５０６）、次の繰り返し処理を継続する。単語抽出プログラム１０６は、単語の出現回数が閾値（出現回数判定閾値）未満でないと（Ｓ１５０５：Ｎｏ）、少数単語でないと判定して、次の繰り返し処理を継続する。
【００７９】
そして、単語抽出プログラム１０６は、繰り返し処理が終了すると少数単語のリストを単語関連度算出プログラム１０７に転送する（Ｓ１５０７）。単語関連度算出プログラム１０７は、ログ−単語関連付け管理テーブル１２１から時間に関する閾値（処理対象期間）内に発生した過去のログメッセージ２０１およびその少数単語を取得する（Ｓ１５０８）。単語関連度算出プログラム１０７は、処理対象のログメッセージおよび過去のログメッセージの全てについて、ステップＳ１５１０〜Ｓ１５１１を繰り返す（Ｓ１５０９）。単語関連度算出プログラム１０７は、ステップＳ１５０７にて取得した処理対象のログメッセージ２０１の少数単語のリストと、ステップＳ１５０８にて取得した過去のログメッセージ２０１における少数単語のリストと、を比較して、一致する単語が存在する場合（Ｓ１５１０：Ｙｅｓ）、一致度評価値Ｅ１を算出して（Ｓ１５１１）、次の繰り返し処理を継続する。単語関連度算出プログラム１０７は、一致する単語が存在しない場合（Ｓ１５１０：Ｎｏ）、次の繰り返し処理を継続する。
【００８０】
次に、出現度評価値Ｅ２を算出する処理について、図１６を参照して説明する。図１６は、出現度評価値Ｅ２を算出する処理の一例を示すフローチャートである。ステップＳ１２０１〜Ｓ１２０４の処理に相当する。
【００８１】
分類値算出プログラム１０８は、単語出現回数参照プログラム１０５からログメッセージを分割した単語のリストを取得すると、処理対象のログメッセージ２０１の分類値を算出して、ログ関連度算出プログラム１０９に転送する（Ｓ１６０１）。ログ関連度算出プログラム１０９は、単語関連度算出プログラム１０７から過去のログメッセージの分類値を取得する（Ｓ１６０２）。ログ関連度算出プログラム１０９は、ステップＳ１６０１で取得した処理対象のログメッセージ２０１の分類値と、ステップＳ１６０２で取得した過去のログメッセージの分類値との組み合わせについて、分類値−出現回数関連付け管理テーブル１２２を参照し、これら分類値の組み合わせの出現回数を取得する（Ｓ１６０３）。ログ関連度算出プログラム１０９は、ステップＳ１６０３にて取得した出現回数に基づいて出現度評価値Ｅ２を算出する（Ｓ１６０４）。
【００８２】
次に、ログメッセージグループ化装置１０１が、グループ化されたログメッセージのリストを出力する処理について、図１７を参照して説明する。図１７は、グループ化されたログメッセージのリストを管理端末１３２に出力する処理の一例を示すフローチャートである。
【００８３】
ログメッセージグループ化装置１０１（具体的にはプロセッサ４０１）が、管理端末１３２から送信されたリクエストメッセージを受け付けると（Ｓ１７０１）、ログ−グループ化関連付け管理テーブル１２３を参照して、リクエストメッセージに含まれるログメッセージ２０１を含むログメッセージグループ８０１を検索する（Ｓ１７０２）。ログメッセージグループ化装置１０１は、検索ヒットした全てのログメッセージグループ８０１について、ステップＳ１７０４の処理を繰り返す（Ｓ１７０３）。なお、リクエストメッセージに関連度評価値Ｅ３の下限値が含まれている場合は、この下限値も検索条件に含め、関連度８０２に格納されている関連度評価値Ｅ３が当該下限値以上となるレコードのログメッセージグループ８０１を検索する。ログメッセージグループ化装置１０１は、ログメッセージグループ８０１に格納されているログメッセージ２０１を取得し、取得したログメッセージ２０１から重複しているものを削除して、グループとなるログメッセージのリストを作成する（Ｓ１７０４）。ログメッセージグループ化装置１０１は、管理端末１３２へのレスポンスメッセージにこのログメッセージのリストを含めて送信する（Ｓ１７０５）。これにより、運用者は管理端末１３２を通じて、グループとして関連付けられたログメッセージのリストを取得できる。なお、リクエストメッセージには関連度評価値Ｅ３の下限値の代わりに一致度評価値Ｅ１または出現度評価値Ｅ２の下限値が含まれていてもよく、これを検索条件に含めてもよい。
【００８４】
図１７の処理について、図９を参照して管理端末１３２の表示操作の観点から説明する。運用者は、管理端末１３２によってログシステム１３１からログ２００を取得して、図９（ａ）に示すように、ログメッセージ表示領域９０２にログメッセージＭ１０１、Ｍ１０２、・・・を表示する。運用者は管理端末１３２を操作して、入力ボックス９０５に関連度評価値Ｅ３の下限値を入力する。下限値に０が入力された場合、この下限値は無視されてリクエストメッセージに含まれない。そして、運用者は、ログメッセージ表示領域９０２に表示されているログメッセージＭ１０１、Ｍ１０２、・・・の中から１つのログメッセージ（図９の例ではログメッセージＭ１０５）をクリックして選択する。そして、運用者が、グループ表示ボタン９０４を押下すると、選択されたログメッセージおよび関連度評価値Ｅ３の下限値を含むリクエストメッセージが生成されて、ログメッセージグループ化装置１０１に送信される。
【００８５】
そして、ログメッセージグループ化装置１０１において、リクエストメッセージが受け付けられると、リクエストメッセージに含めたログメッセージと関連性の高いログメッセージがグループ化されて、ログメッセージのリストとしてレスポンスメッセージに含められて送られてくる。管理端末１３２は、レスポンスメッセージを受信すると、図９（ｂ）に示すように、それに含まれるログメッセージのリストをログメッセージ表示領域９０２に表示する。図９に示す例では、ログ−グループ化関連付け管理テーブル１２３に図８に示す値が格納されている場合を想定している。そのため、ログメッセージＭ１０５を選択しかつ関連度評価値Ｅ３の下限値を０．６０に設定すると、ログメッセージＭ１０５とそれに関連するログメッセージＭ１０１およびＭ１０３が表示される。または、ログメッセージＭ１０５を選択しかつ関連度評価値Ｅ３の下限値を、たとえば０．８０に設定すると、グループＩＤがＧ２となるレコードが除外されるため、ログメッセージＭ１０５とそれに関連するログメッセージＭ１０１とが表示される。このようにすることで、関連度評価値Ｅ３の下限値を入力することにより、グループとして関連付けられたログメッセージ２０１をより絞り込んで精度を高めることができる。
【００８６】
以上より、本実施形態によれば、ログメッセージグループ化装置１０１が、ログメッセージ２０１を構成する単語のうち出現回数の比較的少ない単語である少数単語の一致度を示す一致度評価値Ｅ１を算出する。このようにしたことから、ログ２００に記録されたログメッセージ２０１は、関連度の高いログメッセージ２０１同士ほど共通の少数単語を含むものと考えられるので、ログメッセージ２０１間の少数単語の一致度を指標とすることにより、あらかじめログメッセージ２０１をグループとして関連付ける情報を用意することなく、関連するログメッセージ２０１をグループ化することができる。
【００８７】
また、ログメッセージグループ化装置１０１が、分類値の組み合わせの出現回数に基づいてログメッセージ２０１の分類値と過去のログメッセージ２０１の分類値との組み合わせの出現度を示す出現度評価値Ｅ２を算出し、一致度評価値Ｅ１および出現度評価値Ｅ２に基づきログメッセージ２０１と過去のログメッセージ２０１との関連度を示す関連度評価値Ｅ３を算出する。このようにしたことから、２つのログメッセージ２０１の分類値の組み合わせの出現回数に基づく出現度評価値Ｅ２を指標とすることにより、出現が希な分類値の組み合わせ、すなわち、出現が希なログメッセージ２０１の組み合わせを除外することができる。そのため、関連するログメッセージ２０１をより精度よくグループ化することができる。
【００８８】
したがって、あらかじめログメッセージをグループとして関連付ける情報を用意することなくログメッセージをグループ化することができるので、ログメッセージの出力形式が頻繁に変更される情報システムのログに記録されたログメッセージの分析を支援することができる。また、同様の処理を複数並行して行う情報システムにおいて、各処理に応じて出力されるログメッセージが入れ子になったときでも、精度よくログメッセージをグループ化することができる。
【００８９】
上述した実施形態では、関連度評価値Ｅ３を用いて処理対象のログメッセージ２０１と過去のログメッセージ２０１との関連性を評価する構成であったが、これに限定されるものではない。これ以外にも、一致度評価値Ｅ１のみを用いてログメッセージ２０１の関連性を評価する構成としてもよい。
【００９０】
以上、図面を用いて本発明の実施形態を詳述してきたが、具体的な構成はこの実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の構成に置き換える事が可能であり、また、ある実施形態の構成に他の構成を加えることも可能である。本発明の要旨を逸脱しない範囲における設計変更等があっても、それらは本発明に含まれるものである。
【符号の説明】
【００９１】
１００…ログメッセージグループ化システム、１０１…ログメッセージグループ化装置、１０２…収集プログラム、１０３…分割プログラム、１０４…単語出現回数算出プログラム、１０５…単語出現回数参照プログラム、１０６…単語抽出プログラム、１０７…単語関連度算出プログラム、１０８…分類値算出プログラム、１０９…ログ関連度算出プログラム、１１０…グループ化算出プログラム、１２０…単語−出現回数関連付け管理テーブル（単語−出現回数関連情報）、１２１…ログ−単語関連付け管理テーブル（ログ−単語関連情報）、１２２…分類値−出現回数関連付け管理テーブル（分類値−出現回数関連情報）、１２３…ログ−グループ関連付け管理テーブル（ログ−グループ関連情報）、１３０…情報システム、１３１…ログシステム、１３２…管理端末、２００…ログ
【図１】
2018116322.tif 000003
【図２】
2018116322.tif 000004
【図３】
2018116322.tif 000005
【図４】
2018116322.tif 000006
【図５】
2018116322.tif 000007
【図６】
2018116322.tif 000008
【図７】
2018116322.tif 000009
【図８】
2018116322.tif 000010
【図９】
2018116322.tif 000011
【図１０】
2018116322.tif 000012
【図１１】
2018116322.tif 000013
【図１２】
2018116322.tif 000014
【図１３】
2018116322.tif 000015
【図１４】
2018116322.tif 000016
【図１５】
2018116322.tif 000017
【図１６】
2018116322.tif 000018
【図１７】
2018116322.tif 000019