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