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

ClickStack - ClickHouse 可观测性栈

首页

ClickStack 是一个基于 ClickHouse 构建的生产级可观测性平台,将日志、追踪、指标和会话统一到单一的高性能解决方案中。ClickStack 专为监控和调试复杂系统而设计,使开发人员和 SRE 能够在无需在不同工具间来回切换、也无需借助时间戳或关联 ID 手动拼接数据的情况下,对问题进行端到端追踪。

ClickStack 的核心理念简单但强大:所有可观测性数据都应以宽而信息丰富的事件形式进行摄取。这些事件按数据类型(日志、追踪、指标和会话)分别存储在 ClickHouse 表中,但在数据库层面依然可以被完全查询并进行交叉关联。

ClickStack 利用 ClickHouse 的列式架构、原生 JSON 支持以及完全并行化的执行引擎,高效处理高基数工作负载。这使得在海量数据集上实现亚秒级查询、对大时间范围进行快速聚合,以及对单条追踪进行深度检查成为可能。JSON 以压缩的列式格式存储,从而允许在无需手动干预或预先定义模式的情况下进行模式演进。

功能

该技术栈包含多个专为调试和根因分析设计的关键功能:

  • 在同一界面中关联和搜索日志、指标、会话回放和追踪数据
  • 与数据模式无关,可直接作用于您现有的 ClickHouse schema 之上
  • 为 ClickHouse 优化的高速搜索与可视化
  • 直观的全文搜索和属性搜索语法(例如 level:err),SQL 为可选
  • 使用事件差异(event deltas)分析异常趋势
  • 只需几次点击即可完成告警配置
  • 无需复杂查询语言即可在仪表板中展示高基数事件
  • 原生 JSON 字符串查询
  • 实时流式查看日志和追踪,始终获取最新事件
  • 开箱即用的 OpenTelemetry (OTel) 支持
  • 从 HTTP 请求到数据库查询(APM)全链路监控健康状况和性能
  • 使用事件差异(event deltas)识别异常和性能回归
  • 日志模式识别

组件

ClickStack 由三个核心组件组成:

  1. ClickStack UI (HyperDX) – 专用于探索和可视化可观测性数据的前端界面
  2. OpenTelemetry collector – 自定义构建并预先配置的采集器,对日志、链路追踪和指标采用标准化的模式
  3. ClickHouse – 整个技术栈的核心高性能分析型数据库

这些组件可以在完全自管理的 ClickStack 开源版环境中一并部署,也可以拆分在托管和自托管环境中运行。在 Managed ClickStack 中,ClickHouse 和 HyperDX UI 由 ClickHouse Cloud 托管并运维,用户只需运行 OpenTelemetry collector。

还提供了浏览器托管版本的 HyperDX UI,用户无需部署额外的 UI 基础设施即可直接连接到现有的 ClickHouse 部署。

开始之前,请先访问入门指南,然后加载示例数据集。你还可以查阅关于部署选项生产环境最佳实践的文档。

原则

ClickStack 的设计基于一套核心原则,在可观测性栈的各个层面优先兼顾易用性、性能和灵活性:

几分钟内即可轻松完成设置

ClickStack 能与任意 ClickHouse 实例和 schema 开箱即用,仅需极少配置。无论是全新部署,还是集成到现有环境,都可以在几分钟内完成并投入使用。

易用且为可观测性量身打造

HyperDX UI 同时支持 SQL 和类 Lucene 语法,使用户可以选择最契合其工作流的查询界面。该 UI 专为可观测性打造,并经过优化,可帮助团队快速定位根因,顺畅地浏览和分析复杂数据。

端到端可观测性

ClickStack 提供从前端用户会话到后端基础设施指标、应用日志以及分布式追踪的全栈可见性。这一统一视图有助于在整个系统范围内开展深度的关联分析。

专为 ClickHouse 设计

该技术栈的每一层都旨在充分发挥 ClickHouse 的能力。查询经过优化,以充分利用 ClickHouse 的分析函数和列式引擎,从而在海量数据上实现高速搜索与聚合。

原生支持 OpenTelemetry

ClickStack 与 OpenTelemetry 原生集成,通过 OpenTelemetry Collector 端点摄取全部数据。对于高级用户,它还支持使用原生文件格式、自定义管道或 Vector 等第三方工具将数据直接摄取到 ClickHouse 中。

开源且完全可自定义

ClickStack 完全开源,可部署在任何环境中。其 schema 灵活且可由用户修改,UI 在设计时就考虑了对自定义 schema 的支持,可在无需修改的情况下进行适配。所有组件——包括 collectors、ClickHouse 和 UI——都可以独立伸缩,以满足摄取、查询或存储方面的需求。

架构概览

ClickStack 的架构会根据部署方式而变化。ClickStack Open Source(所有组件均为自管理)与 Managed ClickStack(ClickHouse 和 HyperDX UI 托管并运行在 ClickHouse Cloud 中)之间在架构上存在重要差异。虽然两种模式下的核心组件保持一致,但每个组件在托管、伸缩和安全性方面的责任划分不同。

Managed ClickStack 架构

Managed ClickStack 完全运行在 ClickHouse Cloud 中,在保留相同 ClickStack 数据模型和用户体验的同时,提供完全托管的可观测性后端。

在这种模式下,ClickHouse 和 ClickStack UI(HyperDX) 由 ClickHouse Cloud 托管、运维并进行安全加固。用户只需负责运行一个 OpenTelemetry Collector,将遥测数据发送到托管服务中。

Managed ClickStack 由以下组件组成:

  1. ClickStack UI(HyperDX)
    HyperDX UI 完全集成到 ClickHouse Cloud 中,并作为服务的一部分进行托管。它提供日志搜索、链路追踪分析、仪表盘、告警以及跨多种遥测类型的关联分析,并集成了认证和访问控制。

  2. OpenTelemetry collector(自管理)
    用户运行一个 OpenTelemetry Collector,从其应用和基础设施中接收遥测数据。该 collector 通过 OTLP 将数据转发到 ClickHouse Cloud。虽然可以使用任意符合标准的 OpenTelemetry Collector,但我们强烈推荐使用 ClickStack 发行版,它预先配置并针对 ClickHouse 摄取进行了优化,且可直接与 ClickStack schema 开箱即用。

  3. ClickHouse Cloud
    ClickHouse 在 ClickHouse Cloud 中以完全托管的方式运行,作为所有可观测性数据的存储和查询引擎。用户无需管理集群、升级或日常运维工作。

Managed ClickStack 提供以下关键优势:

  • 计算与存储的自动独立伸缩
  • 由对象存储支撑的 低成本且几乎无限的保留期
  • 使用 ClickHouse Cloud Warehouses 实现 读写隔离
  • 集成的认证与访问控制
  • 自动备份
  • 安全与合规特性
  • 无运维停机的平滑升级

这种部署模式使团队可以将精力完全聚焦在可观测性工作流与监测/埋点上,而无需自行运维 ClickHouse 或 ClickStack UI。

对于计划在生产环境中部署 ClickStack 的用户,推荐优先选择 Managed ClickStack。请参阅快速入门指南以了解如何在 ClickHouse Cloud 中部署 ClickStack。