すべてのプロダクト
Search
ドキュメントセンター

Managed Service for OpenTelemetry:OpenTelemetry との連携

最終更新日:Aug 27, 2026

Managed Service for OpenTelemetry は、アプリケーションからトレース、メトリック、ログデータを受信できます。直接レポートと、OpenTelemetry Collector を介した転送の 2 つのレポート方法をサポートしています。

レポート方法の選択

テレメトリーデータは、Managed Service for OpenTelemetry に直接レポートするか、OpenTelemetry Collector を介して転送できます。レポートするテレメトリーデータの種類に基づいて、方法を選択してください。

レポート方法サポートするデータタイプ
直接レポートトレースとメトリック
OpenTelemetry Collector (Core)トレースとメトリック
OpenTelemetry Collector (Contrib)トレース、メトリック、ログ

ログデータは、OpenTelemetry Collector (Contrib) を介して Simple Log Service (SLS) に転送されます。ログデータをレポートする場合は、Contrib エディションで Collector 転送方式を使用してください。

OpenTelemetry Collector を介してデータを転送する場合は、デプロイオプションを選択します。OpenTelemetry Collector には 2 つのエディションがあります:

  • OpenTelemetry Collector (Core):トレースおよびメトリックデータのレポートをサポートします。

  • OpenTelemetry Collector (Contrib):トレース、メトリック、ログデータのレポートをサポートします。次の表では、このトピックで説明するデプロイオプションを比較します。

デプロイオプションサポートするエディションサポートするデータタイプ
ACK Marketplace から ACK クラスターへのデプロイOpenTelemetry Collector (Core)トレースとメトリック
Docker を使用したデプロイOpenTelemetry Collector (Core) および OpenTelemetry Collector (Contrib)トレースとメトリック (Core)。トレース、メトリック、ログ (Contrib)。
その他のインストールおよびデプロイ方法その他のインストールおよびデプロイ方法」をご参照ください。方法によって異なります

事前準備

  • ログデータをレポートするには、まず Simple Log Service (SLS) を有効化し、プロジェクトLogstore を作成し、ログデータレポート用の AccessKey ペアを作成してください。

  • エンドポイントと認証情報を取得してください。次の表に、このトピックで使用されるすべての設定変数の一覧を示します。このトピックのコードと設定例では、${VAR} 形式のプレースホルダーを、準備した実際の値に置き換える必要があります。レポートするデータの種類と使用するレポート方法に基づいて、シナリオで必要なエンドポイントと認証情報を準備してください。詳細については、「Managed Service for OpenTelemetry の使用開始」をご参照ください。

ユースケース変数説明
gRPC を介したトレースおよびメトリックデータのレポート${GRPC_ENDPOINT}Managed Service for OpenTelemetry の gRPC エンドポイントで、トレースおよびメトリックデータのレポートをサポートします。サービスがエンドポイントリージョンと同じリージョンの Alibaba Cloud 上で実行される場合は、Alibaba Cloud 内部エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。
  • 内部エンドポイント:http://tracing-analysis-dc-hz-internal.aliyuncs.com:8090

  • パブリックエンドポイント:http://tracing-analysis-dc-hz.aliyuncs.com:8090

gRPC を介したトレースおよびメトリックデータのレポート${GRPC_AUTHENTICATION_TOKEN}gRPC を介して Managed Service for OpenTelemetry にデータをレポートするために必要な認証トークンです。トークンの取得方法については、「Managed Service for OpenTelemetry の使用開始」をご参照ください。abcdef1234@abcdef****56789_abcdef1234@abcdef****56789
HTTP を介したトレースおよびメトリックデータのレポート${HTTP_TRACES_ENDPOINT}Managed Service for OpenTelemetry の HTTP エンドポイントで、トレースデータのレポートをサポートします。サービスがエンドポイントリージョンと同じリージョンの Alibaba Cloud 上で実行される場合は、Alibaba Cloud 内部エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。
  • 内部エンドポイント:http://tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_***_***/api/otlp/traces
    - パブリックエンドポイント:http://tracing-analysis-dc-hz.aliyuncs.com/adapt_***_***/api/otlp/traces

HTTP を介したトレースおよびメトリックデータのレポート${HTTP_METRICS_ENDPOINT}Managed Service for OpenTelemetry の HTTP エンドポイントで、メトリックデータのレポートをサポートします。サービスがエンドポイントリージョンと同じリージョンの Alibaba Cloud 上で実行される場合は、Alibaba Cloud 内部エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。
  • 内部エンドポイント:http://tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_***_***/api/otlp/metrics
    - パブリックエンドポイント:http://tracing-analysis-dc-hz.aliyuncs.com/adapt_***_***/api/otlp/metrics

