繁体   English   中英

Grok 模式匹配自定义 junos 日志

[英]Grok pattern matching custom junos log

我对 grok 和正则表达式很陌生。 我想匹配自定义 junos 日志。 日志示例:

  RT_FLOW_SESSION_CREATE: session created 192.168.1.1/22->192.168.200.220/4 0x0 icmp 100.101.102.103/7090->190.190.190.220/4 0x0 source rule nat_to_external N/A N/A 1
  RT_FLOW_SESSION_CREATE: session created 1.1.1.11/6500->1.168.2.3/143 0x0 junos-https 11.67.11.11/15020->12.18.8.7/43 0x0 N/A N/A N/A N/A 6 
  RT_FLOW_SESSION_CREATE: session created 19.41.43.10/5280->92.68.8.19/1000 0x0 None 98.41.43.10/5280->12.68.8.19/200 0x0 N/A N/A destination rule ServerDEV 6 

因此,正如您在上面的示例中看到的,N/A 正在发生变化,我希望您可以建议如何在所有情况下(N/A = N/A、源规则、nat_to_external、目标规则、ServerDEV)与 grok 或正则表达式。

第 1 句日志有轻微变化,而不是其他。 因此我们必须使用两个 grok 模式。

对于第一句话,grok 应该是:

%{DATA:session_flow}: %{DATA:session_action} %{IP:session_ip}/%{NUMBER:session_port}->%{IP:forwarded_session}/%{NUMBER:forwarded_port} %{DATA:session_bytes} %{DATA:protocol} %{IP:destination_ip}/%{NUMBER:port}->%{IP:forwarded_destination_ip}/%{NUMBER:forwarded_destination_port} %{DATA:dest_session_bytes} (?<source_rule>%{WORD} %{WORD}) %{DATA:nat_to_external} %{DATA:destination_rule} %{DATA:ServerDEV} %{NUMBER:bytes}

对于其他句子,grok 是:

%{DATA:session_flow}: %{DATA:session_action} %{IP:session_ip}/%{NUMBER:session_port}->%{IP:forwarded_session}/%{NUMBER:forwarded_port} %{DATA:session_bytes} %{DATA:protocol} %{IP:destination_ip}/%{NUMBER:port}->%{IP:forwarded_destination_ip}/%{NUMBER:forwarded_destination_port} %{DATA:dest_session_bytes} %{DATA:source_rule} %{DATA:nat_to_external} %{DATA:destination_rule} %{DATA:ServerDEV} %{NUMBER:bytes}

因此,结合这两种 grok 模式,您可以在 logstash 中尝试以下操作

grok
{

match => 
{
"message" => ['%{DATA:session_flow}: %{DATA:session_action} %{IP:session_ip}/%{NUMBER:session_port}->%{IP:forwarded_session}/%{NUMBER:forwarded_port} %{DATA:session_bytes} %{DATA:protocol} %{IP:destination_ip}/%{NUMBER:port}->%{IP:forwarded_destination_ip}/%{NUMBER:forwarded_destination_port} %{DATA:dest_session_bytes} (?<source_rule>%{WORD} %{WORD}) %{DATA:nat_to_external} %{DATA:destination_rule} %{DATA:ServerDEV} %{NUMBER:bytes}', '%{DATA:session_flow}: %{DATA:session_action} %{IP:session_ip}/%{NUMBER:session_port}->%{IP:forwarded_session}/%{NUMBER:forwarded_port} %{DATA:session_bytes} %{DATA:protocol} %{IP:destination_ip}/%{NUMBER:port}->%{IP:forwarded_destination_ip}/%{NUMBER:forwarded_destination_port} %{DATA:dest_session_bytes} %{DATA:source_rule} %{DATA:nat_to_external} %{DATA:destination_rule} %{DATA:ServerDEV} %{NUMBER:bytes}']
}

}

继续发布它的进展情况!!! 谢谢 !!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM