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

Managed Service for OpenTelemetry:SkyWalking エージェントによる Java アプリケーションデータのレポート

最終更新日:Jun 22, 2026

SkyWalking を使用してアプリケーションのイベントトラッキングを行い、トレースデータを Managed Service for OpenTelemetry にレポートすると、Managed Service for OpenTelemetry がアプリケーションのモニタリングを開始します。アプリケーショントポロジー、トレース、異常なトランザクション、低速なトランザクション、SQL 分析など、さまざまなモニタリングデータを表示できます。このトピックでは、SkyWalking Java エージェントを使用した自動イベントトラッキングの方法と、設定可能な属性について説明します。

前提条件

  • SkyWalking のダウンロードページを開き、SkyWalking 6.X.X 以降のバージョン (最新の安定版を推奨) をダウンロードします。展開した agent フォルダを、Java プロセスがアクセスできるディレクトリに配置します。

  • すべてのプラグインは /plugins ディレクトリに保存されます。新しいプラグインを有効にするには、起動前にこのディレクトリに追加します。プラグインを無効にするには、このディレクトリから削除します。デフォルトでは、ログファイルは /logs ディレクトリに書き込まれます。

警告

ログファイル、プラグイン、設定ファイルは agent フォルダ内にあります。ディレクトリ構造は変更しないでください。

エンドポイントの取得

新しいコンソール

  1. Managed Service for OpenTelemetry コンソールにログインします。左側のナビゲーションウィンドウで、[インテグレーションセンター] をクリックします。

  2. [インテグレーションセンター] ページで、[オープンソースフレームワーク] セクションの [SkyWalking] カードをクリックします。

  3. [SkyWalking] パネルで、[インテグレーションの開始] タブをクリックし、データをレポートするリージョンを選択します。

    説明

    初めてリージョンにアクセスすると、リソースが自動的に初期化されます。

  4. [接続タイプ] パラメーターを設定し、エンドポイントをコピーします。

    ご利用のサービスが Alibaba Cloud にデプロイされており、選択したリージョンに存在する場合、このパラメーターを [Alibaba Cloud VPC ネットワーク] に設定することを推奨します。それ以外の場合は、このパラメーターを [パブリックネットワーク] に設定します。

    image.png

古いコンソール

  1. Managed Service for OpenTelemetry コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[クラスター設定] をクリックします。表示されたページで、[アクセスポイント情報] タブをクリックします。

  3. 上部のナビゲーションバーで、データをレポートするリージョンを選択します。[クラスター情報] セクションで、[トークンを表示] をオンにします。

  4. [クライアント] パラメーターを [SkyWalking] に設定します。

    表の [関連情報] 列で、エンドポイントをコピーします。

    SkyWalking接入点信息

    説明

    ご利用のアプリケーションが Alibaba Cloud の本番環境にデプロイされている場合は、VPC エンドポイントを使用します。それ以外の場合は、パブリックエンドポイントを使用します。

背景情報

SkyWalking は、マイクロサービス、クラウドネイティブ、コンテナ化 (Docker、Kubernetes、Mesos) アーキテクチャ上に構築されたアプリケーション向けに設計された、人気の高いアプリケーションパフォーマンスモニタリング (APM) ツールです。その中核は、分散トレーシングシステムです。

SkyWalking を使用して Java アプリケーションから Managed Service for OpenTelemetry コンソールにデータをレポートするには、まずアプリケーションのイベントトラッキングを行う必要があります。SkyWalking は、Dubbo、gRPC、JDBC、OkHttp、Spring、Tomcat、Struts、Jedis などのフレームワークの自動イベントトラッキングと、OpenTracing を使用した手動イベントトラッキングの両方をサポートしています。このトピックでは、自動イベントトラッキングの方法について説明します。

デモ

コードリポジトリ: SkyWalking デモ

