日志组件选型指南

在安装集群监控时,平台提供了 ElasticSearch 和 Clickhouse 两种日志存储组件供您选择。本文将详细介绍这两种组件的特点和适用场景,帮助您做出最适合的选择。

WARNING
  • 集群日志存储组件安装时只能选择 ElasticSearch 或 Clickhouse 其中之一。
  • 任意集群的日志存储组件均可选择用于日志采集,以对接存储数据。
  • 当前版本 DevOps 产品不支持使用 Clickhouse 归档 Jenkins 流水线执行记录。如需使用 Jenkins 流水线功能,请谨慎选择包含 Clickhouse 插件的 ACP 日志存储。
  • 当前版本的 ServiceMesh 服务网格不支持与 Clickhouse 集成。如需使用服务网格功能,请谨慎选择包含 Clickhouse 插件的 ACP 日志存储。
  • 当前版本的 ACP 日志存储包含 Clickhouse 插件不支持 IPv6 单栈或 IPv6 双栈工作负载集群。

架构对比

ElasticSearch 架构

ElasticSearch是一款开源的分布式搜索引擎,基于Lucene构建,专为快速全文搜索和分析而设计。其优势包括:

  • 高性能搜索:支持实时搜索,能够快速处理海量数据。
  • 灵活的查询能力:提供强大的查询DSL,支持复杂的查询需求。
  • 可扩展性:可根据需要轻松水平扩展,适合各类规模的应用。
  • 多样的数据支持:能够处理结构化和非结构化数据,适用范围广泛。

Clickhouse 架构

Clickhouse是一款高性能的列式数据库,专为在线分析处理(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 语言有较高的依赖,建议继续选择使用包含 ElasticSearch 插件的 ACP 日志存储。

  • 若您对平台的 Jenkins 流水线或服务网格功能存有依赖,建议继续选择使用包含 ElasticSearch 插件的 ACP 日志存储。

  • 若您对日志组件的性能和资源消耗有较高的要求,但对于日志查询仅需基本功能,建议选择使用包含 Clickhouse 插件的 ACP 日志存储。