(57)【要約】【課題】  監視対象から収集されたログメッセージを共通フォーマットに変換し、一元分析を可能とすることで、効率的なメッセージ分析を可能とするメッセージ変換装置、及びそのプログラムを提供することを目的とする。【解決手段】  実施形態のメッセージ変換装置は、複数のメッセージを記憶するメッセージ記憶部と、メッセージを構成要素に分割するメッセージ分割部と、メッセージ毎の分割された構成要素に基づいて変換ルールを生成する変換ルール生成部と、ユーザの入力に基づいて変換ルールの変数部とラベル部とを決定する変換ルール決定部と、変換ルール決定部により変数部とラベル部とを決定された変換ルールに基づいてメッセージを変換するメッセージ変換部と、を備える。【選択図】図１
2013214148.tif 000002
【特許請求の範囲】
【請求項１】
複数のメッセージを記憶するメッセージ記憶部と、
前記メッセージを構成要素に分割するメッセージ分割部と、
前記メッセージ毎の分割された構成要素に基づいて変換ルールを生成する変換ルール生
成部と、
前記変換ルールとユーザの入力に基づいて前記メッセージの共通フォーマットを決定す
る変換ルール決定部と、
前記共通フォーマットに基づいて、前記メッセージを変換するメッセージ変換部と、
を備えるメッセージ変換装置。
【請求項２】
前記メッセージ分割部は区切り文字に基づいて前記メッセージを構成要素に分割する請
求項１に記載のメッセージ変換装置。
【請求項３】
前記変換ルール決定部は、前記ユーザの入力に基づいて前記変換ルールの変数部とラベ
ル部とを決定し、
前記メッセージ変換部は、前記変数部とラベル部とに基づいて前記メッセージを変換す
る請求項１又は請求項２に記載のメッセージ変換装置。
【請求項４】
前記変換ルール生成部は、前記複数のメッセージから１つのメッセージを選択し、選択
したメッセージと、前記メッセージ記憶部に記憶された他のメッセージとの一致度を算出
し、前記他のログメッセージの内、前記一致度が閾値以上のログメッセージを前記選択し
たログメッセージと同一グループと判定し、当該同一グループ毎に前記変換ルールを生成
する請求項１乃至請求項３のいずれか１項に記載のメッセージ変換装置。
【請求項５】
複数のメッセージを記憶するメッセージ記憶部を備えるメッセージ変換装置のメッセー
ジ変換プログラムであって、
コンピュータに、
前記メッセージ記憶部が記憶したメッセージを構成要素に分割する機能と、
前記分割された構成要素に基づいて変換ルールを生成する機能と、
ユーザの入力に基づいて、前記変換ルールの変数部とラベル部とを決定する機能と、
前記変数部と前記ラベル部とを決定された変換ルールに基づいて前記メッセージを変換
する機能と、
を実行させるメッセージ変換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メッセージ変換装置、及びメッセージ変換プログラムに関する
【背景技術】
【０００２】
コンピュータシステムにおいて、運用管理者（以下、「ユーザ」と記載する）の負荷軽
減や、障害対応の効率化を実現するツールとして統合管理ツールがある。従来の統合管理
ツールでは、個別のアプリケーションプログラム（以下、「アプリケーション」と記載す
る）やミドルウェアのログファイルなどに出力されるメッセージに関して、ツール提供ベ
ンダーが用意したテンプレートを用いて解析を行う。
【０００３】
このとき、解析対象が自製ミドルウェアやアプリケーションに記述された独自フォーマ
ットのログの場合でも、正規表現等を用いて個別のログフォーマットを１つずつマッピン
グすることによって基本的な解析が可能である。
【０００４】
中規模から大規模のコンピュータシステムにおいては、ベンダー提供のアプリケーショ
ンと自製のアプリケーションが混在するような場合がほとんどであり、ログメッセージの
バリエーションはさまざまである。
【０００５】
したがって、従来の統合管理ツールで個別のアプリケーションのログを統合管理ツール
で解析する場合に、以下のような問題点がある。
【０００６】
第１の問題点は、出現するメッセージのフォーマット定義に高スキルが要求されること
である。特に、中規模から大規模のアプリケーションシステムにおいては、メッセージフ
ォーマットのバリエーションが膨大なものとなりうる。そのため、ログ解析を行う際には
、対象システムやアプリケーションのログフォーマットへの深い理解やノウハウを持った
専門技術者でないと対応が出来ない恐れがある。
【０００７】
第２の問題点は、メッセージの内容を機械的に解析することが困難なことである。多く
のアプリケーションのログのメッセージが「人間が目で見て動作を確認する」ことを想定
して設計されているため、メッセージの内容が自然言語で表現されているケースが多く、
機械的な解析には向いていないことが多い。
【０００８】
第３の問題点は、各アプリケーションやミドルウェアが出力するログ同士の比較解析が
難しいことである。これらログのフォーマットはそのアプリケーションに特化した独自フ
ォーマットである場合が多く、トラブル発生時の解析の際、原因の切り分けが困難になっ
てしまう。
【０００９】
これらの問題点に対して、監視対象のアプリケーションから収集されたメッセージに対
して、予め定義しておいたルール（以下、「変換ルール」と記載する）に基づきメッセー
ジの形式や文言、重大度の変換を施すことができるメッセージ変換装置がある。このメッ
セージ変換装置は、メッセージを自然言語に近い形式へと変換することによってシステム
運用管理者に理解しやすいものとし、障害対処への初動に要する時間を短縮することがで
きる。
【００１０】
しかしながら当該メッセージ変換装置は、ログ変換フォーマットを固定としているため
、特定の条件下においては上記問題点を解決するものの、独自形式のログフォーマットを
任意の形式に変換することはできず、解析の自由度は極めて小さい。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−９４７５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明が解決しようとする課題は、監視対象から収集されたログメッセージを共通フォ
ーマットに変換し、一元分析を可能とすることで、効率的なメッセージ分析を可能とする
メッセージ変換装置、及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
実施形態のメッセージ変換装置は、複数のメッセージを記憶するメッセージ記憶部と、
メッセージを構成要素に分割するメッセージ分割部と、メッセージ毎の分割された構成要
素に基づいて変換ルールを生成する変換ルール生成部と、ユーザの入力に基づいて変換ル
ールの変数部とラベル部とを決定する変換ルール決定部と、変換ルール決定部により変数
部とラベル部とを決定された変換ルールに基づいてメッセージを変換するメッセージ変換
部と、を備える。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係るメッセージ変換装置の基本構成の一例を示す図。
【図２】実施形態に係るメッセージ変換装置に入力されるメッセージの一例を示す図。
【図３】実施形態に係るメッセージ変換装置に係る区切り文字テーブルの一例を示す図。
【図４】実施形態に係るメッセージ変換装置のメッセージ変換処理の一例を示すフローチャート。
【図５】実施形態に係るメッセージ変換装置のメッセージ変換処理の一例を示すフローチャート。
【図６】実施形態に係るメッセージ変換装置のメッセージ変換処理の一例を示すフローチャート。
【図７】実施形態に係るメッセージ変換装置の仮変換ルールの一例を示す図。
【図８】実施形態に係るメッセージ変換装置の変換ルールの一例を示す図。
【図９】実施形態に係るメッセージ変換装置のメッセージ変換処理の一例を示すフローチャート。
【図１０】実施形態に係るメッセージ変換装置におけるメッセージ変換処理後のメッセージの一例を示す図。
【発明を実施するための形態】
【００１５】
以下、実施形態のメッセージ変換装置について図面を参照して説明する。
【００１６】
（第１の実施形態）
図１乃至図１０を参照して、本実施形態のメッセージ変換装置について説明する。図１
は、本実施形態のメッセージ変換装置１０の基本構成の一例を示す図である。
【００１７】
図１に示すように、メッセージ変換装置１は、メッセージ取得部１１０、メッセージ分
割部１２０、変換ルール生成部１３０、変換ルール決定部１４０、メッセージ変換部１５
０、メッセージ出力部１６０、メッセージ記憶部１７０、区切り文字記憶部１８０、表示
部１９０及び入力部２００を備え、監視対象のアプリケーション１１やＯＳ１２が動作す
るコンピュータシステム１０と接続される。なお、メッセージ変換装置１は、コンピュー
タシステム１０の一部として構成することも可能である。
【００１８】
メッセージ取得部１１０は、監視対象のアプリケーション１１やＯＳ１２から出力され
るメッセージを取得する。メッセージは例えば、アプリケーション１１やＯＳ１２の利用
状況やデータ通信の履歴であるログメッセージやＳＮＭＰトラップであり、本実施形態で
はログメッセージが取得される場合について説明する。メッセージ取得部１１０は取得し
たログメッセージをメッセージ記憶部１７０に記憶する。
【００１９】
ここで、図２を参照してメッセージ記憶部１７０に記憶されるログメッセージの一例に
ついて説明する。
【００２０】
図２に示すように、メッセージ記憶部１７０にはログメッセージ１７１、ログメッセー
ジ１７２、ログメッセージ１７３、及びログメッセージ１７４の、３種類の４つのログメ
ッセージが記憶されている。これらログメッセージ１７１〜１７４はコンピュータシステ
ム１０上で動作し、コンピュータシステム１０が備えるデータベース（以下、「ＤＢ」と
記載する）へアクセスするアプリケーション１１の動作に伴って出力されるログメッセー
ジである。
【００２１】
ログメッセージ１７１及び１７２は、アプリケーション１１の画面遷移や実行したメソ
ッドの履歴（アクションログ）を示す。ログメッセージ１７３は、アプリケーション１１
が動作しているアプリケーションサーバ（図示しない）のアクセスログを示す。ログメッ
セージ１７４は、ＤＢへのＳＱＬ文発行履歴（ＳＱＬログ）を示す。図２に示すように、
ログメッセージ１７１、１７２、１７３、１７４は種類毎にメッセージのフォーマットが
異なる。
【００２２】
メッセージ分割部１２０は、区切り文字記憶部１８０に登録された区切り文字に基づい
て、メッセージ記憶部１７０に記憶されたログメッセージを構成要素毎に分割するメッセ
ージ分割処理を行う。区切り文字及びメッセージ分割処理については後述する。
【００２３】
変換ルール生成部１３０は、メッセージ分割部１２０によるメッセージ分割処理の結果
に基づいて、メッセージ記憶部１７０に記憶されたログメッセージの仮変換ルールを生成
する変換ルール生成処理を行う。仮変換ルール及び変換ルール生成処理については後述す
る。
【００２４】
変換ルール生成部１３０が生成した仮変換ルールは、表示部１９０に表示され、ユーザ
に提示される。ユーザは入力部２００を操作して表示部１９０に表示された仮変換ルール
の編集を行なうことができる。表示部１９０は例えば液晶ディスプレイであり、入力部２
００は例えばマウスとキーボードである。
【００２５】
変換ルール決定部１４０は、ユーザの編集後の仮変換ルールを変換ルールと決定し、後
述するメッセージ変換部１５０に送信する。ユーザの編集がない場合は、変換ルール生成
部１３０が生成した仮変換ルールをそのまま変換ルールとして送信する。
【００２６】
メッセージ変換部１５０は、受信した変換ルールに基づいてログメッセージを変換する
メッセージ変換処理を行う。メッセージ変換処理については後述する。
【００２７】
メッセージ出力部１６０は、メッセージ変換部１５０によって変換されたメッセージ（
以下、「変換後メッセージ」と記載する）を出力する。なお、メッセージ出力部１６０は
、表示部１９０を兼ねてもよい。
【００２８】
図３に示すように区切り文字記憶部１８０は、単独区切り文字１８２と、ペア区切り文
字１８３と、優先度フラグ１８４を項目として備える区切り文字テーブル１８１が記憶さ
れている。単独区切り文字１８２は、単独でメッセージを分割することを想定した単独の
文字であり、例えば半角スペース（  ）、カンマ（，）、アンダーバー（＿）などである
。すなわち、メッセージ分割部１２０は、当該単独区切り文字１８２がログメッセージに
存在するかを検索し、存在する場合にこの単独区切り文字１８２の前後でログメッセージ
を区切る。
【００２９】
ペア区切り文字１８３は、ペアで項目を区切る文字であり、例えば括弧（（）  「」  
｛｝  ［］  ＜＞）やシングルクオテーション（‘’）、ダブルクオテーション（“”）
などである。優先度フラグ１８４は、メッセージ分割処理において、ペア区切り文字１８
３と単独区切り文字１８２のどちらを優先して区切るのかを示し、本実施形態では、ペア
区切り文字１８３を優先する場合に優先度フラグ１８４を「０」とする。一方、単独区切
り文字１８２を優先する場合に優先度フラグ１８４を「１」とする。
【００３０】
例えば、ペア区切り文字１８２の方の優先度を高く設定する場合（優先度フラグ１８４
が「０」の場合）、メッセージ分割部１２０はペア区切り文字１８２で囲まれた文字列に
ついては強制的に１つの文字列とみなす。一方、ペア区切り文字１８３の優先度を単独区
切り文字１８２より低く設定する場合（優先度フラグ１８４が「１」の場合）には、メッ
セージ分割部１２０はペア区切り文字１８３を区切り文字として扱わず通常の文字と同じ
扱いとする。すなわち、メッセージ分割部１２０はペア区切り文字１８３でメッセージを
分割しない。
【００３１】
図４乃至図１０を参照して、上述のように構成されるメッセージ変換装置１の動作の一
例について説明する。
【００３２】
まず、メッセージ変換装置１のメッセージ取得部１１０は、監視対象のアプリケーショ
ン１１やＯＳ１２から出力されるログメッセージを取得し（ステップＳ１）、取得したロ
グメッセージをメッセージ記憶部１７０に登録する（ステップＳ２）。メッセージ取得部
１１０は、一度に複数のログメッセージを取得する。以下、図２に示した４つのログメッ
セージ１７１〜１７４が取得されたとする。
【００３３】
本実施形態で説明するログメッセージは、「日付」「メソッド名」などの各項目を任意
の区切り文字でつないだ構成であり、行頭から改行記号までを１つのログメッセージとす
る。なお、ログメッセージの形式はこれに限定されるものではなく、１つのログメッセー
ジが複数の行からなる場合や、１行に複数のログメッセージが記述されても構わない。例
えば、メッセージの末尾に適当な文字列（アンカー）を充てることで、１行１メッセージ
に対応付けることは可能である。
【００３４】
メッセージ記憶部１７０にログメッセージが登録されると、メッセージ分割部１２０は
、区切り文字記憶部１８０に登録された区切り文字テーブル１８１に基づいて、登録され
た各ログメッセージを構成要素の文字列に分割するメッセージ分割処理を行う（ステップ
Ｓ３）。
【００３５】
図５を参照して、本実施形態のメッセージ分割部１２０によるメッセージ分割処理につ
いて説明する。
【００３６】
まず、メッセージ分割部１２０は、メッセージ記憶部１７０からログメッセージ１７１
〜１７４を取得し、これらのログメッセージに含まれる文字列の構文解析を行なう（ステ
ップＳ３１）。メッセージ分割部１２０は、ステップＳ３１の構文解析の際に、取得した
各ログメッセージにおいて区切り文字テーブル１８１に登録されている単独区切り文字１
８２が出現した回数をカウントする（ステップＳ３２）。なお、このとき区切り文字テー
ブル１８１の優先度フラグ１８４において、ペア区切り文字１８３の優先度が高いことを
示すフラグ「０」が格納されている場合は、ペア区切り文字１８３で囲まれている文字列
に出現する単独区切り文字１８２の回数はカウントしない。
【００３７】
例えば図２に示したログメッセージ１７１及び１７２においては、それぞれ、単独区切
り文字１８２のうち半角スペースの出現回数は４回であり、カンマの出現回数は０回であ
り、アンダーバーの出現回数は０回である。ログメッセージ１７３においては、単独区切
り文字１８２のうちの半角スペースの出現回数は４回であり、カンマの出現回数は０回で
あり、アンダーバーの出現回数は０回である。ログメッセージ１７４においては、単独区
切り文字１８２のうちの半角スペースの出現回数は１回であり、カンマの出現回数は３回
であり、アンダーバーの出現回数は０回である。
【００３８】
続いてメッセージ分割部１２０は、単独区切り文字１８２の出現回数に基づいて、単独
区切り文字１８２に含まれる各文字について、ログメッセージ間での出現回数の変化を示
す評価値を算出する（ステップＳ３３）。すなわちメッセージ分割部１２０は、単独区切
り文字１８２毎にログメッセージ間での出現回数の変化を比較する。
【００３９】
以下、ステップＳ３３で算出する評価値を重み付き変動値といい、ある単独区切り文字
ｘに対する重み付き変動値をＳ（ｘ）とする。以下に、重み付き変動値を算出する計算式
（１）を示す。
【００４０】
Ｓ（ｘ）＝（ｍａｘ−ｍｉｎ）／Ａ  ・・・（１）
ここで、ｍａｘは単独区切り文字ｘがログメッセージに出現する回数の最大値であり、
ｍｉｎは単独区切り文字ｘがログメッセージに出現する回数の出現回数の最小値である。
【００４１】
また、Ａはｍｉｎをキー値（０より大きい任意の整数値）で割った商に１を加えた整数
値である。キー値はあらかじめ設定された値であり、本実施形態では「５」とする。
【００４２】
例えば、図２に示すログメッセージ１７１〜１７４において単独区切り文字１８２のう
ちのカンマの重み付変動値は、Ｓ（，）＝（３−０）／１＝３である。同様に、半角スペ
ースの重み付変動値は、Ｓ（  ）＝（４−１）／２＝１．５であり、アンダーバーの重み
付変動値は、Ｓ（＿）＝０である。
【００４３】
メッセージ分割部１２０は、重み付き変動値Ｓ（ｘ）が最小となる単独区切り文字ｘを
抽出する（ステップＳ３４）。以下、ステップＳ３４で抽出された単独区切り文字ｘをメ
イン区切り文字という。ここでは、メイン区切り文字はＳ（，）＝３である「，」である
。
【００４４】
続いてメッセージ分割部１２０は、区切り文字テーブル１８１の優先度フラグ１８４に
基づいてペア区切り文字１８３と単独区切り文字１８２のどちらを優先するかを判定する
（ステップＳ３５）。
【００４５】
ペア区切り文字１８３を優先する場合（ステップＳ３５がＹｅｓ）、メッセージ分割部
１２０はステップＳ３４で抽出したメイン区切り文字および区切り文字テーブル１８１の
ペア区切り文字１８２に基づいてログメッセージを文字列に分割する（ステップＳ３６）
。このとき、ペア区切り文字１８３で囲まれた部分にメイン区切り文字が出現していても
分割は行わない。
【００４６】
単独区切り文字１８２を優先する場合（ステップＳ３５がＮｏ）、メッセージ分割部１
２０はステップＳ３４で抽出したメイン区切り文字のみでログメッセージを文字列に分割
する（ステップＳ３７）。以下、メッセージ分割処理結果の各文字列を「大項目」という
。
【００４７】
ステップＳ３６もしくはステップＳ３７の処理が行われると、メッセージ分割部１２０
はメッセージ分割処理を終了する。
【００４８】
ここで、図４の説明に戻る。メッセージ分割処理が終了すると、変換ルール生成部１３
０は分割処理結果の文字列に基づいて変換ルール生成処理を行う（ステップＳ４）。
【００４９】
図６を参照して、変換ルール生成部１３０による変換ルール生成処理の一例について説
明する。
【００５０】
まず、変換ルール生成部１３０は、メッセージ記憶部１７０に記憶されたログメッセー
ジ毎に、メッセージ分割処理結果の大項目に識別子（以下、「項目ＩＤ」と記載する）を
付与する（ステップＳ４１）。なお、ラフパターンでは、項目ＩＤはログメッセージに大
項目が出現する順に１，２，３，…と付与される。
【００５１】
変換ルール生成部１３０は、ログメッセージ毎に、項目ＩＤと、メイン区切り文字を交
互に並べたテキスト（以下、「ラフパターン」と記載する）を生成する（ステップＳ４２
）。例えば、項目ＩＤを１，２，３が付与された大項目を３つ備え、メイン区分文字がカ
ンマ記号であるログメッセージの場合、項目ラフパターンは「１，２，３」となる。同様
にして、メッセージ記憶部１７０に記憶された全てのログメッセージに対してラフパター
ンを生成する。
【００５２】
変換ルール生成部１３０は、メッセージ記憶部１７０に記憶された全てのログメッセー
ジのうち、グループを判定していないログメッセージのラフパターンから、項目ＩＤの最
終値が最小のラフパターンを抽出する（ステップＳ４３）。すなわち、変換ルール生成部
１３０は、大項目数が最小のログメッセージに含まれる大項目数を抽出する。
【００５３】
続いて、変換ルール生成部１３０は、メッセージ記憶部１７０に記憶された全てのログ
メッセージにおいて、文頭からステップＳ４３で抽出したラフパターンの項目ＩＤの最終
値に対応する大項目までが同じであるログメッセージ抽出する（ステップＳ４４）。
【００５４】
以下、ステップＳ４４で抽出されたログメッセージに含まれる、ステップＳ４３で抽出
された項目ＩＤ以降の全ての大項目をあわせて「メッセージ句」と定義する。メッセージ
句には複数の大項目が存在し得るが、以降これらの項目を「小項目」と再定義する。
【００５５】
変換ルール生成部１３０は抽出結果のログメッセージから１つを選択し、メッセージ句
が一致するかを示す一致度（以下、「スコア」と記載する）を算出し（ステップＳ４５）
、算出したスコアが０より大きいか否かを判定する（ステップＳ４６）
ここで、変換ルール生成部１３０が算出するスコアの一例について説明する。例えば、
変換ルール生成部１３０は、ユーザが設定したスコア算出ルールに基づいて小項目ごとに
スコアを算出する。スコア算出ルールの一例を以下に示す。なお、メッセージ句に属する
小項目毎のスコアの合計値がそのログメッセージの合計スコアとなる。
【００５６】
ルール：ログメッセージ間で対応する小項目の文字列間で共通部分文字列が存在（スコ
ア＝（共通部分文字列の文字数）／（小項目全体の文字数）
すなわち、スコアは０〜１の間の値を取り、ログメッセージ間で対応する小項目の文字
列が完全一致する場合はスコア＝１となる。
【００５７】
変換ルール生成部１３０は、選択したログメッセージの合計スコアが０より大きい場合
（ステップＳ４６がＹｅｓ）、すなわち選択したログメッセージのメッセージ句と、その
他のログメッセージのメッセージ句に共通文字列が存在する場合に、これらのログメッセ
ージを同一グループのログメッセージであると判定する（ステップＳ４７）。このとき、
変換ルール生成部１３０は、同一グループと判定されたログメッセージに同一のグループ
ＩＤを付与する。なお、最もスコアの大きいログメッセージ同士のみを同一のグループと
してもよい。
【００５８】
選択したログメッセージの合計スコアが０の場合（ステップＳ４６がＮｏ）、すなわち
選択したログメッセージのメッセージ句に他のログメッセージのメッセージ句との共通文
字列が存在しない場合、ステップＳ４５で選択したログメッセージを独立グループである
と判定する（ステップＳ４８）。このとき、ステップＳ４７と同様に、変換ルール生成部
１３０は、同一グループと判定されたログメッセージに同一のグループＩＤを付与する。
【００５９】
ステップＳ４７もしくはステップＳ４８でグループが判定されたログメッセージに対し
て、変換ルール生成部１３０は仮変換ルールを生成する（ステップＳ４９）。ここで、変
換ルール生成部１３０によって生成される仮変換ルールについて説明する。この仮変換ル
ールは、例えば当該グループに属するログメッセージに対応するラフパターンと、メイン
区切り文字とを対応付けた情報である。なお、仮変換ルールに含まれる共通文字列はステ
ップＳ４５で一致度を算出する際の検索結果を表示してもよいし、再度共通文字列の検索
を行なってもよい。
【００６０】
図７に仮変換ルールの一例を示す。仮変換ルールは図７に示すように、グループＩＤ１
４２と変換ルール１４３とメイン区切り文字１４４という項目を備える変換ルールテーブ
ル１４１で管理される。なお、仮変換ルールテーブル１４１は他にもログメッセージに含
まれる大項目数などを含んでも良い。
【００６１】
グループＩＤ１４１はステップＳ４７もしくはＳ４８において付与されるグループＩＤ
が格納される。変換ルール１４２には、このグループＩＤ１４１に属するログメッセージ
のラフパターンがされる。メイン区切り文字は、仮変換ルール生成対象のログメッセージ
群におけるメイン区切り文字が格納される。ここではメイン区切り文字はカンマ（，）で
ある。
【００６２】
ステップＳ４７もしくはステップＳ４８でグループが判定されていないログメッセージ
がステップＳ４４で抽出されたログメッセージ群に存在する場合（ステップＳ５０がＹｅ
ｓ）、変換ルール生成部１３０はステップＳ４５に戻り、別のログメッセージを選択して
処理を行う。このとき、選択したログメッセージと既にグループ番号が付与されたログメ
ッセージが同一グループと判定された場合、選択したログメッセージには、同一グループ
と判定されたログメッセージのグループ番号を付与する。
【００６３】
ステップＳ４４で抽出されたログメッセージすべてにステップＳ４７もしくはステップ
Ｓ４８でグループが判定され、仮変換ルールが生成された場合（ステップＳ５０がＮｏ）
、変換ルール生成部１３０は変換ルール生成処理を終了する。
【００６４】
作成された仮変換ルールに基づいて、変換ルール決定部１４０は変換ルール決定処理を
行う（ステップＳ５）。具体的には、変換ルール決定部１４０が表示部１９０を通してユ
ーザに仮変換ルールを提示すると、ユーザは入力部２００を操作して仮変換ルールの編集
を行なう。
【００６５】
入力部２００から仮変換ルールの編集終了が入力されると、変換ルール生成部１４０は
編集後の仮変換ルールを当該グループの変換ルールと決定する。以下、ユーザによる仮変
換ルールの編集について説明する。ユーザは、提示されたグループ毎の仮変換ルールを見
て、グループ分けが正しいかどうかを確認し適宜修正を加える。修正はＧＵＩを介して行
うことができる。このときの修正対象は例えばグループに属するログメッセージメッセー
ジの振り分け変更、区切り文字の箇所、種類の変更である。
【００６６】
また、ユーザは、入力部２００を介してログメッセージの文字列を項目ごとに「変数部
」と「ラベル部」とに分類する。変数部とはメソッド名やユーザＩＤなど、他のログメッ
セージにおいて意味が同じであってもメッセージ毎に文字列そのものが変わる可能性のあ
る部分である。例えば「ｕｓｅｒ００」と「ｕｓｅｒ０１」は別の文字列であるため、変
数部と見なす。
【００６７】
ラベル部は、出力される文字列が一意に定まる（変化しない）部分である。例えば「・
・・は、正常に開始しました」などである。
【００６８】
ユーザは変数部に、その項目の意味を踏まえ、適当な名前を付ける（前述例の場合は「
ユーザＩＤ」）。ユーザによって入力された項目名を「クラス」という。各ログメッセー
ジにおいて文字列を同一クラスに分類することによって、ログメッセージのグループをま
たいだ項目の管理が可能となる。なお、「日付」や「時刻」といった一般性の高いクラス
については、変換ルール決定部１４０に書式を相互変換できるようなロジックをあらかじ
め組み込んでおくことによって、例えば「０１／Ｊａｎ／２０１０」と「２０１０／１／
１」を同じ意味であるとユーザに表示するようにしてもよい。
【００６９】
図８にログメッセージ１７１〜１７４についての仮変換ルールのユーザ編集後の一例を
示す。本実施形態では、仮変換ルールは編集後、メッセージ同士をまたいだ解析に必要と
なる最低限のクラス数となり、カンマを区切り文字とした変換ルールとなっている。すな
わち、変換ルール決定部１５０が決定した変換ルールがこの変換ルールに対応付けられた
ログメッセージの共通フォーマットである。
【００７０】
変換ルール決定処理後、メッセージ分割部１２０は、メッセージ記憶部１７０に記憶さ
れた全てのログメッセージが取得され、変換ルールが生成されているか判定する（ステッ
プＳ６）。
【００７１】
メッセージ記憶部１７０に記憶された全てのログメッセージが取得されていない場合（
ステップＳ６がＮｏ）、ステップＳ１に戻り処理を繰り返す。
【００７２】
メッセージ記憶部１７０に記憶された全てのログメッセージが取得された場合（ステッ
プＳ６がＹｅｓ）、メッセージ変換部１５０は、変換ルール決定部１５０が決定した変換
ルールに基づいて同一グループに属する各ログメッセージを統一フォーマットのメッセー
ジに変換するメッセージ変換処理を行う（ステップＳ７）。図９乃至図１０を参照して本
実施形態のメッセージ変換処理について説明する。
【００７３】
メッセージ変換部１５０は、各ログメッセージに対応付けられた変換ルールを取得し（
ステップＳ７１）、ログメッセージから変換ルールの変数部と一致する文字列を抽出する
（ステップＳ７２）。メッセージ変換部１５０は、抽出結果の文字列を変換ルールに記載
された文字列の順番で並び替える（ステップＳ７３）。メッセージ変換部１５０は、変換
ルールのラベル部を変換ルールに記載された順にログメッセージに付与し（ステップＳ７
４）、メッセージ変換処理を終了する。
【００７４】
メッセージ変換処理後、表示部１９０が変更処理後のログメッセージを出力し（ステッ
プＳ８）、メッセージ変換装置１は処理を終了する
図１０にメッセージ変換処理後のログメッセージ１７１〜１７４の一例を示す。図１０
に示すように、メッセージ変換処理後のログメッセージ１７１〜１７４は、可読性は低下
しているが、全体のフォーマットが統一されたことによって機械的な解析の自由度が高く
なる。また、カンマで区切られた各フィールドの値に対する一致検索や出現バリエーショ
ンの把握、集計などを行うことによって、メッセージ形式にとらわれない同一の分析方法
で基本的な分析が可能となる。また、メッセージ変換部１５０は、変換ルール決定処理後
の変換ルールテーブルを記憶部（図示しない）に記憶してもよい。この場合、図４のステ
ップＳ１でログメッセージ取得部１１０はログメッセージを取得後、当該ログメッセージ
と既に記憶部に記憶された変換ルールに含まれる区切り文字の並びとラベル部の文字列と
が完全一致するか否かを判定し、完全一致する場合は、ステップＳ２乃至ステップＳ５の
処理を行わずに当該変換ルールに基づいてメッセージ変換処理を行うようにしてもよい。
【００７５】
上述のように、本実施形態のメッセージ変換装置１によると、異種のＯＳやアプリケー
ションが出力したメッセージを、解析の自由度を損ねることなく統一したフォーマットの
メッセージに変換することが可能である。また、本実施形態のメッセージ変換装置１によ
ると、変換を行わせるルールをあらかじめ作成する必要がなく、煩雑なルール記述の手間
を削減することが可能である。
【００７６】
以上、本発明の実施形態を説明したが、この実施形態は一例として提示したものであり
、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な
形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き
換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれ
るとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００７７】
１０…変換対象のログファイル、２０…変換後のログファイル、５０…区切り文字テーブ
ル、１１０…メッセージ入力部、１２０…メッセージ分割部、１３０…変換ルール生成部
、１４０…変換ルール決定部、１５０…メッセージ変換部、１６０…メッセージ出力部
、１７０…メッセージ記憶部、１８０…区切り文字記憶部、１９０…表示部、２００…入
力部
【図１】
2013214148.tif 000003
【図２】
2013214148.tif 000004
【図３】
2013214148.tif 000005
【図４】
2013214148.tif 000006
【図５】
2013214148.tif 000007
【図６】
2013214148.tif 000008
【図７】
2013214148.tif 000009
【図８】
2013214148.tif 000010
【図９】
2013214148.tif 000011
【図１０】
2013214148.tif 000012