SkyWalking で Java アプリケーションをインストルメント化する

  1. SkyWalking Java エージェントをダウンロードします。

  2. SkyWalking Java エージェントの設定ファイルで、接続とサービス情報を設定します。

    collector.backend_service=<endpoint> // 前提条件で取得したエンドポイントに置き換えます。
    agent.authentication=<token> // 前提条件で取得した認証トークンに置き換えます。
    agent.service_name=<service-name> // 実際のサービス名に置き換えます。
  3. アプリケーションの実行環境に基づいて、SkyWalking エージェントへのパスを指定します。

    説明

    以下の例では、<skywalking-agent-path> を agent フォルダ内の skywalking-agent.jar への絶対パスに置き換えてください。

    Linux Tomcat 7 / Tomcat 8

    tomcat/bin/catalina.sh の最初の行に以下を追加します:

    CATALINA_OPTS="$CATALINA_OPTS -javaagent:<skywalking-agent-path>"; export CATALINA_OPTS

    Windows Tomcat 7 / Tomcat 8

    tomcat/bin/catalina.bat の最初の行に以下を追加します:

    set "CATALINA_OPTS=-javaagent:<skywalking-agent-path>"

    JAR または Spring Boot

    アプリケーションの起動コマンドに -javaagent パラメーターを追加します。

    重要

    -javaagent パラメーターは -jar パラメーターの前に記述する必要があります。

    java -javaagent:<skywalking-agent-path> -jar yourApp.jar

    Jetty

    {JETTY_HOME}/start.ini 設定ファイルに以下の行を追加します:

    --exec
    -javaagent:<skywalking-agent-path>
  4. アプリケーションを再起動します。

設定可能な Java エージェントの属性

SkyWalking Java エージェントは、ユーザーが設定可能な幅広い属性をサポートしています。属性の完全なリストについては、サンプルデモの config/agent.config ファイルをご参照ください。

主要な属性

以下の属性は apache-skywalking-java-agent-8.16.0 に基づいています。

エージェント属性の表示

パラメーター

説明

デフォルト

agent.namespace

クロスプロセス伝播のためのヘッダーを分離する名前空間を指定します。設定されている場合、ヘッダーのフォーマットは `HeaderName:Namespace` になります。

未設定

agent.service_name

SkyWalking UI に表示されるサービス名です。これは v5.x の `Application`、v6.x の `Service` に対応します。各サービスに一意の名前を設定してください。サービスのすべてのインスタンスは同じ名前を共有する必要があります。

Your_ApplicationName

agent.sample_n_per_3_secs

3 秒ごとにサンプリングするトレースの数を設定します。0 以下の値はサンプリングを無効にします。

未設定

agent.authentication

認証が必要かどうかはバックエンドの設定に依存します。サーバーエンドポイントでトークンを表示できます。ほとんどのユースケースでは、バックエンドに認証拡張機能が必要です。現在、基本認証のみが実装されています。

未設定

agent.span_limit_per_segment

単一セグメント内のスパンの最大数です。SkyWalking はこの設定を使用して、アプリケーションのメモリ使用量を見積もります。

未設定

agent.ignore_suffix

最初のスパンの操作名がこのリストのエントリと一致する場合、エージェントはそのセグメントを破棄します。

未設定

agent.is_open_debugging_class

`true` の場合、SkyWalking はすべてのイベントトラッキングされたクラスファイルを `/debugging` ディレクトリに保存します。SkyWalking チームは、互換性の問題をトラブルシューティングするためにこれらのファイルを要求することがあります。

未設定

agent.cause_exception_depth

記録する例外の原因チェーンの深さです。

5

agent.force_reconnection_period

gRPC 再接続を強制する間隔で、`grpc_channel_check_interval` の倍数として指定します。

1

agent.operation_name_threshold

操作名の推奨最大長を設定します。ハードリミットは 190 です。

150

agent.keep_tracing

`true` の場合、バックエンドが利用できなくてもエージェントはトレースを続行します。

false

