0

ドッカー - ELKスタック - だから私はfilebeatsによって満たされるELKスタックを、起動するためにドッカ - コンを使用しています...私の設定は、このようなものである「Elasticsearchはuneachableように見えるかダウン」

input { 
    beats { 
     port => 5044 
    } 
} 

.... 

output { 
    elasticsearch { 
     hosts => "localhost:9200" 
     manage_template => false 
     index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
     document_type => "%{[@metadata][type]}" 
    } 
    } 

これらのドッキングウィンドウのコンテナは同じインスタンス上で実行されていると私は外部の両方のポートを打つことができることを確認しました:

elasticsearch: 
    image: elasticsearch:latest 
    command: elasticsearch -Des.network.host=_non_loopback_ 
    ports: 
    - "9200:9200" 
    - "9300:9300" 
logstash: 
    image: logstash:latest 
    command: logstash -f /etc/logstash/conf.d/logstash.conf -b 10000 -w 1 
    volumes: 
    - ./logstash/config:/etc/logstash/conf.d 
    ports: 
    - "5044:5044" 
    links: 
    - elasticsearch 
    environment: 
    - LS_HEAP_SIZE=2048m 
kibana: 
    build: kibana/ 
    volumes: 
    - ./kibana/config/:/opt/kibana/config/ 
    ports: 
    - "5601:5601" 
    links: 
    - elasticsearch 

マイlogstash.confファイルには、次のようになります。

filebeatからのファイルの同期中に表示されるエラーは次のとおりです。このケースではlocalhostです

logstash_1  | {:timestamp=>"2016-05-19T19:52:55.167000+0000", :message=>"Attempted to send a bulk request to Elasticsearch configured at '[\"http://localhost:9200/\"]', but Elasticsearch appears to be unreachable or down!", :error_message=>"Connection refused", :class=>"Manticore::SocketException", :client_config=>{:hosts=>["http://localhost:9200/"], :ssl=>nil, :transport_options=>{:socket_timeout=>0, :request_timeout=>0, :proxy=>nil, :ssl=>{}}, :transport_class=>Elasticsearch::Transport::Transport::HTTP::Manticore, :logger=>nil, :tracer=>nil, :reload_connections=>false, :retry_on_failure=>false, :reload_on_failure=>false, :randomize_hosts=>false, :http=>{:scheme=>"http", :user=>nil, :password=>nil, :port=>9200}}, :level=>:error} 

おかげで、

+0

どこでエラーが出ますか?エラーに関する詳細情報はありますか? – alpert

+0

@alpert - エラーは、ログファイル(166MB)をビート経由でlogstashに渡すと、logstashがElasticsearchを検出できないように見えます。私のローカルマシンから同期しようとしているときにエラーが表示されます。 - >ドックを実行しているマシンでログを取得します。 –

答えて

1

あなたがローカルホスト上でelasticsearch到達しようが、それは不可能です、 logstashを含むドッカーコンテナ。あなたがリンクを介してアクセスする必要が

:あなたのIPアドレス(ない127.0.0.1)を記入し、「外」の代わりに、ローカルホストからあなたelasticsearchインスタンスにアクセスしたい場合

output { 
elasticsearch { 
    hosts => "elasticsearch:9200" 
    manage_template => false 
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
    document_type => "%{[@metadata][type]}" 
} 
} 

または、

+0

ああ、そうですね。 –

+0

あなたの助けをありがとう、私はしばらくの間、頭を叩いていた。 –

関連する問題