logstash中信息提取的grok模式

logstash中信息提取的grok模式,logstash,grok,Logstash,Grok,我使用grok模式从文件路径中提取一些数据,但它似乎无法正常工作 path: /home/shard/logstash/test/12/23/abc_132.log pattern: %{GREEDYDATA}/%{INT:group}/%{INT:id}/%{DATA:job_type}(_%{UUID:uuid})*\.log 我想提取132作为uuid字段,当在grok调试器中测试时,它工作正常[http://grokdebug.herokuapp.com/]但当应用于logstash

我使用grok模式从文件路径中提取一些数据,但它似乎无法正常工作

path: /home/shard/logstash/test/12/23/abc_132.log
pattern: %{GREEDYDATA}/%{INT:group}/%{INT:id}/%{DATA:job_type}(_%{UUID:uuid})*\.log
我想提取132作为uuid字段,当在grok调试器中测试时,它工作正常[http://grokdebug.herokuapp.com/]但当应用于logstash indexer时,它会在job_type字段下获取所有abc_132


这里可能有什么问题,如何提取uuid(可能是另一个正则表达式?)

您可以尝试使用ruby过滤器从作业类型获取uuid

ruby {
   code => "event['uuid'] = event['job_type'].split('_')[1]"
}

希望这能对您有所帮助。

您可以尝试使用ruby过滤器从作业类型获取uuid

ruby {
   code => "event['uuid'] = event['job_type'].split('_')[1]"
}

希望这能对您有所帮助。

这就是失败的确切输入吗?例如,如果文件名为
abc_132h.log
,则比较结果。这正是失败的输入吗?例如,如果文件名为
abc132h.log
,则比较结果。