ルックアップの管理

Oracle Logging Analyticsを使用すると、ルックアップからフィールドと値の組合せを追加することで、イベント・データをエンリッチできます。Oracle Logging Analyticsでは、ルックアップを使用して、イベントから外部ルックアップ表にフィールドと値の組合せを照合し、一致した場合は、Oracle Logging Analyticsによってフィールドと値の組合せがイベントに追加されます。

ルックアップのタイプ:
  • 簡易: この表には、行が単一の関係に対応するアイテムの簡易リストが含まれます。たとえば、エラーのルックアップ表を作成する場合、各行には、エラーID、エラー・メッセージ、原因、修正処理などの単一のエラーに関する情報が含まれます。簡易ルックアップの作成を参照してください。
  • ディクショナリ: これは、CONTAINSCONTAINS IGNORE CASE MULTILINE REGEXEQUALなどの演算子を使用して、フィールドとそのの論理関係を登録するためのより優れたオプションです。このタイプのルックアップを作成する演算子、例およびステップの包括的なリストは、ディクショナリ・ルックアップの作成を参照してください。
次に、Oracle Logging Analyticsで現在使用可能なOracle定義の単純ルックアップ表を示します:
  • BEA Error Messages
  • CRS Error Messages
  • OGC Error Messages
  • ORA Error Messages
  • TNS Error Messages
ノート

単一のルックアップ・ファイルのサイズは10MBを超えることはできません。ただし、参照の行数に制限はありません。

ルックアップによるログのエンリッチの仕組み

多くの場合、ログには、分析を統合するために必要なすべての情報が含まれるわけではありません。このような場合、ログのデータをよりわかりやすくするために、すでに照合した情報を取得するためのルックアップ表を作成できます。たとえば、ログ・イベントのError IDフィールドには、エラーの説明がありません。Error IDを説明にマップするルックアップを作成し、フィールド・エンリッチメント・オプションを使用してその説明をログ・レコードの検索で使用可能にできます。ルックアップを作成できるシナリオの例:

  • 製品在庫: 製品ID、技術仕様、価格、利用可能在庫、ラック番号
  • 従業員情報: 従業員ID、個人情報、組織、職務、階級、給与、管理者
  • ライブラリ参照: タイル、作成者、サマリー、エディション、前のエディション、価格

ルックアップの使用方法

次のlookup問合せでは、Error IDフィールドをマップすることでルックアップ表ORA Error Messagesからエラー・メッセージが取得され、Log SourceやEntityなどの他のフィールドとともにサマリー表に表示されます:

'Error ID' like 'ORA%' | lookup table = 'ORA Error Messages' select errmsg using 'Error ID' = errid | fields -*, 'Log Source', Entity, errmg
  • ログからの情報:
    • Error ID: ORA%の形式で指定された、ログに含まれるエラーID
    • Log Source: ログのログ・ソース
    • Entity: ログのエンティティ
  • Oracle定義のルックアップ表ORA Error Messagesからの情報:
    • errid: ORA%の形式で指定されたエラーID
    • errmsg: エラーIDに対応するエラー・メッセージ

    ORA Error Messagesルックアップ表で使用可能なその他の詳細は、各エラーIDのerrcause (エラーの原因)およびerraction (エラー・アクション)です。ルックアップ表の内容を表示するには、次のようにsearchlookupコマンドを使用します:

    * | searchlookup table = 'ORA Error Messages'

ルックアップの詳細の表示

  1. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。

  2. 管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ルックアップ」をクリックします。

  3. 「ルックアップ」で、詳細を表示するルックアップをクリックします。

    ルックアップの詳細ページに、作成中に指定した詳細と、ルックアップ表の内容が表示されます。