osinfo.ipv4_list_size

レポートする IPv4 アドレスの最大数です。

10

collector.grpc_channel_check_interval

gRPC チャンネルのステータスをチェックする間隔 (秒) です。

30

collector.backend_service

SkyWalking のトレースデータを受信するバックエンドアドレスです。

127.0.0.1:11800

collector.heartbeat_period

エージェントがハートビートを送信する間隔 (秒) です。

30

collector.grpc_upstream_timeout

gRPC クライアントがデータをアップストリームに送信する際のタイムアウト (秒) です。

30

collector.get_profile_task_interval

プロファイラーがプロファイリングタスクのリストをフェッチする間隔 (秒) です。

20

logging.level

エージェントのログレベルです。

DEBUG

logging.file_name

ログファイルの名前です。

skywalking-api.log

logging.output

ログ出力の送信先です。ファイルに出力するには `FILE`、標準出力に出力するには `CONSOLE` に設定します。

FILE

logging.dir

ログディレクトリです。空の場合、ログは stdout に書き込まれます。

""

logging.pattern

ログフォーマットのパターンです。以下の変換指定子がサポートされています:

  • %level: ログレベル。

  • %timestamp: 現在の時刻 (yyyy-MM-dd HH:mm:ss:SSS フォーマット)。

  • %thread: 現在のスレッドの名前。

  • %msg: ログメッセージ。

  • %class: ターゲットクラスの単純名。

  • %throwable: ログに記録された例外のスタックトレース。

  • %agent_name: `agent.service_name` の値。

%level %timestamp %thread %class : %msg %throwable

logging.max_file_size

ログファイルの最大サイズです。ログファイルがこのサイズを超えると、エージェントはそれをアーカイブし、新しいファイルを作成します。

300 * 1024 * 1024

logging.max_history_files

保持するアーカイブ済みログファイルの最大数です。0 以下の値は、すべてのアーカイブ済みファイルが保持されることを意味します。

-1

設定方法

システムプロパティ

-Dskywalking. プレフィックスに続けて agent.config ファイルの属性名を使用します。例:

# システムプロパティを使用して agent.service_name を設定
java -javaagent:/path/to/skywalking-agent.jar -Dskywalking.agent.service_name=<your_service_name> -jar your-project.jar

エージェントオプション

JVM 引数のエージェントパスに属性を追加します。

# 構文
-javaagent:/path/to/skywalking-agent.jar=[key1]=[value1],[key2]=[value2]
# 例
java -javaagent:/path/to/skywalking-agent.jar=agent.service_name=<your-service-name>,agent.authentication=<your-token> -jar your-project.jar

環境変数

SkyWalking エージェントは自動的に環境変数を読み取ります。各属性に対応する環境変数は、config/agent.config ファイルで確認できます。例えば、`agent.service_name` の環境変数は `SW_AGENT_NAME` です。

agent.service_name=${SW_AGENT_NAME:default_name}
# 環境変数を設定
export SW_AGENT_NAME=<your_service_name>

優先順位

設定は、最高から最低の順で次の優先順位で適用されます:エージェントオプション、システムプロパティ、環境変数、設定ファイル。

Java エージェントプラグイン

SkyWalking Java エージェントは、さまざまなミドルウェア、フレームワーク、ライブラリをサポートしています。サポートされているすべてのプラグインは、デモアプリケーションの /plugins フォルダにあります。

プラグインのアクティブ化

/plugins フォルダ内のすべてのプラグインはアクティブです。プラグインを無効にするには、その JAR ファイルを /plugins フォルダから削除します。

公式にサポートされているプラグイン

公式にサポートされているすべてのプラグインは /plugins フォルダにあります。

オプションプラグイン

オプションプラグインは、エージェントパッケージの optional-plugins フォルダまたはサードパーティのリポジトリにあります。オプションプラグインをアクティブにするには、その JAR ファイルを /plugins フォルダに移動します。

