Docker Compose
所有 ClickStack 开源组件都以单独的 Docker 镜像形式发布:
- ClickHouse
- HyperDX
- OpenTelemetry (OTel) collector
- MongoDB
可以通过 Docker Compose 将这些镜像组合并在本地部署。
基于默认的 otel-collector 配置,Docker Compose 会暴露额外的端口,用于可观测性和数据摄取:
13133:health_check扩展的健康检查端点24225:用于日志摄取的 Fluentd 接收器4317:OTLP gRPC 接收器(用于跟踪、日志和指标的标准端口)4318:OTLP HTTP 接收器(gRPC 的替代方案)8888:用于监控 collector 本身的 Prometheus 指标端点
这些端口支持与多种遥测源集成,使 OpenTelemetry collector 在生产环境中能够满足多样化的数据摄取需求。
适用场景
- 本地测试
- 概念验证
- 不需要容错能力且单台服务器足以承载全部 ClickHouse 数据的生产部署
- 部署 ClickStack,但将 ClickHouse 独立托管(例如使用 ClickHouse Cloud)时
部署步骤
访问 HyperDX UI
访问 http://localhost:8080 打开 HyperDX UI。
创建一个用户,并提供满足要求的用户名和密码。
点击 Create 后,将为通过 Docker Compose 部署的 ClickHouse 实例创建数据源。
可以覆盖与集成 ClickHouse 实例的默认连接配置。详情请参阅 "Using ClickHouse Cloud"。

有关使用其他 ClickHouse 实例的示例,请参阅 "Using ClickHouse Cloud"。
完成连接配置
要连接到已部署的 ClickHouse 实例,只需单击 Create 并接受默认设置即可。
如果希望连接到自己的外部 ClickHouse 集群(例如 ClickHouse Cloud),可以手动输入连接凭证。
如果系统提示创建数据源,请保留所有默认值,并将 Table 字段填写为 otel_logs。其他所有设置应会自动检测,此时可以点击 Save New Source。

修改 compose 设置
你可以通过环境变量文件来修改该栈的配置,例如所使用的版本:
配置 OpenTelemetry collector
如有需要,可以修改 OTel collector 的配置——参见“修改配置”。
使用 ClickHouse Cloud
此发行版可以与 ClickHouse Cloud 一起使用,但它与托管 ClickStack不同。在此部署场景下,你自行管理 ClickStack UI,而 ClickHouse Cloud 仅用于计算和存储。除非你有特定原因需要独立运行 UI,否则我们推荐使用托管 ClickStack,它集成了身份认证和其他企业级功能,并且无需你自行管理 ClickStack UI。
你需要:
-
从
docker-compose.yml文件中移除 ClickHouse 服务。如果只是测试,这是可选的,因为已部署的 ClickHouse 实例虽然会被忽略,但会浪费本地资源。如果移除该服务,请确保同时删除所有对该服务的引用,例如depends_on。 -
修改 OTel collector 以使用 ClickHouse Cloud 实例,在 compose 文件中设置环境变量
CLICKHOUSE_ENDPOINT、CLICKHOUSE_USER和CLICKHOUSE_PASSWORD。具体来说,将这些环境变量添加到 OTel collector 服务中:CLICKHOUSE_ENDPOINT应为 ClickHouse Cloud 的 HTTPS endpoint,并包含端口8443,例如:https://mxl4k3ul6a.us-east-2.aws.clickhouse.com:8443 -
在连接到 HyperDX UI 并创建到 ClickHouse 的连接时,使用你的 Cloud 凭证。
JSON 类型支持
ClickStack 中的 JSON 类型支持目前为 Beta 功能。虽然 JSON 类型本身在 ClickHouse 25.3+ 中已经可以用于生产环境,但其在 ClickStack 中的集成仍在积极开发中,可能存在功能限制、未来变更或缺陷。
从 2.0.4 版本开始,ClickStack 对 JSON 类型 提供 Beta 支持。
关于此类型的优势,请参见 JSON 类型的优势。
要启用对 JSON 类型的支持,你必须设置以下环境变量:
OTEL_AGENT_FEATURE_GATE_ARG='--feature-gates=clickhouse.json'- 在 OTel collector 中启用支持,确保使用 JSON 类型创建模式(schema)。BETA_CH_OTEL_JSON_SCHEMA_ENABLED=true(仅适用于 ClickStack 开源版)- 在 ClickStack UI 应用中启用支持,允许查询 JSON 数据。
要完成上述设置,请修改 docker-compose.yml 中相关的服务: