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

# 开始使用 ClickStack 开源版

> 在本地运行 ClickStack 开源版，发送测试数据并确认数据摄取是否正常

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

在本地运行 ClickStack 开源版，通过其 OpenTelemetry Collector 发送测试事件，并确认该事件已显示在 ClickStack UI 中。

使用 ClickStack 开源版时，您需要自行运行和管理 ClickHouse 后端、ClickStack UI 和摄取管道。all-in-one 镜像将这些组件与 MongoDB 打包在一个 Docker 容器中，便于进行本地评估和测试。

<Tip>
  ClickStack 还提供托管版本 — 请参阅[托管 ClickStack](/zh/clickstack/getting-started/managed)。
</Tip>

以下步骤使用需要身份验证的 all-in-one 镜像。如果您希望无需创建账户即可使用本地 UI，请改为参阅 [Docker 本地模式操作指南](/zh/clickstack/deployment/local-mode-only)。

<div id="before-you-begin">
  ## 开始前准备
</div>

安装 [Docker](https://docs.docker.com/get-docker/)，并确认以下端口可用：

* ClickStack UI 使用 `8080`
* 通过 gRPC 传输 OTLP 使用 `4317`
* 通过 HTTP 传输 OTLP 使用 `4318`
* ClickHouse HTTP 接口使用 `8123`

对于持续运行的工作负载或生产环境，请参阅[开源部署选项](/zh/clickstack/deployment/oss)和[投入生产环境](/zh/clickstack/managing/production)。

<div id="set-up-clickstack-open-source">
  ## 使用 all-in-one 镜像部署 ClickStack 开源版
</div>

<Steps titleSize="h3">
  <Step title="启动 ClickStack" id="deploy-stack-with-docker">
    运行 all-in-one 镜像：

    ```shell theme={null}
    docker run \
      --name clickstack \
      -p 8123:8123 \
      -p 8080:8080 \
      -p 4317:4317 \
      -p 4318:4318 \
      clickhouse/clickstack-all-in-one:latest
    ```

    容器将在前台运行。请保持此终端打开，并使用第二个终端执行本指南中的其余命令。

    <Accordion title="持久化数据和设置">
      若要在删除容器后保留 ClickStack 设置、ClickHouse 数据和 ClickHouse 日志，请改为运行以下命令：

      ```shell theme={null}
      docker run \
        --name clickstack \
        -p 8123:8123 \
        -p 8080:8080 \
        -p 4317:4317 \
        -p 4318:4318 \
        -v "$(pwd)/.volumes/db:/data/db" \
        -v "$(pwd)/.volumes/ch_data:/var/lib/clickhouse" \
        -v "$(pwd)/.volumes/ch_logs:/var/log/clickhouse-server" \
        clickhouse/clickstack-all-in-one:latest
      ```

      `$(pwd)` 会解析为当前目录。此命令会将持久化文件存储在该位置的 `.volumes` 目录中。
    </Accordion>
  </Step>

  <Step title="打开 ClickStack" id="navigate-to-hyperdx-ui">
    ClickStack 启动后，打开 [http://localhost:8080](http://localhost:8080) 并创建账户。

    ClickStack 会自动连接到随附的 ClickHouse 实例，并为日志、链路追踪、指标和会话创建数据源。

    #### 复制摄取 API key

    在左侧菜单的 **开始使用** 部分中，选择 **添加数据**，然后复制 **摄取 API key**。发送到随附 OpenTelemetry Collector 的遥测数据必须在 `authorization` 请求头中包含此密钥。
  </Step>

  <Step title="发送测试数据" id="send-test-data">
    在第二个终端中，导出摄取 API key：

    ```shell theme={null}
    export CLICKSTACK_API_KEY=<your_ingestion_api_key>
    ```

    发送一条带有当前时间戳的 OTLP 日志：

    ```shell theme={null}
    NOW_NANO="$(date +%s)000000000"

    curl -i "http://localhost:4318/v1/logs" \
      -H "Content-Type: application/json" \
      -H "authorization: ${CLICKSTACK_API_KEY}" \
      --data-binary @- <<EOF
    {
      "resourceLogs": [{
        "resource": {
          "attributes": [{
            "key": "service.name",
            "value": {"stringValue": "clickstack-docs-test"}
          }]
        },
        "scopeLogs": [{
          "scope": {"name": "clickstack-docs-test"},
          "logRecords": [{
            "timeUnixNano": "${NOW_NANO}",
            "severityText": "INFO",
            "body": {"stringValue": "ClickStack ingestion test"}
          }]
        }]
      }]
    }
    EOF
    ```

    请求成功时将返回 `HTTP/1.1 200 OK`。
  </Step>

  <Step title="确认摄取" id="confirm-ingestion">
    在 ClickStack 中打开 **搜索** 视图，然后搜索 `ClickStack ingestion test`。

    结果中应包含服务名称为 `clickstack-docs-test` 的测试事件。

    <Image img="https://mintcdn.com/private-7c7dfe99-trino-dialect/yEEl6qs9WF6UaX4A/images/clickstack/getting-started/clickstack_ingestion_test_oss.webp?fit=max&auto=format&n=yEEl6qs9WF6UaX4A&q=85&s=daa25e27c8b338c09905261a30c78b4a" size="lg" alt="ClickStack 开源版日志视图，显示 ClickStack 摄取测试事件" border width="3838" height="1984" data-path="images/clickstack/getting-started/clickstack_ingestion_test_oss.webp" />
  </Step>
</Steps>

现在，您已拥有本地 ClickStack 实例、可用的摄取端点，以及可在 ClickStack 中查看的测试事件。

<div id="next-steps">
  ## 后续步骤
</div>

<div id="send-application-and-infrastructure-data">
  ### 发送应用和基础设施数据
</div>

根据要发送到 ClickStack 的数据选择相应指南：

<CardGroup cols={2}>
  <Card title="为应用添加监测" icon="code" href="/zh/clickstack/ingesting-data/sdks/index">
    使用受支持的 OpenTelemetry SDK 发送应用的链路追踪和日志。
  </Card>

  <Card title="收集主机日志" icon="server" href="/zh/clickstack/integration-examples/host-logs">
    转发由以 agent 角色运行的 OpenTelemetry Collector 收集的主机日志。
  </Card>

  <Card title="监控 Kubernetes" icon="cubes" href="/zh/clickstack/integration-examples/kubernetes">
    从 Kubernetes 集群收集日志、指标和链路追踪。
  </Card>

  <Card title="探索其他集成" icon="plug" href="/zh/clickstack/integration-examples/index">
    查找更多应用和遥测数据源的指南。
  </Card>
</CardGroup>

<div id="explore-sample-data">
  ### 探索样本数据
</div>

使用样本数据集，通过更丰富的遥测数据体验 ClickStack：

<CardGroup cols={2}>
  <Card title="样本日志、链路追踪和指标" href="/zh/clickstack/example-datasets/sample-data">
    <img src="https://mintcdn.com/private-7c7dfe99-trino-dialect/yEEl6qs9WF6UaX4A/images/clickstack/example-trace-dashboard.webp?fit=max&auto=format&n=yEEl6qs9WF6UaX4A&q=85&s=36ac72137ebd6b3678c20d365fb2f6d6" alt="" width="1919" height="969" data-path="images/clickstack/example-trace-dashboard.webp" />

    加载公网演示环境中的数据并诊断问题。
  </Card>

  <Card title="本地日志和指标" href="/zh/clickstack/example-datasets/local-data">
    <img src="https://mintcdn.com/private-7c7dfe99-trino-dialect/V_i7rF59rG-XogPH/images/clickstack/host-logs/host-logs-dashboard.webp?fit=max&auto=format&n=V_i7rF59rG-XogPH&q=85&s=afeba8a19ad65ebb99f39c7308b2ac04" alt="" width="3808" height="1908" data-path="images/clickstack/host-logs/host-logs-dashboard.webp" />

    在 macOS 或 Linux 上收集本地文件和系统指标。
  </Card>
</CardGroup>

若要在不安装 Docker 的情况下探索预加载的数据，请使用[托管的 ClickStack 演示环境](/zh/clickstack/example-datasets/remote-demo-data)。

<div id="generate-synthetic-data">
  ### 生成合成数据
</div>

无需现有应用程序或数据集，即可使用生成器测试数据摄取：

<CardGroup cols={2}>
  <Card title="使用 otelgen 生成数据" icon="terminal" href="/zh/clickstack/example-datasets/otelgen">
    发送短时间突发的合成 OTLP 日志、链路追踪和指标。
  </Card>

  <Card title="使用 telemetrygen 生成数据" icon="terminal" href="/zh/clickstack/example-datasets/telemetrygen">
    在多个服务中生成可配置的 OpenTelemetry 信号。
  </Card>
</CardGroup>

请参阅[所有 ClickStack 样本数据和演示](/zh/clickstack/example-datasets/index)。

<div id="prepare-for-production">
  ### 为生产环境做好准备
</div>

在使用 ClickStack 承载持续运行的工作负载之前，请查阅部署和生产环境相关指南：

<CardGroup cols={2}>
  <Card title="投入生产环境" icon="shield" href="/zh/clickstack/managing/production">
    了解摄取凭据、安全、保留和运维方面的指南。
  </Card>

  <Card title="选择部署模式" icon="server" href="/zh/clickstack/deployment/oss">
    比较适合您环境的开源部署选项。
  </Card>
</CardGroup>
