hostprofi.ru
Подобрать хостинг
Термин·буква E

ELK Stack

краткое определение

ELK Stack (Elastic Stack) — набор open-source инструментов для сбора, хранения и анализа логов: Elasticsearch (поиск), Logstash (обработка), Kibana (визуализация). Стандарт для централизованного логирования в enterprise.

ELK Stack (или Elastic Stack) — связка трёх инструментов Elastic: Elasticsearch (поисковый движок и хранилище), Logstash (сборщик и трансформатор данных), Kibana (веб-интерфейс для визуализации). Используется для централизованного сбора и анализа логов серверов, приложений и сетевого оборудования.

Как работает

Типичный pipeline ELK:

  1. Filebeat (или Logstash) — лёгкий агент на каждом сервере, читает логи Nginx, приложений, systemd-journald и отправляет в Logstash/Elasticsearch.
  2. Logstash — парсит, фильтрует и обогащает события через pipeline-конфигурацию. Grok-паттерны извлекают поля из текстовых логов: IP, HTTP-метод, код ответа, URL, latency.
  3. Elasticsearch — хранит документы (JSON) с полным инвертированным индексом. Поддерживает сложные запросы: полнотекстовый поиск, агрегации, фильтры по времени. Горизонтально масштабируется через sharding.
  4. Kibana — строит дашборды, визуализации, запросы на KQL (Kibana Query Language).

Beats — семейство легковесных агентов: Filebeat (файловые логи), Metricbeat (системные метрики), Packetbeat (сетевой трафик), Auditbeat (auditd). Заменяют тяжёлый Logstash на конечных узлах.

История

Elasticsearch создан Шаем Банноном (Shay Banon) в 2010 году. Logstash и Kibana присоединились в 2011–2013 годах под брендом ELK. В 2015 году Elastic добавил Beats и переименовал стек в Elastic Stack. IPO на NYSE: октябрь 2018 года (ESTC). В январе 2021 года Elastic изменила лицензию с Apache 2.0 на SSPL/Elastic License — OpenSearch (Amazon fork) появился как открытая альтернатива.

ELK Stack: производительность и масштабирование

Elasticsearch требователен к памяти: рекомендуется выделить половину RAM системы на heap (например, 8 ГБ из 16 ГБ), но не более 31 ГБ (выше compressed oops не работает). На шардирование: для начала 1 шард на индекс на каждые 10-30 ГБ данных. Для горизонтального масштабирования: 3 master-узла (кворум), N data-узлов по мощности. Filebeat на каждом сервере собирает логи с минимальным потреблением ресурсов (< 1% CPU). Logstash — для сложных трансформаций; для простой передачи логов из Filebeat в Elasticsearch Logstash можно исключить из pipeline.

Индексирование: используй Index Lifecycle Management (ILM) для автоматического удаления старых индексов. Без ILM Elasticsearch заполнит диск за дни при высоком объёме логов.

На что обращать внимание

ELK Stack требует значительных ресурсов: Elasticsearch рекомендует минимум 4 ГБ ОЗУ на узел. Для небольших проектов Grafana Loki требует в 10 раз меньше ресурсов. ELK оптимален при необходимости полнотекстового поиска по логам и сложных аналитических запросов. Elastic Cloud — managed-сервис Elastic с ценами от $16/мес за небольшой кластер.

ELK Stack на VPS

ELK Stack (Elastic Stack) требователен к ресурсам: Elasticsearch — минимум 2 ГБ heap (4-8 ГБ рекомендуется), VPS с 8+ ГБ ОЗУ. Установка через Docker Compose — самый простой способ. nginx как прокси перед Kibana с HTTP Basic Auth. Logstash обрабатывает и трансформирует логи перед индексацией в Elasticsearch — можно заменить Filebeat (легче). Beats-семейство: Filebeat (логи файлов), Metricbeat (метрики серверов), Packetbeat (сетевой трафик). Для небольших объёмов логов: Grafana Loki — проще и легче. ELK подходит для полнотекстового поиска по логам и сложной аналитики.

Другие термины