# LogstashがElasticsearchにつながらない

**URL:** <https://discuss.elastic.co/t/logstash-elasticsearch/206159>\
**Category:** 日本語による質問・議論はこちら\
**Created:** [November 1, 2019, 12:07pm UTC](https://discuss.elastic.co/t/logstash-elasticsearch/206159 "2019-11-01T12:07:56Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Masanori\_Mishima](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/masanori_mishima/32/45030_2.png) [@Masanori\_Mishima](https://discuss.elastic.co/u/Masanori_Mishima)\
**Post date:** [November 1, 2019, 12:07pm UTC](https://discuss.elastic.co/t/logstash-elasticsearch/206159/1 "2019-11-01T12:07:57Z")

</div>

以下のdockerfileとdocker-compose、logstash.ymlの設定でdocker-compose upをしたところ、

"Elasticsearch Unreachable: [[http://elasticsearch:9200/](http://elasticsearch:9200/)][Manticore::ResolutionFailure] elasticsearch: Name or service not known"

でエラーになります。logstash.ymlのhostsで指定したlocalhostのポートに対してouputが行えないのはなぜでしょうか。

dockerfile

> FROM [docker.elastic.co/logstash/logstash:7.4.2](http://docker.elastic.co/logstash/logstash:7.4.2)  
> ADD config/logstash.yml /usr/share/logstash/config

docker-compose

> logstash:  
> build: logstash  
> container\_name: logstash  
> ports:  
> - 5000:5000

logstash.yml

> input {  
> file {  
> mode =\> "tail"  
> path =\> ["../../../packages/registerer/client/yukoyuko/csv/items-dev.csv"]  
> start\_psotion =\> "beginning"  
> codec =\> plain {  
> charset =\> "UTF-8"  
> }  
> }  
> }  
> filter {  
> csv {  
> columns =\> ["id","title","price","ReviewTotal","group","prefecture","HotelRank","area","onsen","RoomType","DinnerReview","reviews","rotenburo","IsExistOnsen","MealPlace","Meal","Pouring","PriceTaxInclude","ImageUrl","UnUsed","StockFlag","DisplayFlag","StartFrom","EndTo"]  
> convert =\> {  
> "id" =\> "integer"  
> }  
> skip\_header =\> true  
> }  
> date {  
> match =\> ["StartFrom","yyyy-MM-dd"]  
> match =\> ["EndTo","yyyy-MM-dd"]  
> }  
> }  
> output {  
> elasticsearch {  
> hosts =\> ["localhost:9600"]  
> index -\> "test-onsen  
> }  
> }

---

<div class="post-metadata">

**Author:** ![tsgkdt](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tsgkdt/32/39151_2.png) [@tsgkdt](https://discuss.elastic.co/u/tsgkdt)\
**Post date:** [November 1, 2019, 2:33pm UTC](https://discuss.elastic.co/t/logstash-elasticsearch/206159/2 "2019-11-01T14:33:44Z")

</div>

Logstashの問題ではなく、Dockerの、特にネットワークの設定の問題ではないでしょうか。

Logstashのoutputでelasticsearchがあり、そこでlocalhostと指定されています。  
ここでいうlocalhostはlogstashコンテナのlocalhostになります。  
なので、logstashコンテナ内ではElasticsearchが動いていないので、接続できないというエラーになると考えます。

従って、outputのhostにはLogstashが動くコンテナから見てElasticsearchがたっている場所を示す必要があります。

Elasticsearchもコンテナだと仮定しますと、このようなイメージです。(linksの箇所を参照）  
dockerコマンドだと、 --linkを使うイメージですね。

```auto
version: '2'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.4.2
    container_name: elasticsearch
    environment:
      - cluster.name=docker-cluster
      - discovery.type=single-node
      - bootstrap.memory_lock=true
    # 中略
    ports:
      - 9200:9200
    networks:
      - esnet
  logstash:
    image: docker.elastic.co/logstash/logstash:7.4.2
    container_name: logstash
    depends_on:
      - elasticsearch
    links:
      # elasticsearchコンテナを名前`elasticsearch`でアクセスできるようにしておく
      - elasticsearch:elasticsearch  
    networks:
      - esnet
networks:
  esnet:

```

そして、logstashの設定で、hostsをこうしておきます。

```ruby
elasticsearch {
    hosts => ["http://elasticsearch:9200"]
}

```

---

<div class="post-metadata">

**Author:** ![Masanori\_Mishima](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/masanori_mishima/32/45030_2.png) [@Masanori\_Mishima](https://discuss.elastic.co/u/Masanori_Mishima)\
**Post date:** [November 5, 2019, 4:30am UTC](https://discuss.elastic.co/t/logstash-elasticsearch/206159/3 "2019-11-05T04:30:09Z")

</div>

返信が遅くなってしまい、申し訳ありません。  
Dockerの設定のご説明丁寧にご教示いただきありがとうございます。  
自分の環境で試して後ほど経過をお伝え致します。

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 3, 2019, 4:30am UTC](https://discuss.elastic.co/t/logstash-elasticsearch/206159/4 "2019-12-03T04:30:10Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
