Я установил elasticsearch на свой сервер, его статус отображается как активный:
[root@dev]# статус systemctl elasticsearch ● elasticsearch.service – Elasticsearch. Загружено: загружено (/usr/lib/systemd/system/elasticsearch.service; включено; предустановка поставщика: отключено) Активный: активен (работает) со вторника 16 апреля 2024 г., 16:51:00 BST;
Вот elasticsearch.yml:
node.roles: [master, data, ingest]
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: false
network.host: 0.0.0.0
http.port: 9200
transport.host: localhost
transport.port: 9300-9400
discovery.type: "single-node"
Я также установил Kibana, которая находится в активном состоянии, но выдает следующее исключение: [ОШИБКА][elasticsearch-service] Невозможно получить информацию о версии с узлов Elasticsearch. Security_Exception: отсутствуют учетные данные аутентификации для запроса REST
Вот кибана.yml:
server.port: 5601
server.host: "0.0.0.0"
server.name: "Kibana"
elasticsearch.hosts: ["http://localhost:9200"]
Обратите внимание, что elasticsearch и Kibana находятся на одном сервере. И они устанавливаются с использованием ansible role. Elasticsearch предназначен только для одного узла.
Вам понадобится встроенный пользователь kibana_system для подключения Kibana к Elasticsearch.
Итак, вы можете добавить эти две строки в свой kibana.yml.
Источник: https://www.elastic.co/guide/en/kibana/7.17/using-kibana-with-security.html
elasticsearch.username: "kibana_system"
elasticsearch.password: "kibanapassword"
Пожалуйста, напишите свой собственный пароль kibana_system. Если у вас его нет, вы можете воссоздать его с помощью elasticsearch.
bin/elasticsearch-reset-password -u kibana_system
При этом используется тег -u (пользователь) и сбрасывается ваш пароль.
Источник: https://www.elastic.co/guide/en/elasticsearch/reference/current/reset-password.html
Объяснение пользователя:
кибана_система: Пользователь, которого Kibana использует для подключения и взаимодействия с Elasticsearch.
Нет такого пользователя: kibana_system, однако есть пользователь: kibana. Мне удалось сбросить его пароль. Использовал то же самое в kibana.yml. Теперь кибана начала работать и больше не выдает вышеупомянутую ошибку. Но загвоздка в том, что я не могу напрямую разместить пароли planetext в kibana.yml. Есть ли способ добиться этого через ansible?
Одним из способов может быть сохранение пароля в хранилище эластичных ключей. вы можете добавить туда пароль: bin/kibana-keystore добавьте elasticsearch.password. Если вы хотите дать ему другое имя, вы можете использовать этот пароль как переменную в файле kibana.yml: elasticsearch.password: "${my-pass}"
Есть ли способ включить «bin/elasticsearch-reset-password -u kibana_system» в ansible. И тогда я могу ввести пароль в конфигурацию, используя kibana.yml.
Я могу изменить пароль, включив «bin/elasticsearch-reset-password -u kibana» в ansible. Я зарегистрировал вывод. Как использовать/назначить это выходное значение??
вы можете использовать команду cli для передачи значений. Если у вас есть, например, такая конфигурация в kibana.yml: logging.dest: %{LOG_DIR}, вы можете использовать команду командной строки: bin/kibana --logging.dest=LOG_DIR Вот источники: обсуждение.elastic.co /t/… и это обсуждение.elastic.co/t/using-environment-variables-in-kibana-yml/…
Реализован сброс пароля для пользователя kibana в ansible. И то же самое в kibana.yml решило мою проблему.
Вместо этого рассмотрите возможность задать вопросы системному администратору на serverfault.com. Stack Overflow предназначен для вопросов по программированию.