繁体   English   中英

Logstash 不替换 http output 插件中的变量

[英]Logstash doesn't replace variables in http output plugin

我正在尝试设置一个 logstash 管道,该管道根据我日志中的字段[logstash_url]将日志输出到不同的其他 logstash 实例:

http {
    url => "http://%{[logstash_url]}:5044"
    retry_failed => 'false'
    http_method => 'post'
    retry_non_idempotent => 'true'
    format => 'json_batch'
    http_compression => 'true'
}

问题是 logstash 没有替换[logstash_url]并且我得到以下跟踪:

[ERROR] 2022-11-16 14:20:04.014 [[main]>worker0] http - Could not fetch URL {:url=>"http://%{[logstash_url]}:5044", :method=>:post, :message=>"Malformed escape pair at index 16: http://%{[logstash_url]}:5044", :class=>"Java::JavaNet::URISyntaxException", :will_retry=>false}

[logstash_url]字段确实存在,我什至可以在过滤器或其他 output 类型中使用它。

我使用的图像是docker.elastic.co/logstash/logstash:8.1.0

原来是format => 'json_batch'选项导致了这个问题。 我删除了它, [logstash_url]现在被正确替换,日志被转发到适当的 logstash 实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM