> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# otelgenで合成OpenTelemetryデータを生成する

> otelgenを使用して、合成ログ、トレース、メトリクスをClickStack OpenTelemetry collectorに送信します

[`otelgen`](https://github.com/krzko/otelgen) は、合成OTLPログ、トレース、メトリクスを生成する小規模な Go CLI です。これを使用すると、既存の ClickStack OpenTelemetry collector がデータを受信していることや、イベントが ClickStack UI に表示されることを確認できます。

このガイドでは、collector が `4317` (gRPC) および `4318` (HTTP) の OTLP エンドポイントですでに稼働していることを前提としています。

<Tabs>
  <Tab title="Managed ClickStack">
    <Steps>
      <Step title="前提条件" id="prerequisites-managed">
        このガイドは、[Managed ClickStack 向け Getting Started ガイド](/docs/ja/clickstack/deployment/managed) を完了しており、OTLP gRPC (`4317`) および HTTP (`4318`) のエンドポイントに `otelgen` を実行するマシンから到達できる状態で OpenTelemetry collector が稼働していることを前提としています。[collector を保護する](/docs/ja/clickstack/ingesting-data/collector#securing-the-collector)手順に従って `OTLP_AUTH_TOKEN` を設定している場合は、その値をすぐ使えるようにしておいてください。
      </Step>

      <Step title="otelgen をインストールする" id="install-otelgen-managed">
        Homebrew でインストールします。

        ```shell theme={null}
        brew install krzko/tap/otelgen
        ```

        または、Go でインストールします。

        ```shell theme={null}
        go install github.com/krzko/otelgen@latest
        ```
      </Step>

      <Step title="環境変数を設定する" id="set-env-vars-managed">
        collector のエンドポイントと、collector が保護されている場合は認証トークンを export します。

        ```shell theme={null}
        export OTEL_ENDPOINT=<host>:4317
        export OTLP_AUTH_TOKEN=<your_otlp_auth_token>
        ```

        collector の host とポートを使用してください。同じマシン上で collector を実行している場合は、`localhost:4317` になります。

        <Info>
          **認証なしの collector**

          ClickStack OpenTelemetry collector はデフォルトで認証なしです。[collector を保護する](/docs/ja/clickstack/ingesting-data/collector#securing-the-collector)手順に従って `OTLP_AUTH_TOKEN` を設定していない場合は、ここでは `OTLP_AUTH_TOKEN` を省略し、以下のコマンドから `--header` フラグを外してください。
        </Info>
      </Step>

      <Step title="トレースを生成する" id="generate-traces-managed">
        複数の span を含むトレースを短時間送信します。

        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${OTLP_AUTH_TOKEN}" \
          --protocol grpc --insecure \
          --rate 2 --duration 10 \
          traces multi
        ```

        `--rate` は 1 秒あたりのトレース数、`--duration` は実行時間 (秒) です。`--insecure` は gRPC connection の TLS を無効にします。これは、collector の平文 OTLP ポートに `otelgen` を向ける場合に必要です。
      </Step>

      <Step title="ログを生成する" id="generate-logs-managed">
        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${OTLP_AUTH_TOKEN}" \
          --protocol grpc --insecure \
          --rate 2 --duration 10 \
          logs multi
        ```
      </Step>

      <Step title="メトリクスを生成する" id="generate-metrics-managed">
        `metrics` サブコマンドでは `--duration` は使えません。コマンドを実行し、数秒後に `Ctrl+C` を押して停止してください。

        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${OTLP_AUTH_TOKEN}" \
          --protocol grpc --insecure \
          --rate 2 \
          metrics sum
        ```

        `otelgen` は、`metrics` 配下で `gauge`、`histogram`、`up-down-counter`、`exponential-histogram` の各サブコマンドもサポートしています。
      </Step>

      <Step title="ClickStack で確認する" id="verify-managed">
        ClickHouse Cloud コンソールから ClickStack UI を開きます。`Search` ビューでソースを `Logs` と `Traces` に切り替え、新しいイベントが取り込まれていることを確認します。time range を `Last 15 minutes` に設定します。`Chart Explorer` を開き、`Metrics` を選択して、`otelgen` が生成したメトリクス名の 1 つ (たとえば `otelgen.metrics.sum`) を chart し、メトリクスのインジェストを確認します。
      </Step>
    </Steps>
  </Tab>

  <Tab title="ClickStack Open Source">
    <Steps>
      <Step title="前提条件" id="prerequisites-oss">
        このガイドでは、[all-in-one イメージの手順](/docs/ja/clickstack/getting-started/oss)に従って Open Source ClickStack を起動済みであり、OTLP エンドポイント (`4317` の gRPC と `4318` の HTTP) にアクセスできることを前提としています。また、HyperDX UI の `Team Settings > API Keys` にあるインジェスト API key も必要です。
      </Step>

      <Step title="otelgen をインストールする" id="install-otelgen-oss">
        Homebrew でインストールします。

        ```shell theme={null}
        brew install krzko/tap/otelgen
        ```

        または、Go でインストールします。

        ```shell theme={null}
        go install github.com/krzko/otelgen@latest
        ```
      </Step>

      <Step title="環境変数を設定する" id="set-env-vars-oss">
        collector のエンドポイントとインジェスト API key をエクスポートします。

        ```shell theme={null}
        export OTEL_ENDPOINT=localhost:4317
        export CLICKSTACK_API_KEY=<your_ingestion_api_key>
        ```
      </Step>

      <Step title="トレースを生成する" id="generate-traces-oss">
        複数の span を含むトレースを短時間送信します。

        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${CLICKSTACK_API_KEY}" \
          --protocol grpc --insecure \
          --rate 2 --duration 10 \
          traces multi
        ```

        `--rate` は 1 秒あたりのトレース数、`--duration` は実行時間 (秒) です。`--insecure` はローカル collector に対する平文 gRPC を有効にします。
      </Step>

      <Step title="ログを生成する" id="generate-logs-oss">
        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${CLICKSTACK_API_KEY}" \
          --protocol grpc --insecure \
          --rate 2 --duration 10 \
          logs multi
        ```
      </Step>

      <Step title="メトリクスを生成する" id="generate-metrics-oss">
        `metrics` サブコマンドは `--duration` をサポートしていません。コマンドを実行し、数秒後に `Ctrl+C` を押して停止してください。

        ```shell theme={null}
        otelgen --otel-exporter-otlp-endpoint ${OTEL_ENDPOINT} \
          --header "authorization=${CLICKSTACK_API_KEY}" \
          --protocol grpc --insecure \
          --rate 2 \
          metrics sum
        ```

        `otelgen` は `metrics` 配下で `gauge`、`histogram`、`up-down-counter`、`exponential-histogram` の各サブコマンドにも対応しています。
      </Step>

      <Step title="ClickStack で確認する" id="verify-oss">
        [http://localhost:8080](http://localhost:8080) にアクセスして ClickStack UI を開きます。`Search` ビューでログソースを `Logs` と `Traces` に切り替え、新しいイベントが入っていることを確認します。時間範囲を `Last 15 minutes` に設定します。`Chart Explorer` を開いて `Metrics` を選択し、`otelgen` が生成したメトリクス名の 1 つ (たとえば `otelgen.metrics.sum`) をグラフ化して、メトリクスのインジェストを確認します。
      </Step>
    </Steps>
  </Tab>
</Tabs>
