Основные понятия

Содержание

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, определяющая количество реплик сообщений на разных брокерах, повышая надёжность данных.

Модель потока данных