1

我正在使用 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。

这里可能是什么问题以及如何提取 uuid(可能是不同的正则表达式?)。

4

1 回答 1

1

您可以尝试使用 ruby​​ 过滤器从 job_type 获取 uuid

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

希望这可以帮到你。

于 2013-12-10T13:12:55.107 回答