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

托管版 ClickStack 入门

Beta feature. Learn more.

开始使用的最简便方式,是在 ClickHouse Cloud 上部署 Managed ClickStack。它提供一个完全托管且安全的后端,同时仍然让您对摄取、schema 和可观测性工作流保持完全控制。这样您无需自行运维 ClickHouse,并可获得一系列优势:

  • 计算资源可自动伸缩,并且与存储解耦
  • 基于对象存储的低成本且几乎无限的保留期
  • 能够通过 warehouses 将读写工作负载彼此独立隔离
  • 集成的身份验证
  • 自动化备份
  • 安全和合规特性
  • 无缝升级

注册 ClickHouse Cloud

若要在 ClickHouse Cloud 中创建一个 Managed ClickStack 服务,请先完成 ClickHouse Cloud 快速入门指南中的第一步

Scale vs Enterprise

我们建议大多数 ClickStack 工作负载使用此 Scale 层级。如果您需要高级安全功能(例如 SAML、CMEK 或满足 HIPAA 合规要求),请选择 Enterprise 层级。它还为超大规模 ClickStack 部署提供自定义硬件配置。在这些情况下,我们建议联系支持团队。

选择 Cloud 提供商和区域。

资源选择器

在指定 CPU 和内存时,请根据预期的 ClickStack 摄取吞吐量进行估算。下表为这些资源的规格提供参考指导。

每月摄取量推荐计算资源
< 10 TB / month2 vCPU × 3 副本
10–50 TB / month4 vCPU × 3 副本
50–100 TB / month8 vCPU × 3 副本
100–500 TB / month30 vCPU × 3 副本
1 PB+ / month59 vCPU × 3 副本

这些推荐值基于以下假设:

  • 数据量指每月的未压缩摄取量,适用于日志和跟踪数据。
  • 查询模式对可观测性场景来说是典型的,大多数查询针对最新数据,通常为最近 24 小时。
  • 摄取在整个月内相对均匀分布。如果您预期存在突发流量或峰值,应预留额外余量。
  • 存储通过 ClickHouse Cloud 对象存储单独处理,并不是保留期的限制因素。我们假设保留时间较长的数据访问频率较低。

对于经常查询更长时间范围、执行重度聚合,或需要支持大量并发用户的访问模式,可能需要更多计算资源。

虽然两个副本即可满足给定摄取吞吐量的 CPU 和内存要求,但我们建议在可能的情况下使用三个副本,以在实现相同总容量的同时提升服务冗余度。

注意

这些数值仅为估算值,应作为初始基线使用。实际需求取决于查询复杂度、并发度、保留策略以及摄取吞吐量的波动情况。请始终监控资源使用情况,并根据需要进行扩缩容。

指定完需求后,您的托管 ClickStack 服务将需要几分钟时间完成预配。在等待预配期间,您可以随时浏览 ClickHouse Cloud 控制台 的其他部分。

一旦预配完成,左侧菜单中的 'ClickStack' 选项将被启用

配置摄取

服务预配完成后,确保已选中该服务,然后在左侧菜单中单击 "ClickStack"。

开始摄取

选择「Start Ingestion」后,系统会提示你选择一个摄取源。托管版 ClickStack 支持将 OpenTelemetry 和 Vector 作为其主要摄取源。不过,用户也可以使用任意 ClickHouse Cloud 支持的集成,以自定义的 schema 直接向 ClickHouse 发送数据。

选择来源
推荐使用 OpenTelemetry

强烈建议采用 OpenTelemetry 作为摄取格式。 它提供最简单且最高效的使用体验,并且内置的 schema 专门为与 ClickStack 高效配合而设计。

要将 OpenTelemetry 数据发送到托管版 ClickStack,建议使用 OpenTelemetry Collector。该收集器作为网关,接收来自应用程序(及其他收集器)的 OpenTelemetry 数据,并将其转发至 ClickHouse Cloud。

如果您尚未运行收集器,请按照以下步骤启动。如果您已有现有收集器,同样提供了配置示例供参考。

启动 collector

以下内容假定您使用推荐的 ClickStack 发行版 OpenTelemetry Collector,该版本包含额外的处理功能,并专门针对 ClickHouse Cloud 进行了优化。如果您希望使用自己的 OpenTelemetry Collector,请参阅“配置现有收集器”

要快速开始,请复制并运行下方显示的 Docker 命令。

OTel collector 来源

该命令应包含预先填充好的连接凭据。

部署到生产环境

虽然此命令使用 default 用户连接托管 ClickStack,但在投入生产并修改配置时,您应该创建一个专用用户。

运行此命令即可启动 ClickStack 收集器,OTLP 端点将在端口 4317(gRPC)和 4318(HTTP)上暴露。如果您已配置 OpenTelemetry 插桩和代理,可立即开始向这些端点发送遥测数据。

