При использовании стека ELK в Docker с docker-compose с аутентификацией x.pack не удалось аутентифицировать пользователя

Я хочу использовать стек лося с докером.

для этого я создал файл docker-compose. Все работает нормально, пока у меня отключен X-Pack.

Но теперь я хочу иметь логин в пользовательском интерфейсе kibana, и поэтому я хочу использовать x-pack

Я определил имя пользователя и пароль в среде elasticsearch, а также logstash.

Но я всегда получаю это исключение

эластичный поиск_1 | [2017-11-27T09:25:58,190][INFO ][o.e.x.s.a.AuthenticationService] [clEpqom] Аутентификация [эластичного] была прервана областью [зарезервировано] - не удалось аутентифицировать пользователя [эластичный]

Любые намеки на то, что я делаю неправильно? Вот мой файл для создания докеров:

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» ​​работает.


person Boas Enkler    schedule 27.11.2017    source источник
comment
Может быть, «глупое» замечание, но что происходит, когда вы не используете compose, а запускаете руководство по контейнерам и каждый раз ждете несколько секунд. (сначала ES, потом логсташ, потом кибана)? Может быть, Kibana пытается подключиться, пока logstash еще не запущен?   -  person lvthillo    schedule 27.11.2017
comment
не пробовал один за другим, но я вижу, что даже через несколько минут, когда все работает, возникает ошибка   -  person Boas Enkler    schedule 27.11.2017
comment
Можно с апи если пароль сменится + логи в логсташ приходят? curl -u elastic 'localhost:9200/_cat/indices?v (проверить индексы на ES)   -  person lvthillo    schedule 27.11.2017
comment
некоторые опубликовали комментарий, который теперь удален, но это было правильно. когда я использую pw changeme по умолчанию, он работает...   -  person Boas Enkler    schedule 27.11.2017
comment
О да, я удалил его, потому что думал, что он устарел для 6.0.0 (я еще не использовал самую новую версию). Кажется, пароль не изменился, установив его в файле компоновки докеров.   -  person lvthillo    schedule 27.11.2017
comment
@ivthillo, но это работает. но я не знаю теперь, как это изменить? Я ожидал, что конфигурация в эластичном поиске сделает это. мне нужно определить другие кредиты в конфигурационном файле эластичного?   -  person Boas Enkler    schedule 27.11.2017
comment
Я использовал более ранние версии: curl -u elastic -XPUT 'localhost:9200/_xpack/security/user/elastic/_password?pretty' -H 'Content-Type: application/json' -d' { "password": "supersecret" } '   -  person lvthillo    schedule 27.11.2017
comment
Но в версии 6.0.0 может быть по-другому: elastic.co/guide/en/elasticsearch/reference/current/ (Post вместо Put, не знаю, имеет ли это значение на самом деле)   -  person lvthillo    schedule 27.11.2017
comment
хорошо, спасибо, неожиданный пароль был причиной этой проблемы. я проверю это и, возможно, снова открою другой вопрос, если обнаружу проблему. Можете ли вы опубликовать свой комментарий в качестве ответа, чтобы я мог отметить его как решение?   -  person Boas Enkler    schedule 27.11.2017


Ответы (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). Вы должны изменить его в файлах конфигурации или создать свой собственный образ. (Боюсь, то же самое для Кибаны).

person lvthillo    schedule 27.11.2017