使用 grok 在示例日志中创建字段
Using grok to create fields in sample log
FMT="1358 15:41:07W19/03/21 (A) Interlocking Link 116 Restored" STY="A" AMSEQ="LINKFAIL" AMSST="RTN" ALTID="1358" TS="20210319154107" CP="LOC A" CP="LOC X" MP="104.95" MP="104.95" EQ="MDIPRIMARYOFF" POS="TC-NORTH"
日志格式如上。我想使用 grok
捕获以下字段
Time - 15:41:07
Date - 19/03/21
Message - Interlocking Link 116 Restored
Location - Loc X
有人帮助我创建 grok 模式,我可以在我的 logstash 过滤器上使用它来解析我的日志吗?
我一开始不会使用 grok。这是 key/value 数据,所以一个 kv 过滤器会让你开始,然后你可以把 FMT 字段的部分弄出来。
kv { include_keys => [ "FMT", "CP" ] target => "[@metadata]" }
mutate { add_field => { "Location" => "%{[@metadata][CP][1]}" } }
grok { match => { "[@metadata][FMT]" => "%{NUMBER} %{TIME:Time}W%{DATE_EU:Date} \(%{WORD}\) %{GREEDYDATA:Message}" } }
将导致
"Message" => "Interlocking Link 116 Restored",
"Date" => "19/03/21",
"Time" => "15:41:07",
"Location" => "LOC X",
尽管拥有多个 CP 字段感觉很脆弱。
kv 过滤器上的 include_keys 选项告诉过滤器忽略其他键。使用 target 将字段放在 [@metadata] 下意味着它们可用于其他过滤器但不会发送到输出。 kv 过滤器上的 remove_field 选项仅在过滤器能够解析消息时才处理,因此如果您的 kv 数据无效,您将在事件上有一个 [message] 字段,您可以查看。
FMT="1358 15:41:07W19/03/21 (A) Interlocking Link 116 Restored" STY="A" AMSEQ="LINKFAIL" AMSST="RTN" ALTID="1358" TS="20210319154107" CP="LOC A" CP="LOC X" MP="104.95" MP="104.95" EQ="MDIPRIMARYOFF" POS="TC-NORTH"
日志格式如上。我想使用 grok
捕获以下字段Time - 15:41:07
Date - 19/03/21
Message - Interlocking Link 116 Restored
Location - Loc X
有人帮助我创建 grok 模式,我可以在我的 logstash 过滤器上使用它来解析我的日志吗?
我一开始不会使用 grok。这是 key/value 数据,所以一个 kv 过滤器会让你开始,然后你可以把 FMT 字段的部分弄出来。
kv { include_keys => [ "FMT", "CP" ] target => "[@metadata]" }
mutate { add_field => { "Location" => "%{[@metadata][CP][1]}" } }
grok { match => { "[@metadata][FMT]" => "%{NUMBER} %{TIME:Time}W%{DATE_EU:Date} \(%{WORD}\) %{GREEDYDATA:Message}" } }
将导致
"Message" => "Interlocking Link 116 Restored",
"Date" => "19/03/21",
"Time" => "15:41:07",
"Location" => "LOC X",
尽管拥有多个 CP 字段感觉很脆弱。
kv 过滤器上的 include_keys 选项告诉过滤器忽略其他键。使用 target 将字段放在 [@metadata] 下意味着它们可用于其他过滤器但不会发送到输出。 kv 过滤器上的 remove_field 选项仅在过滤器能够解析消息时才处理,因此如果您的 kv 数据无效,您将在事件上有一个 [message] 字段,您可以查看。