跳转到主要内容
在生产环境中部署 ClickStack 时,还需额外考虑一些事项,以确保安全性、稳定性以及配置无误。具体考虑因素会因所使用的版本——开源版或托管版——而有所不同。
对于生产部署,建议使用托管 ClickStack。它默认采用符合行业标准的安全实践,包括增强的加密、身份验证与连接能力,以及托管访问控制;此外还提供以下优势:
  • 计算资源可独立于存储自动扩缩容
  • 基于对象存储的低成本、近乎无限的数据保留能力
  • 能够借助仓库独立隔离读写工作负载
  • 集成式身份验证
  • 自动化备份
  • 无缝升级
使用托管 ClickStack 时,请遵循 ClickHouse Cloud 的这些最佳实践

保护摄取

默认情况下,在开源发行版之外部署 ClickStack OpenTelemetry Collector 时,它并未启用安全保护,且其 OTLP 端口无需身份验证。要保护摄取,请在部署 collector 时通过 OTLP_AUTH_TOKEN 环境变量指定身份验证令牌。更多详情,请参阅”保护 collector”

创建摄取用户

建议为 OTel collector 创建一个专用用户,用于向托管 ClickHouse 摄取数据,并确保摄取数据发送到特定数据库,例如 otel。更多详情,请参阅”创建摄取用户”

配置生存时间 (TTL)

请确保已为你的托管 ClickStack 部署正确配置生存时间 (TTL)。它决定数据的保留时长——默认的 3 天通常需要调整。

估算资源

以下内容提供了一个模型,用于根据您预期的摄取量估算 ClickStack 部署所需的计算和存储资源。得出的数值仅为估算值,应作为初始基线参考——并非固定不变的标准答案。实际需求取决于查询复杂度、并发度、保留策略以及摄取吞吐量的波动情况。请始终监控资源使用情况,并根据需要进行扩缩容。
所有数值均基于未压缩的原始摄取数据本页中的所有数字——吞吐量 (MB/s、TB/月) 、CPU 规模和存储——都以未压缩的原始摄取量表示,也就是应用程序生成并发送到 OpenTelemetry collector、在应用任何压缩之前的数据大小。您应根据现有的日志、链路追踪和指标管道来估算这一数值。下表中的存储数值已经按该原始数据量套用了假设的 10x 压缩率
部署 ClickStack 时,需要为两类相互独立的工作负载预配计算资源:摄取查询
WorkloadEstimated resources
Ingest持续摄取吞吐量每 10 MB/s 需要 1 vCPU
Query每 1 QPS 以及每 10 MB/s 的持续摄取吞吐量需要 1 vCPU
查询与摄取的隔离在大多数自管理部署中,摄取和查询共享同一组节点。在这种情况下,请将 Total CPUs 作为基线。隔离扩缩容——即分别为摄取和查询独立预配计算资源——在 ClickHouse Cloud 中可通过独立计算池 (也称为 Warehouses) 实现。
  • 存储采用 10x 压缩率——对于日志和链路追踪来说,这通常是一个较为保守的估计。
  • 查询 SLA 假设为 P50 1.5 秒、P99 5 秒。
  • 我们假设大多数查询都针对近期数据,遵循一种在约 1 小时处达到峰值、并延伸至约 6 小时的对数正态分布。对于较旧数据的查询,用户可能希望预配专用计算资源。在 ClickHouse Cloud 中,这部分计算资源在不使用时可以处于闲置状态 (因此不会产生费用) 。
  • 虽然查询计算资源可以独立于摄取计算资源进行扩缩容,但它在本质上仍与摄取量相关。我们假设随着摄取量增加,数据密度也会提高,从而导致查询时扫描的数据量更大,因此需要更多查询计算资源。
下表给出了示例规格,基于以每秒 MB 为单位递增的摄取吞吐量,以及对应的每月 TB 数据量。这里假设 ClickStack 在所有查询类型 (搜索、仪表盘、告警) 上的持续平均值为 1 QPS
MB/sTB/monthIngest CPUsQuery CPUsTotal CPUsTotal Storage (per month) (GB)
1025.921342,592
2051.842685,184
50129.65152012,960
100259.210304025,920
200518.420608051,840
5001,29650150200129,600
10002,592100300400259,200
有关如何针对你的环境进一步优化容量估算假设的更多详情,请参阅”针对你的环境细化容量假设”

隔离可观测性工作负载

如果你要将 ClickStack 添加到一个现有的 ClickHouse Cloud 服务中,而该服务已经承载了其他工作负载 (例如实时应用分析) ,则强烈建议隔离可观测性流量。使用 托管仓库 创建一个专用于 ClickStack 的子服务。这样你就可以:
  • 将摄取和查询负载与现有应用隔离
  • 独立扩缩容可观测性工作负载
  • 防止可观测性查询影响生产分析
  • 在需要时跨服务共享相同的底层数据
这种方法可确保现有工作负载不受影响,同时让 ClickStack 能随着可观测性数据的增长独立扩展。对于更大规模的部署或需要自定义容量建议的场景,请联系支持团队以获得更精确的估算。
最后修改于 2026年6月10日