Основные понятия
Содержание
Open Source ComponentsFilebeatElasticsearchClickHouseKafkaОсновные понятия функциональностиLog Collection PipelineIndexShards and ReplicasColumnar StorageКлючевые технические терминыIngest PipelineConsumer GroupTTL (Time To Live)Replication FactorМодель потока данныхOpen Source Components
Filebeat
Позиционирование: Легковесный сборщик логов
Описание: Компонент для сбора логов с открытым исходным кодом, устанавливаемый на контейнерные узлы, отвечающий за мониторинг лог-файлов в реальном времени по заданным путям. Собирает лог-данные через input-модули, обрабатывает их и пересылает логи в Kafka или напрямую доставляет в компоненты хранения через output-модули. Поддерживает такие возможности, как агрегация многострочных логов и фильтрация полей для предварительной обработки.
Elasticsearch
Позиционирование: Распределённый движок поиска и аналитики
Описание: Движок полнотекстового поиска на базе Lucene, хранящий лог-данные в формате JSON-документов и обеспечивающий поиск с близкой к реальному времени скоростью. Поддерживает динамическое отображение для автоматического распознавания типов полей и достигает высокой скорости поиска по ключевым словам за счёт обратного индексирования, что подходит для поиска по логам и мониторинговых оповещений.
ClickHouse
Позиционирование: Колонко-ориентированная аналитическая база данных
Описание: Высокопроизводительная колонко-ориентированная СУБД, предназначенная для OLAP-сценариев, реализующая хранение логов на уровне петабайт с использованием движка MergeTree. Поддерживает высокоскоростные агрегирующие запросы, разбиение по времени и стратегии TTL для данных, что делает её подходящей для анализа логов и статистической отчётности в пакетных вычислениях.
Kafka
Позиционирование: Распределённая очередь сообщений
Описание: Выступает в роли посредника сообщений для системы лог-пайплайна, обеспечивая высокопроизводительную буферизацию логов. При возникновении узких мест в обработке кластера Elasticsearch принимает лог-данные, отправленные Filebeat через Topics, способствуя снижению пиковых нагрузок и асинхронному потреблению, что гарантирует стабильность сбора логов.
Основные понятия функциональности
Log Collection Pipeline
Описание: Полная цепочка от генерации лог-данных до их хранения, состоящая из четырёх этапов: Сбор -> Передача -> Буферизация -> Хранение. Поддерживает два режима пайплайна:
- Режим прямой записи: Filebeat → Elasticsearch/ClickHouse
- Режим буфера: Filebeat → Kafka → Elasticsearch
Index
Описание: Логическая единица разбиения данных в Elasticsearch, аналогичная структуре таблицы в базах данных. Поддерживает создание индексных роллов по времени (например, logstash-2023.10.01) и автоматизированное многоуровневое хранение hot-warm-cold с помощью Index Lifecycle Management (ILM).
Shards and Replicas
Описание:
- Shard: Физическая единица хранения, возникающая в результате горизонтального разбиения индекса в Elasticsearch, обеспечивающая распределяемую масштабируемость.
- Replica: Копия каждого шарда, обеспечивающая высокую доступность данных и балансировку нагрузки запросов.
Columnar Storage
Описание: Основной механизм хранения в ClickHouse, при котором данные сжимаются и сохраняются по столбцам, что значительно снижает потребление ввода-вывода. Поддерживает следующие возможности:
- Векторизованный движок выполнения запросов
- Разбиение данных и шардинг
- Материализованные представления для предварительной агрегации
Ключевые технические термины
Ingest Pipeline
Описание: Пайплайн предварительной обработки данных в Elasticsearch, способный выполнять ETL-операции, такие как переименование полей, парсинг Grok и условную логику до записи данных.
Consumer Group
Описание: Механизм параллельного потребления в Kafka, при котором несколько экземпляров в одной группе потребителей могут параллельно обрабатывать сообщения из разных партиций, обеспечивая упорядоченную обработку сообщений.
TTL (Time To Live)
Описание: Стратегия жизненного цикла данных, поддерживающая два способа реализации:
- Elasticsearch: Автоматическое удаление устаревших индексов с помощью политик ILM.
- ClickHouse: Автоматическое удаление партиций таблиц через выражения TTL.
Replication Factor
Описание: Конфигурация избыточности данных на уровне Kafka Topic, определяющая количество реплик сообщений на разных брокерах, повышая надёжность данных.