Vagrant 流浪汉日志:地址已在使用中

Vagrant 流浪汉日志:地址已在使用中,vagrant,logstash,bind,vagrantfile,elastic-stack,Vagrant,Logstash,Bind,Vagrantfile,Elastic Stack,我有一个流浪的形象,其中有一个应用程序;如果您调用端口2401,并根据您想要的服务调用特定地址(即“curl-X GET”),则可以在流浪者映像中访问该端口http://127.0.0.1:2401/provider/ipfix”)。为了检索Vagrant机器外部的输出,我在Vagrant文件中设置了一个端口转发(“config.vm.network:forwarded\u port,guest:2401,host:8080”),因此使用命令“curl-X GET”http://127.0.0.

我有一个流浪的形象,其中有一个应用程序;如果您调用端口
2401
,并根据您想要的服务调用特定地址(即“
curl-X GET”),则可以在流浪者映像中访问该端口http://127.0.0.1:2401/provider/ipfix
”)。为了检索Vagrant机器外部的输出,我在Vagrant文件中设置了一个端口转发(
“config.vm.network:forwarded\u port,guest:2401,host:8080
”),因此使用命令“
curl-X GET”http://127.0.0.1:8080/provider/ipfix
“我从主机获得相同的输出

我现在正在安装Logstash。我的问题是,当我使用配置文件运行Logstash时,我会得到错误“Address ready in use”。我还尝试使用字段来引导特定的输出。下面是我的日志存储配置文件。你会建议什么解决方法

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}"
  }
}

如果我读对了,您希望Logstash使用TCP连接到localhost:8080来获取它将处理的信息

这不是这个输入的作用。这将在127.0.0.1:8080上创建一个侦听器,因此关于“已在使用”的错误消息非常正确

考虑到您正在使用curl作为获取这些数据的示例,我建议更好地满足您的需要

input {
  http_poller {
    urls => {
      IPFIX => "http://127.0.0.1:8080/provider/ipfix"
    }
    request_timeout => 30
    schedule => { "every" => "5s" }
    add_tags => [ 'ipfix' ]
  }
}

这将每隔5秒通过
GET
请求命中已知的工作CURL URL。

你说得对,这就是我想要的。你的建议似乎是一个合法的解决办法。我现在不能尝试,我会在我方便的时候尽快做,我会更新。非常感谢!