配置现有的采集器

您也可以配置现有的 OpenTelemetry Collector,或使用自定义的 Collector 发行版。

需要 ClickHouse exporter

如果您使用的是自己的发行版,例如 contrib 镜像,请确保其中包含 ClickHouse exporter

为此,我们提供了一个示例 OpenTelemetry Collector 配置,该配置使用 ClickHouse 导出器并设置了适当的参数,同时公开 OTLP 接收器。此配置与 ClickStack 发行版所需的接口和行为相匹配。

此配置的示例如下所示(如果从 UI 复制,环境变量将会自动填充):

receivers:
  otlp/hyperdx:
    protocols:
      grpc:
        include_metadata: true
        endpoint: "0.0.0.0:4317"
      http:
        cors:
          allowed_origins: ["*"]
          allowed_headers: ["*"]
        include_metadata: true
        endpoint: "0.0.0.0:4318"
processors:
  batch:
  memory_limiter:
    # 80% of maximum memory up to 2G, adjust for low memory environments
    limit_mib: 1500
    # 25% of limit up to 2G, adjust for low memory environments
    spike_limit_mib: 512
    check_interval: 5s
connectors:
  routing/logs:
    default_pipelines: [logs/out-default]
    error_mode: ignore
    table:
      - context: log
        statement: route() where IsMatch(attributes["rr-web.event"], ".*")
        pipelines: [logs/out-rrweb]
exporters:
  debug:
    verbosity: detailed
    sampling_initial: 5
    sampling_thereafter: 200
  clickhouse/rrweb:
    database: default
    endpoint: <clickhouse_cloud_endpoint>
    password: <your_password_here>
    username: default
    ttl: 720h
    logs_table_name: hyperdx_sessions
    timeout: 5s
    retry_on_failure:
      enabled: true
      initial_interval: 5s
      max_interval: 30s
      max_elapsed_time: 300s
  clickhouse:
    database: default
    endpoint: <clickhouse_cloud_endpoint>
    password: <your_password_here>
    username: default
    ttl: 720h
    timeout: 5s
    retry_on_failure:
      enabled: true
      initial_interval: 5s
      max_interval: 30s
      max_elapsed_time: 300s

service:
  pipelines:
    traces:
      receivers: [otlp/hyperdx]
      processors: [memory_limiter, batch]
      exporters: [clickhouse]
    metrics:
      receivers: [otlp/hyperdx]
      processors: [memory_limiter, batch]
      exporters: [clickhouse]
    logs/in:
      receivers: [otlp/hyperdx]
      exporters: [routing/logs]
    logs/out-default:
      receivers: [routing/logs]
      processors: [memory_limiter, batch]
      exporters: [clickhouse]
    logs/out-rrweb:
      receivers: [routing/logs]
      processors: [memory_limiter, batch]
      exporters: [clickhouse/rrweb]

高级 OTel collector 源配置

有关配置 OpenTelemetry 采集器的更多详细信息,请参阅"使用 OpenTelemetry 进行摄取"

启动摄取(可选)

如果您有需要使用 OpenTelemetry 进行插桩的现有应用或基础设施,请在 UI 中转到链接的相关指南。

要对应用进行插桩以收集 traces 和日志,请使用受支持的语言 SDKs,这些 SDKs 会将数据发送到您的 OpenTelemetry Collector,后者作为网关将数据摄取到托管版 ClickStack。

日志可以通过使用 OpenTelemetry Collectors 收集(以 agent 模式运行)并转发到同一个 collector。对于 Kubernetes 监控,请参阅专用指南。有关其他集成,请参阅我们的快速入门指南

演示数据

或者,如果您当前没有现有数据,可以尝试我们提供的示例数据集之一。

  • 示例数据集 - 从我们的公共演示中加载示例数据集。诊断一个简单问题。
  • 本地文件和指标 - 加载本地文件,并使用本地 OTel collector 在 OSX 或 Linux 上监控系统。

选择 'Launch ClickStack' 以访问 ClickStack UI(HyperDX)。系统会自动完成身份验证并进行重定向。

系统会为所有 OpenTelemetry 数据预先创建数据源。

ClickStack UI

就是这样 —— 一切就绪。🎉

现在就开始探索 ClickStack 吧:开始搜索日志和跟踪(traces),查看日志、跟踪和指标如何在实时环境中进行关联,构建仪表盘、探索服务地图、发现事件变化和模式,并设置告警以提前发现问题。

后续步骤

记录默认凭证

如果您在上述步骤中尚未记录默认凭证,请进入该服务并选择 Connect,记录密码以及 HTTP/native 端点。请安全地存储这些管理员凭证,以便在后续指南中重复使用。

Service Connect

若要执行诸如创建新用户或添加更多数据源之类的任务,请参阅托管 ClickStack 部署指南