在Docker中使用ELK Stack与docker-compose与x.pack auth无法validation用户身份

我想用docker来使用elk栈。

为此,我创build了一个docker-compose文件。 一切正常,只要我有X-Pack停用。

但是现在我想要在kibana UI中login,因此我想使用x-pack

我在elasticsearch和logstash的环境中定义了UserName和Passsword。

但我总是得到这个exception

elasticsearch_1 | [2017-11-27T09:25:58,190] [INFO] [oexsaAuthenticationService] [clEpqom] [elastic]的身份validation已被realm [reserved]终止 – 未能validation用户[elastic]

我做错了什么暗示? 在这里,我的docker撰写文件:

version: '2' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch-platinum:6.0.0 ports: - "9200:9200" - "9300:9300" environment: ELASTIC_USERNAME: "elastic" ELASTIC_PASSWORD: "MyPw123" http.cors.enabled: "true" http.cors.allow-origin: "*" networks: - elk logstash: image: docker.elastic.co/logstash/logstash:6.0.0 environment: xpack.monitoring.elasticsearch.url: "172.17.0.1:9200" xpack.monitoring.elasticsearch.username: "elastic" xpack.monitoring.elasticsearch.password: "MyPw123" networks: - elk depends_on: - elasticsearch kibana: image: docker.elastic.co/kibana/kibana:6.0.0 ports: - "5601:5601" networks: - elk depends_on: - elasticsearch networks: elk: driver: bridge 

更新使用默认密码“changeme”确实有效。

您可以使用以下命令更改群集中的弹性(pipe理员)密码:

 curl -u elastic -XPUT 'localhost:9200/_xpack/security/user/elastic/_password?prett‌​y' -H 'Content-Type: application/json' -d' { "password": "supersecret" } 

默认密码是changme

如果你真的想在Docker-compose中设置你的configuration,我会build议看看这个页面。 我认为你不能将你的弹性search密码设置为logstash的环境variables(它们不在env var列表中)。 你必须改变它在configuration文件或build立自己的形象。 (恐怕Kibana也一样)。