ルックアップで他のアクションを実行するには、「ルックアップ」リスト・ページで、参照の「タイプ」および「作成タイプ」を選択し、「フィルタ」セクションで参照の検索を絞り込みます。ルックアップを識別した後、参照の行で「アクション」アイコン「アクション」アイコンをクリックします。

  • ファイルの再アップロード: ユーザーが作成した参照の場合、新しいバージョンの参照表がある場合、または前回のアップロードが失敗した場合は、再アップロードできます。

  • 削除: 古い参照または未使用の参照の一部を削除する必要がある場合があります。ルックアップを削除するには、「ルックアップの削除」ダイアログ・ボックスで確認します。参照を削除できるのは、ユーザーが作成した参照のみです。

既存のルックアップの更新

  1. フィールドと値の組合せでCSVファイルを更新します。

  2. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。

  3. 管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ルックアップ」をクリックします。

  4. 「ルックアップ」で、更新するルックアップに対応する行の「アクション」「アクション」メニューアイコンをクリックし、「ファイルを再アップロード」をクリックします。

    「ファイルを再アップロード」ダイアログ・ボックスが開きます。

  5. 前に作成した更新済のルックアップCSVファイルを選択し、「アップロード」をクリックします。

簡易ルックアップの作成

簡易ルックアップを作成した後、searchlookupコマンドを使用して問合せを実行し、ルックアップの値をリストします。問合せでlookupコマンドを使用して、出力フィールドをそれらの値にマップします。

  1. フィールドと値の組合せでルックアップCSVファイルを作成します。たとえば、エラーIDを説明にマップするルックアップを作成するには:

    errid,description
    02323,Network Not Reachable
    09912,User Activity
    12322,Out of Memory

    最初の行が、後続の行の値に対するerridおよびdescriptionというタイトルのヘッダーになることに注意してください。

  2. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。

  3. 管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ルックアップ」をクリックします。

  4. 「ルックアップ」で、「ルックアップの作成」をクリックします。

  5. 「ルックアップ」ページで、server error code lookupsなどのルックアップ名と、オプションの説明を入力します。

  6. 「タイプ」で、「簡易」を選択します。

  7. 前に作成したルックアップCSVファイルを選択し、「作成」をクリックします。

ディクショナリ・ルックアップの作成

ディクショナリ・タイプ・ルックアップの作成後、searchlookupコマンドを使用してルックアップをリストします。問合せでlinkまたはclusterコマンドを使用した後にのみ、lookupコマンドを使用して任意の問合せでフィールドにマップします。

その他のトピック:

クラスタおよびリンクでのディクショナリ・ルックアップの使用例は、クラスタでのディクショナリ・ルックアップの使用およびリンクでのディクショナリ・ルックアップの使用を参照してください。

ディクショナリ・ルックアップを使用してジオロケーションを指定する方法の例は、「ルックアップを使用したジオロケーションの指定」を参照してください。

  1. フィールドと値の組合せでルックアップCSVファイルを作成します。

    例:

    Operator,Condition,Issue,Area
    CONTAINS,message header or abbreviation processing failed,Processing Error,Messaging
    CONTAINS,Failed to associate the transaction context with the response while marshalling,Marshalling Error,Response
    CONTAINS,A RuntimeException was generated by the RMI server,Exception,RMI

    最初の行はヘッダーで、OperatorConditionは同じ順序で指定された必須フィールドです。後続のパラメータは、ヘッダー行で必須パラメータの後にリストされます。後続の行は、ヘッダー行に同じ順序でリストされているパラメータの値です。

    有効な演算子とその使用例のリストは、次の表を参照してください。

    ノート:

    • フィールドにカンマが含まれる場合、フィールド全体を二重引用符で囲みます。

    • フィールドに二重引用符が含まれる場合、2つの二重引用符を使用して二重引用符をエスケープします。

  2. ナビゲーション・メニューを開き、「監視および管理」をクリックします。「ログ・アナリティクス」で、「管理」をクリックします。「管理の概要」ページが開きます。

  3. 管理リソースが、左側のナビゲーション・ペインの「リソース」の下にリストされます。「ルックアップ」をクリックします。

  4. 「ルックアップ」で、「ルックアップの作成」リンクをクリックします。

  5. 「ルックアップの作成」ページで、cluster dictionary lookupsなどのルックアップ名と、オプションの説明を入力します。

  6. 「タイプ」で、「ディクショナリ」を選択します。

  7. 前に作成したルックアップCSVファイルを選択し、「作成」をクリックします。

