2
我正在尝试为某些日志编写groke规则,并且无法找到在单个日志中有多行的情况下应该如何处理的问题 以下是我拥有的日志截图: screenshot of logs 在附加图像中,绿色(即较短的日志)得到正确解析,而较长的(由红色框表示,它有多条线),错误地被解析。在logstash中解析更长的日志时遇到问题
多:
这里是多,这是我写的,
multiline
{
type => "sftp"
pattern => "^[^\[2015]"
what => "previous"
}
这是相同的解析输出(错误):
[2015-10-03 23:32:00.603] ALL Config.logConfiguration() client configuration:]\n localPortCollection=[null]\n minThreadPoolSize=[3]\n maxThreadPoolSize=[6]\n perimeterServerName=[BSC_NODE2_OBD_PS3]\n.
,你可以看,上面这个输出有它的“\ n”,并且我写的grok规则不被接受,因为父日志中的“\ n”。
我在编写grok规则时尝试了“\ n”。
使用多行是将它们合并的正确方法。您可以查看否定参数,这可以使您的节更容易阅读/维护。如果你的输入不符合你的模式,也许你可以更新模式对空白不感兴趣? –