我有一个Vagrant映像,其中有一个应用程序;如果您调用端口2401并根据您想要的服务调用特定地址(即"curl -X GET http://127.0.0.1:2401/provider/ipfix"),则可以在Vagrant映像中访问它。为了检索Vagrant之外的输出,我在Vagrant ("config.vm.network :forwarded_port, guest: 2401, host: 8080)中设置了一个端口转发,从而使用来自主机的命令"curl -X GET http://127.0.0.1:8080/provider/ipfix“获得相同的输出。
我现在正处于安装Logstash的阶段。我的问题是,当我使用配置文件运行Logstash时,会得到“已在使用的地址”错误。我尝试使用同样的字段来指导特定的输出。下面是我的Logstash配置文件。你有什么建议吗?
input {
tcp {
host => localhost
port => 8080
add_field => {
"field1" => "provider"
"field2" => "ipfix"
}
codec => netflow {
versions => [10]
target => ipfix
}
type => ipfix
}
}
output {
stdout { codec => rubydebug }
elasticsearch {
index => "IPFIX-logstash-%{+YYYY.MM.dd}"
}
}发布于 2017-03-13 18:24:50
如果我读对了,您就会期望Logstash使用TCP连接到localhost:8080来获取信息,然后再进行处理。
这不是这个输入的作用。这将在127.0.0.1:8080上创建一个侦听器,因此关于“已经在使用”的错误消息非常正确。
考虑到您正在使用curl作为获取这些数据的示例,我建议 plugin更适合您想要的内容。
input {
http_poller {
urls => {
IPFIX => "http://127.0.0.1:8080/provider/ipfix"
}
request_timeout => 30
schedule => { "every" => "5s" }
add_tags => [ 'ipfix' ]
}
}这将与一个GET请求每5秒击中已知的工作卷曲URL。
https://stackoverflow.com/questions/42767227
复制相似问题