> ## 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.

# Generar datos sintéticos de OpenTelemetry con otelgen

> Usa otelgen para enviar logs, trazas y métricas sintéticos a un collector de OpenTelemetry de ClickStack

[`otelgen`](https://github.com/krzko/otelgen) es una pequeña CLI escrita en Go que genera logs, trazas y métricas sintéticos mediante OTLP. Úsala para confirmar que un collector de OpenTelemetry de ClickStack existente está aceptando datos y que los eventos aparecen en la UI de ClickStack.

Esta guía asume que el collector ya está en ejecución con endpoints OTLP en `4317` (gRPC) y `4318` (HTTP).

<Tabs>
  <Tab title="ClickStack gestionado">
    <Steps>
      <Step title="Requisitos previos" id="prerequisites-managed">
        Esta guía parte de que ya completaste la [guía de primeros pasos para Managed ClickStack](/docs/es/clickstack/deployment/managed) y de que tienes un collector de OpenTelemetry en ejecución, con los endpoints OTLP gRPC (`4317`) y HTTP (`4318`) accesibles desde la máquina donde ejecutas `otelgen`. Si [protegiste el collector](/docs/es/clickstack/ingesting-data/collector#securing-the-collector) con un `OTLP_AUTH_TOKEN`, ten ese valor a mano.
      </Step>

      <Step title="Instalar otelgen" id="install-otelgen-managed">
        Instálalo con Homebrew:

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

        O instálalo con Go:

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

      <Step title="Establecer variables de entorno" id="set-env-vars-managed">
        Exporta el endpoint del collector y, si está protegido, el token de autenticación:

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

        Usa el host y el puerto de tu collector. Si el collector se está ejecutando en la misma máquina, será `localhost:4317`.

        <Info>
          **Collector sin autenticación**

          El ClickStack OpenTelemetry collector no requiere autenticación de forma predeterminada. Si no has seguido [Proteger el collector](/docs/es/clickstack/ingesting-data/collector#securing-the-collector) para establecer un `OTLP_AUTH_TOKEN`, omite `OTLP_AUTH_TOKEN` aquí y quita el indicador `--header` de los comandos siguientes.
        </Info>
      </Step>

      <Step title="Generar traces" id="generate-traces-managed">
        Envía una breve ráfaga de traces con varios spans:

        ```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` es la cantidad de traces por segundo y `--duration` es la duración de la ejecución, en segundos. `--insecure` desactiva TLS en la conexión gRPC, lo cual es necesario cuando `otelgen` apunta al puerto OTLP en texto plano del collector.
      </Step>

      <Step title="Generar logs" 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="Generar métricas" id="generate-metrics-managed">
        Los subcomandos de métricas no respetan `--duration`. Ejecuta el comando y pulsa `Ctrl+C` al cabo de unos segundos para detenerlo.

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

        `otelgen` también admite los subcomandos `gauge`, `histogram`, `up-down-counter` y `exponential-histogram` dentro de `metrics`.
      </Step>

      <Step title="Verificar en ClickStack" id="verify-managed">
        Abre la UI de ClickStack desde la consola de ClickHouse Cloud. En la vista `Búsqueda`, cambia la source entre `Logs` y `Traces` para confirmar que aparecen eventos nuevos. Establece el intervalo de tiempo en `Last 15 minutes`. Abre `Chart Explorer`, selecciona `Metrics` y crea un gráfico con uno de los nombres de métricas generados por `otelgen` (por ejemplo, `otelgen.metrics.sum`) para verificar la ingestión de métricas.
      </Step>
    </Steps>
  </Tab>

  <Tab title="ClickStack Open Source">
    <Steps>
      <Step title="Requisitos previos" id="prerequisites-oss">
        Esta guía asume que has iniciado Open Source ClickStack siguiendo las [instrucciones para la imagen todo en uno](/docs/es/clickstack/getting-started/oss) y que se puede acceder a los endpoints de OTLP (`4317` gRPC y `4318` HTTP). También necesitas la API key de ingesta desde la UI de HyperDX, en `configuración del equipo > API Keys`.
      </Step>

      <Step title="Instalar otelgen" id="install-otelgen-oss">
        Instálalo con Homebrew:

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

        O instálalo con Go:

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

      <Step title="Establecer variables de entorno" id="set-env-vars-oss">
        Exporta el endpoint del collector y la API key de ingesta:

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

      <Step title="Generar trazas" id="generate-traces-oss">
        Envía una breve ráfaga de trazas con varios spans:

        ```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` indica las trazas por segundo y `--duration` la duración de la ejecución en segundos. `--insecure` habilita gRPC en texto sin cifrar contra el collector local.
      </Step>

      <Step title="Generar logs" 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="Generar métricas" id="generate-metrics-oss">
        Los subcomandos de métricas no respetan `--duration`. Ejecuta el comando y pulsa `Ctrl+C` al cabo de unos segundos para detenerlo.

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

        `otelgen` también admite los subcomandos `gauge`, `histogram`, `up-down-counter` y `exponential-histogram` dentro de `metrics`.
      </Step>

      <Step title="Verificar en ClickStack" id="verify-oss">
        Visita [http://localhost:8080](http://localhost:8080) para abrir la UI de ClickStack. En la vista `Búsqueda`, cambia el origen entre `Logs` y `Traces` para confirmar que aparecen eventos nuevos. Establece el intervalo de tiempo en `Last 15 minutes`. Abre `Chart Explorer`, selecciona `Metrics` y crea un gráfico con uno de los nombres de métricas generados por `otelgen` (por ejemplo, `otelgen.metrics.sum`) para verificar la ingestión de métricas.
      </Step>
    </Steps>
  </Tab>
</Tabs>
