(57)【要約】一連のグラフィカルユーザーインターフェイスによって、ユーザーは、構造化されていないログデータおよび構造化されたログデータの構文解析に対するルールを定義し、集成ルールを生成して１つまたは複数のログファイルに属する複数の行に渡るイベントを識別することができるようになる。第一のユーザーインターフェイスによって、ユーザーは、分析中のログファイルから行を選択し、ログファイル中にマッチする行を検索し、ログファイルを構文解析するためのルールを定義し、および選択された行のアトリビュートをトークン化することができるようになる。第二のユーザーインターフェイスによって、ユーザーは、メッセージを相互に関係させて複数の行に渡って起こるイベントを識別することができるようにするために、定義されたルールを集成することができるようになる。
2019530053.tif 000002
【特許請求の範囲】
【請求項１】
ログファイルをクエリーするためのユーザーインターフェイスにおいて、１つまたは複数のログファイルの複数の行を表示するステップと、
前記複数の表示された行の少なくとも第１および第２の選択を受信するステップと、
前記選択された行の各々に対して、
前記選択された行に関連付けられたルールネームを指定する入力を受信し、
前記選択された行の１つまたは複数のアトリビュートの選択を受信し、
前記選択された行の１つまたは複数の各アトリビュートの選択に応じて、
前記ユーザーインターフェイスに、前記選択されたアトリビュートに関連付けられるアトリビュートネーム入力フィールドを表示し、および
前記表示されたアトリビュートネーム入力フィールドの各々に対するアトリビュートネームを受信するステップと、
前記ログファイルを構文解析するために第１ルールおよび第２ルールを選択するステップであって、前記第１ルールは前記第１の選択された行に関連付けられた第１ルールネームにより示され、および前記第２ルールは前記第２の選択された行に関連付けられた第２ルールネームにより示されるステップと、
前記ユーザーインターフェイスを使用して、前記第１ルールに関連付けられた少なくとも１つのアトリビュートネームを前記第２ルールネームに関連付けることによって前記第１ルールおよび前記第２ルールをリンクするステップと、
前記リンクされた第１ルールおよび第２ルールから集成ルールを作成するステップと、
前記集成ルールを使用して前記ログファイルのクエリーを実行するステップと
を備えたことを特徴とする方法。
【請求項２】
前記ログファイルは、異なるアプリケーションからの１つまたは複数の行を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記ログファイルは、ｒａｉｌｓのアプリケーションから生成されることを特徴とする請求項１に記載の方法。
【請求項４】
前記ログファイルは、前記ルールを定義する前に生成される１つまたは複数の行を含むことを特徴とする請求項１に記載の方法。
【請求項５】
検索インターフェイスを表示するステップと、
前記検索インターフェイスに含まれる検索フィールドにおいて、前記選択された行に含まれる１つまたは複数の標準的な表現を指定する入力を受信するステップと、
前記検索インターフェイスにおいて、前記１つまたは複数の指定された標準的な表現を含む１つまたは複数の行を表示するステップと
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項６】
前記選択された行は、構造化されたデータを含むことを特徴とする請求項１に記載の方法。
【請求項７】
構造化されたデータを含む前記選択された行の各アトリビュートに一致するトークンを各アトリビュートネーム入力フィールドにおいて表示するステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項８】
各選択されたアトリビュートに異なる視覚的識別子を関連付けるステップをさらに備えたことを特徴とする請求項１に記載の方法。
【請求項９】
前記１つまたは複数の選択されたアトリビュートを含む１つまたは複数の行を表示するステップと、
前記１つまたは複数の選択されたアトリビュートを含む前記表示された１つまたは複数の行の各アトリビュートに異なる視覚的識別子を関連付けるステップと
をさらに備えたことを特徴とする請求項８に記載の方法。
【請求項１０】
前記第１ルールおよび前記第２ルールをリンクするステップは、
前記第１ルールの１つまたは複数のアトリビュートの選択を受信するステップと、
前記第２ルールに前記第１ルールの選択されたアトリビュートをリンクするステップと
を含むことを特徴とする請求項１に記載の方法。
【請求項１１】
実行可能なコンピュータープログラム命令を格納する非一時的なコンピューター読み取り可能な記録媒体であって、前期命令がプロセッサーにより実行されると前記プロセッサーは、
ログファイルをクエリーするためのユーザーインターフェイスにおいて、１つまたは複数のログファイルの複数の行を表示するステップと、
前記複数の表示された行の少なくとも第１および第２の選択を受信するステップと、
前記選択された行の各々に対して、
前記選択された行に関連付けられたルールネームを指定する入力を受信し、
前記選択された行の１つまたは複数のアトリビュートの選択を受信し、
前記選択された行の１つまたは複数の各アトリビュートの選択に応じて、
前記ユーザーインターフェイスに、前記選択されたアトリビュートに関連付けられるアトリビュートネーム入力フィールドを表示し、および
前記表示されたアトリビュートネーム入力フィールドの各々に対するアトリビュートネームを受信するステップと、
前記ログファイルを構文解析するために第１ルールおよび第２ルールを選択するステップであって、前記第１ルールは前記第１の選択された行に関連付けられた第１ルールネームにより示され、および前記第２ルールは前記第２の選択された行に関連付けられた第２ルールネームにより示されるステップと、
前記ユーザーインターフェイスを使用して、前記第１ルールに関連付けられた少なくとも１つのアトリビュートネームを前記第２ルールネームに関連付けることによって前記第１ルールおよび前記第２ルールをリンクするステップと、
前記リンクされた第１ルールおよび第２ルールから集成ルールを作成するステップと、
前記集成ルールを使用して前記ログファイルのクエリーを実行するステップと
を実行することを特徴とする非一時的なコンピューター読み取り可能な記録媒体。
【請求項１２】
前記ログファイルは、異なるアプリケーションからの１つまたは複数の行を含むことを特徴とする請求項１１に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１３】
前記ログファイルは、ｒａｉｌｓのアプリケーションから生成されることを特徴とする請求項１１に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１４】
前記ログファイルは、前記ルールを定義する前に生成される１つまたは複数の行を含むことを特徴とする請求項１１に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１５】
前期命令が前記プロセッサーにより実行されると前記プロセッサーは、
検索インターフェイスを表示するステップと、
前記検索インターフェイスに含まれる検索フィールドにおいて、前記選択された行に含まれる１つまたは複数の標準的な表現を指定する入力を受信するステップと、
前記検索インターフェイスにおいて、前記１つまたは複数の指定された標準的な表現を含む１つまたは複数の行を表示するステップと
をさらに実行することを特徴とする請求項１１に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１６】
前記選択された行は、構造化されたデータを含むことを特徴とする請求項１１に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１７】
前期命令が前記プロセッサーにより実行されると前記プロセッサーは、構造化されたデータを含む前記選択された行の各アトリビュートに一致するトークンを各アトリビュートネーム入力フィールドにおいて表示するステップをさらに実行することを特徴とする請求項１１に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１８】
前期命令が前記プロセッサーにより実行されると前記プロセッサーは、各選択されたアトリビュートに異なる視覚的識別子を関連付けるステップをさらに実行することを特徴とする請求項１１に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項１９】
前期命令が前記プロセッサーにより実行されると前記プロセッサーは、
前記１つまたは複数の選択されたアトリビュートを含む１つまたは複数の行を表示するステップと、
前記１つまたは複数の選択されたアトリビュートを含む前記表示された１つまたは複数の行の各アトリビュートに異なる視覚的識別子を関連付けるステップと
をさらに実行することを特徴とする請求項１８に記載の非一時的なコンピューター読み取り可能な記録媒体。
【請求項２０】
前期命令が前記プロセッサーにより実行されると前記プロセッサーが前記第１ルールおよび前記第２ルールをリンクするステップは、
前記第１ルールの１つまたは複数のアトリビュートの選択を受信するステップと、
前記第２ルールに前記第１ルールの選択されたアトリビュートをリンクするステップと
を含むことを特徴とする請求項１１に記載の非一時的なコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にコンピューターにより生成された記録の分析に関し、特にログメッセージをイベントの洞察に変換するユーザーインターフェイスに関する。
【背景技術】
【０００２】
分散型コンピューティングシステム内の多くのコンポーネントはログデータを生成する。分散型コンピューティングネットワークの数、大きさおよび複雑さが次第に大きくなるにつれて、ログファイルの量および種類もまた増大する。大量のログデータは分析するのを困難および冗長にさせる可能性がある。従来のロギングの結果は多くの場合限定的であり、理由としては、未処理のテキスト検索を使用するか予めフォーマットされたデータ構造を用いるかしてログデータを分析するからある。従って、ロギングの結果は、ログファイルを構文解析し、潜在的な問題を識別し、および複数のデータセットに対する、複数のアプリケーションに渡るエラーを発見することが、ますます困難になる。
【発明の概要】
【０００３】
本明細書の実施形態は、ユーザーに、複数の構文解析のルールを生成しリンクすることによって、構造化されていないログデータおよび構造化されたログデータの構文解析に対するルールを定義することができるようになるグラフィカルユーザーインターフェイスを詳述する。第一のユーザーインターフェイスにより、ユーザーは、分析中のログファイルから行を選択し、ログファイルにおいて行をマッチさせるために検索し、ログファイルを構文解析するためのルールを定義し、および選択された行のアトリビュートをトークン化することができるようになる。第二のユーザーインターフェイスにより、ユーザーは、定義されたルールをリンクして、集成ルールにすることができるようになる。集成ルールを、複数のログ行且つ／又はログファイルに含まれるメッセージを相互に関係させる１つまたは複数のログファイルに適用して、複数の行に渡って起こるイベントを識別することができる。
【図面の簡単な説明】
【０００４】
【図１】一実施形態にかかるログクエリーユーザーインターフェイスを実行するシステム環境を示す図である。
【図２】一実施形態にかかる図１のアプリケーションサーバー上において実行中のアプリケーションからログデータ情報を構文解析するために１つまたは複数のルールセットを定義するルール定義ユーザーインターフェイスを示すブロック図である。
【図３】一実施形態にかかる図２のルールセットに含めるためのルールを指定するルールユーザーインターフェイスを示すブロック図である。
【図４】一実施形態にかかる選択された行に類似する分析中のログファイル中の行を検索するユーザーインターフェイスを示す図である。
【図５】一実施形態にかかる図３の選択された行をトークン化するトークン化ユーザーインターフェイスを示す図である。
【図６】一実施形態にかかるイベント集成ユーザーインターフェイスを示す図である。
【図７Ａ】一実施形態にかかる集成イベントを指定する方法の一部を説明するフローチャートを示す図である。
【図７Ｂ】一実施形態にかかる集成イベントを指定する図７Ａの方法の別の部分を説明するフローチャートを示す図である。
【０００５】
図面は単に例証を目的として本開示の種々の実施形態を示す。当業者は以下の考察から、本明細書において示される構造および方法の代替の実施形態を、本明細書において詳述される開示の原則から逸脱することなしに用いることができることをすぐに認識するであろう。
【発明を実施するための形態】
【０００６】
図１は、一実施形態にかかるログクエリーユーザーインターフェイスを実行するシステム環境を例示する。１つの実施形態において、システム環境はサーバー１１０、クライアントデバイス１３０および監視サーバー１４０を含み、ネットワーク１５０を介して通信する。クライアントデバイス１３０は、ユーザー入力を受信する、同様にネットワーク経由によりデータを送信且つ／又は受信する性能がある１つまたは複数のコンピューティングデバイスを含む。１つの実施形態において、クライアントデバイス１３０は従来のコンピューターシステム、例えばデスクトップまたはラップトップコンピューターなどである。あるいはまた、クライアントデバイス１３０はコンピューターの機能性があるデバイス、例えばＰＤＡ（携帯情報端末）、携帯電話、スマートフォンまたは別の適切なデバイスなどとすることができる。クライアントデバイス１３０を、ネットワーク１５０経由により通信するよう構成する。１つの実施形態において、クライアントデバイス１３０は、クライアントデバイス１３０のユーザーがサーバー１１０とコミュニケーションをとることができるようになるアプリケーションを実行する。例えば、クライアントデバイス１３０はブラウザーアプリケーションを実行すると、クライアントデバイス１３０とサーバー１１０との相互作用をネットワーク１５０経由により可能にする。別の実施形態において、クライアントデバイス１３０は、固有のオペレーティングシステム、例えばＩＯＳ（登録商標）またはＡＮＤＲＯＩＤ（登録商標）などの上で動作するＡＰＩ（アプリケーションプログラミングインターフェイス）によって、サーバー１１０とコミュニケーションをとる。単一のクライアントデバイス１３０を図１において示すが、あらゆる台数のクライアントデバイス１３０がサーバー１１０とネットワーク１５０経由によりコミュニケーションをとることができる。
【０００７】
クライアントデバイス１３０を、有線且つ／又は無線の両方の通信システムを使用するネットワーク１５０経由によりサーバー１１０とコミュニケーションをとるよう構成するが、ローカルエリア且つ／又はワイドエリアネットワークのあらゆる組み合わせを含むことができる。１つの実施形態において、ネットワーク１５０は標準の通信技術且つ／又はプロトコルを使用する。例えば、ネットワーク１５０は、イーサネット（登録商標）、８０２．１１、ＷｉＭＡＸ(worldwide interoperability for microwave access)、３Ｇ、４Ｇ、ＣＤＭＡ（符号分割多元接続）、ＤＳＬ（デジタル加入者線）などのような技術を使用する通信リンクを含む。ネットワーク１５０経由による通信に使用されるネットワーキングプロトコルの例は、ＭＰＬＳ（マルチプロトコルラベルスイッチング）、ＴＣＰ／ＩＰ（伝送制御プロトコル／インターネットプロトコル）、ＨＴＴＰ（ハイパーテキスト転送プロトコル）、ＳＭＴＰ（簡易メール転送プロトコル）およびＦＴＰ（ファイル転送プロトコル）を含む。ネットワーク１５０を介して交換されるデータを、例えばＨＴＭＬ（ハイパーテキストマークアップ言語）またはＸＭＬ（拡張可能マークアップ言語）などのあらゆる適切なフォーマットを使用して表すことができる。いくつかの実施形態において、ネットワーク１５０の通信リンクの全部または一部を、あらゆる適切な１つまたは複数の技術を使用して暗号化することができる。
【０００８】
サーバー１１０はアプリケーション１１５およびエージェント１２０を操作する。アプリケーション１１５は、いろいろな種類の通信アプリケーション、モバイルアプリケーションまたはウェブアプリケーションのいずれかにすることができ、クライアントサーバーアプリケーションの演算のサブセットを表すことができる。サーバー１１０によって動かされるアプリケーション１１５は、クライアントサーバーアプリケーションのあらゆるサーバー側のプロセス、例えばデータベースコンテンツを呼び出して格納すること、クライアントデバイス１３０におけるレンダリングのユーザーインターフェイスを生成すること、クライアントデバイス１３０において要求される機能を果たすこと、およびコンテンツをクライアントデバイス１３０に（例えば、ネットワーク１５０を介して）伝達することなどを含む。１つの実施形態において、サーバー１１０は電子メールサーバーであり、電子メールメッセージをクライアントデバイス１３０に送付する。別の実装において、サーバー１１０はウェブサーバーであり、ウェブページを、ユーザーに表示するためのクライアントデバイス１３０に送付する。単一のサーバー１１０を図１において示すが、サーバー１１０は、アプリケーション１１５の機能を実行する１つまたは複数のコンピューティングデバイスを含むことができて、環境は、あらゆる個数のアプリケーション１１５を動かすあらゆる台数のサーバー１１０を含むことができる。
【０００９】
エージェント１２０はアプリケーション１１５の実行を、サーバー１１０上で動いているプロセス、アプリケーション１１５のレスポンスタイム、クライアントデバイス１３０におけるユーザーのアクティビティについての行動に関する状況、且つ／又は他の情報を含んで監視する。エージェント１２０は、サーバー１１０により実行される一組のソフトウェアであり、コードをアプリケーション１１５に導入することによって、アプリケーション１１５を監視する。
【００１０】
監視サーバー１４０は、アプリケーションサーバー１１０の実行を監視する。監視サーバー１４０は、アプリケーション監視サービスプロバイダーにより提供することができて、あらゆる台数のアプリケーションサーバーの実行を監視することができる。１つの実施形態において、監視サーバー１４０は当社が提供し、当社の製品を実行する。１つの実施形態において、監視サーバー１４０を、コンピューティングデバイスに作用するよう構成して、コンピューティングデバイスは特に、監視サーバー１４０の機能を果たす命令を実行するように構成された１つまたは複数の処理デバイスを含む。処理デバイスを、一連のグラフィカルユーザーインターフェイスを生成する命令を実行するよう構成して、一連のグラフィカルユーザーインターフェイスによりユーザーは、構造化されていないログデータおよび構造化されたログデータを構文解析するためのルールを定義することが可能になり、構文解析のルールを、１つまたは複数のログファイルに含まれる複数のログ行に適用する。
【００１１】
サーバー１１０を監視するために、監視サーバー１４０はエージェント１２０をサーバー１１０に提供して、エージェント１２０からデータを受信する。エージェント１２０により集められたデータを、表示用のユーザーインターフェイスにおいて、サーバー１１０のアドミニストレーターに提示することができる。
【００１２】
ログデータ構文解析ユーザーインターフェイス
図２は、一実施形態にかかるサーバー１１０上において実行中のアプリケーション１１５からログデータ情報を構文解析するための１つまたは複数のルールセットを定義するユーザーインターフェイス２００を例示するブロック図である。ルールセットは１つまたは複数のルールの一群であり、ログファイルに適用してログファイルを構文解析する。例えば、ルールセットは、サーバー１１０により受信されて入ってくるリクエストに関係する行を構文解析する複数のルールを含むことができる。図２に示すように、ユーザーインターフェイス２００は、ルールセット定義セクション２０５、ルールセット選択セクション２１０およびログファイル２０５の一部を表示するログ行表示セクション２１５を含む。１つの実施形態において、ユーザーインターフェイス２００を、監視サーバー１４０によって生成して、１つまたは複数のクライアントデバイス１３０にネットワーク１５０経由により表示するために提示する。
【００１３】
ユーザーインターフェイス２００にルールセット定義セクション２０５は含まれ、ログファイルを構文解析するために、ルールセットを指定するネームを受信するためのネーム入力フィールド２０５Ａ、およびルールセットネームをルールセット選択セクション２１０に追加するための追加ボタン２０５Ｂを含む。ルールセット選択セクション２１０は、ネーム入力フィールド２０５Ａにおいて受信された情報に対応するルールセットネームのリストを含む。ルールセットネームを、追加ボタン２０５Ｂが選択入力を受信するとすぐに反応して追加することができる。例えば、図２のルールセット選択セクションは４つのルール、対応する４つの異なるルールセットネーム、例えばネーム入力フィールド２０５において受信されたルールセット＿Ａ、ルールセット＿Ｂ、ルールセット＿Ｃおよびルールセット＿Ｄを示す。
【００１４】
ログ行表示セクション２１５は、１つまたは複数のアプリケーション、オペレーティングシステム、サーバー、またはログファイルを生成する性能がある分散ネットワーキングシステムの他のコンポーネントにより生成されるログファイルの一部２２０を含む。ログファイルは、分散ネットワーキングシステム内の種々のコンポーネント上で実行される動作の記録を含む。例示的な動作は、サーバー１１０へのアクセス要求についての情報、クライアントデバイスにより見られるページ、およびリクエストを処理している間に起こるエラーなどのイベントを含む。いくつかの場合において、ログファイルを自動的に、サーバー１１０上で動いているオペレーティングシステムまたはアプリケーションにより生成することができる。自動的に生成されるログを、サーバー１１０に含まれるメモリーに指定されるロケーションに書き込むことができる。ログファイルは特定のログファイルを生成したアプリケーションまたはオペレーティングシステムに基づいて指定されたフォーマットを有することができる。他の場合において、ログファイルフォーマットを、構造化されていないテキストまたは未処理のテキストとすることができる。監視サーバー１４０はログを、指定されたメモリーロケーションから直接的にまたはエージェント１２０経由により間接的に呼び出することができる。
【００１５】
図２に示すログファイルの一部２２０は、時系列に（すなわち、最も古いものから最も新しいものへとまたは最も新しいものから最も古いものへと）並べられた複数の行２２５を含む。１つの実装において、ログ行表示セクション２１５に表示されるログファイルの一部２２０は、アプリケーションサーバーを動作させているアプリケーションにより生成されるログファイルの動作中の末端に一致する。例えば、エージェント１２０により、コマンドｔａｉｌ−ｆ／ｐａｔｈ／ｔｈｅｆｉｌｅ．ｌｏｇは実行され、ストリームセクションにおいて表示し連続的に新しい行２２５として更新するために、アプリケーションサーバー１１０のメモリーコンポーネントに格納されるログファイルの最新の１０行をログに追加することを引き起こすことができる。他の実装において、ログファイルの一部２２０は、図２に示す行数より少なくまたはより多くを含むことができる。ストリームモードにおいて、ログファイルが現在実行中のアプリケーションから生成される限り、動作中のログファイルの末端についての表示は、プレイ／一時停止ボタン２３０が選択指示を受信するまで更新を続ける。表示されるログファイルの更新を再開するために、プレイ／一時停止ボタン２３０は、動作中の末端の配信が一時停止された後に別の選択指示を受信する。
【００１６】
配信をユーザーが一時停止することができて、ユーザーインターフェイス２００に、ログファイルを構文解析するよう指定されるルールセットに含めるためのルールを指定する行２２５の選択指示を受信することができるようにする。配信が一時停止されると、行２２５の選択指示を、ログ行表示セクション２１５経由により受信して、ルールセットに含めるためのルールを指定することができる。１つの実施形態において、行２２５の選択指示は、選択された行２３５の一部をクリックすること、ポインターを選択された行２３５の一部に移動させること、またはログ行表示セクション２１５経由により行の選択を指示する他の手段を含むことができる。
【００１７】
図３は、一実施形態にかかる図２のルールセットに含めるためのルールを指定するルールユーザーインターフェイス３００を例示するブロック図である。ユーザーインターフェイス３００を、ログ行表示セクション２１５から行２２５の選択指示を受信するとすぐに反応する監視サーバー１４０が生成する。選択された行２３５に一致するルールネームを指定するユーザーインターフェイス３００は、選択された行２３５を表示する選択フィールド３０５、および選択された行２３５についての情報を受信する入力ルールネームフィールド３１０を含む。選択された行２３５についての情報は行２３５に関連付けられたログイベントの型を詳述することができる。ログイベントの例示的な型は、ルート、コントローラー、レスポンスなどを含むことができる。例えば、選択された行２３５はサーバー１１０に入ってくるリクエストの第１ステップを詳述することができて、ログイベントの「ルート」型に一致する。「次へ」ボタン３２０の選択指示を受信するとすぐに反応して、ユーザーインターフェイス３００は検索ユーザーインターフェイス４００に置き換えられる。
【００１８】
図４は、一実施形態にかかる図３において選択された行に類似する行を検索するユーザーインターフェイス４００を例示するブロック図である。ユーザーインターフェイス４００は、選択された行２３５を詳述する情報を受信するとすぐに反応する監視サーバー１４０により生成される。ユーザーインターフェイス４００は、選択された行２３５を表示する選択フィールド４０５、選択された行２３５に類似する、ログファイル中のメッセージを詳述する情報を受信する検索フィールド４１０、および選択された行２３５にマッチする行４３０を表示する検索確認表示エリア４２０を含む。
【００１９】
図４に示す一実施形態において、選択された行２３５に類似する行を検索するために、検索フィールド４１０は標準的な表現としてフォーマットを設定する情報を受信する。標準的な表現は検索パターンを定義する一連の特徴を含むことができる。例えば、図４に示すように、標準的な表現「Ｓｔａｒｔｅｄ  ＼ｗ＋」は、選択された行２３５に類似するログファイルから行を呼び出す。検索フィールド４１０において情報を受信するとすぐに反応して、監視サーバー１４０は、ログファイルをフィルタリングして、構文解析するために検索フィールド４１０において指定された情報にマッチする特徴を有する他の行を識別する。フィルタリングされた結果４３０を検索確認表示エリア４２０に表示して、検索フィールド４１０により受信された検索情報が、選択された行２３５に類似する、ログファイルに含まれる行を識別していることを視覚的に確認する。「次へ」ボタン４４０の選択指示を受信するとすぐに反応して、検索ユーザーインターフェイス４００はトークン化ユーザーインターフェイス５００に置き換えられる。
【００２０】
図５は、一実施形態にかかる図３において選択された行をトークン化するトークン化ユーザーインターフェイス５００を例示するブロック図である。トークン化ユーザーインターフェイス５００によって、選択された行２３５の異なる部分を、ユーザーが選択できるようになり、さらにトークン化ユーザーインターフェイス５００内のスタンドアローンのアトリビュートとして自動的に提示する。トークン化ユーザーインターフェイス５００は特定のルールを識別するルールネーム５０５（図３のインターフェイスにおいて指定される）、選択フィールド５１０、行アトリビュートトークン化セクション５１５およびマッチング行表示エリア５７０を含む。
【００２１】
選択フィールド５１０は選択された行２３５を表示して、選択された行２３５の１つまたは複数のアトリビュートを選択し各選択されたアトリビュートをネームに関連付けるインターフェイスを提供する。１つの実施形態において、選択された行２３５のアトリビュートを、ポインター、例えばカーソルまたはマウスアイコンを動かすことによって、少なくとも指定された時間間隔の間にアトリビュートを介して選択することができる。別の実装において、選択を、カーソル、アイコンまたはアトリビュートを介して他の視覚的なポインターを動かすこと、およびマウスまたは同様の入力デバイスをクリックすることによって示すことができる。１つの実施形態において、監視サーバー１４０により、行が選択されると生成される語彙的な文法プログラムが用いられ、選択された行をキー／値のコンポーネントにばらすことができる。文法プログラムは、ログファイルに含まれる行毎に評価されて、キー／値のコンポーネントを含む行を出力する。別の実施形態において、クライアントデバイス１３０は、単独でまたは監視サーバー１４０と連係して文法プログラムを用いることができる。
【００２２】
選択された行２３５のアトリビュートの選択指示を受信するとすぐに反応して、監視サーバー１４０はアトリビュートトークン化セクション５１５におけるアトリビュートネームを受信するために提出された入力のすぐそばに、各選択されたアトリビュートを表示する。アトリビュートトークン化セクション５１５は１つまたは複数の列を含み、各列は選択されたアトリビュートおよびネームをアトリビュートに関連付けるネームフィールドを含んでいる。例えば、図５に示すように、行２３５の選択されたコンポーネントは「ＧＥＴ」５２０、「／ｓｔａｔｕｓ／ｃｈｅｃｋ」５３０、「１０．１．０．１２」５４０、「２０１５−１０−２０」５３５および「１１：１３：２１」５４０を含む。アトリビュート「ＧＥＴ」が選択されると、一致するアトリビュート「ＧＥＴ」５２０を、アトリビュート「ＧＥＴ」５２０のネームを受信する入力フィールド５４５と一緒に、トークン化セクション５１５に追加する。同様の処理を各選択されたアトリビュートに対して繰り返し、各選択はアトリビュートトークン化セクション５１５に新しい列を作成する。各新しい列は、選択されたアトリビュートおよびアトリビュートネームを受信する入力フィールドを含む。選択された行２３５にマッチする行を検索確認表示エリア５７０に表示して、アトリビュートの抽出が分析中のログファイルに含まれる類似した行に作用することを視覚的に確認する。別の実施形態において、選択された行２３５は構造化されたデータを含むことができ、この場合において、トークン化ユーザーインターフェイス５００は自動的にアトリビュートを選択し、トークン化を実行する。
【００２３】
１つの実施形態において、トークン化ユーザーインターフェイス５００のユーザビリティを改善するために、各選択されたアトリビュートを、一意的な視覚的識別子にコード化する。例示的な視覚的識別子は、フォントの色、テキストの上にあるハイライトされた色、または各選択されたアトリビュートを別のひとつと視覚的に区別するインジケーターの他の種類を含む。一意的な視覚的識別子を、選択された行２３５の別個のアトリビュート、アトリビュートネーム、入力フィールド、および検索確認エリア５７０に含まれるマッチする行のアトリビュートの上に配置することができる。あらかじめ考えたルール定義およびアトリビュートトークン化処理を、ルールセットに含まれる各ルールに繰り返すことができる。例えば、処理は、リクエストのライフサイクルの各ステップに繰り返されて、「コントロール」、「パラメーター」および「レスポンス」のルールを含むことがきる。
【００２４】
１つの実施形態において、あらかじめ考えたアトリビュートトークン化処理を、「この履歴に実行」選択ボックス５７５の選択指示を受信するとすぐに反応して、履歴のログデータに適用することができる。監視サーバー１４０は、終了ボタン５８０の選択指示を受信するとすぐに反応して、トークン化ユーザーインターフェイス５００を閉じることができる。
【００２５】
トークン化された行をログクエリーインターフェイスが使用して、選択されたアトリビュートに基づいてログデータ上のクエリーを実行することができる。しかしながら、いくつかの状況において、データを複数の行に広げることができる。例えば、ログクエリーを実行して、ＩＰ（インターネットプロトコル）アドレスを含む電子メールアドレスを横切ることによって複数の国からログインしている誰かを探すことは、複数の行からのデータを使用する。そのような状況において、ロギングシステムが特定のイベントを識別するために複数の行からメッセージを相互に関係させる性能は大いに有益である。ルール集成ユーザーインターフェイス６００は、複数のログルールをスタンドアローンのイベントと相互に関係させるインターフェイスを提供する。１つの実施形態において、監視サーバー１４０は、指定された一連のルールが発生するとストリーミングデータイベントを合わせてリンクし、新しいイベントを生成するジャバスクリプトプログラムを構築する。例えば、監視サーバー１４０を、リクエストのライフサイクル例えばルート、コントローラー、パラメーターおよびレスポンスなどに対してルールを相互に関係させ、各ルールにより生成されたデータを、新しいイベントに結合するために構成することができる。
【００２６】
図６は、一実施形態にかかるイベント集成ユーザーインターフェイス６００を例示するブロック図である。図６に示す実施形態において、集成ユーザーインターフェイス６００によりユーザーは、あらかじめ定義されたルールのリストから選択し、選択したルールを合わせてリンクして集成イベントを形成することができるようになる。図５において説明したように、あらかじめ定義されたルールを、コンテンツまたはログ行のあらゆるアトリビュートを使用して定義することができる。したがって、集成ユーザーインターフェイス６００は、１つまたは複数のログファイルを、１つまたは複数のログ行に含まれるコンテンツの項目且つ／又はアトリビュートの種々の組み合わせにより合わせてリンクされるルールの一意的な組み合わせを作成することによって、広く検索することができるようにする。
【００２７】
図６に示す実施形態において、ルール集成ユーザーインターフェイス６００は、「ストリーム」、「プログラム名」、「ルール」、「集成イベント」および「出力」とラベル表示された複数の列を含む。ストリーム６０５の列は評価中のログファイルに関連付けられたアプリケーションを指定するフィールド６３０を含む。一例として、ストリーム６０５の列はアプリケーションサーバー１１０上のアクセス制御アプリケーション演算の認証サービスを指定するフィールド６３０を含む。プログラム名６１０の列はアプリケーションフォーマットを指定するフィールド６３５を含む。一例として、アプリケーションフォーマットは、ルビーオンレイルズまたは本明細書において呼ばれるＲａｉｌｓであるとすることができる。ルール６１５の列は、１つまたは複数のルールをリストにする１つまたは複数のフィールド６４５を含む。１つまたは複数のフィールド６４５は、ルールユーザーインターフェイス３００において指定されるルールに一致するルールを指定する。例えば、図６に示すように、ルール６１５の列における１つまたは複数のフィールドは、ルートルールを指定する第１フィールド６５０、コントローラールールを指定する第２フィールド６６５、パラメータールールを指定する第３フィールド６７０、およびレスポンスルールを指定する第４フィールド６７５を含む。
【００２８】
各ルールフィールドを、ルール６１５の列において指定されるルールフィールドのリストから選択し、集成イベント６２０の列の位置にドラッグして、集成ルールを作成することができる。例えば、図６に示すように、ルール６１５の列からルートルールフィールド６５０を選択して、集成イベント６２０の列に移動することができる。処理を、コントローラールールフィールド６６５、パラメータールールフィールド６７０およびレスポンスルールフィールド６７５を集成イベントの列６２０に移動することによって、レスポンスのライフサイクルに関連付けられた残りのルールに対して繰り返す。いったん集成イベント６２０の列に移動されると、リンクインジケーター６８５が移動されたルールフィールドの下に現れて、移動されたルールフィールドを、移動されたルールフィールドのすぐ下にある別の移動されたルールフィールドにリンクさせることが可能になる。図６に示す例において、集成イベント６２０の列においてリストにされたルールフィールドの集成により、監視サーバー１４０に、ルート、コントローラー、パラメーターおよびレスポンスルールを合わせて相互に関係させて、スタンドアローンのイベントを作成させる。別の方法だと、監視サーバー１４０が、ルートルールに続いて、コントローラールール、パラメータールールおよびレスポンスルールを確認すると、監視サーバー１４０はルールによって生成されたすべてのデータをスタンドアローンのイベントに結合する。１つの実施形態において、集成イベント６２０の列においてリストにされたルールフィールドの集成により、クライアントデバイス１４０に、選択されたルールを合わせて相互に関係させて、スタンドアローンのイベントを作成させる。他の実施形態において、クライアントデバイス１３０および監視サーバー１４０は、選択されたルールを集成してスタンドアローンのイベントを作成するために連携して動作することができる。
【００２９】
１つの実施形態において、ステップ間のリンクを、それぞれのルールに関連付けられたリンクインジケーター６８５の選択指示を受信するとすぐに反応して、さらに修正することができる。リンクインジケーター６８５の選択はアトリビュートフィールド６８０Ａ、条件フィールド６８０Ｂおよび結果フィールド６８０Ｃを生成する。アトリビュートフィールド６８０Ａは、アトリビュートフィールド６８０Ａの選択指示を受信するとすぐに反応して、それぞれのルールに対するアトリビュートのドロップダウン選択リストを提示することができる。ドロップダウンリストに含まれるアトリビュートは、図５に関して上述したようなトークン化処理の間に指定されるアトリビュートに一致する。条件フィールド６８０Ｂは、アトリビュートフィールド６８０Ａにおいて選択されたアトリビュートに関連付けられた条件のドロップダウン選択リストを提示する。例えば、「ｕｒｌ」アトリビュートがアトリビュートフィールド６８０Ａにおいてルートルールに対して選択されると、条件フィールド６８０Ｂのドロップダウンリストに含まれる条件は、「等しい」、「等しくない」、「含む」、「含まない」、「設定されている」、「設定されてない」および「アトリビュートである」を含む。結果フィールド６８０Ｃは、アトリビュートフィールド６８０Ａおよび条件フィールド６８０Ｂに類似した方法によってドロップダウン選択リストを含むことができる。結果フィールド６８０Ｃに含まれる結果は、アトリビュートフィールド６８０Ａおよび条件フィールド６８０Ｂにおいて作成された選択に依存する。例えば、「ｕｒｌ」アトリビュートがルートルール用のアトリビュートフィールド６８０Ａにおいて選択され「含む」が条件フィールド６８０Ｂの条件に対して選択されると、結果「ログイン」を結果フィールド６８０Ｃに対して選択することができる。
【００３０】
集成ルールの生成に関連付けられた結果イベントに、出力６２５の列におけるネームイベントフィールド６５５に集成イベントを詳述する情報を受信することによって、名前を付けることができる。集成ルールの配置を、保存ボタン６９０の選択を受信するとすぐに反応して、集成イベントユーザーインターフェイス６００経由により保存することができる。
【００３１】
図７Ａは、一実施形態にかかる集成イベントを指定する方法の一部を詳述するフローチャートを例示する。１つの実施形態において、監視サーバー１４０は分析中の１つまたは複数のログファイルの選択を受信する（ステップ７０２）。選択されたログファイルを、同一のまたは異なるコンピューティングデバイス上で動作している単一のアプリケーションまたは複数のアプリケーションに関連付けることができる。１つの実施形態において、監視サーバー１４０は、アプリケーションサーバー１１０上で動作しているエージェント１２０を使用して、サーバー１１０から選択されたログファイルを呼び出す。別の実施形態において、監視サーバー１４０は、ネットワーク１５０経由によりアプリケーション１１５とコミュニケーションをとることによって、選択されたログファイルを呼び出す。
【００３２】
監視サーバー１４０は、分析中の選択されたログファイルに対してルールセットユーザーインターフェイス２００を生成する。ルールセットユーザーインターフェイス２００は、ログファイルに含まれる行を構文解析するために、１つまたは複数のルールを含む新しいルールセットを追加するための入力フィールドと一緒に、分析中のログファイルを詳述する情報に対する指示を含む。分析の間に、ルールセットユーザーインターフェイス２００は、新しいルールセットを追加する選択指示と一緒に、新しいルールセットを追加する入力フィールドに新しいルールセット（例えば、ネーム）を詳述する情報を受信する。指示は、入力フィールドに隣接するプラスボタンを選択する指示を含むことができる。新しいルールセットを追加する選択指示を受信するとすぐに反応して、新しいルールセットを詳述する情報を、ルールセットユーザーインターフェイスのルールセット選択リストに追加する。
【００３３】
監視サーバー１４０は、クライアントデバイス１３０に表示するために、ルールセットユーザーインターフェイス２００の行表示セクションにおいて分析中のログファイルから複数の行を提示する（ステップ７０４）。１つの実施形態において、複数の行は、分析中の１つまたは複数のログファイルからの一部の行に一致する。一部の行は、１つまたは複数のアプリケーション１１５からのストリーム（すなわち、現在実行中）に一致することもでき、または既に実行されたアプリケーションのログからの行に一致することもできる。
【００３４】
１つの実施形態において、行表示セクションからの行の選択指示を受信する（ステップ７０６）。例示的な選択指示は、行の一部をクリックすること、キーボードからの入力経由により行を選択すること、またはルール定義ユーザーインターフェイス２００とコミュニケーションをとるために入力デバイスを使用する他の選択方法を含む。
【００３５】
行の選択を受信するとすぐに反応して、監視サーバー１４０は、選択された行２３５に関連付けられたルールを詳述する情報を受信する（ステップ７０８）ためにダイアログボックス３００を生成する。例示的な情報は、選択された行２３５に一致するログイベントの型を詳述する情報、または選択された行２３５を識別する他の情報を含む。１つの実施形態において、監視サーバー１４０は、ユーザーに、選択された行２３５の行にマッチするアトリビュートを含む、分析中のログファイルから追加された行を検索することを可能にする検索ユーザーインターフェイス４００を生成する。検索ユーザーインターフェイス４００は、選択された行２３５における、さらに分析中のログファイルに含まれる他の行に含まれる可能性があるアトリビュートについての情報を受信する検索フィールドを含む。監視サーバー１４０は、検索ユーザーインターフェイス４００経由により検索フィールドにおける情報（例えば、標準的な表現）を受信し、受信された情報を使用する分析に従ってログファイルをフィルタリングしてマッチするまたは類似する行を識別する。類似するまたはマッチすると決定された行を、検索ユーザーインターフェイス４００内の検索確認表示エリアに表示する。
【００３６】
監視サーバー１４０は、クライアントデバイス１３０のディスプレイに、選択された行２３５をトークン化するトークン化ユーザーインターフェイス５００を提供する。監視サーバー１４０は、トークン化ユーザーインターフェイス５００の選択フィールドに表示するために提示された、選択された行２３５の１つまたは複数のアトリビュートについての選択指示を受信する（ステップ７１０）。選択された行の各アトリビュートの選択にすぐに反応して、監視サーバー１４０は、トークン化ユーザーインターフェイス５００に、アトリビュートトークン化セクションの選択されたアトリビュートに名前を付けるための入力フィールドと一緒に、選択されたアトリビュートを表示する（ステップ７１２）。監視サーバー１４０は、検索確認表示エリア４２０において、表示された選択された行にログをマッチさせる分析に従ってログファイルからの行を表示して、アトリビュートの抽出が類似した行４３０に作用することを視覚的に確認する。
【００３７】
１つの実施形態において、選択された行２３５の各アトリビュートの選択にすぐに反応して、監視サーバー１４０は、視覚的識別子に、選択フィールドに表示された各選択されたアトリビュートを適用する。さらに監視サーバー１４０は、視覚的識別子に、トークン化セクションの入力フィールドに隣接するアトリビュートネームを適用して、検索確認エリアに表示される行の一致するアトリビュートを適用する。
【００３８】
監視サーバー１４０は、トークン化ユーザーインターフェイス５００のトークン化セクションにおいてリストにされた１つまたは複数のアトリビュートに関連付けられた、入力フィールドのアトリビュートネームを受信する（ステップ７１４）。１つの実施形態において、監視サーバー１４０は、選択された行が構造化されたデータに関連付けられて自動的にアトリビュートを選択することを決定し、トークン化を実行し、トークン化ユーザーインターフェイス５００にトークン化された結果を決定する。
【００３９】
ルールセットに含めるために追加されるルールを、ルールセットが完了するまで、ステップ７０６〜７１４を繰り返すことによって定義することができる（ステップ７１５）。さらにこのことは、分析中の１つまたは複数のログファイルに属する複数の行に渡って発生するイベントを識別するために集成することができる複数のルールを生成する。図７Ｂは、一実施形態にかかる集成イベントを指定する図７Ａの方法の残り部分を詳述するフローチャートを例示する。監視サーバー１４０は、イベント集成ユーザーインターフェイス６００に含まれるルールのリストから、少なくとも２つのルール、第１ルールおよび第２ルールの選択指示を受信する（ステップ７１６）。第１ルールの選択にすぐに反応して、監視サーバー１４０は、ルールリンクインジケーターと一緒に第１ルールの名前を表示するフィールドを、イベント集成ユーザーインターフェイス６００の集成イベントの列に動かす。同様に、第２ルールの選択にすぐに反応して、監視サーバー１４０は、ルールリンクインジケーターと一緒に第２ルールの名前を表示するフィールドを、集成イベントの列の第１ルールに一致するフィールドの下に動かす。いくつかの実施形態において、第１ルールのリンクインジケーターの選択指示を受信して、アトリビュートフィールド、条件フィールド、および第１ルールのネーム入力フィールドの下に表示する結果フィールドの生成を引き起こす。１つまたは複数のアトリビュートフィールド、条件フィールドおよび結果フィールドは、選択オプションのドロップダウンリストを表示して、図６に関して上述したように、どのように第１ルールを第２ルールにリンクさせることができるかをさらに指定することができる。
【００４０】
監視サーバー１４０は、選択された条件に従って第１ルールを第２ルールにリンクさせて（ステップ７１８）、集成ルールを作成する（ステップ７２０）。集成ルールを使って、監視サーバー１４０を、分析中の１つまたは複数のログファイルについてのクエリーを実行するために使用することができる（ステップ７２２）。ステップ７０６〜７１４に従って定義されたルール（すなわち、既に定義されたルール）を、初めに定義されたどれかのルールから、異なるログファイルに適用することができる。既に定義されたルールを、別個にまたは図７Ｂに従って指定される集成ルールのように適用することができる。
【００４１】
本開示の実施形態についての上述の説明は例示の目的に対して提示されていて、すなわち網羅的であること又は本開示を開示されたとおりの形態に限定することを意図しない。当業者は上記の開示に照らして多くの変更および変形が可能であることを認識することができる。
【００４２】
本説明のいくつかの部分は情報の動作のアルゴリズムおよび記号表現の観点から開示の実施形態を説明する。アルゴリズム的記述および表現はデータ処理技術の当業者によって研究の要旨を他の当業者に効果的に伝えるために一般的に使用される。動作は機能的に、計算的に又は論理的に説明されるが、コンピュータープログラム若しくは等価の電気回路、マイクロコード又は同類のものによって実装されることが理解される。加えて、一般性を失わずに、動作の配置をモジュールということが時折さらに便利なことがわかっている。説明された動作および関連したモジュールを、ソフトウェア、ファームウェア、ハードウェア又はそれらのあらゆる組み合わせにおいて具現することができる。
【００４３】
本明細書において説明されるステップ、動作又はプロセスはどれでも、１つ又は複数のハードウェア若しくはソフトウェアモジュールによって単独で又は他のデバイスとの組み合わせにおいて実行又は実装することができる。一実施形態においてソフトウェアモジュールは、コンピュータープログラムコードを有するコンピューター読み取り可能な記録媒体を含むコンピュータープログラム製品に実装され、説明されたステップ、動作若しくはプロセスのいずれか又はすべてを実行するコンピュータープロセッサによって実行することができる。
【００４４】
さらに、本開示の実施形態は本明細書の動作を実行する装置に関係することができる。装置は必要な目的のために特別に構築することができ且つ／又はコンピューターに格納されたコンピュータープログラムによって選択的に起動される又は再構成される汎用コンピューティングデバイスを含むことができる。このようなコンピュータープログラムは有形のコンピューター読み取り可能なストレージ媒体又は電子命令を格納するのに適したあらゆる種類の媒体に格納され、コンピュータシステムバスに結合することができる。加えて、本明細書において言及されるあらゆるコンピューティングシステムは単一のプロセッサーを含むことができ、又は計算能力を高めるようマルチプロセッサーの設計を用いる構成であるものとすることができる。
【００４５】
さらに、本開示の実施形態は搬送波において具現されるコンピューターデータ信号に関係することができ、ここで、コンピューターデータ信号はコンピュータープログラム製品又は本明細書において説明される他のデータの組み合わせについてのあらゆる実施形態を含む。コンピューターデータ信号は有形の媒体又は搬送波において提示されおよび変更されあるいはまた搬送波に符号化されて、実在し、あらゆる適した伝送方法に従って送信される。
【００４６】
最後に、本明細書において使用される言語は主として読みやすさ又は教授の目的に対して選択されていて、発明の主題を叙述および制限するために選択されない。故に、本開示の範囲は詳細な説明によるのではなく、本明細書に基づく適用に関するあらゆる特許請求の範囲によって制限されることを意図する。従って、本開示の実施形態の開示は発明の範囲を例証することを意図し発明の範囲を制限しない。
【図１】
2019530053.tif 000003
【図２】
2019530053.tif 000004
【図３】
2019530053.tif 000005
【図４】
2019530053.tif 000006
【図５】
2019530053.tif 000007
【図６】
2019530053.tif 000008
【図７Ａ】
2019530053.tif 000009
【図７Ｂ】
2019530053.tif 000010
【国際調査報告】
2019530053.tif 000011
2019530053.tif 000012