optional-plugins/
  apm-customize-enhance-plugin-8.16.0.jar
  apm-ehcache-2.x-plugin-8.16.0.jar
  apm-fastjson-1.x-plugin-8.16.0.jar
  apm-gson-2.x-plugin-8.16.0.jar
  apm-guava-cache-plugin-8.16.0.jar
  apm-jackson-2.x-plugin-8.16.0.jar
  apm-kotlin-coroutine-plugin-8.16.0.jar
  apm-mybatis-3.x-plugin-8.16.0.jar
  apm-quartz-scheduler-2.x-plugin-8.16.0.jar
  apm-resttemplate-6.x-plugin-8.16.0.jar
  apm-sentinel-1.x-plugin-8.16.0.jar
  apm-shenyu-2.4.x-plugin-8.16.0.jar
  apm-spring-annotation-plugin-8.16.0.jar
  apm-spring-cloud-gateway-2.0.x-plugin-8.16.0.jar
  apm-spring-cloud-gateway-2.1.x-plugin-8.16.0.jar
  apm-spring-cloud-gateway-3.x-plugin-8.16.0.jar
  apm-spring-tx-plugin-8.16.0.jar
  apm-spring-webflux-5.x-plugin-8.16.0.jar
  apm-springmvc-annotation-6.x-plugin-8.16.0.jar
  apm-trace-ignore-plugin-8.16.0.jar
  apm-zookeeper-3.4.x-plugin-8.16.0.jar
  trace-sampler-cpu-policy-plugin-8.16.0.jar

ブートストラッププラグイン

潜在的な安定性リスクのため、すべてのブートストラッププラグインはオプションです。これらは bootstrap-plugins フォルダにあります。ブートストラッププラグインをアクティブにするには、その JAR ファイルを /plugins フォルダに移動します。

bootstrap-plugins/
  apm-jdk-forkjoinpool-plugin-8.16.0.jar
  apm-jdk-http-plugin-8.16.0.jar
  apm-jdk-threading-plugin-8.16.0.jar
  apm-jdk-threadpool-plugin-8.16.0.jar

サポートされているプラグイン

一部のプラグインは、パフォーマンスへの潜在的な影響や使用制限のため、サードパーティのリポジトリからのみ入手可能です。詳細については、SkyAPM Java Plugin Extension リポジトリをご参照ください。

展開してプラグインのリストを表示

フレームワーク

プラグインのバージョン

HTTP サーバー

Tomcat 7

Tomcat 8

Tomcat 9

Spring Boot Web 4.x

Spring MVC 3.x、4.x、5.x (Servlet 3.x 対応)

Nutz Web Framework 1.x

Struts2 MVC 2.3.x - 2.5.x

Resin 3

Resin 4

Jetty Server 9

Spring WebFlux 5.x

Undertow 2.0.0.Final - 2.0.13.Final

RESTEasy 3.1.0.Final - 3.7.0.Final

Play Framework 2.6.x - 2.8.x

Light4J Microservices Framework 1.6.x - 2.x

Netty SocketIO 1.x

HTTP クライアント

Feign 9.x

Netflix Spring Cloud Feign 1.1.x、1.2.x、1.3.x

OkHttp 3.x

Apache httpcomponent HttpClient 4.2、4.3

Spring RestTemplate 4.x

Jetty Client 9

Apache httpcomponent AsyncClient 4.x

HTTP ゲートウェイ

Spring Cloud Gateway 2.1.x.RELEASE

JDBC

MySQL Driver 5.x、6.x、8.x

Oracle Driver

H2 Driver 1.3.x - 1.4.x

Sharding-JDBC 1.5.x

ShardingSphere 3.0.0

ShardingSphere 3.0.0、4.0.0-RC1

PostgreSQL Driver 8.x、9.x、42.x

MariaDB Driver 2.x、1.8

RPC フレームワーク

Dubbo 2.5.4 - 2.6.0

