2017-03-13 4 views
1

私は、アプリケーションがあるバゲージ画像を持っています。あなたがポート2401に電話して、あなたが望むサービスに応じて特定の住所(つまり、 "curl -X GET http://127.0.0.1:2401/provider/ipfix")を呼ぶならば、それはバージュのイメージで到達可能です。 Vagrantマシン外の出力を取得するには、Vagrantファイル("config.vm.network :forwarded_port, guest: 2401, host: 8080 ")にポート転送を設定しているので、ホストからのコマンド" curl -X GET http://127.0.0.1:8080/provider/ipfix "を使用して同じ出力を得ます。VagrantのLogstash:既に使用されている住所

私は今インストール中ですLogstashLogstashを設定ファイルで実行すると、「Address already 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}" 
    } 
} 

答えて

1

I fこれを読んでいると、Logstashがlocalhost:8080に接続して処理する情報を取得するためにTCPを使用することを期待しています。

これは入力内容とは異なります。これにより、リスナーが127.0.0.1:8080に作成されるため、「already in use」に関するエラーメッセージはかなり正しいです。

このデータを取得する例としてcurlを使用していることを考慮すると、私はthe http_poller 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秒ごとに知られているワーキングCURL URLをヒットします。

+0

あなたが正しいです、それは私が欲しいものです。あなたの提案は合法的な解決策に見えます。私は今それを試すことはできません、私は私の最も早い利便性でやります、そして私は更新します。どうもありがとう! –

+0

完全に機能しました!どうもありがとう。 –

関連する問題