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

Managed Service for OpenTelemetry:SkyWalking を使用した Java アプリケーションデータの報告

最終更新日:Nov 09, 2025

SkyWalking を使用してアプリケーションをイベントトラッキングし、トレースデータを Managed Service for OpenTelemetry に報告すると、Managed Service for OpenTelemetry はアプリケーションのモニタリングを開始します。その後、アプリケーションのトポロジー、トレース、異常なトランザクション、遅いトランザクション、SQL 分析など、アプリケーションのモニタリングデータを表示できます。このトピックでは、SkyWalking Java エージェントを使用して自動イベントトラッキングを実行する方法について説明します。このトピックでは、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 は、中国で開発された人気のアプリケーションパフォーマンスモニタリング (APM) サービスです。SkyWalking は、マイクロサービス、クラウドネイティブアーキテクチャ、およびコンテナーベースのアーキテクチャ向けに設計されています。コンテナーベースのアーキテクチャには、Docker、Kubernetes、Mesos が含まれます。SkyWalking は、分散トレーシングシステムでもあります。

SkyWalking を使用して Java アプリケーションデータを Managed Service for OpenTelemetry コンソールに報告する前に、アプリケーションをイベントトラッキングする必要があります。SkyWalking は、Dubbo、gRPC、JDBC、OkHttp、Spring、Tomcat、Struts、Jedis など、さまざまなフレームワークやライブラリの自動イベントトラッキングを提供します。SkyWalking では、OpenTracing 標準に基づいてアプリケーションを手動でイベントトラッキングすることもできます。このトピックでは、アプリケーションを自動的にイベントトラッキングする方法について説明します。

サンプルコード

サンプルコードリポジトリの詳細については、「SkyWalking Demo」をご参照ください。

SkyWalking を使用した Java アプリケーションの自動イベントトラッキング

  1. SkyWalking Java Agent をダウンロードします。

  2. SkyWalking Java Agent の設定ファイルを変更して、アクセス情報とアプリケーション情報を設定します。

    collector.backend_service=<endpoint> // 他の条件から取得したエンドポイント情報に置き換えます。
    agent.authentication=<token> // 前提条件から取得した認証トークンに置き換えます。
    agent.service_name=<Service Name> // 実際のアプリケーション名に置き換えます。
  3. アプリケーションのランタイム環境に基づいて、次のいずれかのメソッドを使用して SkyWalking Agent へのパスを指定します。

    説明

    次のサンプルコードの <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. アプリケーションを再起動します。

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

SkyWalking Java エージェントは、設定可能な幅広い属性をサポートしています。詳細については、サンプルコードの config/agent.config ファイルをご参照ください。

SkyWalking Java エージェントの部分的な属性

次の表に、SkyWalking Java エージェント 8.16.0 の部分的な属性を示します。

展開して SkyWalking Java エージェントの属性を表示

属性

説明

デフォルト値

agent.namespace

クロスプロセス伝播でヘッダーを分離するために使用される名前空間。この属性を設定すると、ヘッダー名は HeaderName:Namespace になります。

指定なし

agent.service_name

SkyWalking UI に表示されるサービス名。バージョン 5.x はアプリケーションに対応し、バージョン 6.x はサービスに対応します。各サービスに一意の名前を指定することを推奨します。サービスの複数のインスタンスは同じ名前を共有します。

Your_ApplicationName

agent.sample_n_per_3_secs

負の数または 0 は、サンプルデータが収集されないことを示します。デフォルトでは、サンプルデータは収集されません。SAMPLE_N_PER_3_SECS は、3 秒ごとに N 個のサンプルデータレコードが収集されることを示します。

指定なし

agent.authentication

認証はバックエンドの設定に基づいて有効になります。サーバーエンドポイントの認証トークンを表示できます。ほとんどのシナリオではバックエンド拡張機能が必要です。基本的な認証機能のみが実装されています。

指定なし

agent.span_limit_per_segment

単一セグメント内のスパンの最大数。この属性が設定されている場合、SkyWalking はアプリケーションのメモリ使用量を評価できます。

指定なし

agent.ignore_suffix

最初のスパンの操作名がこのコレクションに含まれている場合、このセグメントは無視されます。

指定なし

agent.is_open_debugging_class

この属性を true に設定すると、SkyWalking エージェントはすべてのイベントトラッキングされたクラスファイルを /debugging フォルダに保存します。SkyWalking チームは、互換性の問題を解決するためにこれらのクラスファイルの提供を要求する場合があります。

指定なし

agent.cause_exception_depth

例外が記録されるときに SkyWalking エージェントが記録する必要があるスタックの深さ。

5

agent.force_reconnection_period

grpc_channel_check_interval 属性の値に基づく gRPC の強制再接続期間。

1

agent.operation_name_threshold

操作名の最大長。操作名の長さは最大 190 文字です。

150

agent.keep_tracing

この属性を true に設定すると、バックグラウンドサービスが利用できない場合でも、SkyWalking エージェントはデータの収集を続行します。

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

SkyWalking エージェントのハートビートが報告される期間。単位: 秒。

30

collector.grpc_upstream_timeout

gRPC クライアントがアップストリームアプリケーションにデータを送信するタイムアウト期間。単位: 秒。

30

collector.get_profile_task_interval

SkyWalking エージェントがファイルを設定するために実行されるタスクをクエリする間隔。

20

logging.level

ログレベル。デフォルト値: DEBUG。

DEBUG

logging.file_name

ログファイルの名前。

skywalking-api.log

logging.output

ログがエクスポートされるモード。デフォルトでは、ログはファイルとしてエクスポートされます。コンソールを使用してログをエクスポートする場合、ログは標準モードでエクスポートされます。コマンドを実行してログをエクスポートする場合、ログは直接エクスポートされます。