CIDRMATCH演算子

CIDRMATCH演算子では、ディクショナリ・ルックアップ内でCIDR (Classless Inter-Domain Routing)一致操作ルールがサポートされます。たとえば、次のディクショナリでは、入力IPアドレスが192.0.2.0から192.0.2.255までの範囲内にある場合、Network NameとしてDatabase Networkが返されます:

Operator,Condition,Network Name
CIDRMATCH,192.0.2.10/24,Database Network

有効な演算子とその使用例のリスト

演算子 説明

CONTAINS

Conditionフィールドに指定した文字列が値に含まれる場合はTrue。大/小文字は区別されます

CONTAINS,Request 'GetResponse' Timed out,Timeout Error

CONTAINS IGNORE CASE

前と同じですが、大/小文字の区別は無視されます

CONTAINS IGNORE CASE,request 'getresponse' timed out,Timeout Error

CONTAINS REGEX

指定した正規表現に値が一致する場合はTrue

CONTAINS REGEX,Request '\S+' Timed out,Timeout Error

CONTAINS IGNORE CASE REGEX

前と同じですが、大/小文字の区別は無視されます

CONTAINS IGNORE CASE REGEX,request '\S+' timed out,Timeout Error

CONTAINS MULTILINE REGEX

複数行の文字列に対して照合するには、これを使用します

CONTAINS MULTILINE REGEX,Request 'GetResponse' Timed out,Timeout Error

CONTAINS IGNORE CASE MULTILINE REGEX

前と同じですが、大/小文字の区別は無視されます

CONTAINS IGNORE CASE MULTILINE REGEX,Request 'GetResponse' Timed out,Timeout Error

CONTAINS ONE OF REGEXES

複数の正規表現を指定します。少なくとも1つの一致がある場合はTrue。

[]内に正規表現をカンマで区切ってリストします。正規表現にカンマを含めることはできません。

正規表現内で二重引用符を使用する必要がある場合は、別の二重引用符を使用して各二重引用符をエスケープします。

CONTAINS ONE OF REGEXES,"[Request '\S+' Timed out,Server\S+Timed out]",Timeout Error

NOT CONTAINS

指定した文字列が含まれません

NOT CONTAINS,Request 'GetResponse' Timed out,Success

EQUAL

コンテンツが指定した値と等しいです

EQUAL,500,HTTP Server Error

EQUAL IGNORE CASE

前と同じですが、大/小文字の区別は無視されます

EQUAL,In-Progress,Request In Progress

NOT EQUAL

コンテンツが指定した値と等しくない場合はTrue

NOT EQUAL,200,HTTP Request Failed

STARTS WITH

コンテンツの先頭と比較します

STARTS WITH,Request failed with,Fail

ENDS WITH

コンテンツの末尾と比較します

ENDS WITH,timed out,Timeout

IN

少なくとも1つの値が等しい場合はTrue

IN,"[500,501,502,503]",HTTP Server Error

IN IGNORE CASE

前と同じですが、大/小文字の区別は無視されます

IN IGNORE CASE,[fail,timeout,error,fatal],Request Failed

NOT IN

コンテンツがリスト内のどの値とも等しくない場合はTrue

NOT IN,"[500,501,503,400,401,404]",HTTP Request Successful

NULL

フィールドのコンテンツがnullの場合はTrue

NULL,,No Value

NOT NULL

フィールドのコンテンツがnullでない場合はTrue

NOT NULL,,Value Present

数値演算子および論理演算子と例のリスト

ノート

