グローバルパーサーの上書きと拡張🔗
概要🔗
XDR では、お客様がグローバルパーサーを拡張および上書きすることが可能です。

グローバルパーサーとは?🔗
グローバルパーサー とは、XDR プラットフォームに組み込まれているパーサーを指します。グローバルパーサーはすべての XDR のお客様が利用でき、変更することはできません。
ユースケース🔗
既存のグローバルパーサーの上書き🔗
これは、グローバルパーサーの動作が、お客様のデータに対して期待される結果を提供しない稀なケースで、既存のグローバルパーサーを上書きすることを可能にします。選択した場合、パーサースクリプト内に !PARENT=<name> を追加する必要があります。ここで <name> はグローバル親パーサーの名前です。上書きするグローバルパーサーの名前は、グローバルパーサー名と同じでなければなりません。!PARENT= ステートメントは、パーサースクリプト内でグローバル親を設定する機能と連動して動作し、グローバルパーサーの上書きが有効になっている場合は自動的に有効になります。
例🔗
お客様のデータのタイムスタンプがUTCで提供されていないが、グローバルパーサーはUTC時刻を想定している場合、eventTimeUsec$ の計算を変更して、タイムゾーンオフセット分のマイクロ秒を加算/減算し、タイムスタンプが正しくUTCに変換されるようにします。この例では、ログメッセージのタイムスタンプがUTCであることを期待するグローバルパーサーを上書きするためにカスタムパーサーを作成します。
-
Override Global Parser 設定を有効にして新しいパーサーを作成します。

Override Parserの作成 -
!PARENT=の値を設定し、UTCタイムゾーンオフセットに基づいてタイムスタンプ(エポックタイム)を計算し、計算したタイムスタンプを正規化します。
グローバルパーサーの上書き -
Run Test を選択し、以下を確認します:
- Extractor path が正しいこと。Extractor path は、ログメッセージが XDR のパーサーを通過する経路を示します。
- タイムスタンプが期待通りに変換されていること。

Extractor Pathと正規化値が正しいことを確認
既存のグローバルパーサーの拡張🔗
これは、グローバル親パーサーの新規/未対応イベントタイプ(例:Snareから送信される一般的でないWindowsイベントID)に対して拡張(子パーサー)を作成することを可能にします。これらは親パーサーのドロップダウンには表示されません。選択した場合、パーサースクリプト内に !PARENT=<name> を追加する必要があります。ここで <name> は新しいカスタム子パーサーのグローバル親パーサー名です。!PARENT= ステートメントは、Set Global Parent in Parser Script 設定と連動して動作します。
例🔗
この例では、XDR で正規化されていないイベントタイプを正規化するために、グローバルパーサーの子としてカスタムパーサーを作成します。
-
Set Global Parent in Parser Script 設定を有効にして新しいパーサーを作成します。

グローバルパーサーを拡張するためのパーサーの作成 -
!PARENT=の値を設定し、必要なフィールドを正規化します。
グローバル親の設定 -
Run Test を選択し、以下を確認します:
- Extractor path が正しいこと。Extractor path は、ログメッセージが XDR のパーサーを通過する経路を示します。
- 必要なフィールドが期待通りに正規化されていること。

Extractor Pathと正規化値が正しいことを確認