Руководство по выбору компонента логирования

При установке мониторинга кластера платформа предоставляет два компонента для хранения логов на выбор: ElasticSearch и Clickhouse. В этой статье подробно рассмотрены особенности и применимые сценарии этих двух компонентов, чтобы помочь вам сделать наиболее подходящий выбор.

WARNING
  • Для установки компонента хранения логов кластера можно выбрать только один из ElasticSearch или Clickhouse.
  • Для сбора логов и взаимодействия с данными хранилища можно выбрать компонент хранения логов любого кластера.
  • Текущая версия продукта DevOps не поддерживает архивирование записей выполнения Jenkins pipeline с использованием Clickhouse. Если вам необходимы функции Jenkins pipeline, пожалуйста, с осторожностью выбирайте плагин ACP Log Storage с Clickhouse.
  • Текущая версия сервисной сетки ServiceMesh не поддерживает интеграцию с Clickhouse. Если вам нужны функции сервисной сетки, пожалуйста, с осторожностью выбирайте плагин ACP Log Storage с Clickhouse.
  • Текущая версия плагина ACP Log Storage с Clickhouse не поддерживает кластеры с одним стеком IPv6 или с двойным стеком IPv6.

Содержание

Сравнение архитектур

Архитектура ElasticSearch

ElasticSearch — это открытый распределённый поисковый движок, построенный на Lucene, предназначенный для быстрого полнотекстового поиска и анализа. Его преимущества включают:

  • Высокопроизводительный поиск: поддерживает поиск в реальном времени и может быстро обрабатывать огромные объёмы данных.
  • Гибкие возможности запросов: предлагает мощный query DSL, поддерживающий сложные запросы.
  • Масштабируемость: легко масштабируется горизонтально по мере необходимости, подходит для приложений любого размера.
  • Поддержка разнообразных данных: способен работать как со структурированными, так и с неструктурированными данными, широко применим.

Архитектура Clickhouse

Clickhouse — это высокопроизводительная колоночная база данных, разработанная для Online Analytical Processing (OLAP). Его преимущества включают:

  • Быстрая обработка данных: поддерживает быстрые запросы и анализ благодаря колоночному хранению и сжатию данных.
  • Анализ в реальном времени: способен обрабатывать потоки данных в реальном времени, подходит для сценариев анализа данных в реальном времени.
  • Высокая пропускная способность: оптимизирован для производительности при записи и запросах больших объёмов данных, что делает его очень подходящим для сценариев больших данных.
  • Гибкая поддержка SQL: совместим со стандартным SQL, легко начать работу, снижая порог использования.

Сравнение функций

ClickhouseElasticsearchОбъяснение
Высокая доступностьПоддерживаетсяПоддерживается
МасштабируемостьПоддерживаетсяПоддерживается
Опыт запросовСлабыйСильныйElasticsearch предлагает более мощные возможности поиска на основе языка Lucene, тогда как Clickhouse поддерживает только SQL-запросы, что ограничивает его возможности поиска.
Использование ресурсовНизкоеВысокоеПри одинаковых требованиях к производительности Clickhouse требует меньше ресурсов, чем Elasticsearch. Например, для поддержки 20 000 логов в секунду Elasticsearch требует 3 es-master и 7 es-node (2c4g+8c16g), тогда как Clickhouse — всего 3 реплики 2c4g.
ПроизводительностьВысокаяНизкаяПри одинаковых ресурсах объём логов, поддерживаемый Clickhouse, значительно превышает объём, поддерживаемый Elasticsearch.
Активность сообществаСредняяВысокаяСообщество Elasticsearch активно и обладает богатой документацией, в то время как сообщество Clickhouse развивается и совершенствуется.

Рекомендации по выбору

  • Если вы привыкли использовать Elasticsearch и сильно зависите от языка Lucene, рекомендуется продолжать использовать плагин ACP Log Storage с ElasticSearch.

  • Если вы используете функции Jenkins pipeline или сервисной сетки платформы, рекомендуется продолжать использовать плагин ACP Log Storage с ElasticSearch.

  • Если у вас высокие требования к производительности и потреблению ресурсов компонента логирования, но базовые потребности в запросах логов, рекомендуется выбрать плагин ACP Log Storage с Clickhouse.