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

ELK сборщик логов

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

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

ELK Stack — аббревиатура от Elasticsearch, Logstash, Kibana. Все три компонента разработаны компанией Elastic и распространяются по лицензии SSPL (с 2021 года) с открытым исходным кодом. ELK решает проблему «логи везде» в распределённых системах: вместо подключения к каждому серверу по SSH и grep по файлам, администратор видит все события в одном интерфейсе с полнотекстовым поиском.

Как работает

Logstash — агент сбора и преобразования данных. Принимает логи из разных источников (файлы, Syslog UDP/TCP, Kafka, RabbitMQ, JDBC), применяет фильтры (парсинг grok-паттернами, обогащение GeoIP-данными, удаление чувствительных полей) и передаёт структурированные события в Elasticsearch. Logstash ресурсоёмкий; для простых задач его заменяют Filebeat — лёгким агентом (50–100 МБ RAM) для отправки файлов логов.

Elasticsearch — распределённый поисковый движок на базе Apache Lucene. Хранит документы (события логов) в индексах с настраиваемыми маппингами. Полнотекстовый поиск по 10 млн событий занимает 50–200 мс. Масштабируется горизонтально: добавление узлов увеличивает ёмкость и производительность. Данные хранятся в шардах с репликацией для отказоустойчивости.

Kibana — веб-интерфейс для поиска, визуализации и создания дашбордов. Инструмент Discover позволяет искать по любому полю события, фильтровать по временному диапазону и строить гистограммы частоты ошибок. Alerts позволяют настроить уведомления при превышении порогов (например, более 100 ошибок 500 за 5 минут).

Современная альтернатива названию — Elastic Stack: добавились Beats (Filebeat, Metricbeat, Packetbeat) и APM Server. ELK-название неформальное, но устоявшееся.

История

Elasticsearch создал Шай Банон в 2010 году на основе библиотеки Lucene, переработав более раннюю систему Compass. Logstash появился в 2009 году как независимый проект Джордана Сисела. Kibana создал Рашид Хан в 2013 году. Компания Elasticsearch, Inc. (позднее переименованная в Elastic) объединила инструменты под брендом ELK Stack в 2013–2014 годах. В 2016 году появилось семейство Beats для лёгкой доставки данных. IPO Elastic состоялось в октябре 2018 года (NYSE: ESTC).

Применение в хостинге

  • Анализ nginx/Apache логов — разбор access.log с группировкой по кодам ответа, IP-адресам, URI. Быстрое выявление источников DDoS.
  • Мониторинг ошибок приложений — PHP error_log, Python traceback, Java stack trace агрегируются в единый поток.
  • Security Information and Event Management (SIEM) — корреляция событий аутентификации, файрвола и приложений для выявления атак.
  • Метрики инфраструктуры — Metricbeat собирает CPU, RAM, disk I/O с каждого VPS и визуализирует в Kibana.

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

ELK Stack потребляет значительные ресурсы: минимальная рабочая конфигурация (один узел Elasticsearch + Kibana) требует 4 ГБ RAM и 2 vCPU. Для production-окружения рекомендуется кластер из 3+ узлов Elasticsearch с репликацией. Хранение логов за 30 дней для среднего сервера (1–5 ГБ/сутки) требует 30–150 ГБ дискового пространства. Используйте Storage-серверы или Index Lifecycle Management для автоматического удаления устаревших индексов.

Альтернативы ELK: Grafana Loki (легче, дешевле в хранении), Graylog (SSPL, интегрированный Syslog-приёмник), VictoriaMetrics (для метрик).

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