parseleef
LEEF(Log Event Extended Format)形式のログをパースして各フィールドを抽出します。IBM QRadar で使用する LEEF 1.0 と LEEF 2.0 の両形式をサポートします。
コマンドプロパティ
| 項目 | 説明 |
|---|---|
| コマンドタイプ | 加工クエリ |
| 必要な権限 | なし |
| ライセンス使用量 | 該当なし |
| 並列実行 | 対応 |
| 分散実行 | データノードで実行(mapper) |
構文
オプション
field=FIELD- パースする LEEF ログが格納されたフィールド名を指定します(デフォルト:
line)。 overlay={t|f}- パース結果を元のレコードにオーバーレイするかどうかを指定します(デフォルト:
f)。
t: パースされたフィールドを元のレコードに追加します。同じ名前のフィールドがある場合はパースされた値で上書きします。f: パースされたフィールドのみを含む新しいレコードを生成します。
prefix=PREFIX- 出力フィールド名に追加するプレフィックスを指定します。
postfix=POSTFIX- 出力フィールド名に追加するサフィックスを指定します。
出力フィールド
LEEF ヘッダーから抽出される基本フィールドは以下の通りです。
| フィールド | タイプ | 説明 |
|---|---|---|
| leef_ver | string | LEEF バージョン(例: 1.0、2.0) |
| vendor | string | 製品ベンダー名 |
| product | string | 製品名 |
| ver | string | 製品バージョン |
| event_id | string | イベント識別子 |
LEEF 拡張属性(Extension)フィールドは LEEF ログの内容によって異なります。以下は型変換が適用される標準 LEEF フィールドの例です。
| フィールド | タイプ | 説明 |
|---|---|---|
| sev | integer | 重大度 |
| src | ipaddr | 送信元 IP アドレス |
| dst | ipaddr | 宛先 IP アドレス |
| srcPort | integer | 送信元ポート番号 |
| dstPort | integer | 宛先ポート番号 |
| srcPreNAT | ipaddr | NAT 前の送信元 IP |
| dstPreNAT | ipaddr | NAT 前の宛先 IP |
| srcPostNAT | ipaddr | NAT 後の送信元 IP |
| dstPostNAT | ipaddr | NAT 後の宛先 IP |
| srcPreNATPort | integer | NAT 前の送信元ポート |
| dstPreNATPort | integer | NAT 前の宛先ポート |
| srcPostNATPort | integer | NAT 後の送信元ポート |
| dstPostNATPort | integer | NAT 後の宛先ポート |
| identSrc | ipaddr | 識別された送信元 IP |
| vSrc | ipaddr | 仮想送信元 IP |
| srcBytes | long | 送信元から送信したバイト数 |
| dstBytes | long | 宛先から送信したバイト数 |
| srcPackets | long | 送信元パケット数 |
| dstPackets | long | 宛先パケット数 |
| totalPackets | long | 総パケット数 |
| isLoginEvent | boolean | ログインイベントかどうか |
| isLogoutEvent | boolean | ログアウトイベントかどうか |
| identSecondIp | ipaddr | 2 番目の識別 IP アドレス |
| devTime | timestamp | デバイスのイベント時刻(devTimeFormat フィールドの形式を使用してパース) |
| proto | integer | プロトコル番号(値が数値の場合は整数に変換) |
上記リストにない拡張属性フィールドは文字列タイプで出力されます。
エラーコード
パースエラー
該当なし
ランタイムエラー
該当なし
説明
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 オプションを指定すると、すべての出力フィールド名にプレフィックスとサフィックスが追加されます。
使用例
-
デフォルトフィールドから LEEF ログをパース
table duration=1h SYSLOG | parseleeflineフィールドに格納された LEEF 形式のログをパースして各フィールドを抽出します。 -
特定フィールドからパースして元フィールドを保持
table duration=1h SYSLOG | parseleef field=message overlay=tmessageフィールドをパースし、パース結果を元のレコードにオーバーレイします。 -
出力フィールドにプレフィックスを追加
table duration=1h SYSLOG | parseleef prefix=leef_パースされたすべてのフィールド名の先頭に
leef_プレフィックスを追加します。例えばsrcフィールドはleef_srcとして出力されます。
互換性
parseleef コマンドは Sonar 4.0 より前のバージョンから提供されています。