Logstash 罗格尔克木材过滤器

Logstash 罗格尔克木材过滤器,logstash,syslog,grok,Logstash,Syslog,Grok,我的日志文件包含以下行: 10/13 14:05:18.192 [modulename]: [pid]: (debug level string): message string XYZ:<xyz value> 我四处搜索并尝试了一些东西,但我得到了\u grokparsefailure。有人能告诉我在logstash中可以使用什么过滤器来解析这些日志吗?首先{GREEDYDATA}的意思是直到日志事件结束。因此,驻留在dbg_lvl之后的所有文本都将分配给{greedydydat

我的日志文件包含以下行:

10/13 14:05:18.192 [modulename]: [pid]: (debug level string): message string XYZ:<xyz value>

我四处搜索并尝试了一些东西,但我得到了
\u grokparsefailure
。有人能告诉我在logstash中可以使用什么过滤器来解析这些日志吗?

首先
{GREEDYDATA}
的意思是直到日志事件结束。因此,驻留在
dbg_lvl
之后的所有文本都将分配给
{greedydydata}

在这里,请尝试以下代码。您的代码筛选器的问题是它无法解析
msg
之后的任何内容。希望这有帮助


(?\d\d/\d\d)%{TIME:TIME}\[%{WORD:module}\]:\[%{WORD:pid}\]:\({WORD:log\u level}\):%{CISCO\u REASON}.%{WORD}:%{BASE10NUM:xyz_number}

您尝试了什么?您是否尝试过使用增量添加到您的模式中?如果我在grokdebugger中给出要发现的上述示例日志,它建议:%%{SYSLOGPROG}{URIPATHPARAM}%{HAPROXYTIME}%{SYSLOG5424SD}:%%{NAGIOSTIME}:(debug):这是我的消息。987,但当我在grokdebugger中使用调试器链接并使用此模式并给出示例输入时,它不喜欢它。另外,grokdebugger似乎将10/13视为路径名?和pid作为NAGIOSTIME-似乎不正确。
(?\d\d/\d\d)%{TIME:TIME}\[%{WORD:module}\]:\[%{WORD:pid}\]:
匹配日志的开头。。。看看你能不能把它做完,汉克斯,这很有效。我无法将987(我上面的示例)解析为整数。我尝试:(?\d\d/\d\d)%{TIME:TIME}[%{WORD:module}]:[%{WORD:pid}]:({WORD:dbg\u lvl}):%{GREEDYDATA:msg}XYZ:%{INT:count}但我得到了解析错误。如果我删除XYZ:%{INT:count},它会工作,但我会失去计数。另外,我想结合日期和时间,这样我可以按日期+时间排序。有没有办法做到这一点?这在很大程度上是可行的。但我注意到,每当消息字符串包含像[]或!或或aaa.bbb.ccc,解析失败。我在哪里可以找到CISCO_REASON的定义以及我可以使用的其他内置解析器?基本上,我希望能够使用log_lvl:和XYZ:之间的任何字符串解析日志。
10/13 14:05:18.192 [MyModule]: [12345]: (debug): This is my message. XYZ: 987