跳到主要内容
跳到主要内容

ClickStack - ClickHouse 观察堆栈

ClickStack 是一个基于 ClickHouse 的生产级可观察性平台,将日志、跟踪、指标和会话统一为一个高性能的解决方案。它旨在监控和调试复杂系统,使开发人员和 SRE 能够端到端地追踪问题,而无需在工具之间切换或手动使用时间戳或关联 ID 拼接数据。

ClickStack 的核心是一个简单而强大的理念:所有可观察性数据都应该作为宽广、丰富的事件进行摄取。这些事件按数据类型存储在 ClickHouse 表中——日志、跟踪、指标和会话——但在数据库层面上仍然可以完全查询和交叉关联。

ClickStack 通过利用 ClickHouse 的列式架构、本地 JSON 支持和完全并行的执行引擎,能够高效处理高基数工作负载。这使得对大数据集进行亚秒查询、快速的广时间范围聚合和对单个跟踪的深度检查成为可能。JSON 以压缩的列式格式存储,允许架构演变而无需手动干预或预先定义。

特性

该堆栈包括几个旨在调试和根本原因分析的关键特性:

  • 在一个地方关联/搜索日志、指标、会话重放和跟踪
  • 无架构依赖,适用于现有的 ClickHouse 架构
  • 针对 ClickHouse 优化的超快速搜索和可视化
  • 直观的全文搜索和属性搜索语法(如 level:err),SQL 可选!
  • 分析异常中的趋势和事件差异
  • 只需几次点击即可设置警报
  • 在没有复杂查询语言的情况下仪表盘高基数事件
  • 本地 JSON 字符串查询
  • 实时获取最新事件的日志和跟踪
  • 开箱即用的 OpenTelemetry (OTel) 支持
  • 监控从 HTTP 请求到数据库查询的健康和性能(APM)
  • 用于识别异常和性能回归的事件差异
  • 日志模式识别

组件

ClickStack 由三个核心组件组成:

  1. HyperDX UI – 专为探索和可视化可观察性数据而设计的前端
  2. OpenTelemetry collector – 一个定制构建的、预配置的收集器,具有针对日志、跟踪和指标的立场导向架构
  3. ClickHouse – 堆栈核心的高性能分析数据库

这些组件可以独立或一起部署。同时,还提供浏览器托管的 HyperDX UI 版本,允许用户在没有额外基础设施的情况下连接到现有的 ClickHouse 部署。

要开始使用,请访问 入门指南,然后加载 示例数据集。您还可以查阅 部署选项生产最佳实践 的文档。

原则

ClickStack 是根据一组核心原则设计的,这些原则优先考虑可观察性堆栈每一层的易用性、性能和灵活性:

数分钟内轻松设置

ClickStack 与任何 ClickHouse 实例和架构开箱即用,所需配置最少。无论您是全新启动还是与现有设置集成,您都可以在几分钟内启动和运行。

用户友好且专用

HyperDX UI 同时支持 SQL 和 Lucene 风格的语法,让用户可以选择适合其工作流程的查询接口。专为可观察性而构建,UI 被优化为帮助团队快速识别根本原因,并轻松浏览复杂数据。

端到端可观察性

ClickStack 提供全栈可见性,从前端用户会话到后端基础设施指标、应用程序日志和分布式跟踪。这种统一视图使整个系统的深度关联和分析成为可能。

为 ClickHouse 构建

堆栈的每一层都旨在充分发挥 ClickHouse 的能力。查询经过优化以利用 ClickHouse 的分析函数和列式引擎,确保在海量数据上快速搜索和聚合。

原生支持 OpenTelemetry

ClickStack 与 OpenTelemetry 原生集成,通过 OpenTelemetry 收集器端点摄取所有数据。对于高级用户,它还支持使用本地文件格式、自定义管道或第三方工具(如 Vector)直接摄取到 ClickHouse。

开源且完全可定制

ClickStack 完全开源,可以在任何地方部署。架构灵活且可用户修改,UI 被设计为可配置到自定义架构,无需更改。所有组件——包括收集器、ClickHouse 及 UI - 都可以独立扩展,以满足摄取、查询或存储需求。

架构概述

ClickStack 由三个核心组件组成:

  1. HyperDX UI
    一个用户友好的界面,专为可观察性而构建。它支持 Lucene 风格和 SQL 查询、交互式仪表板、警报、跟踪探索等——所有这些都针对 ClickHouse 作为后端进行了优化。

  2. OpenTelemetry collector
    一个定制构建的收集器,配置有针对 ClickHouse 摄取优化的立场导向架构。它通过 OpenTelemetry 协议接收日志、指标和跟踪,并使用高效的批量插入直接写入 ClickHouse。

  3. ClickHouse
    高性能分析数据库,作为宽广事件的中央数据存储。ClickHouse 利用其列式引擎和对 JSON 的本地支持,强大驱动快速搜索、过滤和大规模聚合。

除了这三个组件,ClickStack 还使用 MongoDB 实例 来存储应用状态,例如仪表板、用户帐户和配置设置。

完整的架构图和部署细节可以在 架构部分 找到。