elasticsearch 弹性搜索&x2B;LogStash无法连接,elasticsearch,logstash,docker-compose,elasticsearch,Logstash,Docker Compose" /> elasticsearch 弹性搜索&x2B;LogStash无法连接,elasticsearch,logstash,docker-compose,elasticsearch,Logstash,Docker Compose" />

elasticsearch 弹性搜索&x2B;LogStash无法连接

elasticsearch 弹性搜索&x2B;LogStash无法连接,elasticsearch,logstash,docker-compose,elasticsearch,Logstash,Docker Compose,我正在尝试使用docker容器创建一个弹性搜索安装。 我只使用elastic.io提供程序的图像 启动logstash实例时遇到错误 以下是我的配置: docker-compose.yml 版本:“2” 服务: 弹性搜索1: 图片:docker.elastic.co/elasticsearch/elasticsearch:5.2.2 容器名称:elasticsearch1 环境: -cluster.name=docker集群 -bootstrap.memory\u lock=true -“ES_

我正在尝试使用docker容器创建一个弹性搜索安装。 我只使用elastic.io提供程序的图像

启动logstash实例时遇到错误

以下是我的配置:

docker-compose.yml

版本:“2”
服务:
弹性搜索1:
图片:docker.elastic.co/elasticsearch/elasticsearch:5.2.2
容器名称:elasticsearch1
环境:
-cluster.name=docker集群
-bootstrap.memory\u lock=true
-“ES_JAVA_OPTS=-Xms512m-Xmx512m”
乌利米特:
memlock:
软-1
硬:-1
nofile:
电话:65536
硬盘:65536
内存限制:1g
第(二)章增补:
-IPC_锁
卷数:
-esdata1:/usr/share/elasticsearch/data
网络:
-esnet
弹性搜索2:
图片:docker.elastic.co/elasticsearch/elasticsearch:5.2.2
容器名称:elasticsearch2
环境:
-cluster.name=docker集群
-bootstrap.memory\u lock=true
-“ES_JAVA_OPTS=-Xms512m-Xmx512m”
-“discovery.zen.ping.unicast.hosts=elasticsearch1”
乌利米特:
memlock:
软-1
硬:-1
nofile:
电话:65536
硬盘:65536
内存限制:1g
第(二)章增补:
-IPC_锁
卷数:
-esdata2:/usr/share/elasticsearch/data
网络:
-esnet
日志存储:
图片:docker.elastic.co/logstash/logstash:5.2.2
集装箱名称:logstash
内存限制:1g
链接:
-elasticsearch1:elasticsearch
卷数:
-./logstash.yml:/usr/share/logstash/config/logstash.yml
卷数:
esdata1:
司机:本地
esdata2:
司机:本地
网络:
esnet:
司机:驾驶台
A现在我的logstash.yml

节点:
名称:“默认日志存储”
http:
主持人:elasticsearch
管道:
工人:1
批次:
尺码:12
延误:5
日志:
级别:“调试”
我不知道为什么,但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:xxxxx@localhost:9200/_xpack/monitoring/?system_id=logstash&system_api_version=2&interval=1s]}} ... [DEBUG][logstash.runner]*http.host:“elasticsearch”(默认值:“127.0.0.1”) ... [DEBUG][logstash.outputs.elasticsearch]配置logstash::outputs::elasticsearch/@hosts=[http://localhost:9200] [INFO][logstash.outputs.elasticsearch]elasticsearch池URL更新{:更改=>:删除>[],:添加=>[logstash\u系统:xxxxx@localhost:9200/\u xpack/monitoring/?system\u id=logstash&system\u api\u version=2&interval=1s]}
如果logstash真的得到了我的设置,有人能告诉我为什么logstash会使用坏主机事件吗?

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

input { stdin { } beats { port => 5044 } } output { elasticsearch { hosts => [ 'elasticsearch' ] user => 'elastic' password => 'changeme' } } 输入{ stdin{} 击败{ 端口=>5044 } } 输出{ 弹性搜索{ 主机=>['elasticsearch'] 用户=>“弹性” 密码=>'changeme' } } 最后,我将docker compose文件更改为链接此conf文件:

volumes: - ./logstash-pipeline/:/usr/share/logstash/pipeline/ 卷数: -./logstash管道/:/usr/share/logstash/pipeline/
您是否尝试通过端口9200上的HTTP请求访问上的elasticsearch节点?Logstash似乎没有指向elasticsearh事件。不是通信问题吗?请告诉我是否需要在Logstash端(版本5.6.5)安装任何XPack以进行此类基本身份验证。我将要使用的Elasticsearch服务器似乎以某种方式新添加了这样的基本身份验证,我现在应该在Logstash端使用。如果您的ES使用的是身份验证aka x-pack,那么是的,您的Logstash还需要安装插件,并且您需要使用
user,连接到elasticsearch时,在logstash.conf文件中输入密码