parseleef

LEEF(Log Event Extended Format)形式のログをパースして各フィールドを抽出します。IBM QRadar で使用する LEEF 1.0 と LEEF 2.0 の両形式をサポートします。

コマンドプロパティ

項目説明
コマンドタイプ加工クエリ
必要な権限なし
ライセンス使用量該当なし
並列実行対応
分散実行データノードで実行(mapper)

構文

parseleef [field=FIELD] [overlay={t|f}] [prefix=PREFIX] [postfix=POSTFIX]

オプション

field=FIELD
パースする LEEF ログが格納されたフィールド名を指定します(デフォルト: line)。
overlay={t|f}
パース結果を元のレコードにオーバーレイするかどうかを指定します(デフォルト: f)。
  • t: パースされたフィールドを元のレコードに追加します。同じ名前のフィールドがある場合はパースされた値で上書きします。
  • f: パースされたフィールドのみを含む新しいレコードを生成します。
prefix=PREFIX
出力フィールド名に追加するプレフィックスを指定します。
postfix=POSTFIX
出力フィールド名に追加するサフィックスを指定します。

出力フィールド

LEEF ヘッダーから抽出される基本フィールドは以下の通りです。

フィールドタイプ説明
leef_verstringLEEF バージョン(例: 1.02.0
vendorstring製品ベンダー名
productstring製品名
verstring製品バージョン
event_idstringイベント識別子

LEEF 拡張属性(Extension)フィールドは LEEF ログの内容によって異なります。以下は型変換が適用される標準 LEEF フィールドの例です。

フィールドタイプ説明
sevinteger重大度
srcipaddr送信元 IP アドレス
dstipaddr宛先 IP アドレス
srcPortinteger送信元ポート番号
dstPortinteger宛先ポート番号
srcPreNATipaddrNAT 前の送信元 IP
dstPreNATipaddrNAT 前の宛先 IP
srcPostNATipaddrNAT 後の送信元 IP
dstPostNATipaddrNAT 後の宛先 IP
srcPreNATPortintegerNAT 前の送信元ポート
dstPreNATPortintegerNAT 前の宛先ポート
srcPostNATPortintegerNAT 後の送信元ポート
dstPostNATPortintegerNAT 後の宛先ポート
identSrcipaddr識別された送信元 IP
vSrcipaddr仮想送信元 IP
srcByteslong送信元から送信したバイト数
dstByteslong宛先から送信したバイト数
srcPacketslong送信元パケット数
dstPacketslong宛先パケット数
totalPacketslong総パケット数
isLoginEventbooleanログインイベントかどうか
isLogoutEventbooleanログアウトイベントかどうか
identSecondIpipaddr2 番目の識別 IP アドレス
devTimetimestampデバイスのイベント時刻(devTimeFormat フィールドの形式を使用してパース)
protointegerプロトコル番号(値が数値の場合は整数に変換)

上記リストにない拡張属性フィールドは文字列タイプで出力されます。

エラーコード

パースエラー

該当なし

ランタイムエラー

該当なし

説明

parseleef コマンドは LEEF 1.0 および LEEF 2.0 形式のログをパースします。

LEEF ログの基本構造は以下の通りです。

  • LEEF 1.0: LEEF:1.0|Vendor|Product|Version|EventID|key=value\tkey=value...
  • LEEF 2.0: LEEF:2.0|Vendor|Product|Version|EventID|Delimiter|key=value<Delimiter>key=value...

LEEF 2.0 では、拡張属性の区切り文字をヘッダーに明示します。区切り文字は単一文字、または 0x09 形式の 16 進数コードで指定します。

パースに失敗するか、対象フィールドが null の場合、元のレコードをそのまま渡します。

prefix または postfix オプションを指定すると、すべての出力フィールド名にプレフィックスとサフィックスが追加されます。

使用例

  1. デフォルトフィールドから LEEF ログをパース

    table duration=1h SYSLOG
    | parseleef
    

    line フィールドに格納された LEEF 形式のログをパースして各フィールドを抽出します。

  2. 特定フィールドからパースして元フィールドを保持

    table duration=1h SYSLOG
    | parseleef field=message overlay=t
    

    message フィールドをパースし、パース結果を元のレコードにオーバーレイします。

  3. 出力フィールドにプレフィックスを追加

    table duration=1h SYSLOG
    | parseleef prefix=leef_
    

    パースされたすべてのフィールド名の先頭に leef_ プレフィックスを追加します。例えば src フィールドは leef_src として出力されます。

互換性

parseleef コマンドは Sonar 4.0 より前のバージョンから提供されています。