Parse nodrop オプション
nodrop オプションは parse 用語のセグメントと一致しないメッセージも結果に含めるようにします。
すべての parse operator では、メッセージは parse 式の 1 つ以上のセグメントと一致する必要があり、そうでない場合は結果からドロップされます。nodrop オプションを追加すると、parse 用語のセグメントと一致しないメッセージも結果に追加します。
構文
| parse "a=*," as <field> nodrop
この場合は、a と一致するメッセージとその他すべてのメッセージが返されます。
| parse "a=*," as <field1> nodrop | parse "b=*," as <field2>
a または b に一致するメッセージが出力されます。その他はすべてドロップされます。
| parse "a=*," as <field1> | parse "b=*," as <field2>
この場合は、両方の parse operator が一致しないメッセージを暗黙的にドロップします。したがって、a と b 両方に一致するメッセージのみが出力されます。
| parse "a=*," as <field1> nodrop | parse "b=*," as <field2> nodrop | parse "c=*," as <field3> nodrop | parse "d=*," as <
field4
この場合は、a または b または c または d に一致するメッセージが出力されます。その他はすべてドロップされます。
ルール
- まったく一致しないメッセージが出力に含まれますが、parse 式に関連するエイリアス フィールドやタグはこれらのメッセージに含まれません。
- nodrop オプションを使用すると、Parse operator を連結したときに、必要なメッセージ出力を選択する高度なブール ロジックを表現できます。
例
パーサで nodrop オプションを使用する
クエリではパーサで nodrop オプションを使用できます。
_sourceCategory=Apache*
| parse "[sessionId=*]" as sessionid nodrop
parse regex で nodrop オプションを使用する
parse regex と parse nodrop を使用して IP アドレスを parse できます。
_sourceCategory=Apache*
| parse regex "(?<src_ip>\d{1,3}\.\d{1,3}.\d{1,3}\.\d{1,3})" nodrop
parse nodrop を OR 条件として使用する
次のクエリでは URL の前にある GET または POST 接頭辞で parse できます。
_sourceCategory=Apache*
| parse "GET * HTTP" as url nodrop
| parse "POST * HTTP" as url