数値演算子と文字列演算子が同じディクショナリ内に混在していないことを確認してください。同じディクショナリに演算子が混在している場合、文字列値が問合せで渡されると、数値演算子を使用した照合中にタイプに関するエラー・メッセージが返されます。
演算子 説明

=

数値が等しい

=,1,Value is 1

!=

数値が等しくない

!=,1,Value is Not 1

>

指定した値より大きい

>,1,Value is above 1

<

指定した値より小さい

<,1,Value is below 1

>=

指定した値以上

>=,1,Value is equal or above 1

<=

指定した値以下

<=,1,Value is equal or below 1

BETWEEN

指定した2つの値の間(両端を含む)

BETWEEN,1-10,Value is equal or above 1 and equal or below 10

> AND <

N1より大きく、かつ、N2より小さい

> AND <,1-10,Above 1 and below 10

>= AND <=

BETWEENと同じ。N1以上、かつ、N2以下

>= AND <=,1-10,Above or equal to 1 and below or equal to 10

>= AND <

N1以上、かつ、N2より小さい

>= AND <,1-10,Above or equal to 1 and below 10

> AND <=

N1より大きく、かつ、N2以下

> AND <=,1-10,Above 1 and below or equal to 10

> OR <

N1より大きい、または、N2より小さい

> OR <,1-10

1より大きい、または、10より小さい

>= OR <=

N1以上、または、N2以下

>= OR <=,100-10,Above or equal to 100 or below or equal to 10

>= OR <

N1以上、または、N2より小さい

>= OR <,10-1,Above or equal to 10 or below 1

> OR <=

N1より大きい、または、N2以下

> OR <=,100-10,Above 100 or below or equal to 10

>= OR !=

N1以上、または、N2と等しくない

>= OR !=,10-1,Above or equal to 10 or not equal to 1

<= OR !=

N1以下、または、N2と等しくない

<= OR !=,10-100,Below or equal to 10 or not equal to 100

>= OR =

N1以上、または、N2と等しい

>= OR =,10-1,Above or equal to 1 or equal to 1

<= OR =

N1以下、または、N2と等しい

<= OR =,10-100,Below or equal to 10 or equal to 100

> AND !=

N1より大きく、かつ、N2と等しくない

> AND !=,10-100,Above 10 and not equal to 100

< AND !=

N1より小さく、かつ、N2と等しくない

< AND !=,10-1,Below 10 and not equal to 1

ディクショナリ・ルックアップ定義時のコメントの使用

ディクショナリ・ルックアップにコメントを追加するには、最初のフィールドとして#を使用します。次に、コメントを含むサンプル・ルックアップの例を示します:

Operator,Condition,Label,Module
# ----------------------------------
# Startup/Shutdown and Terminations
# ----------------------------------
CONTAINS,Server started in RUNNING mode,Server Started,WebLogic Server
CONTAINS,A critical service failed. The server will shut itself down,Server Shutdown,WebLogic Server
CONTAINS,state changed to FAILED,Server Failed,
CONTAINS,Removing .* from cluster view due to PeerGone,Cluster Removed,WebLogic Server
# ----------------------
# Connection Error / Timeouts and Slowness
# ----------------------
CONTAINS,Unable to connect to WSM policy manager,WSM Policy Manager Connection Error,
CONTAINS REGEX,java.sql.SQLTimeoutException: \S+: user requested cancel of current operation,SQL Timeout,Database
CONTAINS,This member is running extremely slowly and may endanger the rest of the cluster,WebLogic Cluster Slowness,WebLogic Server

問合せでのディクショナリ・ルックアップの使用

同じディクショナリを複数の問合せで使用できます。たとえば、次の問合せでは、同じディクショナリがMessageフィールドに適用され、円グラフのビジュアライゼーションを使用してロールアップされた結果が表示されます:

'Log Source' = 'Linux Syslog Logs'
| lookup table = 'Linux Error Categories' select Issue, Area using Message
| stats count by Area

問合せでのディクショナリ・ルックアップの使用