メインコンテンツまでスキップ
Sumo Logic Japanese

フィールド抽出ルールの作成

フィールド抽出ルールは、ゼロから作成することもできますし、データ ソースによってはドロップダウン メニューからテンプレートを選択して作成することもできます。

フィールド抽出ルールを作成するには、フィールド抽出ルールの管理ロール権限が必要です。

新しいフィールド抽出ルールの作成

フィールド抽出ルールは、Sumo Logic Web アプリケーションの [Field (フィールド)]ページを使用して作成および管理できます。

新しいフィールド抽出ルールを作成する手順:

  1. [Manage Data (データの管理)] > [Settings (設定)] > [Field Extraction Rules (フィールド抽出ルール)] に移動します。
  2. [Add (追加)] をクリックします。
  3. 以下のオプションを入力します。
    • Rule Name (ルール名): ルールを識別しやすい名前を入力します。
    • Scope (範囲): パースするサブセット ログを定義するキーワードとフィールドを入力します。フィールドとしては、抽出元のデータを記述するメタデータ (sourceCategory や sourceHost など) を指定します。範囲は、アドホック検索の最初のパイプ (|) の前の部分と考えてください。範囲を使用して、ルールに対して検索を実行します。
    • Parse Expression (パース式): 
      • サポートされているパースおよび検索オペレータを使用して有効なパース式を入力します。
        フィールドにはルール名が関連付けられているため、必要に応じて特定の 1 つのフィールドを多くのルールでパースすることもできます。
        たとえば、単一のフィールドをパースするには、次のような定義を使用します。 
        parse "message count = *," as msg_count 
        単一のフィールドをパースするには、次のような定義を使用します。parse "[hostId=*] [module=*] [localUserName=*] [logger=*] [thread=*]" as hostId, module, localUserName, logger, thread
      • またはパース テンプレートを選択します。
    • Templates.詳細については、下記の「テンプレートを使用したフィールド抽出ルールの作成」を参照してください。
  4. [Add (追加)] をクリックします。
    create field extraction rule.png

各テンプレートは、特定のログ タイプに合わせて設計されています。

パース式を作成する代わりに、リストからテンプレートを選択し、内容を確認してからクリックして適用することができます。テンプレートを適用すると、既存のパース式は上書きされます。

テンプレートで新しいフィールド抽出ルールを作成する手順

  1. [Manage Data (データの管理)] > [Settings (設定)] > [Field Extraction Rules (フィールド抽出ルール)] に移動します。
  2. [Add (追加)] をクリックします。
  3. [Create Field Extraction Rule (フィールド抽出ルールの作成)]  ダイアログ ボックスで、[Templates (テンプレート)] メニューからオプションを選択してオプションを表示します。
  4. テンプレートを選択して [Use Template (テンプレートを使用)] をクリックします。
    FERTemplateOptions.png
  5. [Rule Name (ルール名)] と [Scope (範囲)] に入力します。
  6. [Add (追加)] をクリックします。

制限事項

  • フィールド抽出ルールは最大 50 件、フィールドは最大 200 個までの制限があります。この制限には、Sumo Logic で定義されているフィールド (約 16 個) も含まれます。200 個のフィールド制限はアカウント単位であるため、ルールを削除しても増えません。
  • フィールド抽出ルールは、最大 16K (16,384) 文字に制限されています。
  • フィールドはデータの取り込み時にパースされるため、フィールド抽出ルールは以降のデータにのみ適用されます。FER を作成する前に取り込まれたデータをパースしたい場合は、クエリでデータをパースするか、または履歴データを抽出するためのスケジュール済みビューを作成してください。  

ルール設計のベスト プラクティス

データを抽出したいデータのサブセットを特定するために、最も正確なキーワードを指定しましょう。必要なデータのみを抽出して、それ以外は抽出しないように、スコープはできる限り狭く設定してください。範囲を広くすると、Sumo Logic はパースしたいフィールドでより多くのデータを調べることになり、フィールドが実際に必要ではないときに抽出されてしまうこともあります。

複数の細かいルールを作成しましょう。複雑なルールを構築するよりも、基本的な範囲を指定したルールを複数作成し、複数回検索を実行してください (結果は加法的になります)。他の検索と同じように OR や AND もサポートされます。たとえば、Apache ログの応答コードをパースするルールを作成して、別のルールで応答時刻をパースすることができます。これらを組み合わせることで、必要な情報をすべて入手できます。

必要のないフィールドは抽出しないようにしましょう。ログにすべて存在する最小限のフィールドのみを抽出してください。範囲に含めるすべてのフィールドはすべての検索で使用されるため、余分なフィールドを加えると、必要のない結果も返されます。最もよく使用されるフィールドを抽出するフィールドを多く作成するのがよいでしょう。最初に、共通データ ソースを見て、最も頻繁に抽出されるフィールドを確認します。次に、これらのソースから最も頻繁にパースされるフィールドはどれであるかを調べて、それらのフィールドを自動的に抽出するためのルールを作成します。

個々のログ パターンと一致するフィールド名に対して FER で複数の parse nodrop ステートメントを作成しましょう。異なる parse ステートメントを用意することで、いずれか 1 つのみがログ メッセージと一致してフィールド値を返すため、実質的に OR ステートメントのように機能します。

ルールを作成する前に範囲をテストしましょう。検索結果で戻す必要のあるすべてのメッセージからフィールドを抽出できることを確認してください。範囲をテストするには、潜在的なルールを検索として実行します。

定義する範囲にすべてのフィールドが含まれるようにしましょう。データにフィールド抽出を適用する際には、すべてのフィールドが存在してインデックス化されるようにしなければなりません。わずか 1 つのフィールドでも欠けているメッセージは、結果から除外されてしまいます。つまり、オール オア ナッシング、ということです。ある意味で互いに独立している複数のフィールド セットに対しては 2 つのルールを作成してください。

範囲が独立していて別々であり、同じメッセージとは一致しない場合は、複数の FER でフィールド名を再利用しましょう。スペースを節約して、200 個のフィールド制限内でより多くの FER を作成できるように、重複しない FER であれば同じフィールド名を再利用できます。 

同じ FER を適用する同じメッセージでは、同じフィールド名を使用しないでください。複数の FER が同じフィールド名で同じメッセージを処理すると、いずれかのルールが適用されなくなります。この場合、特定のフィールド名に適用されるルールはランダムに選ばれます。同じメッセージに適用される複数の FER では、同じフィールド名を使用しないでください。

サポートされているパースおよび検索オペレータ

フィールド抽出ルールのパース式では、以下のオペレータを使用できます。

  • parse regex
  • parse anchor
  • parse nodrop
  • csv
  • double
  • フィールド
  • json
  • keyvalue
  • num

サポートされないパース オプション

フィールド抽出ルールでは、以下のパース オプションはサポートされません。

  • parse multi
  • parse regex multi
  • csv auto
  • json auto
  • keyvalue auto
  • この記事は役に立ちましたか?