Calculated Fields Extractions はプレビュー版です

Calculated Fields Extractions を使用して、Log Explorer でクエリ時に Grok パターンを用いてログから値を抽出します。

Request Access

概要

Calculated Fields Extractions を使用すると、Log Explorer でクエリ時に Grok パースルールを適用できます。これにより、パイプラインを変更したり、データを再インジェストしたりすることなく、生のログメッセージや属性から値を抽出できます。AI を活用したパースで抽出ルールを自動生成することも、独自の Grok パターンを手動で定義して特定のニーズに合わせることもできます。

extraction calculated field を作成するには、計算フィールドを作成を参照してください。

自動パース

AI を活用した自動パースを使用して、ログデータから Grok ルールを生成します。Datadog はログメッセージの内容を分析し、抽出ルールを自動的に生成するため、Grok パターンを手動で記述する必要がありません。

Datadog の Calculated Fields における AI を活用した Grok パースの例

ログサイドパネルから自動パースにアクセスするには、2 つの方法があります。

  1. copy button の横にある AI ボタン をクリックします。
  2. ログメッセージの特定の部分をハイライトし、ポップアップメニューの AI ボタン をクリックします。

AI ボタンをクリックすると、Datadog は Calculated Field フォームを自動的に入力します。

  1. Extract from: デフォルトでは、ログメッセージ全体が設定されます。ドロップダウンを変更して、個々の属性をパースすることもできます。
  2. Log sample: 選択したログから自動的に入力されます。
  3. Parsing rule: ログサンプルから自動的に生成されます。

必要に応じて、生成されたルールを確認して修正します。手動で編集するか、Generate a new rule をクリックして Datadog に再試行させることができます。また、ログサンプルを修正、挿入、または置換して、異なるログ形式に対してルールをテストすることもできます。

高評価または低評価ボタンを使用してインラインフィードバックを提供し、機能の改善にご協力ください。

構文

抽出フィールドは、Grok パターンを使用してログ属性から値を識別して取得します。Grok パターンは、以下の形式の 1 つ以上のトークンで構成されます。

%{PATTERN_NAME:field_name}
  • PATTERN_NAME: Grokマッチャー。
  • field_name: 抽出された Calculated Field の名前。

複数のパターンを連結して、複雑なログメッセージをパースできます。

クエリ時にサポートされるマッチャーとフィルター

クエリ時 (Log Explorer 内) で使用可能な Grok パース機能は、マッチャー (dataintegernotSpacenumber、および word) とフィルター (numberおよび integer) の限定的なサブセットをサポートしています。長期的なパースが必要な場合は、ログパイプラインを定義します。

Log Explorer でのクエリ時の Grok パースは、マッチャーとフィルターの限定的なサブセットをサポートしています。各マッチャーまたはフィルターは、以下の形式の Grok パターンで使用されます。

%{MATCHER:field_name}

マッチャー

マッチャーGrok パターンの例
data
任意の文字列 (非貪欲)
status=%{data:status}
word
英数字
country=%{word:country}
number
浮動小数点数
value=%{number:float_val}
integer
整数値
count=%{integer:count}
notSpace
空白以外の文字
path=%{notSpace:request_path}

フィルター

フィルターを適用して、抽出された値を数値型にキャストします。フィルターは、マッチャーと同じパターン構文を使用します。

フィルターGrok パターンの例
number
数値文字列を数値としてパースします
latency=%{number:lat}
integer
数値文字列を整数としてパースします
users=%{integer:user_count}

この機能を使用して、取り込みパイプラインを変更することなく、オンデマンドでログフィールドを分析します。 ログ行:

country=Brazil duration=123ms path=/index.html status=200 OK

Extraction Grok ルール:

country=%{word:country} duration=%{integer:duration} path=%{notSpace:request_path} status=%{data:status}

生成された Calculated Fields:

  • #country = Brazil
  • #duration = 123
  • #request_path = /index.html
  • #status = 200 OK

参考資料

お役に立つドキュメント、リンクや記事: