2017-03-04 93 views
0

我正尝试使用docker容器创建弹性搜索安装。 我只使用elastic.io提供商的图像。弹性搜索+ LogStash无法连接

我在启动logstash实例时遇到错误。

这里是我的配置:

泊坞窗,compose.yml

 
version: '2' 
services: 
    elasticsearch1: 
    image: docker.elastic.co/elasticsearch/elasticsearch:5.2.2 
    container_name: elasticsearch1 
    environment: 
     - cluster.name=docker-cluster 
     - bootstrap.memory_lock=true 
     - "ES_JAVA_OPTS=-Xms512m -Xmx512m" 
    ulimits: 
     memlock: 
     soft: -1 
     hard: -1 
     nofile: 
     soft: 65536 
     hard: 65536 
    mem_limit: 1g 
    cap_add: 
     - IPC_LOCK 
    volumes: 
     - esdata1:/usr/share/elasticsearch/data 
    networks: 
     - esnet 
    elasticsearch2: 
    image: docker.elastic.co/elasticsearch/elasticsearch:5.2.2 
    container_name: elasticsearch2 
    environment: 
     - cluster.name=docker-cluster 
     - bootstrap.memory_lock=true 
     - "ES_JAVA_OPTS=-Xms512m -Xmx512m" 
     - "discovery.zen.ping.unicast.hosts=elasticsearch1" 
    ulimits: 
     memlock: 
     soft: -1 
     hard: -1 
     nofile: 
     soft: 65536 
     hard: 65536 
    mem_limit: 1g 
    cap_add: 
     - IPC_LOCK 
    volumes: 
     - esdata2:/usr/share/elasticsearch/data 
    networks: 
     - esnet 

    logstash: 
    image: docker.elastic.co/logstash/logstash:5.2.2 
    container_name: logstash 
    mem_limit: 1g 
    links: 
     - elasticsearch1:elasticsearch 
    volumes: 
     - ./logstash.yml:/usr/share/logstash/config/logstash.yml 

volumes: 
    esdata1: 
    driver: local 
    esdata2: 
    driver: local 

networks: 
    esnet: 
    driver: bridge 

的,现在我logstash.yml

 
node: 
    name: 'default logstash' 
http: 
    host: elasticsearch 
pipeline: 
    workers: 1 
    batch: 
    size: 12 
    delay: 5 
log: 
    level: 'debug' 

我不知道WY但logstash告诉我他无法连接到带有此错误消息的ElasticSearch实例:

 
... 
[DEBUG][logstash.runner] *http.host: "elasticsearch" (default: "127.0.0.1") 
... 
[DEBUG][logstash.outputs.elasticsearch] config LogStash::Ouputs::ElasticSearch/@hosts = [http://localhost:9200] 
[INFO][logstash.ouputs.elasticsearch] Elasticsearch pool URLs updated {:changes=>:removed>[], :added=>[logstash_system:[email protected]:9200/_xpack/monitoring/?system_id=logstash&system_api_version=2&interval=1s]}} 

有人可以告诉我为什么logstash使用不好的主机事件,如果他真的有我的设置?

谢谢。

问候

+0

您是否尝试通过端口9200上的HTTP请求访问elasticsearch节点? – Adonis

+0

Logstash似乎并未指向elasticsearh事件。不是沟通问题? –

回答

0

我找到了一个解决方案,通过一个logstash.conf文件替换我logstash.yml:

 

    input { 
     stdin { } 
     beats { 
     port => 5044 
     } 
    } 

    output { 
     elasticsearch { 
     hosts => [ 'elasticsearch' ] 
     user  => 'elastic' 
     password => 'changeme' 
     } 
    } 

最后,我改变我的搬运工,撰写文件链接此文件CONF:

 

    volumes: 
     - ./logstash-pipeline/:/usr/share/logstash/pipeline/ 

+0

请让我知道是否需要在Logstash端(版本5.6.5)安装任何XPack以进行此类基本身份验证。我将要使用的Elasticsearch服务器似乎以某种方式新增了这样的基本认证,我现在应该在Logstash结束时使用这种认证。 – Loganathan