Dubbox 2.8.4

Apache Dubbo 2.7.0

Motan 0.2.x - 1.1.0

gRPC 1.x

Apache ServiceComb Java Chassis 0.1 - 0.5、1.0.x

SOFARPC 5.4.0

Armeria 0.63.0 - 0.98.0

Apache Avro 1.7.0 - 1.8.x

Finagle 6.25.0 - 20.1.0

メッセージキュー

RocketMQ 4.x

Kafka 0.11.0.0 - 1.0

ActiveMQ 5.x

RabbitMQ 5.x

Pulsar 2.2.x - 2.4.x

NoSQL

Redis

Jedis 2.x

Redisson client 3.5.2+

Lettuce 5.x

MongoDB

MongoDB Java Driver 2.13 - 2.14、3.3+

Memcached クライアント

Spymemcached 2.x

Xmemcached 2.x

Elasticsearch

transport-client 5.2.x - 5.6.x

transport-client 6.7.1 - 6.8.4

rest-high-level-client 6.7.1 - 6.8.4

SolrJ 7.0.0 - 7.7.1

SolrJ 7.x

Cassandra 3.x

cassandra-java-driver 3.7.0 - 3.7.2

サービスディスカバリ

Netflix Eureka

分散コーディネーション

ZooKeeper 3.4.x (3.4.4 を除く)

Spring エコシステム

Spring Bean アノテーション (@Bean、@Service、@Component、@Repository) 3.x および 4.x

Spring Core Async SuccessCallback/FailureCallback/ListenableFutureCallback 4.x

Hystrix: 分散システムのレイテンシとフォールトトレランス 1.4.20 - 1.5.12

スケジューラ

Elastic-Job 2.x

OpenTracing コミュニティサポート

Canal 1.0.25 - 1.1.2: MySQL の binlog への増分サブスクリプションのための Alibaba コンポーネント

JSON

GSON 2.8.x

Vert.x エコシステム

Vert.x Eventbus 3.2+

Vert.x Web 3.x

スレッドスケジューリングフレームワーク

Spring @Async 4.x および 5.x

キャッシュ

Ehcache 2.x

Kotlin

Coroutine 1.0.1 - 1.3.x

プラグイン開発

カスタムの SkyWalking Java エージェントプラグインを開発するには、公式ドキュメントをご参照ください。

Managed Service for OpenTelemetry はトレースのレポートをサポートしています。カスタムトレースプラグインの開発に関する詳細については、公式ドキュメントをご参照ください。

よくある質問

Q: SkyWalking エージェントがサーバーに接続した後、アプリケーションが表示されないのはなぜですか?

A: この問題は、分散トレーシングデータがレポートされていない場合に発生します。これを検証するには、{skywalking agent path}/logs/skywalking-api.log ファイルを確認します。データがレポートされている場合、以下のような SkyWalking エージェントからの DEBUG ログが表示されます。キーメッセージである TraceSegmentServiceClient : 1 trace segments have been sent to collector. は、分散トレーシングデータがコレクターに正常に送信されたことを確認します。

DEBUG 2020-03-09 17:18:16:356 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:CONNECTED.
DEBUG 2020-03-09 17:18:19:357 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:CONNECTED.
DEBUG 2020-03-09 17:18:21:301 DataCarrier.DEFAULT.Consumer.0.Thread TraceSegmentServiceClient : 1 trace segments have been sent to collector.
DEBUG 2020-03-09 17:18:22:353 SkywalkingAgent-2-GRPCChannelManager-0 GRPCChannelManager : Selected collector grpc service running, reconnect:false.
DEBUG 2020-03-09 17:18:22:357 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:CONNECTED.
DEBUG 2020-03-09 17:18:25:356 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:CONNECTED.

データレポートが行われていない場合、考えられる原因には、サンプリングが有効になっている、フィルターが設定されている、または分散トレースを生成するリクエストがない、などが含まれます。