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,然后很快给你回复。