エクスポーター

OpenTelemetryコレクターにテレメトリーを送信し、正しくエクスポートされることを確認してください。 本番環境でコレクターを使用することはベストプラクティスです。 テレメトリーを可視化するために、JaegerZipkinPrometheus、またはベンダー固有のようなバックエンドにエクスポートしてください。

使用可能なエクスポーター

レジストリには、Go 用のエクスポーターのリストが含まれています。

エクスポーターの中でも、OpenTelemetry Protocol (OTLP)エクスポーターは、OpenTelemetryのデータモデルを考慮して設計されており、OTelデータを情報の損失なく出力します。 さらに、多くのテレメトリーデータを扱うツールがOTLPに対応しており(たとえば、PrometheusJaegerやほとんどのベンダー)、必要なときに高い柔軟性を提供します。 OTLPについて詳細に学習したい場合は、OTLP仕様を参照してください。

このページでは、主要なOpenTelemetry Go エクスポーターとその設定方法について説明します。

コンソール

コンソールエクスポーターは開発およびデバッグタスクに役立ち、設定が最も簡単です。

コンソールトレース

go.opentelemetry.io/otel/exporters/stdout/stdouttraceパッケージには、コンソールトレースエクスポーターの実装が含まれています。

コンソールメトリクス

go.opentelemetry.io/otel/exporters/stdout/stdoutmetricパッケージには、コンソールメトリクスエクスポーターの実装が含まれています。

コンソールログ(実験的)

go.opentelemetry.io/otel/exporters/stdout/stdoutlogパッケージには、コンソールログエクスポーターの実装が含まれています。

OTLP

OTLPエンドポイント(コレクターやJaeger >= v1.35.0など)にトレースデータを送信するには、エンドポイントに送信するOTLPエクスポーターを設定する必要があります。

HTTP経由のOTLPトレース

go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttpには、バイナリprotobufペイロードを使用したHTTPによるOTLPトレースエクスポーターの実装が含まれています。

gRPC経由のOTLPトレース

go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpcには、gRPCを使用したOTLPトレースエクスポーターの実装が含まれています。

Jaeger

OTLPエクスポーターを試すために、v1.35.0以降ではJaegerをOTLPエンドポイントおよびトレース可視化用にDockerコンテナで実行できます。

docker run -d --name jaeger \
  -e COLLECTOR_OTLP_ENABLED=true \
  -p 16686:16686 \
  -p 4317:4317 \
  -p 4318:4318 \
  jaegertracing/all-in-one:latest

HTTP経由のOTLPメトリクス

go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttpには、バイナリprotobufペイロードを使用したHTTPによるOTLPメトリクスエクスポーターの実装が含まれています。

gRPC経由のOTLPメトリクス

go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpcには、gRPCを使用したOTLPメトリクスエクスポーターの実装が含まれています。

HTTP経由のOTLPログ(実験的)

go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttpには、バイナリprotobufペイロードを使用したHTTPによるOTLPログエクスポーターの実装が含まれています。

gRPC経由のOTLPログ(実験的)

go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpcには、gRPCを使用したOTLPログエクスポーターの実装が含まれています。

Prometheus(実験的)

Prometheusエクスポーターは、PrometheusスクレイプHTTPエンドポイント経由でメトリクスを報告するために使用されます。

go.opentelemetry.io/otel/exporters/prometheusには、Prometheusメトリクスエクスポーターの実装が含まれています。

Prometheusエクスポーターの使用方法について詳しく学ぶには、prometheus exampleを試してください。