0

在logstash配置中,A.B.C.D是一个IP,我想提取它的一部分,如A.B.C.在使用其他标准Logstash插件时,在Logstash中使用ruby块的性能会更差吗?

ruby { 
    code => "event['Awesome_IP'] =event['Not_Awesome_IP'].match('\A\d{,3}.\d{,3}.\d{,3}').to_s;" 
    } 

不过我听说同样的表现不是很好,相对于做,比方说,下面:我一直在使用下面的代码acheiving在Ruby块这种使用正则表达式匹配:

mutate { 
    split => { "Awesome_IP" => "." } 
} 
mutate { 
    remove_field => ["[Awesome_IP[3]"] 
} 
mutate { 
    join => ["[Awesome_IP]", "."] 
} 

任何人都可以指向一些性能指针或一些基准测试工具,我可以用来评估性能的情况下?我正在使用它来解析每天数百万的订单日志。 (只需要两种方法的性能比较)。

+0

可以从此[脚本]也许开始(https://gist.github.com/jsvd/a2613ea1ba00f02926a302781ca62f7b),其中,使用了比较神交过滤性能[这个博客帖子(HTTPS: //www.elastic.co/blog/do-you-grok-grok) – baudsp

+0

@baudsp这是关于grok匹配性能的,但是我试图比较ruby块的性能,而不是其他插件。另外,我的Ruby不是最好的,所以就像旁注一样,看到几个指针可以看到脚本如何用来衡量logstash性能会很有趣。感谢您的意见。 –

+0

我链接的脚本是检查Grok插件的性能,我可以修改它来检查两个插件的性能。修改将需要良好的Ruby,我没有。 – baudsp

回答