ログデータのレポート${SLS_ENDPOINT}SLS プロジェクトのエンドポイントです。ログデータをレポートする場合にのみ必要です。エンドポイントの取得手順については、「エンドポイント」をご参照ください。test-project.cn-hangzhou.log.aliyuncs.com
ログデータのレポート${SLS_PROJECT}SLS プロジェクトの名前です。ログデータをレポートする場合にのみ必要です。test-project
ログデータのレポート${SLS_LOGSTORE}SLS Logstore の名前です。ログデータをレポートする場合にのみ必要です。test-logstore
ログデータのレポート${ALIYUN_ACCESS_KEY_ID}Alibaba Cloud アカウントの AccessKey ID です。ログデータをレポートする場合にのみ必要です。SLS プロジェクトに対する書き込み権限のみを持つ Resource Access Management (RAM) ユーザーの AccessKey ペア (AccessKey ID と AccessKey Secret で構成) を使用することを推奨します。RAM ユーザーに特定のプロジェクトへのデータ書き込み権限を付与する方法については、「RAM カスタムポリシーの例」をご参照ください。AccessKey ペアの取得方法については、「AccessKey ペア」をご参照ください。N/A
ログデータのレポート${ALIYUN_ACCESS_KEY_SECRET}Alibaba Cloud アカウントの AccessKey Secret です。ログデータをレポートする場合にのみ必要です。SLS プロジェクトに対する書き込み権限のみを持つ RAM ユーザーの AccessKey ペアを使用することを推奨します。N/A

直接レポート

OpenTelemetry Agent または SDK でレポートエンドポイントと認証情報を設定し、OpenTelemetry が収集したトレースおよびメトリックデータを Managed Service for OpenTelemetry サーバーに直接送信します。

オプション 1:コードでのレポート設定 (Java の例)

次の Java コード例は、HTTP または gRPC 経由のレポートに対応した Managed Service for OpenTelemetry のエンドポイントを設定する方法を示しています。完全な連携コードとデモについては、連携センターにアクセスするか、「OpenTelemetry を使用して Java アプリケーションからトレースデータをレポートする」をご参照ください。

HTTP レポート

...

// トレースデータのレポート
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
        .addSpanProcessor(BatchSpanProcessor.builder(OtlpHttpSpanExporter.builder()
                .setEndpoint("${HTTP_TRACES_ENDPOINT}") // HTTP トレースエンドポイントを設定して、トレースデータを Managed Service for OpenTelemetry にレポートします。
                .build()).build())
        .build();

// メトリックデータのレポート
SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder()
    .registerMetricReader(PeriodicMetricReader.builder(OtlpHttpMetricExporter.builder()
        .setEndpoint("${HTTP_METRICS_ENDPOINT}")  // HTTP メトリックエンドポイントを設定して、メトリックデータを Managed Service for OpenTelemetry にレポートします。
        .build()).build())
    .build();

...

gRPC レポート

...

// トレースデータのレポート
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
        .addSpanProcessor(BatchSpanProcessor.builder(OtlpGrpcSpanExporter.builder()
                .setEndpoint("${GRPC_ENDPOINT}") // gRPC エンドポイントを設定して、トレースデータを Managed Service for OpenTelemetry にレポートします。
                .addHeader("Authentication","${GRPC_AUTHENTICATION_TOKEN}") // Managed Service for OpenTelemetry の認証トークンを設定します。
                .build()).build())
        .setResource(resource)
        .build();

// メトリックデータのレポート
SdkMeterProvider sdkMeterProvider = SdkMeterProvider.builder()
    .registerMetricReader(PeriodicMetricReader.builder(OtlpGrpcMetricExporter.builder()
        .setEndpoint("${GRPC_ENDPOINT}")  // gRPC エンドポイントを設定して、メトリックデータを Managed Service for OpenTelemetry にレポートします。
        .addHeader("Authentication", "${GRPC_AUTHENTICATION_TOKEN}")  // Managed Service for OpenTelemetry の認証トークンを設定します。
        .build()).build())
    .setResource(resource)
    .build();

...

オプション 2:環境変数によるレポート設定

OpenTelemetry は、環境変数によるデータレポートエンドポイントの設定もサポートしています。次の表に、Managed Service for OpenTelemetry にデータをレポートするために必要な環境変数の一覧を示します。OpenTelemetry OTLP のその他の環境変数については、「OTLP エクスポーターの設定」をご参照ください。

環境変数説明
OTEL_SERVICE_NAMEアプリケーション名。export OTEL_SERVICE_NAME=opentelemetry-demo-service
OTEL_EXPORTER_OTLP_PROTOCOLレポートプロトコル。トレースは grpc、http/protobuf、http/json をサポートします。メトリックは grpc と http/protobuf をサポートします。gRPC エンドポイントを選択した場合は、この変数を grpc に設定します。それ以外の場合は、http/protobuf または http/json を使用します。export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
OTEL_EXPORTER_OTLP_TRACES_ENDPOINTトレースのレポートエンドポイント。HTTP と gRPC の両方のエンドポイントがサポートされています。「事前準備」で取得した ${GRPC_ENDPOINT} または ${HTTP_TRACES_ENDPOINT} の値を使用します。
  • HTTP 経由でのレポート:export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_***_***/api/otlp/traces

  • gRPC 経由でのレポート:export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://tracing-analysis-dc-hz-internal.aliyuncs.com:8090

OTEL_EXPORTER_OTLP_METRICS_ENDPOINTメトリックのレポートエンドポイント。HTTP と gRPC の両方のエンドポイントがサポートされています。「事前準備」で取得した ${GRPC_ENDPOINT} または ${HTTP_METRICS_ENDPOINT} の値を使用します。
  • HTTP 経由でのレポート:export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://tracing-analysis-dc-hz-internal.aliyuncs.com/adapt_***_***/api/otlp/metrics

  • gRPC 経由でのレポート:export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=http://tracing-analysis-dc-hz-internal.aliyuncs.com:8090

OTEL_EXPORTER_OTLP_HEADERSgRPC レポート用のリクエストヘッダーで、主に認証に使用されます。Authentication=${GRPC_AUTHENTICATION_TOKEN} の形式を使用します。ここで、${GRPC_AUTHENTICATION_TOKEN} は 「事前準備」で取得した認証トークンです。export OTEL_EXPORTER_OTLP_HEADERS=Authentication=abcdef1234@abcdef****56789_abcdef1234@abcdef****56789

OpenTelemetry Collector を介したデータ転送

OpenTelemetry Collector は、アプリケーションからトレース、メトリック、ログデータを受信し、エクスポーターの設定に基づいて Managed Service for OpenTelemetry にデータを転送します。

オプション 1:ACK Marketplace から ACK クラスターへのデプロイ

このオプションでは、コレクターを ACK Marketplace から Container Service for Kubernetes (ACK) クラスターにデプロイします。ACK Marketplace は現在、OpenTelemetry Collector (Core) エディションのみを提供しており、Contrib エディションは提供していません。ログデータを収集するには、他のいずれかのデプロイ方法を使用してください。

ステップ 1:コレクターのデプロイ

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[Marketplace] > [Marketplace] を選択します。

  2. Marketplace で opentelemetry-collector を検索してクリックし、ページの右上隅にある [Deploy] をクリックします。

  3. 作成 ページで、opentelemetry-collector をデプロイするクラスターと名前空間を選択します。デフォルトの名前空間は otel-collector です。次に、次へ をクリックします。

  4. パラメーター設定 ページで、mode パラメーターを deployment または daemonset に設定し、OK をクリックします。

ステップ 2:コレクターパラメーターの設定

  1. クラスターリスト ページで、ターゲットクラスターをクリックします。

  2. 左側メニューで、設定の管理 > 設定項目 を選択します。

  3. opentelemetry-collector がデプロイされている名前空間を選択します。デフォルトの名前空間は otel-collector です。

  4. 設定項目 ページで opentelemetry-collector を見つけ、YAML 編集 をクリックします。

  5. 次の YAML コンテンツに基づいてエクスポーター、プロセッサー、レシーバー、およびサービスセクションを設定し、OK をクリックします。

    opentelemetry-collector 設定項目 (gRPC レポート)

    exporters:
      otlp:
        endpoint: "${GRPC_ENDPOINT}"
        headers:
          Authentication: "${GRPC_AUTHENTICATION_TOKEN}"
        tls:
          insecure: true
    
    processors:
      batch: {}
      memory_limiter:
        check_interval: 5s # メモリ使用量を確認する間隔。必要に応じて値を変更してください。
        limit_percentage: 80 # メモリ使用量の最大許容率。必要に応じて値を変更してください。
        spike_limit_percentage: 25 # スパイク時に許容される追加メモリの割合。必要に応じて値を変更してください。
    
    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: ${env:MY_POD_IP}:4317
          http:
            endpoint: ${env:MY_POD_IP}:4318
    
    service:
      pipelines:
        traces:
          exporters: [otlp]
          processors: [memory_limiter, batch]
          receivers: [otlp]
        metrics:
          exporters: [otlp]
          processors: [memory_limiter, batch]
          receivers: [otlp]

    opentelemetry-collector 設定項目 (HTTP レポート)

    exporters:
      otlphttp:
        traces_endpoint: "${HTTP_TRACES_ENDPOINT}"
        metrics_endpoint: "${HTTP_METRICS_ENDPOINT}"
        tls:
          insecure: true
        timeout: 5s # タイムアウト期間。デフォルト値は 5s です。必要に応じて値を変更してください。
    
    processors:
      batch: {}
      memory_limiter:
        check_interval: 5s # メモリ使用量を確認する間隔。必要に応じて値を変更してください。
        limit_percentage: 80 # メモリ使用量の最大許容率。必要に応じて値を変更してください。
        spike_limit_percentage: 25 # スパイク時に許容される追加メモリの割合。必要に応じて値を変更してください。
    
    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: ${env:MY_POD_IP}:4317
          http:
            endpoint: ${env:MY_POD_IP}:4318
    
    service:
      pipelines:
        traces:
          exporters: [otlphttp]
          processors: [memory_limiter, batch]
          receivers: [otlp]
        metrics:
          exporters: [otlphttp]
          processors: [memory_limiter, batch]
          receivers: [otlp]
  6. 設定が完了したら、opentelemetry-collector を手動で再起動してください。

オプション 2:Docker を使用したデプロイ

このオプションでは、コレクターを Docker コンテナとして実行します。Core エディションと Contrib エディションの両方が利用可能です。

ステップ 1:イメージのプル

opentelemetry-collector

イメージのバージョンを指定するには、https://hub.docker.com/r/otel/opentelemetry-collector/tags にアクセスしてください。

docker pull otel/opentelemetry-collector:latest

opentelemetry-collector-contrib

イメージのバージョンを指定するには、https://hub.docker.com/r/otel/opentelemetry-collector-contrib/tags にアクセスしてください。

docker pull otel/opentelemetry-collector-contrib:latest

ステップ 2:設定ファイルの準備

config.yaml ファイルを作成し、関連するパラメーターを設定します。次の例では、${VAR} 形式のプレースホルダーを、「事前準備」で準備した値に置き換える必要があります。これらのプレースホルダーは、コレクターが実行時に環境変数から解決する ${env:MY_POD_IP} などのコレクターネイティブの ${env:...} 展開構文とは異なります。

opentelemetry-collector 設定項目 (gRPC レポート)

# config.yaml
exporters:
  otlp:
    endpoint: "${GRPC_ENDPOINT}"
    headers:
      Authentication: "${GRPC_AUTHENTICATION_TOKEN}"
    tls:
      insecure: true

processors:
  batch: {}
  memory_limiter:
    check_interval: 5s # メモリ使用量を確認する間隔。必要に応じて値を変更してください。
    limit_percentage: 80 # メモリ使用量の最大許容率。必要に応じて値を変更してください。
    spike_limit_percentage: 25 # スパイク時に許容される追加メモリの割合。必要に応じて値を変更してください。

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317 # デフォルト値は localhost:4317 です。必要に応じて値を変更してください。
      http:
        endpoint: 0.0.0.0:4318 # デフォルト値は localhost:4318 です。必要に応じて値を変更してください。

service:
  pipelines:
    traces:
      exporters: [otlp]
      processors: [memory_limiter, batch]
      receivers: [otlp]
    metrics:
      exporters: [otlp]
      processors: [memory_limiter, batch]
      receivers: [otlp]

opentelemetry-collector 設定項目 (HTTP レポート)

# config.yaml
exporters:
  otlphttp:
    traces_endpoint: "${HTTP_TRACES_ENDPOINT}"
    metrics_endpoint: "${HTTP_METRICS_ENDPOINT}"
    tls:
      insecure: true
    timeout: 5s # タイムアウト期間。デフォルト値は 5s です。必要に応じて値を変更してください。

processors:
  batch: {}
  memory_limiter:
    check_interval: 5s # メモリ使用量を確認する間隔。必要に応じて値を変更してください。
    limit_percentage: 80 # メモリ使用量の最大許容率。必要に応じて値を変更してください。
    spike_limit_percentage: 25 # スパイク時に許容される追加メモリの割合。必要に応じて値を変更してください。

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317 # デフォルト値は localhost:4317 です。必要に応じて値を変更してください。
      http:
        endpoint: 0.0.0.0:4318 # デフォルト値は localhost:4318 です。必要に応じて値を変更してください。

