Ответ
Elastic Stack (ранее ELK Stack) — это комплексное решение для централизованного сбора, хранения, поиска, анализа и визуализации данных, чаще всего логов и метрик.
Основные компоненты:
| Компонент | Роль |
|---|---|
| Elasticsearch | Сердце стека. Распределённая поисковая и аналитическая движок (NoSQL-база данных). Хранит данные в виде JSON-документов, предоставляет мощный полнотекстовый поиск и агрегации через REST API. |
| Logstash | Конвейер обработки данных. Принимает, преобразует (парсинг, фильтрация, обогащение) и отправляет данные в Elasticsearch или другие системы. |
| Kibana | Веб-интерфейс. Инструмент для визуализации данных из Elasticsearch (дашборды, графики, таблицы) и управления стеком. |
| Beats | Легковесные агенты сбора данных. Устанавливаются на серверы для отправки данных напрямую в Elasticsearch или Logstash (Filebeat для логов, Metricbeat для метрик и т.д.). |
Типичный сценарий использования (мониторинг приложения):
- Filebeat на сервере приложения собирает логи из файлов.
- Logstash получает логи, парсит структурированные данные (например, JSON) или применяет Grok-фильтры к неструктурированным логам, обогащает их.
- Обработанные данные индексируются в Elasticsearch.
- В Kibana разработчик или DevOps-инженер создаёт дашборд для отслеживания ошибок, времени ответа API и другой аналитики.
Основные области применения:
- Централизованное логирование и анализ логов.
- Мониторинг инфраструктуры и приложений (APM).
- Аналитика безопасности (SIEM).
- Поиск по данным приложения (например, по товарам, пользователям).