日志组件容量规划

日志存储组件用于保存从一个或多个集群收集的日志、事件和审计记录。在安装前估算日志规模,并使用以下容量规格确定存储集群的容量。

WARNING
  • 本章中的表格为实验室参考数据。配置的资源应多于参考数据,并且不要使收集的数据量超过容量规格的吞吐量。
  • 表格中的磁盘基线:6000 iops、250 MB/s顺序读写、SSD、独立挂载。性能较弱的磁盘需要使用比表格建议更大的容量规格,并为 CPU 和内存预留额外余量。
  • Kafka 以 KRaft 模式运行。不部署 Zookeeper;早期版本的表格中有单独的 Zookeeper 行,但该行已不再适用。
  • 较早的 ACP 版本在 Kafka 和 Elasticsearch 之间使用单独的 Lanaya consumer 运行 Elasticsearch 后端。推荐的后端(ClickHouse 和 OpenSearch)不使用 Lanaya;摄取角色属于 aggregate-vector。
  • 在 ACP 4.4 中,存储后端(ClickHouse 或 OpenSearch)和 Kafka 集群是用户自有的外部端点;以下容量假设存储集群和 Kafka 集群按照相同的容量规格确定容量。如果 Kafka 与其他工作负载共享,请按照每个 consumer 的 Kafka broker 行之和确定共享集群的容量。

通用组件

所有后端都共享以下组件:

组件运行位置
nevermore每个采集器节点上的 DaemonSet。CPU / 内存根据节点上的活动容器数量确定,而不是根据集群吞吐量确定。
Razor存储集群上的 Deployment。
aggregate-vector存储集群上的 Deployment(ClickHouse 和 OpenSearch 路径)。
Kafka存储集群上或其附近的 Broker 集群。

ClickHouse 配置规格

ClickHouse 后端是高吞吐量和成本敏感型保留场景的推荐选择。

单节点 — 仅用于评估,最高约 18,000 条日志/秒

组件副本数CPU 限制内存限制备注
ClickHouse12C4G1 个分片 × 1 个副本
Kafka broker12C4G单个 Broker,无 HA
Razor11C1G
aggregate-vector12C4G

三节点 — 最高约 20,000 条日志/秒

组件副本数CPU 限制内存限制备注
ClickHouse32C4G1 个分片 × 3 个副本
Kafka broker32C4G
Razor21C1G
aggregate-vector22C4G

六节点 — 最高约 40,000 条日志/秒

组件副本数CPU 限制内存限制备注
ClickHouse64C8G2 个分片 × 3 个副本
Kafka broker32C4G
Razor21C1G
aggregate-vector24C8G

九节点 — 最高约 69,000 条日志/秒

组件副本数CPU 限制内存限制备注
ClickHouse94C8G3 个分片 × 3 个副本
Kafka broker32C4G
Razor21C1G
aggregate-vector24C8G

OpenSearch 配置

当 Lucene 风格的搜索体验比原始写入吞吐量更重要时,推荐选择 OpenSearch 后端。

小型 — 三个数据节点,最高约 9,000 条日志/秒

组件副本数CPU 限制内存限制备注
OpenSearch data32C4G
Kafka broker32C4G
Razor21C2G
aggregate-vector22C4G

中型 — 三个主节点、五个数据节点,最高约 25,000 条日志/秒

组件副本数CPU 限制内存限制备注
OpenSearch master32C4G专用主节点
OpenSearch data58C16G在内存不低于 60 GB 的任何节点上,堆大小上限为 30 GB(compressed-oops 边界)
Kafka broker32C4G
Razor21C2G
aggregate-vector22C4G

大型 — 三个主节点、七个数据节点,最高约 30,000 条日志/秒

组件副本数CPU 限制内存限制备注
OpenSearch master32C4G专用主节点
OpenSearch data78C16G请参阅上面的堆说明
Kafka broker32C4G
Razor21C2G
aggregate-vector22C4G

Elasticsearch 配置(旧版)

Elasticsearch 后端仍可供现有客户使用。经典的 ACP 4.3 管道(Filebeat → Kafka → Lanaya → Elasticsearch)保持不变;下面的容量规划表供参考。

小型 — 三个节点,最高约 ~6,300 条日志/秒

组件副本数CPU 限制内存限制
Elasticsearch32C4G
Kafka32C4G
Lanaya22C4G
Razor21C2G

小型 — 五个节点,最高约 ~9,900 条日志/秒

组件副本数CPU 限制内存限制
Elasticsearch52C4G
Kafka32C4G
Lanaya22C4G
Razor21C2G

大型 — 三个主节点、五个数据节点,最高约 ~25,000 条日志/秒

组件副本数CPU 限制内存限制
Elasticsearch master32C4G
Elasticsearch data58C16G
Kafka32C4G
Lanaya22C4G
Razor21C2G

大型 — 三个主节点、七个数据节点,最高约 ~30,000 条日志/秒

组件副本数CPU 限制内存限制
Elasticsearch master32C4G
Elasticsearch data78C16G
Kafka32C4G
Lanaya22C4G
Razor21C2G

容量规划说明

  • 将 PlatformLogForward.spec.aggregateVector.replicas 和 spec.razor.replicas 设置为与你部署的配置匹配的值。CRD 默认值(3 和 2)适用于中型和大型配置;在单节点评估集群上,将它们降低到 1。
  • 当流量突发期间 collector 侧缓冲区增长且 Razor CPU 达到其限制时,将 spec.razor.resources.limits.cpu 提高到高于配置默认值的水平。页面发布后,请参阅如何为突发流量规划 Razor 容量。
  • Kafka broker 的容量规划与存储后端的容量规划分开。有关 broker 侧数值,请遵循 Alauda Container Platform Kafka 容量指南。