跳转到主内容
跳转到主内容

上线生产环境

在生产环境部署 ClickStack 时,为确保安全性、稳定性以及正确配置,还需要额外考虑若干事项。这些事项会因所使用的分发方式——开源或托管——而有所不同。

对于生产环境部署,推荐使用 Managed ClickStack。它默认采用业界标准的安全实践,包括增强的加密、身份验证与连接能力以及托管访问控制,并同时提供以下优势:

  • 计算资源可独立于存储自动伸缩
  • 基于对象存储的低成本且几乎无限的数据保留能力
  • 能够使用 Warehouses 将读写工作负载进行独立隔离
  • 集成身份验证
  • 自动化备份
  • 无缝升级

在使用 Managed ClickStack 时,请遵循适用于 ClickHouse Cloud 的这些最佳实践

保护摄取安全

默认情况下,当在开源发行版之外部署时,ClickStack OpenTelemetry Collector 未进行安全加固,并且在其 OTLP 端口上不要求身份验证。

要实现安全摄取,请在使用 OTLP_AUTH_TOKEN 环境变量部署 collector 时指定身份验证令牌。有关更多详细信息,请参见“Securing the collector”

创建摄取用户

建议为 OTel collector 创建一个专用用户,用于向 Managed ClickHouse 进行摄取,并确保摄取数据被发送到特定的数据库,例如 otel。有关更多详细信息,请参见“Creating an ingestion user”

配置生存时间 (TTL)

请确保为你的 Managed ClickStack 部署生存时间 (TTL)进行了适当配置。这将控制数据的保留时长——默认值为 3 天,通常需要进行调整。

资源估算

以下内容基于您预期的摄取量,提供了一个用于估算 ClickStack 部署所需计算和存储资源的模型。得出的数值仅为估算值,应作为初始基线使用,而非固定结论。实际需求取决于查询复杂度、并发度、保留策略以及摄取处理量的波动。请始终监控资源使用情况,并按需扩缩容。

所有数据均基于未压缩的原始摄取量

本页面中的所有数值——处理量 (MB/s、TB/月) 、CPU 配置规模和存储——均以未压缩的原始摄取量表示,也就是您的应用生成并发送到 OpenTelemetry collector、在应用任何压缩之前的数据大小。

这就是您应根据现有日志、链路追踪和指标管道来估算的数值。下表中的存储数值已在该原始数据量基础上应用了假定的 10x 压缩率

部署 ClickStack 时,请为两类相互独立的工作负载预配计算资源:摄取查询

工作负载预估资源
摄取每 10 MB/s 的持续摄取处理量需要 1 个 vCPU
查询每 1 QPS 以及每 10 MB/s 的持续摄取处理量需要 1 个 vCPU
查询与摄取隔离

在大多数自管理部署中,摄取和查询共享同一组节点。在这种情况下,请将 总 CPU 数 作为基线。隔离扩缩容——即分别为摄取和查询独立预配计算资源——可在 ClickHouse Cloud 中通过独立计算池 (也称为仓库) 实现。

假设
  • 存储采用 10x 压缩率——对于日志和链路追踪,这通常是一个偏保守的估计。
  • 查询 SLA 假设为 P50 1.5 秒、P99 5 秒。
  • 我们假设大多数查询都发生在近期数据上,并遵循以大约 1 小时为峰值、尾部延伸到大约 6 小时的对数正态分布。用户可能希望为查询较旧数据单独预配计算资源。在 ClickHouse Cloud 中,这些资源在未使用时可以处于空闲状态 (因此不会产生费用) 。
  • 虽然查询计算资源可以独立于摄取计算资源进行扩缩容,但它本质上仍与摄取量相关。我们假设随着摄取量增加,数据密度也会增长,从而导致查询时的扫描量变大,进而需要更多查询计算资源。

下表基于逐步增加的每秒摄取处理量 (单位为 MB) 给出了示例配置,同时列出了对应的每月数据量 (单位为 TB) 。这假设 ClickStack 在所有查询类型 (搜索、仪表板、告警) 上的持续平均负载为 1 QPS

MB/sTB/月摄取 CPU查询 CPU总 CPU总存储 (每月) (GB)
1025.921342,592
2051.842685,184
50129.65152012,960
100259.210304025,920
200518.420608051,840
5001,29650150200129,600
10002,592100300400259,200

有关如何进一步细化适用于你环境的容量估算假设的更多详细信息,请参见“Refining sizing assumptions for your environment”

隔离可观测性工作负载

如果你在一个已经支持其他工作负载 (例如实时应用分析) 的现有 ClickHouse Cloud 服务中新增 ClickStack,强烈建议将可观测性流量进行隔离。

使用 Managed Warehouses 创建一个专用于 ClickStack 的子服务。这样可以:

  • 将摄取和查询负载与现有应用相互隔离
  • 独立扩缩可观测性工作负载
  • 防止可观测性查询影响生产分析
  • 在需要时在服务之间共享相同的底层数据集

这种方式可以确保你现有的工作负载不受影响,同时允许 ClickStack 随着可观测性数据的增长而独立伸缩。

对于更大规模的部署或定制规格建议,请联系支持以获取更精确的评估。