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 パターンを手動で記述する必要がありません。
ログサイドパネルから自動パースにアクセスするには、2 つの方法があります。
- copy button の横にある AI ボタン をクリックします。
- ログメッセージの特定の部分をハイライトし、ポップアップメニューの AI ボタン をクリックします。
AI ボタンをクリックすると、Datadog は Calculated Field フォームを自動的に入力します。
- Extract from: デフォルトでは、ログメッセージ全体が設定されます。ドロップダウンを変更して、個々の属性をパースすることもできます。
- Log sample: 選択したログから自動的に入力されます。
- Parsing rule: ログサンプルから自動的に生成されます。
必要に応じて、生成されたルールを確認して修正します。手動で編集するか、Generate a new rule をクリックして Datadog に再試行させることができます。また、ログサンプルを修正、挿入、または置換して、異なるログ形式に対してルールをテストすることもできます。
高評価または低評価ボタンを使用してインラインフィードバックを提供し、機能の改善にご協力ください。
構文
抽出フィールドは、Grok パターンを使用してログ属性から値を識別して取得します。Grok パターンは、以下の形式の 1 つ以上のトークンで構成されます。
%{PATTERN_NAME:field_name}
PATTERN_NAME: Grokマッチャー。field_name: 抽出された Calculated Field の名前。
複数のパターンを連結して、複雑なログメッセージをパースできます。
クエリ時にサポートされるマッチャーとフィルター
クエリ時 (
Log Explorer 内) で使用可能な Grok パース機能は、マッチャー (
data、
integer、
notSpace、
number、および
word) とフィルター (
numberおよび
integer) の限定的なサブセットをサポートしています。長期的なパースが必要な場合は、ログパイプラインを定義します。
Log Explorer でのクエリ時の Grok パースは、マッチャーとフィルターの限定的なサブセットをサポートしています。各マッチャーまたはフィルターは、以下の形式の Grok パターンで使用されます。
マッチャー
| マッチャー | 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
参考資料