跳至主要内容
跳至主要内容

ClickStack - ClickHouse 可观测性堆栈

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

ClickStack 的核心是一个简单但强大的理念:所有可观测性数据都应作为宽而丰富的事件摄取。这些事件存储在 ClickHouse 表中,按数据类型分类——日志、追踪、指标和会话——但仍然可以在数据库级别完全查询和跨关联。

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

特性

该堆栈包含几个关键特性,专为调试和根本原因分析而设计

  • 在一个地方关联/搜索日志、指标、会话回放和追踪
  • 模式无关,可在现有的 ClickHouse 模式之上工作
  • 针对 ClickHouse 优化的闪电般快速的搜索和可视化
  • 直观的全文搜索和属性搜索语法(例如 level:err),可选 SQL。
  • 使用事件差异分析异常趋势
  • 只需点击几下即可设置告警
  • 无需复杂的查询语言即可仪表盘高基数事件
  • 原生 JSON 字符串查询
  • 实时 tail 日志和追踪,始终获取最新事件
  • 开箱即用支持 OpenTelemetry (OTel)
  • 监控从 HTTP 请求到数据库查询的健康和性能(APM)
  • 用于识别异常和性能回归的事件差异
  • 日志模式识别

组件

ClickStack 由三个核心组件组成

  1. ClickStack UI (HyperDX) – 一个专门为探索和可视化可观测性数据而构建的前端
  2. OpenTelemetry collector – 一个定制构建的、预配置的 collector,针对日志、追踪和指标具有约定俗成的模式
  3. ClickHouse – 堆栈核心的高性能分析数据库

这些组件可以一起部署在完全自托管的 ClickStack 开源版设置中,也可以拆分到托管和自托管环境中。在托管的 ClickStack 中,ClickHouse 和 HyperDX UI 在 ClickHouse Cloud 中托管和运行,而用户只需运行 OpenTelemetry Collector。

HyperDX UI 的浏览器托管版本也可用,允许用户直接连接到现有的 ClickHouse 部署,而无需部署额外的 UI 基础设施。

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

原则

ClickStack 采用一套核心原则设计,在可观测性堆栈的每一层都优先考虑易用性、性能和灵活性

易于在几分钟内设置

ClickStack 适用于任何 ClickHouse 实例和模式,无需进行大量配置。无论您是全新开始还是与现有设置集成,您都可以在几分钟内启动并运行。

用户友好且专为目的而设计

HyperDX UI 支持 SQL 和 Lucene 风格的语法,允许用户选择适合其工作流程的查询界面。UI 专为可观测性而设计,旨在帮助团队快速识别根本原因,并在复杂数据中无摩擦地导航。

端到端可观测性

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

专为 ClickHouse 构建

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

OpenTelemetry 原生

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

开源且完全可定制

ClickStack 是完全开源的,可以部署在任何地方。模式灵活且用户可修改,UI 设计为可配置为自定义模式,无需进行更改。所有组件——包括 collector、ClickHouse 和 UI——都可以独立扩展,以满足摄取、查询或存储需求。

架构概述

ClickStack 架构因部署方式而异。在所有组件都自托管的ClickStack 开源版和 ClickHouse 和 HyperDX UI 在 ClickHouse Cloud 中托管和运行的托管的 ClickStack之间存在重要的架构区别。虽然核心组件在这两种模式下保持不变,但对每个组件的托管、扩展和保护的责任却不同。

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

在此模型中,ClickHouse 和 ClickStack UI (HyperDX) 由 ClickHouse Cloud 托管、运行和保护。用户只需负责运行 OpenTelemetry Collector 以将遥测数据发送到托管服务。

托管的 ClickStack 包含以下组件

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

  2. OpenTelemetry collector (自托管)
    用户运行一个 OpenTelemetry Collector,该 Collector 从其应用程序和基础设施接收遥测数据。此 collector 通过 OTLP 将数据转发到 ClickHouse Cloud。虽然可以使用任何符合标准的 OpenTelemetry Collector,但我们强烈建议使用ClickStack 发行版,该版本经过预配置和优化,可用于 ClickHouse 摄取,并与 ClickStack 模式开箱即用。

  3. ClickHouse Cloud
    ClickHouse 在 ClickHouse Cloud 中完全托管,作为所有可观测性数据的存储和查询引擎。用户无需管理集群、升级或操作问题。

托管的 ClickStack 具有以下几个关键优势

  • 与存储无关的计算自动扩展
  • 低成本且实际上无限的保留期,由对象存储提供支持
  • 使用 ClickHouse Cloud Warehouses 实现的独立读写隔离
  • 集成的身份验证和访问控制
  • 自动备份
  • 安全性和合规性功能
  • 无操作停机时间的无缝升级

这种部署模式允许团队完全专注于可观测性工作流程和工具化,而无需承担操作 ClickHouse 或 ClickStack UI 的开销。

对于在生产环境中部署 ClickStack 的用户,建议使用托管的 ClickStack。请参阅 入门指南,了解有关使用 ClickHouse Cloud 部署 ClickStack 的说明。


    © . This site is unofficial and not affiliated with ClickHouse, Inc.