0

我想将 elk 堆栈与 docker 一起使用。

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

但现在我想在 kibana UI 中登录,因此我想使用 x-pack

我在elasticsearch和logstash的环境中定义了用户名和密码。

但我总是得到这个例外

弹性搜索_1 | [2017-11-27T09:25:58,190][INFO][oexsaAuthenticationService] [clEpqom] [elastic] 的身份验证被领域 [reserved] 终止 - 无法对用户 [elastic] 进行身份验证

任何提示我做错了什么?这是我的 docker-compose 文件:

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”确实有效。

4

1 回答 1

1

您可以使用以下方法更改集群中的弹性(管理员)密码:

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

默认密码是changme.

如果您真的想在 docker-compose 中设置配置,我建议您查看页面。我认为您不能将您的 elasticsearch 密码设置为 logstash 的环境变量(它们不在 env var 列表中)。您必须在配置文件中更改它或构建自己的图像。(恐怕 Kibana 也是如此)。

于 2017-11-27T10:08:48.670 回答