我正在使用Twitter输入和Elasticsearch输出到Logstash。在logstash中,我想分析传入的推文并基于某种算法添加新字段。我知道我需要编写一个新的插件,但我遇到的例子都是Ruby。
是否可以在Python中编写插件?如果没有,请分享任何关于如何在Ruby中编写一个的好教程。
答案 0 :(得分:2)
如果您的算法并不复杂,可以使用Ruby过滤器插件来满足您的要求。
例如,
filter {
ruby {
code => "
if event['type'] == 'tweet'
event['newfield'] = 'Come from Twitter'
end
"
}
}
这将添加名称为newfield
且值为Come from Twitter
答案 1 :(得分:2)
我个人不会使用ruby代码,但使用mutate插件(http://logstash.net/docs/1.4.2/filters/mutate)
对于配置,您还可以使用提供的条件。可以在此处找到示例:http://logstash.net/docs/1.4.2/configuration#conditionals
if [type] == 'tweet' {
mutate {
add_field => { "newfield" => "value can contain variables from the entire message" }
}
}