Установка Elasticsearch и Kibana на свой сервер: коротко и с данными
Конспект страницы: 7 разделов коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Установка Elasticsearch и Kibana на свой сервер.
Коротко
Главная / Разработка / Elasticsearch Установка Elasticsearch на свой сервер начинается с параметра ядра vm.max_map_count и одного контейнера на порту 9200, а Kibana, веб-интерфейс к нему на порту 5601, подключают по одноразовому токену. Elasticsearch служит поисковой базой для сайтов и хранилищем логов; лицензия у него менялась: Apache 2.0, затем SSPL и Elastic License, в 2024 году добавили AGPL. Для пробы одного узла берите 2 ядра и 4 ГБ памяти, а кучу JVM ограничьте половиной памяти.
Конспект по разделам
Для чего ставят Elasticsearch и что такое Kibana
Elasticsearch хранит документы в виде индексов и находит нужные за доли секунды, в том числе с опечатками и по частям слов. Его используют для поиска на сайте, для аналитики и как хранилище логов. Связку Elasticsearch, сборщика логов Logstash и интерфейса Kibana называют стеком ELK.
Лицензия Elasticsearch: от Apache 2.0 до AGPL
Для собственного сайта или внутренних сервисов лицензия не мешает: ограничения касаются тех, кто предлагает сам Elasticsearch другим людям как облачный сервис. Если вы строите такой продукт, прочтите текст лицензий или спросите юриста. Свободный форк описан на странице установки OpenSearch.
Сколько памяти и диска нужно Elasticsearch
Elasticsearch написан на Java и держит индекс в памяти кучи и в файловом кэше системы. Общее правило для кучи: не больше половины памяти сервера. Остальное ему нужно для кэша, иначе поиск уйдёт на диск.
Установка Elasticsearch в Docker и подключение Kibana
Проверка с сервера: скопируйте сертификат командой docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt. и выполните curl --cacert http_ca.crt -u elastic https://localhost:9200. Версии Elasticsearch и Kibana должны совпадать.
- Поднимите параметр ядра sudo sysctl -w vm.max_map_count=262144 и сохраните его в /etc/sysctl.d: без этого узел падает при старте с жалобой на max virtual memory areas.
- Запустите Elasticsearch.
- Получите пароль пользователя elastic и токен для Kibana командами ниже.
- Запустите Kibana той же версии, откройте порт 5601 через SSH-туннель и вставьте токен.
Как Elasticsearch заполняет диск и как делать снимки
Для логов индексы создают по дням и удаляют по политике жизненного цикла (ILM): например, переводить в архив через неделю и удалять через месяц. Без политики индексы копятся, пока диск не упрётся в порог. Оценка размера: объём логов в сутки, умноженный на число дней хранения, плюс запас на реплики и индексацию.
Как открыть Kibana по домену с HTTPS
Elasticsearch в Docker сам шифрует соединение на порту 9200 сертификатом, созданным при первом запуске. Наружу выводить стоит только Kibana, и только через прокси: reverse_proxy 127.0.0.1:5601 в Caddyfile даёт сертификат и продление, см. установку Caddy. Приложениям с других серверов давайте доступ к 9200 по закрытой сети или через файрвол с белым списком адресов.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов
Данные
| Период | Лицензия | Что произошло |
|---|---|---|
| До 2021 года | Apache 2.0 | Код открыт, облачные провайдеры могли продавать его как сервис |
| С 2021 года | SSPL и Elastic License | Elastic ограничила предоставление Elasticsearch как облачного сервиса; Amazon ответила форком OpenSearch на Apache 2.0 |
| С августа 2024 года | К ним добавлена AGPL | Elastic объявила о третьем варианте лицензии и назвала Elasticsearch и Kibana снова открытыми |
Данные на 14 октября 2026.
Вопросы и ответы
Какой сервер нужен для Elasticsearch?
Для пробы одного узла 2 ядра и 4 ГБ памяти. Для логов и больших индексов добавляйте память и диск, ядра нужны меньше.
Что делать, если Elasticsearch в Docker падает с ошибкой max virtual memory areas?
Поднять vm.max_map_count до 262144 командой sysctl на самом сервере и сохранить значение в файле настроек, чтобы оно пережило перезагрузку.
Бесплатен ли Elasticsearch для коммерческого проекта?
Запуск для собственного сайта или сервиса бесплатен. Ограничения касаются тех, кто продаёт сам Elasticsearch как облачный сервис.
Как развернуть Elasticsearch и Kibana на одном сервере?
Создать сеть Docker, запустить Elasticsearch, получить токен командой elasticsearch-create-enrollment-token и запустить Kibana той же версии.