ELK — это популярный стек технологий для сбора, обработки, хранения и визуализации логов. Он состоит из трех основных компонентов:
-
Elasticsearch
- Роль: Поисковый и аналитический движок (NoSQL-база данных).
- Функции:
- Хранение и индексация данных (логов).
- Быстрый полнотекстовый поиск.
- Масштабируемость (работает в кластере).
- RESTful API для управления данными.
-
Logstash
- Роль: Обработка и трансформация данных (ETL-процессы).
- Функции:
- Прием логов из разных источников (файлы, базы данных, очереди).
- Фильтрация, парсинг и обогащение данных (например, извлечение полей из JSON).
- Отправка данных в Elasticsearch или другие системы.
Конфигурация: Работает на основе пайплайнов (input filter output).
- Kibana
- Роль: Визуализация и анализ данных.
- Функции:
- Построение дашбордов, графиков и таблиц.
- Гибкий поиск по логам через интерфейс.
- Настройка алертов на аномалии.
Пример взаимодействия трех компонентов показан ниже:
Сейчас стек часто расширяют до Elastic Stack (или ECK — Elastic Cloud на Kubernetes), добавляя:
- Beats
- Легкие агенты для сбора данных с конечных серверов.
Примеры:
- Filebeat — сбор логов из файлов.
- Metricbeat — сбор метрик (CPU, память, сеть).
- Auditbeat — мониторинг аудит-логов.
- Packetbeat — анализ сетевого трафика.
- Fleet (в Elastic Stack 7.12+)
- Централизованное управление Beats и агентами через Kibana.
- Elastic Agent
- Универсальный агент, заменяющий несколько Beats.