- 托管 ClickStack
- ClickStack 开源版
对于生产部署,建议使用托管 ClickStack。它默认采用符合行业标准的安全实践,包括增强的加密、身份验证与连接能力,以及托管访问控制;此外还提供以下优势:
下表给出了示例规格,基于以每秒 MB 为单位递增的摄取吞吐量,以及对应的每月 TB 数据量。这里假设 ClickStack 在所有查询类型 (搜索、仪表盘、告警) 上的持续平均值为 1 QPS。
有关如何针对你的环境进一步优化容量估算假设的更多详情,请参阅”针对你的环境细化容量假设”。
- 计算资源可独立于存储自动扩缩容
- 基于对象存储的低成本、近乎无限的数据保留能力
- 能够借助仓库独立隔离读写工作负载
- 集成式身份验证
- 自动化备份
- 无缝升级
保护摄取
默认情况下,在开源发行版之外部署 ClickStack OpenTelemetry Collector 时,它并未启用安全保护,且其 OTLP 端口无需身份验证。要保护摄取,请在部署 collector 时通过OTLP_AUTH_TOKEN 环境变量指定身份验证令牌。更多详情,请参阅”保护 collector”。创建摄取用户
建议为 OTel collector 创建一个专用用户,用于向托管 ClickHouse 摄取数据,并确保摄取数据发送到特定数据库,例如otel。更多详情,请参阅”创建摄取用户”。配置生存时间 (TTL)
请确保已为你的托管 ClickStack 部署正确配置生存时间 (TTL)。它决定数据的保留时长——默认的 3 天通常需要调整。估算资源
以下内容提供了一个模型,用于根据您预期的摄取量估算 ClickStack 部署所需的计算和存储资源。得出的数值仅为估算值,应作为初始基线参考——并非固定不变的标准答案。实际需求取决于查询复杂度、并发度、保留策略以及摄取吞吐量的波动情况。请始终监控资源使用情况,并根据需要进行扩缩容。部署 ClickStack 时,需要为两类相互独立的工作负载预配计算资源:摄取 和 查询。| Workload | Estimated 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/s | TB/month | Ingest CPUs | Query CPUs | Total CPUs | Total Storage (per month) (GB) |
|---|---|---|---|---|---|
| 10 | 25.92 | 1 | 3 | 4 | 2,592 |
| 20 | 51.84 | 2 | 6 | 8 | 5,184 |
| 50 | 129.6 | 5 | 15 | 20 | 12,960 |
| 100 | 259.2 | 10 | 30 | 40 | 25,920 |
| 200 | 518.4 | 20 | 60 | 80 | 51,840 |
| 500 | 1,296 | 50 | 150 | 200 | 129,600 |
| 1000 | 2,592 | 100 | 300 | 400 | 259,200 |
隔离可观测性工作负载
如果你要将 ClickStack 添加到一个现有的 ClickHouse Cloud 服务中,而该服务已经承载了其他工作负载 (例如实时应用分析) ,则强烈建议隔离可观测性流量。使用 托管仓库 创建一个专用于 ClickStack 的子服务。这样你就可以:- 将摄取和查询负载与现有应用隔离
- 独立扩缩容可观测性工作负载
- 防止可观测性查询影响生产分析
- 在需要时跨服务共享相同的底层数据