FILE

logging.dir

ログが保存されるディレクトリ。デフォルト値は空の文字列です。これは、ログが "system.out" ディレクトリに保存されることを示します。

""

logging.pattern

ログのフォーマット。サポートされているフォーマット変換指定子:

  • %level: ログレベル。

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

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

  • %msg: 記録されたメッセージ。

  • %class: クラスの単純名。

  • %throwable: ユーザーによってスローされた例外。

  • %agent_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>

優先順位

上記の設定方法の優先順位は、高いものから低いものへ、プロキシオプション、システムプロパティ、システム環境変数、設定ファイルの順です。

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

SkyWalking Java エージェントは、さまざまなミドルウェア、フレームワーク、リポジトリをサポートしています。サポートされているプラグインの詳細については、サンプルコードの /plugins フォルダをご参照ください。

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

/plugins フォルダ内のすべてのプラグインがアクティブ化されます。プラグインの JAR パッケージが /plugins フォルダから削除されると、プラグインは利用できなくなります。

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

サポートされている公式プラグインは /plugins フォルダで利用できます。

オプションのプラグイン

SkyWalking Java エージェントのプラグインはプラガブルです。オプションのプラグインは、サードパーティリポジトリまたはエージェントの optional-plugins フォルダで利用できます。オプションのプラグインを使用するには、プラグインを /plugins フォルダに移動します。image.png

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

予期しないリスクのため、すべてのブートストラッププラグインはオプションです。ブートストラッププラグインは bootstrap-plugins フォルダで利用できます。ブートストラッププラグインを使用する場合は、プラグインの JAR パッケージを /plugins フォルダに追加できます。image.png

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

SkyWalking の公式チームは、以下のプラグインが SkyWalking のパフォーマンスに影響を与え、その使用を制限する可能性があると考えています。そのため、プラグインはサードパーティのリポジトリでのみリリースされます。詳細については、GitHub の「java-plugin-extensions」をご参照ください。

展開してプラグインを表示

フレームワーク

プラグインのバージョン

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

バージョン 2.3.x から 2.5.x の Struts2 MVC

Resin 3

Resin 4

Jetty Server 9

Spring Webflux 5.x

バージョン 2.0.0.Final から 2.0.13.Final の Undertow

バージョン 3.1.0.Final から 3.7.0.Final の RESTEasy

バージョン 2.6.x から 2.8.x の Play Framework

バージョン 1.6.x から 2.x の Light4J Microservices Framework

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 RestTemplete 4.x

Jetty Client 9

Apache httpcomponent AsyncClient 4.x

HTTP ゲートウェイ

Spring Cloud Gateway 2.1.x.RELEASE

JDBC

MySQL ドライバー 5.x、6.x、および 8.x

Oracle ドライバー

バージョン 1.3.x から 1.4.x の H2 ドライバー

Sharding-JDBC 1.5.x

ShardingSphere 3.0.0

ShardingSphere 3.0.0 および 4.0.0-RC1

PostgreSQL ドライバー 8.x、9.x、および 42.x

Mariadb ドライバー 2.x および 1.8

RPC フレームワーク

バージョン 2.5.4 から 2.6.0 の Dubbo

Dubbox 2.8.4

Apache Dubbo 2.7.0

バージョン 0.2.x から 1.1.0 の Motan

gRPC 1.x

バージョン 0.1 から 0.5 および 1.0.x の Apache ServiceComb Java Chassis

SOFARPC 5.4.0

バージョン 0.63.0 から 0.98.0 の Armeria

バージョン 1.7.0 から 1.8.x の Apache Avro

バージョン 6.25.0 から 20.1.0 の Finagle

MQ

RocketMQ 4.x

バージョン 0.11.0.0 から 1.0 の Kafka

ActiveMQ 5.x

RabbitMQ 5.x

バージョン 2.2.x から 2.4.x の Pulsar

NoSQL

Redis

Jedis 2.x

Redisson Easy Java Redis クライアント 3.5.2 以降

Lettuce 5.x

MongoDB

MongoDB Java ドライバー 2.13、2.14、および 3.3 以降

Memcached クライアント

Spymemcached 2.x

Xmemcached 2.x

Elasticsearch

バージョン 5.2.x から 5.6.x の transport-client

バージョン 6.7.1 から 6.8.4 の transport-client

バージョン 6.7.1 から 6.8.4 の rest-high-level-client

バージョン 7.0.0 から 7.7.1 の SolrJ

SolrJ 7.x

Cassandra 3.x

バージョン 3.7.0 から 3.7.2 の cassandra-java-driver

サービスディスカバリー

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

分散システムのレイテンシーとフォールトトレランスのためのバージョン 1.4.20 から 1.5.12 の Hystrix

スケジューラ

Elastic Job 2.x

OpenTracing コミュニティサポート

バージョン 1.0.25 から 1.1.2 の Canal: Alibaba Cloud が開発した増分データ同期と消費のための MySQL binlog ベースのコンポーネント

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

バージョン 1.0.1 から 1.3.x のコルーチン

プラグインの開発

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

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

よくある質問

Q: SkyWalking がサーバーに接続された後、アプリケーションを作成できないのはなぜですか?

A: データが Managed Service for OpenTelemetry に報告されていない可能性があります。データが Managed Service for OpenTelemetry に報告されているかどうかを確認する必要があります。たとえば、{skywalking agent path}/logs/skywalking-api.log ファイルの内容を確認できます。データが報告されている場合、次の図が表示されます。pg_xtrace_skywalking

データが報告されない理由は次のとおりです: サンプリングが有効になっている、データがフィルター処理されている、または Managed Service for OpenTelemetry を使用するリクエストがトリガーされていない。