クイックスタート

コレクターをセットアップとテレメトリーの収集をすぐに始めてみましょう!

OpenTelemetryコレクターは、トレースメトリクスログを受け取り、テレメトリーを処理し、そのコンポーネントを使用してさまざまなオブザーバビリティバックエンドにエクスポートします。 コレクターの概念的な概要については、コレクターのページを参照してください。

本記事でたった5分で次の内容を学習できます。

  • OpenTelemetryコレクターをセットアップして実行する
  • テレメトリーを送信し、コレクターによって処理されるのを確認する

事前要件

開発環境が以下の要件を満たしていることを確認してください。 このページでは bash を使っていると仮定しています。 お好みのシェルに合わせて、設定やコマンドを変更してください。

  • Docker、あるいは他の互換コンテナランタイム
  • Go 1.20以上
  • GOBIN 環境変数が設定されていること。もし設定されていなければ、適切に設定してください。次は一例です1
    export GOBIN=${GOBIN:-$(go env GOPATH)/bin}
    

環境の設定

  1. OpenTelemetryコレクターのDockerイメージをプルします。

    docker pull otel/opentelemetry-collector:0.104.0
    
  2. telemetrygenユーティリティをインストールします。

    go install github.com/open-telemetry/opentelemetry-collector-contrib/cmd/telemetrygen@latest
    

    このユーティリティはトレースメトリクスログを生成するクライアントをシミュレートできます。

テレメトリーの生成と収集

  1. コレクターを起動します。

    docker run \
      -p 127.0.0.1:4317:4317 \
      -p 127.0.0.1:55679:55679 \
      otel/opentelemetry-collector:0.104.0 \
      2>&1 | tee collector-output.txt # 補足的に出力をteeして後で検索しやすくする
    
  2. 別のターミナル窓でサンプルのトレースを生成します。

    $GOBIN/telemetrygen traces --otlp-insecure --traces 3
    

    ユーティリティによって生成された出力の中に、トレースが生成されたことのログが表示されるはずです。

    2024-01-16T14:33:15.692-0500  INFO  traces/worker.go:99  traces generated  {"worker": 0, "traces": 3}
    2024-01-16T14:33:15.692-0500  INFO  traces/traces.go:58  stop the batch span processor
    

    関連する出力を簡単に見るには、フィルタリングすると良いでしょう。

    $GOBIN/telemetrygen traces --otlp-insecure \
      --traces 3 2>&1 | grep -E 'start|traces|stop'
    
  3. コレクターコンテナを実行しているターミナル窓に、以下の例に示すようなトレースを取り込んだ様子が表示されるはずです。

    $ grep -E '^Span|(ID|Name|Kind|time|Status \w+)\s+:' ./collector-output.txt
    Span #0
        Trace ID       : f30faffbde5fcf71432f89da1bf7bc14
        Parent ID      : 6f1ff7f9cf4ec1c7
        ID             : 8d1e820c1ac57337
        Name           : okey-dokey
        Kind           : Server
        Start time     : 2024-01-16 14:13:54.585877 +0000 UTC
        End time       : 2024-01-16 14:13:54.586 +0000 UTC
        Status code    : Unset
        Status message :
    Span #1
        Trace ID       : f30faffbde5fcf71432f89da1bf7bc14
        Parent ID      :
        ID             : 6f1ff7f9cf4ec1c7
        Name           : lets-go
        Kind           : Client
        Start time     : 2024-01-16 14:13:54.585877 +0000 UTC
        End time       : 2024-01-16 14:13:54.586 +0000 UTC
        Status code    : Unset
        Status message :
    ...
    
  4. http://localhost:55679/debug/tracez を開いて、表中のサンプルの1つを選択すると、先ほど生成したトレースが表示されます。

  5. 完了したら、たとえばControl-Cを使用してコレクターコンテナをシャットダウンします。

この次のステップ

このチュートリアルでは、OpenTelemetryコレクターを起動し、そこにテレメトリーを送信しました。 次のステップとして、以下のことを検討してください。


  1. 詳細については、Goの公式サイトにあるYour first programのドキュメントを参照してください。 ↩︎