(57)【要約】【課題】ログの構造が容易に理解できるような表示画面を生成すること。【解決手段】テキストで記述されたログの定義情報を取得する取得部と、前記取得部により取得されたログの定義情報に基づいて、前記ログの定義情報で定義されるログの構造を可視化して表示するための情報を生成する生成部と、を備えるログ構造可視化装置。【選択図】図１７
2018180979.tif 000002
【特許請求の範囲】
【請求項１】
テキストで記述されたログの定義情報を取得する取得部と、
前記取得部により取得されたログの定義情報に基づいて、前記ログの定義情報で定義されるログの構造を可視化して表示するための情報を生成する生成部と、
を備えるログ構造可視化装置。
【請求項２】
前記生成部は、前記ログの定義情報に含まれる特定の記号の位置を基準として、前記ログの構造を認識する、
請求項１記載のログ構造可視化装置。
【請求項３】
前記生成部は、更に、入力部に対してなされた入力操作に基づいて、前記生成した情報に対する追加または編集を行う、
請求項１または２記載のログ構造可視化装置。
【請求項４】
前記生成部は、更に、前記入力部に対して入力操作がなされるのに応じて、前記入力部に対してなされた入力操作と前記ログの定義情報とに基づいて自動的に補充可能な内容を、前記生成した情報に対して追加する、
請求項３記載のログ構造可視化装置。
【請求項５】
前記生成部は、前記取得部により取得されたログの定義情報に基づいて、前記ログの定義情報で定義されるログの種類を自動的に判別し、判別結果に基づいて、前記ログの構造を可視化して表示するための情報を生成する、
請求項１から４のうちいずれか１項記載のログ構造可視化装置。
【請求項６】
前記生成部は、入力部に対してなされた入力操作に基づいて、前記ログの定義情報で定義されるログの種類を判別し、判別結果に基づいて、前記ログの構造を可視化して表示するための情報を生成する、
請求項１から４のうちいずれか１項記載のログ構造可視化装置。
【請求項７】
前記生成部により生成された情報を、識別情報と共に記憶部に記憶させ、識別情報を指定したリクエストに応答して前記記憶部から情報を読み出して返信する情報管理部を更に備える、
請求項１から６のうちいずれか１項記載のログ構造可視化装置。
【請求項８】
コンピュータが、
テキストで記述されたログの定義情報を取得し、
前記取得したログの定義情報に基づいて、前記ログの定義情報で定義されるログの構造を可視化して表示するための情報を生成する、
ログ構造可視化方法。
【請求項９】
コンピュータに、
テキストで記述されたログの定義情報を取得させ、
前記取得させたログの定義情報に基づいて、前記ログの定義情報で定義されるログの構造を可視化して表示するための情報を生成させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ログ構造可視化装置、ログ構造可視化方法、およびプログラムに関する。
【背景技術】
【０００２】
ネットワーク上では、各種のログが収集される（例えば、特許文献１参照）。また、コンピュータ装置においては自身の行動ログが保存されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−１６３１４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ログは様々な構造を採り得る。ログの定義情報はテキストで記述されることがあるが、テキストで記述された定義情報は、人が視認したときに一目で構造が分かるようなものではない場合がある。
【０００５】
本発明は、このような事情を考慮してなされたものであり、ログの構造が容易に理解できるような表示画面を生成することを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一態様は、テキストで記述されたログの定義情報を取得する取得部と、前記取得部により取得されたログの定義情報に基づいて、前記ログの定義情報で定義されるログの構造を可視化して表示するための情報を生成する生成部と、を備えるログ構造可視化装置である。
【発明の効果】
【０００７】
本発明の一態様によれば、ログの構造が容易に理解できるような表示画面を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】ログ構造可視化装置の使用環境の一例を示す図である。
【図２】ログ１１０の一例を示す図である。
【図３】スキーマ定義情報１２０の一例を示す図である。
【図４】ログ構造可視化装置として機能する場合の端末装置１０の機能構成図である。
【図５】第２サーバ２００からダウンロードしたウェブページに基づく画面ＩＭの一例を示す図である。
【図６】画面ＩＭにおいて、ログの構造が可視化されて表示される様子を示す図である。
【図７】自動解析困難な要素を含むスキーマ定義情報の一例を示す図（その１）である。
【図８】図７に示すスキーマ定義情報に基づいて可視化情報生成部２２が出力する結果表示欄Ａ４の内容の一例を示す図である。
【図９】図７に示すスキーマ定義情報に対応するログの一例を示す図である。
【図１０】利用者によって追加・編集がなされる結果表示欄Ａ４の内容の一例を示す図（その１）である。
【図１１】自動解析困難な要素を含むスキーマ定義情報の一例を示す図（その２）である。
【図１２】図１１に示すスキーマ定義情報に対応するログの一例を示す図である。
【図１３】利用者によって追加・編集がなされる結果表示欄Ａ４の内容の一例を示す図（その２）である。
【図１４】自動解析困難な要素を含むスキーマ定義情報の一例を示す図（その３）である。
【図１５】図１４に示すスキーマ定義情報に対応するログの一例を示す図である。
【図１６】利用者によって追加・編集がなされる結果表示欄Ａ４の内容の一例を示す図（その３）である。
【図１７】ログ構造可視化装置により実行される処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照し、本発明のログ構造可視化装置、ログ構造可視化方法、およびプログラムの実施形態について説明する。ログ構造可視化装置は、プログラムが、プロセッサを有するコンピュータにインストールされることで実現される。ここで、インストールとは、不揮発性記憶装置に恒久的に保存されることのみならず、ウェブページに付随するプログラム（プラグイン）が端末装置にダウンロードされ、一時的に実行される状態も含むものとする。その他の態様として、ログ構造可視化装置は、クラウドサービスを提供するサーバ装置であってもよい。以下の説明では、プラグインをダウンロードした端末装置がログ構造可視化装置として動作するものとする。また、端末装置はキーボードやマウスを備えるパーソナルコンピュータであるものとするが、タッチパネルで操作されるスマートフォンやタブレット端末であってもよい。
【００１０】
図１は、ログ構造可視化装置の使用環境の一例を示す図である。図示するネットワークＮＷには、例えば、一以上の端末装置１０と、第１サーバ１００と、第２サーバ２００とが接続されている。ネットワークＮＷは、例えばＬＡＮ（Local Area Network）やＷＡＮ（Wide Area Network）、インターネットなどを含む。
【００１１】
端末装置１０は、利用者によって利用されるコンピュータ装置であり、プログラムを実行するための、ＣＰＵ（Central Processing Unit）その他のプロセッサを有する。
【００１２】
第１サーバ１００は、ログ１１０を記憶部に格納している。第１サーバ１００は、例えば、ウェブサーバであり、ユーザログやアクセスログなどをログ１１０として収集する。また、第１サーバ１００は、テキストで記述されたログ１１０の定義情報であるスキーマ定義情報１２０を記憶部に格納している。以下の説明において、「記憶部」と表記した場合、ＨＤＤ（Hard Disk Drive）、フラッシュメモリ、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）などの各種記憶装置のうち一部または全部により実現される記憶部を指すものとする。
【００１３】
図２は、ログ１１０の一例を示す図である。図２に示すログ１１０の第１行は、”userid”＝”a”、すなわち「a」というユーザＩＤのユーザについて、”timestamp”＝”1”、すなわち時刻「1」に更新されたデータであり、”value”＝”C++”、すなわち着目するデータが「C++」であることを示している。なお、図２に示すログ１１０は、各ユーザの好きなプログラム言語を収集したログである。
【００１４】
図３は、スキーマ定義情報１２０の一例を示す図である。スキーマ定義情報１２０は、テキストで記述される。図３に示すスキーマ定義情報１２０は、一つのスキーマ定義情報の名称を示す”namespace”、対象とするログ１１０の形式を示す”type”、スキーマの名称を示す”name”、ログ１１０の構造をテキスト列で示す”fields”などを定義している。
【００１５】
図１に戻り、第２サーバ２００は、プラグインを含むウェブページ２１０を提供する。また、第２サーバ２００は、プラグインが実行されることで作成されたログ構造情報２２０を記憶部に記憶させる。
【００１６】
図４は、ログ構造可視化装置として機能する場合の端末装置１０の機能構成図である。端末装置１０は、例えば、通信部１２と、入力部１４と、表示部１６と、ブラウザ機能部１８と、スキーマ定義情報取得部２０と、可視化情報生成部２２と、情報管理部２４と、記憶部２６とを備える。
【００１７】
通信部１２は、ＮＩＣ（Network Interface Card）や無線通信モジュールなどの通信インターフェースである。入力部１４は、キーボードやマウスなどを含む。表示部１６は、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electroluminescence）表示装置などである。
【００１８】
ブラウザ機能部１８は、記憶部２６に格納されたブラウザプログラムがプロセッサにより実行されることで実現される。ブラウザ機能部１８は、利用者によって指定されたリンク先からウェブページを取得し、ウェブページに基づく画面を表示部１６に表示させる。
【００１９】
スキーマ定義情報取得部２０、可視化情報生成部２２、および情報管理部２４は、ウェブページに付随するプラグインがプロセッサにより実行されることで実現される。以下、これらの機能について表示部１６により表示される画面を例示しながら説明する。
【００２０】
図５は、第２サーバ２００からダウンロードしたウェブページに基づく画面ＩＭの一例を示す図である。
【００２１】
画面ＩＭには、例えば、新規解析を指示するための入力要素として、スキーマ定義情報１２０の参照先を直接入力するための第１入力欄Ａ１、スキーマ定義情報１２０の参照先を選択可能に表示させるための第１参照指示スイッチＳ１、解析対象とするログの種類を指定するためのログ種類指定スイッチＳ２、および、解析実行を指示するための解析実行指示スイッチＳ３が含まれる。なお、ログの種類は、利用者によって指定されるのではなく、可視化情報生成部２２によって自動的に判別されてもよい。この場合、可視化情報生成部２２は、スキーマ定義情報１２０に含まれる特定の記号やテキスト列、或いはスキーマ定義情報またはログに埋め込まれているメタ情報に基づいて、ログの種類を自動的に判別する。
【００２２】
また、画面ＩＭには、例えば、既存結果の取得を指示するための入力要素として、解析結果の参照先を直接入力するための第２入力欄Ａ２、解析結果の参照先を選択可能に表示させるための第２参照指示スイッチＳ４、および、解析結果のインポートを指示するためのインポート指示スイッチＳ５が含まれる。
【００２３】
また、画面ＩＭには、テキストボックスＡ３、および、解析結果を表示する結果表示欄Ａ４が含まれる。なお、図５の状態は、新規解析または既存結果取得が行われる前の状態を示しているため、結果表示欄Ａ４は空欄となっている。
【００２４】
［新規解析］
構造を解析する対象のログ（以下、対象ログと称する）のスキーマ定義情報１２０は、（１）第１入力欄Ａ１に第１サーバ１００の格納先フォルダの識別情報が入力されることで、或いは（２）第１参照指示スイッチＳ１が操作されて表示された第１サーバ１００の格納先フォルダの一覧情報から一つのフォルダが選択されることで取得される。スキーマ定義情報取得部２０は、上記のいずれかの操作がなされると、第１サーバ１００に、該当するスキーマ定義情報１２０、およびそれに対応するログ１１０の一例を送信するようにリクエストする。スキーマ定義情報１２０が取得されると、取得されたログ１１０およびスキーマ定義情報１２０がテキストボックスＡ３に表示される。
【００２５】
なお、このような処理に代えて、コピー＆ペーストなどで直接、テキストボックスＡ３にログおよびスキーマ定義情報（第１サーバ１００から取得したものではないもの）が入力されてもよい。以下、これらを区別しないために、単にログ、或いはスキーマ定義情報と表記する。
【００２６】
テキストボックスＡ３にスキーマ定義情報が表示された状態で解析実行スイッチＳ３が操作されると、可視化情報生成部２２が、スキーマ定義情報に基づいて、スキーマ定義情報で定義されるログの構造を可視化して表示するための情報を生成する。具体的には、可視化情報生成部２２は、結果表示欄Ａ４の欄内に表示する情報を生成し、画面ＩＭに追加する。
【００２７】
図３に例示したスキーマ定義情報の場合、可視化情報生成部２２は、例えば、”fields”以下の部分に着目し、「{}」で囲まれた領域が一つの項目セットを示し、「,」の前後が項目名と種別を示し、「:」の前がラベルであり後が情報の実体であるといった既知の規則に従って、ログの構造を認識する。すなわち、可視化情報生成部２２は、「{}」、「,」、「:」といった特定の記号の位置を基準としてログの構造を認識する。
【００２８】
図６は、画面ＩＭにおいて、ログの構造が可視化されて表示される様子を示す図である。図示するように、可視化情報生成部２２は、スキーマ定義情報の”fields”に従属する部分から把握される”name”に対応する「フィールド名」と、”type”に対応する「型」とに分けて、ログを構造化して表示部１６に表示させる。型とは、例えば、string型（文字列型）か、long型（数値型）かを示す情報である。
【００２９】
［追加、編集］
図６における「フィールド説明」の項目は、可視化情報生成部２２によって自動的に生成されるのではなく、利用者によって入力されてよい。利用者は、テキストボックスＡ３をみながら結果表示欄Ａ４の各フィールドに該当する情報を入力する。また、図中、string(100)と示しているように、その項目の最大の長さが判明している場合、利用者によって小括弧およびその内容が追加されてよい。なお、図６以下の説明において、結果表示欄Ａ４の中で下線が付されているものは、可視化情報生成部２２によって自動的に生成されるのではなく、利用者によって入力される情報を示すものとする。
【００３０】
また、結果表示欄Ａ４の周辺には、結果保存指示スイッチＳ６などが設定される。結果保存スイッチＳ６が操作されると、情報管理部２４が、その時点で結果表示欄Ａ４に表示されている内容（随時ＲＡＭに保存されている）を、第２サーバ２００にアップロードする。このアップロードされた情報が、ログ構造情報２２０となる。
【００３１】
［既存結果取得］
図５に戻り、ログ構造情報２２０は、（１）第２入力欄Ａ２に第２サーバ２００の格納先フォルダの識別情報が入力されることで、或いは（２）第２参照指示スイッチＳ４が操作されて表示された第２サーバ２００の格納先フォルダの一覧情報から一つのフォルダが選択されることで取得される。情報管理部２４は、上記のいずれかの操作がなされると、第２サーバ２００に、該当するログ構造情報２２０を送信するようにリクエストする。ログ構造情報２２０が取得されると、ログ構造情報２２０が結果表示欄Ａ４に表示される。このような機能によって、ある利用者が編集したログ構造情報２２０を、他の利用者が閲覧することができる。
【００３２】
［応用的な例］
以下、更に応用的な例について説明する。図７は、自動解析困難な要素を含むスキーマ定義情報の一例を示す図（その１）である。これまで例示しているログの規則によれば、型のうちmapと表記されているものは、その中に更に下位の階層の項目を含むことを示している。図８は、図７に示すスキーマ定義情報に基づいて可視化情報生成部２２が出力する結果表示欄Ａ４の内容の一例を示す図である。mapについては、項目の最大数が規定されるため、中括弧内に最大数の入力を促すために、可視化情報生成部２２は、map{}という表示を表示部１６に行わせる。
【００３３】
図９は、図７に示すスキーマ定義情報に対応するログの一例を示す図である。このログを見ながら、利用者は、結果表示欄Ａ４への追加・編集を行う。図１０は、利用者によって追加・編集がなされる結果表示欄Ａ４の内容の一例を示す図（その１）である。まず、利用者は、valueの中にlikeとdislikeの二つの項目が存在することを認識し、map{}の中括弧内に「２」を入力する。すると、可視化情報生成部２２は、valueの下位階層を入力するための行を二つ、自動的に追加する。なお、行の追加を指示するためのスイッチが画面ＩＭに設けられてもよい。また、可視化情報生成部２２は、valueの中にlikeとdislikeの二つの項目が存在することを、valueの直後の{}内の”,”の存在などに基づいて自動的に判別し、「２」を自動的に表示すると共に、valueの下位階層を入力するための行を二つ、自動的に追加してもよい。
【００３４】
そして、利用者は、「２」以外の下線部分の情報を追加することで、結果表示欄Ａ４の内容を完成させる。なお、項目value.likeとvalue.dislikeの型については、スキーマ定義情報において上位のmapの型がstringであることが定義されているので、行が自動的に追加された段階で、可視化情報生成部２２により自動的に追加して表示する処理が行われる（後述する内容の自動補充）。
【００３５】
図１１は、自動解析困難な要素を含むスキーマ定義情報の一例を示す図（その２）である。また、図１２は、図１１に示すスキーマ定義情報に対応するログの一例を示す図である。このスキーマ定義情報は、mapの下位の階層に、更にmapを含むものである。この場合の結果表示欄Ａ４の追加・編集手順は、図１３に示すような流れで行われる。図１３は、利用者によって追加・編集がなされる結果表示欄Ａ４の内容の一例を示す図（その２）である。この場合、図１０を用いて説明したような作業を２回繰り返すことで、結果表示欄Ａ４が完成する。
【００３６】
図１４は、自動解析困難な要素を含むスキーマ定義情報の一例を示す図（その３）である。また、図１５は、図１４に示すスキーマ定義情報に対応するログの一例を示す図である。このスキーマ定義情報は、型にarrayを含んでいる。arrayとは、ラベルが異なる配列を複数含む構造を示している。この場合の結果表示欄Ａ４の追加・編集手順は、図１６に示すような流れで行われる。図１６は、利用者によって追加・編集がなされる結果表示欄Ａ４の内容の一例を示す図（その３）である。このログ構造は、「好き嫌いの対象物」が異なる複数のデータ系列を有しており、これがarrayによって表現されている。従って、array{}の中括弧内に数値が入力された場合には、一行のみ追加されてよい。
【００３７】
図１７は、ログ構造可視化装置により実行される処理の流れの一例を示すフローチャートである。まず、ログ構造可視化装置は、スキーマ定義情報とログを取得し（Ｓ１００）、テキストボックスに表示する（Ｓ１０２）。次に、ログ構造可視化装置は、解析実行が指示されたか否かを判定する（Ｓ１０４）。
【００３８】
解析実行が指示されると、ログ構造可視化装置は、スキーマ定義情報に基づいてログの構造を認識し（Ｓ１０６）、自動的に認識可能な範囲内で結果表示欄Ａ４の欄内にログの構造を示す情報を表示する（Ｓ１０８）。
【００３９】
次に、ログ構造可視化装置は、利用者によって追加・編集操作がなされたか否かを判定する（Ｓ１１０）。利用者によって追加・編集操作がなされた場合、ログ構造可視化装置は、追加・編集操作の内容を結果表示欄Ａ４に反映させ（Ｓ１１２）、行追加が必要であるか否かを判定する（Ｓ１１４）。行追加が必要である場合、ログ構造可視化装置は、行追加を行うと共に、内容の自動補充を行う（Ｓ１１６）。
【００４０】
Ｓ１１０またはＳ１１４で否定的な判定を得た場合、或いは、Ｓ１１６の処理を行った後、ログ構造可視化装置は、結果保存の指示がなされたか否かを判定する（Ｓ１２０）。ログ構造可視化装置は、結果保存の指示がなされていない場合はＳ１１０に処理を戻し、結果保存の指示がなされた場合はデータをアップロードして（Ｓ１２０）、本フローチャートの処理を終了する。
【００４１】
以上説明した第１実施形態のログ構造可視化装置、ログ構造可視化方法、またはプログラムによれば、テキストで記述されたログの定義情報であるスキーマ定義情報を取得するスキーマ定義情報取得部２０と、スキーマ定義情報取得部２０により取得されたスキーマ定義情報に基づいて、スキーマ定義情報で定義されるログの構造を可視化して表示するための情報を生成する可視化情報生成部２２と、を備えることにより、ログの構造が容易に理解できるような表示画面を生成することができる。
【００４２】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【００４３】
１０  端末装置
１２  通信部
１４  入力部
１６  表示部
１８  ブラウザ機能部
２０  スキーマ定義情報取得部
２２  可視化情報生成部
２４  情報管理部
２６  記憶部
１００  第１サーバ
２００  第２サーバ
【図１】
2018180979.tif 000003
【図２】
2018180979.tif 000004
【図３】
2018180979.tif 000005
【図４】
2018180979.tif 000006
【図５】
2018180979.tif 000007
【図６】
2018180979.tif 000008
【図７】
2018180979.tif 000009
【図８】
2018180979.tif 000010
【図９】
2018180979.tif 000011
【図１０】
2018180979.tif 000012
【図１１】
2018180979.tif 000013
【図１２】
2018180979.tif 000014
【図１３】
2018180979.tif 000015
【図１４】
2018180979.tif 000016
【図１５】
2018180979.tif 000017
【図１６】
2018180979.tif 000018
【図１７】
2018180979.tif 000019