Logstash筛选器rest发送的字段引用不正确,它始终引用它引用的第一个字段值

Logstash筛选器rest发送的字段引用不正确,它始终引用它引用的第一个字段值,logstash,logstash-configuration,Logstash,Logstash Configuration,我最近使用了,并按如下方式进行了配置: rest { url => "http://example.com/api" sprintf => true method => "post" params => { "post_key" => "%{a_field_in_log}" } response_key => "my_key" } 在此之后,logstash向我的api发出post请求,但出现了一些

我最近使用了,并按如下方式进行了配置:

rest {
    url => "http://example.com/api"
    sprintf => true
    method => "post"
    params => {
      "post_key" => "%{a_field_in_log}"
    }
    response_key => "my_key"
}
在此之后,logstash向我的api发出post请求,但出现了一些问题,日志中的
a\u字段\u的值
在每个请求中都是相同的(我检查api访问日志,所有的值都是发送给api的第一个字段值),似乎引用的字段有缓存


如果有人遇到过同样的问题,会感谢你的帮助

碰巧,我是这本书的作者,我很高兴听到有人在使用它

我可以复制你的问题。这是一个错误,(好消息)我修复了它。谢谢你的报道

您现在可以更新到新版本0.1.5

../logstash/bin/plugin update logstash-filter-rest
测试配置:

input { stdin {} }
filter {
        grok { match => [ "message",  "Hello %{WORD:who}" ] }
        rest {
                url => "http://requestb.in/1f7s1sg1?test=%{who}"
                method => "post"
                sprintf => true
                params => {
                        "hello" => "%{who}"
                }
        }
}
output { stdout{ codec => "rubydebug" } }
Hello John
Hello Doe
Hello foo
Hello bar
测试数据:

input { stdin {} }
filter {
        grok { match => [ "message",  "Hello %{WORD:who}" ] }
        rest {
                url => "http://requestb.in/1f7s1sg1?test=%{who}"
                method => "post"
                sprintf => true
                params => {
                        "hello" => "%{who}"
                }
        }
}
output { stdout{ codec => "rubydebug" } }
Hello John
Hello Doe
Hello foo
Hello bar
结果:

input { stdin {} }
filter {
        grok { match => [ "message",  "Hello %{WORD:who}" ] }
        rest {
                url => "http://requestb.in/1f7s1sg1?test=%{who}"
                method => "post"
                sprintf => true
                params => {
                        "hello" => "%{who}"
                }
        }
}
output { stdout{ codec => "rubydebug" } }
Hello John
Hello Doe
Hello foo
Hello bar
(看起来不错)


非常感谢你的贡献!我希望现在一切正常。

碰巧,我是这本书的作者,我很高兴听到有人在使用它

我可以复制你的问题。这是一个错误,(好消息)我修复了它。谢谢你的报道

您现在可以更新到新版本0.1.5

../logstash/bin/plugin update logstash-filter-rest
测试配置:

input { stdin {} }
filter {
        grok { match => [ "message",  "Hello %{WORD:who}" ] }
        rest {
                url => "http://requestb.in/1f7s1sg1?test=%{who}"
                method => "post"
                sprintf => true
                params => {
                        "hello" => "%{who}"
                }
        }
}
output { stdout{ codec => "rubydebug" } }
Hello John
Hello Doe
Hello foo
Hello bar
测试数据:

input { stdin {} }
filter {
        grok { match => [ "message",  "Hello %{WORD:who}" ] }
        rest {
                url => "http://requestb.in/1f7s1sg1?test=%{who}"
                method => "post"
                sprintf => true
                params => {
                        "hello" => "%{who}"
                }
        }
}
output { stdout{ codec => "rubydebug" } }
Hello John
Hello Doe
Hello foo
Hello bar
结果:

input { stdin {} }
filter {
        grok { match => [ "message",  "Hello %{WORD:who}" ] }
        rest {
                url => "http://requestb.in/1f7s1sg1?test=%{who}"
                method => "post"
                sprintf => true
                params => {
                        "hello" => "%{who}"
                }
        }
}
output { stdout{ codec => "rubydebug" } }
Hello John
Hello Doe
Hello foo
Hello bar
(看起来不错)


非常感谢你的贡献!我希望现在一切正常。

噢,谢谢你的回复,我明天会更新它并通知你结果。嗨,我更新了新版本,我提到的问题已经解决了,但不是很好,它会不时地将%{file_name}按字面意思(而不是值)发送到api。噢,太糟糕了。谢谢你的报道。我会尝试重现那个bug,并尽快回复你。哦,谢谢你的回复,我明天会更新它并通知你结果。嗨,我更新了新版本,我提到的问题已经解决了,但不是很好,它会不时地将%{file_name}按字面意思(不是值)发送到api。哦,太糟糕了。谢谢你的报道。我会试着复制那个bug,然后很快给你回复。