我正在使用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索引器中应用时,它会获取job_type字段下的所有abc_132。 / p>
这里可能存在什么问题,如何提取uuid(也许是一个不同的正则表达式?)。
答案 0 :(得分:1)
您可以尝试使用ruby过滤器
从job_type获取uuidruby {
code => "event['uuid'] = event['job_type'].split('_')[1]"
}
希望这可以帮到你。