Docker で Collector をインストールする

以下のコマンドを使用して、Docker イメージをプルし、コンテナで Collector を実行します。 0.153.0 は、実行したい Collector のバージョンに置き換えてください。

docker pull otel/opentelemetry-collector:0.153.0
docker run otel/opentelemetry-collector:0.153.0
docker pull ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector:0.153.0
docker run ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector:0.153.0

作業ディレクトリからカスタム構成ファイルを読み込むには、ファイルをボリュームとしてマウントします。

docker run -v $(pwd)/config.yaml:/etc/otelcol/config.yaml otel/opentelemetry-collector:0.153.0
docker run -v $(pwd)/config.yaml:/etc/otelcol/config.yaml ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector:0.153.0

Docker Compose

既存の docker-compose.yaml ファイルに OpenTelemetry Collector を追加することもできます。

otel-collector:
  image: otel/opentelemetry-collector
  volumes:
    - ./otel-collector-config.yaml:/etc/otelcol/config.yaml
  ports:
    - 1888:1888 # pprof拡張
    - 8888:8888 # Collector の Prometheus メトリクス
    - 8889:8889 # Prometheusエクスポーターのメトリクス
    - 13133:13133 # health_check拡張
    - 4317:4317 # OTLP gRPCレシーバー
    - 4318:4318 # OTLP httpレシーバー
    - 55679:55679 # zpages拡張

otel-collector-config.yaml ファイルは Collector の起動に必要です。 詳しくは Collector の設定を参照してください。

以下は、受信したすべてのテレメトリーをログに出力する最小限の Collector 設定です。

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318

exporters:
  debug:
    verbosity: detailed

service:
  pipelines:
    traces:
      receivers: [otlp]
      exporters: [debug]
    metrics:
      receivers: [otlp]
      exporters: [debug]
    logs:
      receivers: [otlp]
      exporters: [debug]