Logstash 查找日志文件日志库

Logstash 查找日志文件日志库,logstash,logstash-grok,Logstash,Logstash Grok,我需要编写一个grok模式来检索“**”中的内容 日志应该从顶部获取日期,从列表中获取用户名和作业名。 每个日期下的行数可能会有所不同 我想不出一种完全符合我要求的衣服 它可以是Logstash中Grok和filter的组合,但我的最终期望是拥有这些列。您可以尝试下面的Grok过滤器。有2个过滤器 获取标题中的日期和时间。 -----Start of script for server (.*[a-z|A-Z|0-9]) at %{GREEDYDATA:UserDateTime} (.*[a-z

我需要编写一个grok模式来检索“**”中的内容

日志应该从顶部获取日期,从列表中获取用户名和作业名。 每个日期下的行数可能会有所不同

我想不出一种完全符合我要求的衣服


它可以是Logstash中Grok和filter的组合,但我的最终期望是拥有这些列。

您可以尝试下面的Grok过滤器。有2个过滤器

获取标题中的日期和时间。

-----Start of script for server (.*[a-z|A-Z|0-9]) at %{GREEDYDATA:UserDateTime} (.*[a-z|A-Z])
%{GREEDYDATA:User} ([1-9][0-9]{1,10}) (.*) %{GREEDYDATA:execFile}
获取内容。

-----Start of script for server (.*[a-z|A-Z|0-9]) at %{GREEDYDATA:UserDateTime} (.*[a-z|A-Z])
%{GREEDYDATA:User} ([1-9][0-9]{1,10}) (.*) %{GREEDYDATA:execFile}
最后,您可以使用它来创建grok过滤器


您可以尝试下面的grok过滤器。有2个过滤器

获取标题中的日期和时间。

-----Start of script for server (.*[a-z|A-Z|0-9]) at %{GREEDYDATA:UserDateTime} (.*[a-z|A-Z])
%{GREEDYDATA:User} ([1-9][0-9]{1,10}) (.*) %{GREEDYDATA:execFile}
获取内容。

-----Start of script for server (.*[a-z|A-Z|0-9]) at %{GREEDYDATA:UserDateTime} (.*[a-z|A-Z])
%{GREEDYDATA:User} ([1-9][0-9]{1,10}) (.*) %{GREEDYDATA:execFile}
最后,您可以使用它来创建grok过滤器


谢谢,但是如果我的日志继续以相同的模式追加,我能使用2个过滤器吗?如何匹配日期和值?我假设需要逐行解析它;由于日期并非出现在每一行中,因此可以通过多次匹配来获得它。grok{match=>{“date”=>PATTERN},match=>{“values”=>PATTERN}谢谢,但是如果我的日志一直以相同的模式追加,我能使用2个过滤器吗?如何匹配日期和值?我假设需要逐行解析它;由于日期并非出现在每一行中,因此可以通过多次匹配来获得它。grok{match=>{“日期”=>PATTERN},match=>{“值”=>PATTERN}