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

クラスタと同様に、lookupコマンドを使用してリンク結果に注釈を付けることができます。

OCI APIゲートウェイ・アクセス・ログのリンク結果について考えます。ディクショナリ・ルックアップを使用して様々なページの名前を指定するには:

  1. 次の内容を含むCSVファイルを作成します:

    Operator,Condition,Name
    CONTAINS,login,Login Page
    CONTAINS,index,Home Page
    CONTAINS ONE OF REGEXES,"[\.sh$,\.jar$]",Script Access

    Page Access Typesという名前を使用して、これをディクショナリ・タイプ・ルックアップとしてインポートします。このルックアップには、各一致行から返すことができるNameという1つのフィールドが含まれます。ディクショナリ・ルックアップの作成を参照してください。

  2. リンクでディクショナリを使用します:

    次のように、linkの後にlookupコマンドを追加します:

    'Log Source' = 'OCI API Gateway Access Logs' 
    | link 'OPC Request ID' 
    | stats unique(URI) as URI 
    | lookup table = 'Page Access Types' select Name using URI

    各行のURIフィールドの値は、Page Access Typesディクショナリで定義されているルールに対して評価されます。一致する各行からNameフィールドが返されます。

    Nameフィールドには、ディクショナリの値が含まれます。URIが複数のフィールドに一致する場合は、Nameフィールドに複数の値が含まれることもあります。

  3. ディクショナリ・フィールドを使用してリンク・データを分析します:

    Nameフィールドは、リンクの他のフィールドと同様に使用できます。たとえば、次の問合せは、Nameの有効な値でフィルタして、レスポンスのHTTPステータスに基づいて結果を分析します:

    'Log Source' = 'OCI API Gateway Access Logs'
    | link 'OPC Request ID'
    | stats unique(URI) as URI, unique(Status) as Status
    | lookup table = 'Page Access Types' select Name using URI
    | where Name != null 
    | classify Status, Name as 'Page Analysis'

    この問合せでは、様々なページのHTTPステータスの分布を示す分析チャートが生成されます。結果のバブル・チャートでは、"Login Page, Home Page"、"Home Page, Script Access"、Home PageLogin PageおよびScript AccessなどのページがY軸に沿って、HTTPステータスがY軸に沿ってプロットされます。