Grok过滤以下日志消息

时间:2016-10-20 08:38:47

标签: filter logstash grok

我正在通过GROK过滤器为这个特定的行编写模式 “NOTIFICATION-Interface_IF-asdasdsf01.chn.asdfasp.com/1074_Down” 有人可以帮我这个。

这是我提出的注册表 [AZ] \ W + [ - ] [AZ] [AZ] \ W + [] \ W + [A-ZA-Z] [ - ] [。] \ W + [A-ZA-Z0-9] [A- ZA-Z] \ W + [。] [A-ZA-Z] \ W + [。] [AZ] \ W + / [0-9] \ d + [] [A-ZA-Z] \ W + < / p>

但我希望它能用于“NOTIFICATION-Interface_IF-asdasdsf01.chn.asdfasp.com/1074_Down”以及主机名中的chn NOTIFICATION-Interface_IF-asdasdsf01.asdfasp.com/1074_Down

先谢谢。

1 个答案:

答案 0 :(得分:0)

您会捕获哪些数据?

如果能够捕获多个数据,可以使用这种模式

%{WORD:type}-%{WORD:interface}-%{GREEDYDATA:client}

将会产生

type = "NOTIFICATION"
interface = "Interface_ID"
client = "asdasdsf01.chn.asdfasp.com/1074_Down"

不要使用grok debugger来测试和升级模式。请参阅here logstash中的本机模式。

PS:你的第一个正则表达式可以简化:([A-Z]+)\-([A-Za-z]+)_([A-Za-z]+)\-(.*)\/([0-9]+)_([A-Za-z]+)。根据您的分隔符,它可以更容易。 您可以使用此link

进行测试