> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 托管 ClickStack 入门

> 托管 ClickStack 入门

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

最简单的入门方式是在 **ClickHouse Cloud** 上部署 **托管 ClickStack**。它提供完全托管且安全的后端，同时仍保留对摄取、schema 和可观测性工作流的完全控制。这样一来，你无需自行运维 ClickHouse，还可获得以下一系列优势：

* 计算资源自动扩缩容，并与存储分离
* 基于对象存储的低成本、近乎无限的保留能力
* 可通过仓库独立隔离读写工作负载
* 集成身份验证
* 自动备份
* 安全与合规功能
* 无缝升级

<Steps>
  <Step>
    ## 注册 ClickHouse Cloud

    要在 [ClickHouse Cloud](https://console.clickhouse.cloud) 中创建托管 ClickStack 服务，请先完成 [ClickHouse Cloud 快速入门指南](/zh/get-started/setup/cloud)中的**第一步**。

    <Info>
      **Scale 与 Enterprise**

      对于大多数 ClickStack 工作负载，我们推荐使用 [Scale 层级](/zh/products/cloud/features/cloud-tiers)。如果您需要 SAML、CMEK 或 HIPAA 合规等高级安全功能，请选择 Enterprise 层级。该层级还可为超大规模 ClickStack 部署提供自定义硬件 profile。在这些情况下，我们建议联系支持团队。
    </Info>

    选择 Cloud 提供商和区域。

    <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/getting-started/region_resources.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=85d38b9d4f93fa2f4c8d7ce99374bc89" alt="" width="1544" height="1322" data-path="images/clickstack/getting-started/region_resources.png" />

    指定 CPU 和内存时，请根据预期的 ClickStack 摄取吞吐量进行估算。下表提供了这些资源的选型参考。

    | 每月摄取量         | 推荐 compute      |
    | ------------- | --------------- |
    | 每月 \< 10 TB   | 2 vCPU × 3 个副本  |
    | 每月 10–50 TB   | 4 vCPU × 3 个副本  |
    | 每月 50–100 TB  | 8 vCPU × 3 个副本  |
    | 每月 100–500 TB | 30 vCPU × 3 个副本 |
    | 每月 1 PB+      | 59 vCPU × 3 个副本 |

    这些建议基于以下假设：

    * 数据量是指每月**未压缩摄取量**，适用于日志和链路追踪。
    * 查询模式符合典型的可观测性用例，大多数查询都针对**最近的数据**，通常是最近 24 小时内的数据。
    * 摄取在整个月内相对**均匀**。如果您预计会出现突发流量或峰值，应额外预留余量。
    * 存储由 ClickHouse Cloud 对象存储单独处理，因此不会成为保留时长的限制因素。我们假设保留时间较长的数据不会被频繁访问。

    如果访问模式经常查询更长时间范围、执行大量聚合，或需要支持大量并发用户，则可能需要更多 compute 资源。

    虽然两个副本即可满足特定摄取吞吐量下的 CPU 和内存需求，但我们建议在条件允许时使用三个副本，以获得相同的总容量并提升服务冗余能力。

    <Note>
      这些数值**仅为估算**，应作为初始基线参考。实际需求取决于查询复杂度、并发程度、保留策略以及摄取吞吐量的波动情况。请始终监控资源使用情况，并按需扩缩容。
    </Note>

    指定完需求后，您的托管 ClickStack 服务将需要几分钟完成预配。在等待预配期间，您可以先浏览 [ClickHouse Cloud 控制台](/zh/products/cloud/getting-started/intro) 的其他部分。

    一旦**预配完成，左侧菜单中的“ClickStack”选项将会启用**。
  </Step>

  <Step>
    ## 设置摄取

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

    <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/getting-started/start_ingestion.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=bb493aa214a9f22ddb8e6118a7bfa5e3" alt="" width="3600" height="1890" data-path="images/clickstack/getting-started/start_ingestion.png" />

    选择“开始摄取”后，系统会提示你选择摄取源。托管 ClickStack 主要支持 OpenTelemetry 和 [Vector](https://vector.dev/) 作为摄取源。不过，用户也可以借助任意 [ClickHouse Cloud 支持的集成](/zh/integrations/home)，按自己的 schema 将数据直接发送到 ClickHouse。

    <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/getting-started/select_source.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=e6b51d32078326ab7b70738746931f6d" alt="" width="3600" height="1890" data-path="images/clickstack/getting-started/select_source.png" />

    <Info>
      **推荐使用 OpenTelemetry**

      强烈建议使用 OpenTelemetry 作为摄取格式。
      它提供最简单、最优化的使用体验，并内置了专为与 ClickStack 高效配合而设计的开箱即用 schema。
    </Info>

    <Tabs>
      <Tab title="OpenTelemetry">
        要将 OpenTelemetry 数据发送到托管 ClickStack，建议使用 OpenTelemetry Collector。该 collector 充当网关，接收来自应用程序 (以及其他 collector) 的 OpenTelemetry 数据，并将其转发到 ClickHouse Cloud。

        如果你还没有运行中的 collector，请按照以下步骤启动一个。如果你已有现成的 collector，也提供了一个配置示例。

        ### 启动一个 collector

        以下内容假定你采用推荐方式，即使用 **ClickStack 发行版的 OpenTelemetry Collector**。它包含额外的处理能力，并专门针对 ClickHouse Cloud 进行了优化。如果你想使用自己的 OpenTelemetry Collector，请参阅[“配置现有 collector。”](#configure-existing-collectors)

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

        <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/getting-started/otel_collector_start.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=57e374f6d054a25332101718bdbcc816" alt="" width="1452" height="408" data-path="images/clickstack/getting-started/otel_collector_start.png" />

        此命令应已预先填入你的连接凭据。

        <Info>
          **部署到生产环境**

          虽然此命令使用 `default` 用户连接到托管 ClickStack，但在[进入生产环境](/zh/clickstack/managing/overview#create-a-database-ingestion-user-managed)并修改配置时，你应创建一个专用用户。
        </Info>

        运行这一条命令即可启动 ClickStack collector，并在 4317 (gRPC) 和 4318 (HTTP) 端口上开放 OTLP 端点。如果你已经有 OpenTelemetry 插桩和 agent，就可以立即开始将遥测数据发送到这些端点。

        ### 配置现有 collector

        你也可以配置自己现有的 OpenTelemetry Collectors，或使用你自己的 collector 发行版。

        <Info>
          **需要 ClickHouse exporter**

          如果你使用自己的发行版，例如 [contrib image](https://github.com/open-telemetry/opentelemetry-collector-contrib)，请确保其中包含 [ClickHouse exporter](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/clickhouseexporter)。
        </Info>

        为此，我们提供了一个 OpenTelemetry Collector 配置示例。该示例使用经过适当设置的 ClickHouse exporter，并开放 OTLP receiver。此配置与 ClickStack 发行版所期望的接口和行为一致。

        <ExampleOTelConfig />

        <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/getting-started/otel_collector_start.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=57e374f6d054a25332101718bdbcc816" alt="" width="1452" height="408" data-path="images/clickstack/getting-started/otel_collector_start.png" />

        有关配置 OpenTelemetry collector 的更多详细信息，请参阅[“使用 OpenTelemetry 进行摄取。”](/zh/clickstack/ingesting-data/opentelemetry)

        ### 开始摄取 (可选)

        如果你已有需要通过 OpenTelemetry 进行插桩的应用程序或基础设施，请前往 UI 中链接的相关指南。

        要为应用程序添加插桩以收集链路追踪和日志，请使用[受支持的语言 SDKs](/zh/clickstack/ingesting-data/sdks)。它们会将数据发送到充当网关的 OpenTelemetry Collector，以摄取到托管 ClickStack 中。

        日志可以通过以 agent 模式运行的 [OpenTelemetry Collectors 进行收集](/zh/clickstack/integration-examples/host-logs)，并将数据转发到同一个 collector。对于 Kubernetes 监控，请遵循[专门指南](/zh/clickstack/integration-examples/kubernetes)。对于其他集成，请参阅我们的[快速入门指南](/zh/clickstack/integration-examples)。

        ### 演示数据

        或者，如果你没有现成数据，可以试试我们的样本数据集之一。

        * [示例数据集](/zh/clickstack/example-datasets/sample-data) - 从我们的公开演示中加载一个示例数据集，诊断一个简单问题。
        * [本地文件和指标](/zh/clickstack/example-datasets/local-data) - 使用本地 OTel collector 加载本地文件，并在 OSX 或 Linux 上监控系统。

        <br />
      </Tab>

      <Tab title="Vector">
        [Vector](https://vector.dev) 是一个高性能、厂商中立的可观测性数据管道，凭借灵活性高、资源占用低的特点，尤其常用于日志摄取。

        将 Vector 与 ClickStack 搭配使用时，用户需要自行定义 schema。这些 schema 可以遵循 OpenTelemetry 约定，也可以完全自定义，用来表示用户定义的事件结构。

        <Info>
          **必须提供时间戳**

          对于托管 ClickStack，唯一的硬性要求是数据中包含一个**时间戳列** (或等效的时间字段) ，这可以在 ClickStack UI 中配置数据源时声明。
        </Info>

        以下内容假设你已经有一个正在运行的 Vector 实例，并且已预先配置好摄取管道来传送数据。

        ### 创建数据库和表

        Vector 要求在摄取数据之前先定义好表和 schema。

        首先创建一个数据库。这可以通过 [ClickHouse Cloud 控制台](/zh/products/cloud/features/sql-console-features/sql-console) 完成。

        例如，为日志创建一个数据库：

        ```sql theme={null}
        CREATE DATABASE IF NOT EXISTS logs
        ```

        然后创建一个表，使其 schema 与你的日志数据结构相匹配。下面的示例假设采用经典的 Nginx 访问日志格式：

        ```sql theme={null}
        CREATE TABLE logs.nginx_logs
        (
            `time_local` DateTime,
            `remote_addr` IPv4,
            `remote_user` LowCardinality(String),
            `request` String,
            `status` UInt16,
            `body_bytes_sent` UInt64,
            `http_referer` String,
            `http_user_agent` String,
            `http_x_forwarded_for` LowCardinality(String),
            `request_time` Float32,
            `upstream_response_time` Float32,
            `http_host` String
        )
        ENGINE = MergeTree
        ORDER BY (toStartOfMinute(time_local), status, remote_addr);
        ```

        你的表必须与 Vector 生成的输出 schema 保持一致。请根据你的数据按需调整 schema，并遵循推荐的 [schema 最佳实践](/zh/concepts/best-practices/select-data-type)。

        我们强烈建议你了解 [Primary keys](/zh/concepts/core-concepts/primary-indexes) 在 ClickHouse 中的工作原理，并根据你的访问模式选择排序键。有关如何选择主键，请参阅 [ClickStack-specific](/zh/clickstack/managing/performance-tuning#choosing-a-primary-key) 指南。

        表创建完成后，复制所示的配置代码片段。按需调整输入以接入你现有的管道，并在需要时修改目标表和数据库。credentials 应已预先填充。

        <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/getting-started/vector_config.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=40e323210e75baa66cc3c791f7b54d85" alt="" width="3600" height="1890" data-path="images/clickstack/getting-started/vector_config.png" />

        有关使用 Vector 摄取数据的更多示例，请参阅 ["使用 Vector 摄取数据"](/zh/clickstack/ingesting-data/vector)，或查看 [Vector ClickHouse sink documentation](https://vector.dev/docs/reference/configuration/sinks/clickhouse/) 了解高级选项。

        <br />
      </Tab>
    </Tabs>
  </Step>

  <Step>
    ## 进入 ClickStack UI

    选择“Launch ClickStack”以访问 ClickStack UI (HyperDX) 。系统会自动完成身份验证并将你重定向到相应页面。

    <Tabs>
      <Tab title="OpenTelemetry">
        系统会为所有 OpenTelemetry 数据预先创建数据源。

        <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/getting-started/clickstack_managed_ui.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=6a9731c339fa3ad784b3afafc8f91c53" alt="" width="3600" height="1870" data-path="images/clickstack/getting-started/clickstack_managed_ui.png" />
      </Tab>

      <Tab title="Vector">
        如果你使用的是 Vector，则需要自行创建数据源。首次登录时，系统会提示你创建一个。下面展示的是一个日志数据源的示例配置。

        <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/clickstack/create-vector-datasource.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=ae39a46fcf0945b3e1e30e6211e136b3" alt="" width="3600" height="1938" data-path="images/clickstack/create-vector-datasource.png" />

        此配置假定使用 Nginx 风格的 schema，并将 `time_local` 列用作时间戳。在可能的情况下，它应为主键中声明的时间戳列。**此列为必填项**。

        我们还建议更新 `Default SELECT`，以显式指定日志视图中返回哪些列。如果还有其他可用字段，例如服务名称、日志级别或 body 列，也可以一并配置。如果用于显示的时间戳列与表主键中使用且在上方配置的列不同，也可以对其进行覆盖。

        在上面的示例中，数据里并不存在 `Body` 列。相反，它是通过一个 SQL 表达式定义的，用于根据现有字段重建一行 Nginx 日志。

        有关其他可选配置，请参阅[配置参考](/zh/clickstack/managing/config)。

        创建完成后，你将进入搜索视图，并可立即开始探索你的数据。

        <img src="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/zXCQbzXFHfeD9FBK/images/clickstack/getting-started/clickstack_managed_ui.png?fit=max&auto=format&n=zXCQbzXFHfeD9FBK&q=85&s=6a9731c339fa3ad784b3afafc8f91c53" alt="" width="3600" height="1870" data-path="images/clickstack/getting-started/clickstack_managed_ui.png" />
      </Tab>
    </Tabs>

    <br />

    就是这样——你已全部设置就绪。🎉

    现在就开始探索 ClickStack：搜索日志和链路追踪，查看日志、链路追踪和指标如何实时关联，构建仪表盘，探索服务地图，发掘 Event deltas 和 Patterns，并设置告警以提前发现问题。
  </Step>

  <Step>
    ## 后续步骤

    <Warning>
      **记录默认凭据**

      如果你在上述步骤中尚未记录默认凭据，请进入该服务并选择 `Connect`，记下密码以及 HTTP/native 端点。请妥善保管这些管理员凭据，以便在后续指南中重复使用。
    </Warning>

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/Y9kcWM6RbYppspJn/images/_snippets/service_connect.png?fit=max&auto=format&n=Y9kcWM6RbYppspJn&q=85&s=8e761f7f6800b7e5ed3bf5787809c48d" size="lg" alt="Service Connect" border width="3200" height="2125" data-path="images/_snippets/service_connect.png" />

    如需执行预配新用户或添加更多数据源等任务，请参阅[托管 ClickStack 部署指南](/zh/clickstack/deployment/managed#additional-tasks)。
  </Step>
</Steps>
