Docker デプロイ

前提条件

  • Docker
  • Docker Compose v2.0.0+
  • Make (オプション)
  • アプリケーション用に 6 GB の RAM

デモの取得と実行

  1. デモリポジトリをクローンしてください。

    git clone https://github.com/open-telemetry/opentelemetry-demo.git
    
  2. デモフォルダに移動します。

    cd opentelemetry-demo/
    
  3. デモを起動1します。

    make start
    
    docker compose up --force-recreate --remove-orphans --detach
    
  4. (オプション) API オブザーバビリティ駆動テストの有効化1します。

    make run-tracetesting
    
    docker compose -f docker-compose-tests.yml run traceBasedTests
    

ウェブストアとテレメトリーの確認

イメージがビルドされ、コンテナが開始されると以下にアクセスできるようになります。

デモのプライマリーポート番号の変更

デフォルトでは、デモアプリケーションは 8080 ポートにバウンドされたすべてのブラウザのトラフィックに対してプロキシを開始します。 ポート番号を変更するには、デモを開始する前に環境変数 ENVOY_PORT を設定してください。

  • 次の設定は 8081 ポートを利用する場合の例です1

    ENVOY_PORT=8081 make start
    
    ENVOY_PORT=8081 docker compose up --force-recreate --remove-orphans --detach
    

独自のバックエンドを導入する

おそらく、あなたがすでに所持しているオブザーバビリティバックエンド(たとえば、Jaeger、Zipkin、または選択したベンダーのいずれかの既存インスタンス)のデモアプリケーションとしてウェブストアを利用したいでしょう。

OpenTelemetry コレクターはテレメトリーデータを複数のバックエンドに送信するのに利用可能です。 デフォルトで、デモアプリケーションのコレクターは 2 つのファイルから設定をマージします。

  • otelcol-config.yml
  • otelcol-config-extras.yml

あなたのバックエンドに追加するために、エディターで src/otel-collector/otelcol-config-extras.yml ファイルを開いてください。

  • 新しいエクスポーターを追加することで始めます。 たとえば、もしあなたのバックエンドが OTLP over HTTP をサポートしているのであれば、以下を追加してください。

    exporters:
      otlphttp/example:
        endpoint: <your-endpoint-url>
    
  • そして、exporters をあなたのバックエンドに使いたいテレメトリーパイプラインに上書きしてください。

    service:
      pipelines:
        traces:
          exporters: [spanmetrics, otlphttp/example]
    

ベンダーのバックエンドは認証のために追加のパラメーターを必要とするかもしれません。ドキュメントを確認してください。 一部のバックエンドは異なるエクスポーターが必要です。それらのエクスポーターとドキュメントについてopentelemetry-collector-contrib/exporter で入手できます。

otelcol-config-extras.yml を更新した後に、make start を実行してデモを開始してください。 しばらくして、あなたのバックエンドにトレースが流れるのも確認できるはずです。


  1. docker-compose は非推奨です. 詳細は、 Migrate to Compose V2 を確認してください。 ↩︎ ↩︎ ↩︎