日志文件Logstash的查询

问题描述 投票:0回答:1

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

-----Start of script for server sitboap1 at **Fri Apr 17 14:24:19** HKT 2020---------
**user11**   87751      1   0 Apr16 ?        00:00:00 sh **job1.sh**
**user11**   877452  89451  0 Apr16 ?        00:00:00 sh **job2.sh** --server-config= full.xml
**user11**   89772   89452  3 Apr16 ?        00:02:35 **/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/bin/java** -D[stdd] -server -verbose:gc

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

我无法完全弄清一个完全符合我的要求的骗子。

它可以是Grost和Logstash中的过滤器的组合,但我的最终期望是拥有这些列。

logstash logstash-grok
1个回答
1
投票

您可以尝试以下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}

最后,您可以使用此website创建grok过滤器。

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.