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 实例的示例,请参阅 "Create a ClickHouse Cloud connection"。
完成连接配置
要连接到已部署的 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 中相关的服务: