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

Application Real-Time Monitoring Service:OpenTelemetry 連携

最終更新日:Jul 11, 2026

Managed Service for OpenTelemetry は、アプリケーションからトレース、メトリクス、ログデータを受信できます。データは直接レポートするか、OpenTelemetry Collector 経由で転送できます。

事前準備

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

  • 必要なエンドポイントと認証情報を取得してください。次の表は、本トピックで使用されるすべての設定変数の一覧です。データタイプとレポート方法に応じて値を準備してください。詳細については、「事前準備」をご参照ください。

    ユースケース

    パラメーター

    説明

    トレースとメトリクスデータのレポート

    gRPC 経由でのデータレポート

    ${GRPC_ENDPOINT}

    Managed Service for OpenTelemetry の gRPC エンドポイントです。トレースとメトリクスデータのレポートに使用します。

    サービスが Managed Service for OpenTelemetry と同じリージョンの Alibaba Cloud にデプロイされている場合は、内部エンドポイントの使用を推奨します。それ以外の場合は、パブリックエンドポイントを使用してください。

    • 内部エンドポイント:http://tracing-analysis-dc-hz-internal.aliyuncs.com:8090

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

    ${GRPC_AUTHENTICATION_TOKEN}

    gRPC 経由で Managed Service for OpenTelemetry にデータをレポートするために必要な認証トークンです。トークンの取得方法については、「事前準備」をご参照ください。

    abcdef1234@abcdef****56789_abcdef1234@abcdef****56789

    HTTP 経由でのデータレポート

    ${HTTP_TRACES_ENDPOINT}

    Managed Service for OpenTelemetry の HTTP エンドポイントです。トレースデータのレポートに使用します。

    サービスが Managed Service for OpenTelemetry と同じリージョンの 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_METRICS_ENDPOINT}

    Managed Service for OpenTelemetry の HTTP エンドポイントです。メトリクスデータのレポートに使用します。

    サービスが Managed Service for OpenTelemetry と同じリージョンの 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}

    Simple Log Service (SLS) プロジェクトのエンドポイントです。ログデータをレポートする場合にのみ必要です。エンドポイントの取得方法については、「サービスエンドポイント」をご参照ください。

    test-project.cn-hangzhou.log.aliyuncs.com

    ${SLS_PROJECT}

    Simple Log Service (SLS) プロジェクトの名前です。ログデータをレポートする場合にのみ必要です。

    test-project

    ${SLS_LOGSTORE}

    Simple Log Service (SLS) Logstore の名前です。ログデータをレポートする場合にのみ必要です。

    test-logstore

    ${ALIYUN_ACCESS_KEY_ID}

    Alibaba Cloud アカウントの AccessKey ID です。ログデータをレポートする場合にのみ必要です。

    Simple Log Service (SLS) プロジェクトへの書き込み権限のみを持つ RAM ユーザーの AccessKey ペアの使用を推奨します。AccessKey ペアは、AccessKey ID と AccessKey シークレットで構成されています。特定のプロジェクトへのデータ書き込み権限を RAM ユーザーに付与する方法については、「RAM カスタムポリシーの例」をご参照ください。AccessKey ペアの取得方法については、「AccessKey ペア」をご参照ください。

    N/A

    ${ALIYUN_ACCESS_KEY_SECRET}

    Alibaba Cloud アカウントの AccessKey シークレットです。ログデータをレポートする場合にのみ必要です。

    RAM ユーザーの AccessKey ペアの使用を推奨します。

    N/A

直接レポート

OpenTelemetry エージェントまたは SDK でエンドポイントと認証情報を設定することで、トレースとメトリクスデータを Managed Service for OpenTelemetry に直接レポートします。

オプション 1:コードで設定する

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

HTTP レポート

...

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

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

...

gRPC レポート

...

// トレースデータのレポート
SdkTracerProvider sdkTracerProvider = SdkTracerProvider.builder()
        .addSpanProcessor(BatchSpanProcessor.builder(OtlpGrpcSpanExporter.builder()
                .setEndpoint("${GRPC_ENDPOINT}") // Managed Service for OpenTelemetry にトレースデータをレポートするための gRPC エンドポイントを設定します。
                .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}")  // Managed Service for OpenTelemetry にメトリクスデータをレポートするための gRPC エンドポイントを設定します。
        .addHeader("Authentication", "${GRPC_AUTHENTICATION_TOKEN}")  // Managed Service for OpenTelemetry の認証トークンを設定します。
        .build()).build())
    .setResource(resource)
    .build();

...

オプション 2:環境変数で設定する

環境変数を使用してデータレポートエンドポイントを設定することもできます。次の表は、Managed Service for OpenTelemetry にデータをレポートするために必要な変数の一覧です。詳細については、「OTLP Exporter Configuration」をご参照ください。

環境変数

説明

OTEL_SERVICE_NAME

アプリケーション名です。

export OTEL_SERVICE_NAME=opentelemetry-demo-service

OTEL_EXPORTER_OTLP_PROTOCOL

データをレポートするためのプロトコルです。

トレースは、grpchttp/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_HEADERS

gRPC レポートのリクエストヘッダーです。主に認証に使用します。

Authentication=${GRPC_AUTHENTICATION_TOKEN} の形式を使用してください。${GRPC_AUTHENTICATION_TOKEN} は、「事前準備」セクションで取得した認証トークンです。

export OTEL_EXPORTER_OTLP_HEADERS=Authentication=abcdef1234@abcdef****56789_abcdef1234@abcdef****56789

OpenTelemetry Collector 経由でのデータ転送

Collector のエディション

  • OpenTelemetry Collector (Core):トレースとメトリクスデータをレポートします。

  • OpenTelemetry Collector (Contrib):トレース、メトリクス、ログデータをレポートします。

オプション 1: ACK マーケットプレイスからデプロイする

重要

ACK マーケットプレイスでは、OpenTelemetry Collector (Core) エディションのみを提供しており、Contrib エディションは提供していません。ログデータを収集する必要がある場合は、別のデプロイ方法を使用してください。

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

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

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

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

ステップ 2:Collector のパラメーターを設定する
  1. クラスターリスト ページで、対象のクラスターをクリックします。

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

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

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

  5. 次の YAML の例に示すように、exportersprocessorsreceiversservice セクションを設定し、OK をクリックします。

    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]

    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 Pod を手動で再起動してください。

オプション 2: Docker でデプロイする

ステップ 1:イメージをプルする

OpenTelemetry Collector (Core)

特定のイメージバージョンについては、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 ファイルを作成し、必要な設定を追加してください。

gRPC レポート (Core)

# 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]

HTTP レポート (Core)

# 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]

gRPC レポート (Contrib)

# 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]

HTTP レポート (Contrib)

# 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:設定ファイルのマウントと実行

OpenTelemetry Collector (Core)

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

OpenTelemetry Collector (Contrib)

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

その他のデプロイ方法

関連ドキュメント