Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

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

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

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

前提条件

このガイドは、Managed ClickStack 向け Getting Started ガイド を完了しており、OTLP gRPC (4317) および HTTP (4318) のエンドポイントに otelgen を実行するマシンから到達できる状態で OpenTelemetry collector が稼働していることを前提としています。collector を保護する手順に従って OTLP_AUTH_TOKEN を設定している場合は、その値をすぐ使えるようにしておいてください。

otelgen をインストールする

Homebrew でインストールします。

brew install krzko/tap/otelgen

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

go install github.com/krzko/otelgen@latest

環境変数を設定する

collector のエンドポイントと、collector が保護されている場合は認証トークンを export します。

export OTEL_ENDPOINT=<host>:4317
export OTLP_AUTH_TOKEN=<your_otlp_auth_token>

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

トレースを生成する

複数の span を含むトレースを短時間送信します。

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 を向ける場合に必要です。

ログを生成する

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

メトリクスを生成する

metrics サブコマンドでは --duration は使えません。コマンドを実行し、数秒後に Ctrl+C を押して停止してください。

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

otelgen は、metrics 配下で gaugehistogramup-down-counterexponential-histogram の各サブコマンドもサポートしています。

ClickStack で確認する

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

Navigation