В этой статье мы рассмотрим, как развернуть Elasticsearch и Kibana использовать Docker Compose. Это два ключевых компонента стека ELK( Elasticsearch, Logstash, Kibana), помогающих вам эффективно искать, анализировать и визуализировать данные. Ниже приведены подробные конфигурации и то, как работает каждый компонент.
1. Elasticsearch
а. Базовая конфигурация
Elasticsearch настроен для работы в контейнере Docker со следующими параметрами:
Изображение: Используется официальное Elasticsearch изображение версии .
8.17.2
Режим одного узла: включается через переменную среды
discovery.type=single-node
.Безопасность: включена безопасность X-Pack(
xpack.security.enabled=true
), а пароль пользователяelastic
установлен наYVG6PKplG6ugGOw
.Сеть: Elasticsearch прослушивает все сетевые интерфейсы(
network.host=0.0.0.0
).Память JVM: сконфигурирована с
-Xms1g
(начальная память) и-Xmx1g
(максимальная память).
группа Ports Volumes
Ports: Порт
9200
(HTTP) и9300
(внутренняя связь) сопоставляются от контейнера к хосту.Volumes: Данные Elasticsearch хранятся в
elasticsearch-data
томе.
c. Проверка здоровья
Healthcheck настроен для мониторинга Elasticsearch состояния 's путем вызова /_cluster/health
API с elastic
пользователем. Если API не отвечает, контейнер перезапустится.
2. Kibana
а. Базовая конфигурация
Kibana настроен на подключение Elasticsearch и запуск в контейнере Docker со следующими параметрами:
Изображение: Используется официальное Kibana изображение версии .
8.17.2
Elasticsearch Подключение: Адрес Elasticsearch установлен на
http://elasticsearch:9200
.Аутентификация: Kibana использует
kibana_user
парольYVG6PKplG6ugGOw
для подключения к Elasticsearch.
б. Ports и сети
Ports: Порт
5601
сопоставляется с контейнера на хост для доступа к Kibana интерфейсу.Сети: Kibana подключена к
elk-network
.
в) Зависимость от Elasticsearch
Kibana запускается только после Elasticsearch готовности, обеспечивая успешное соединение между двумя службами.
3. Объем и сеть
а. Объем
elasticsearch-data: Этот том используется для хранения Elasticsearch данных, обеспечивая сохранность данных даже в случае удаления контейнера.
б) Сеть
elk-network: Сеть
bridge
создана для подключения Elasticsearch и Kibana предоставления услуг.
4. Как использовать
а. Запуск служб
Для запуска Elasticsearch выполните Kibana следующую команду:
б) Создание Kibana пользователя(при необходимости)
Если вы хотите использовать отдельного пользователя для Kibana, вы можете создать его с помощью следующей команды:
Чтобы использовать token вместо пароля, вы можете создать его с помощью следующей команды:
5. Устранение неполадок
Если вы столкнулись с ошибками, вы можете проверить журналы контейнера с помощью:
Для перезапуска Kibana:
Полное содержимое Docker Compose файла
Ниже приведено полное содержимое файла docker-compose-els.yml
:
Заключение
С этой Docker Compose конфигурацией вы можете легко развернуть Elasticsearch и Kibana обслуживать ваши потребности в поиске, анализе и визуализации данных. Настройте и расширьте эту конфигурацию, чтобы она соответствовала конкретным требованиям вашего проекта!