service:
  pipelines:
    traces:
      exporters: [otlphttp]
      processors: [memory_limiter, batch]
      receivers: [otlp]
    metrics:
      exporters: [otlphttp]
      processors: [memory_limiter, batch]
      receivers: [otlp]

opentelemetry-collector-contrib 設定項目 (gRPC レポート)

# config.yaml
exporters:
  otlp:
    endpoint: "${GRPC_ENDPOINT}"
    headers:
      Authentication: "${GRPC_AUTHENTICATION_TOKEN}"
    tls:
      insecure: true
  # ログエクスポーターの設定 (任意)
  alibabacloud_logservice/logs:
    endpoint: "${SLS_ENDPOINT}"
    project: "${SLS_PROJECT}"
    logstore: "${SLS_LOGSTORE}"
    access_key_id: "${ALIYUN_ACCESS_KEY_ID}"
    access_key_secret: "${ALIYUN_ACCESS_KEY_SECRET}"

processors:
  batch: {}
  memory_limiter:
    check_interval: 5s # メモリ使用量を確認する間隔。必要に応じて値を変更してください。
    limit_percentage: 80 # メモリ使用量の最大許容率。必要に応じて値を変更してください。
    spike_limit_percentage: 25 # スパイク時に許容される追加メモリの割合。必要に応じて値を変更してください。

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317 # デフォルト値は localhost:4317 です。必要に応じて値を変更してください。
      http:
        endpoint: 0.0.0.0:4318 # デフォルト値は localhost:4318 です。必要に応じて値を変更してください。

service:
  pipelines:
    traces:
      exporters: [otlp]
      processors: [memory_limiter, batch]
      receivers: [otlp]
    metrics:
      exporters: [otlp]
      processors: [memory_limiter, batch]
      receivers: [otlp]
    # ログデータ処理パイプライン (任意)
    logs:
      exporters: [alibabacloud_logservice/logs]
      processors: [memory_limiter, batch]
      receivers: [otlp]

opentelemetry-collector-contrib 設定項目 (HTTP レポート)

# config.yaml
exporters:
  otlphttp:
    traces_endpoint: "${HTTP_TRACES_ENDPOINT}"
    metrics_endpoint: "${HTTP_METRICS_ENDPOINT}"
    tls:
      insecure: true
    timeout: 5s # タイムアウト期間。デフォルト値は 5s です。必要に応じて値を変更してください。

  # ログエクスポーターの設定 (任意)
  alibabacloud_logservice/logs:
    endpoint: "${SLS_ENDPOINT}"
    project: "${SLS_PROJECT}"
    logstore: "${SLS_LOGSTORE}"
    access_key_id: "${ALIYUN_ACCESS_KEY_ID}"
    access_key_secret: "${ALIYUN_ACCESS_KEY_SECRET}"

processors:
  batch: {}
  memory_limiter:
    check_interval: 5s # メモリ使用量を確認する間隔。必要に応じて値を変更してください。
    limit_percentage: 80 # メモリ使用量の最大許容率。必要に応じて値を変更してください。
    spike_limit_percentage: 25 # スパイク時に許容される追加メモリの割合。必要に応じて値を変更してください。

receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317 # デフォルト値は localhost:4317 です。必要に応じて値を変更してください。
      http:
        endpoint: 0.0.0.0:4318 # デフォルト値は localhost:4318 です。必要に応じて値を変更してください。

service:
  pipelines:
    traces:
      exporters: [otlphttp]
      processors: [memory_limiter, batch]
      receivers: [otlp]
    metrics:
      exporters: [otlphttp]
      processors: [memory_limiter, batch]
      receivers: [otlp]
    # ログデータ処理パイプライン (任意)
    logs:
      exporters: [alibabacloud_logservice/logs]
      processors: [memory_limiter, batch]
      receivers: [otlp]

ステップ 3:カスタム設定ファイルをマウントしてコレクターを実行

-p フラグはレシーバーポートを公開し、アプリケーションがコレクターにデータを送信できるようにします。設定ファイルのレシーバーエンドポイントに合わせてポートマッピングを調整してください。

opentelemetry-collector

docker run -p 4317:4317 -p 4318:4318 -v $(pwd)/config.yaml:/etc/otelcol/config.yaml otel/opentelemetry-collector:latest

opentelemetry-collector-contrib

docker run -p 4317:4317 -p 4318:4318 -v $(pwd)/config.yaml:/etc/otelcol-contrib/config.yaml otel/opentelemetry-collector-contrib:latest

その他のデプロイ方法については、「その他のインストールおよびデプロイ方法」をご参照ください。

関連ドキュメント