OpenTelemetry Java エージェントを使用して Java アプリケーションを自動的にイベントトラッキングし、テレメトリデータを Managed Service for OpenTelemetry にレポートします。開始する前に、Managed Service for OpenTelemetry を作成し、Managed Service for OpenTelemetry を有効化し、エンドポイント情報を取得してください。
前提条件
-
Alibaba Cloud アカウントを作成します。
-
Managed Service for OpenTelemetry を有効化します。
-
概要
旧コンソールのトレース詳細ページには、HTTP 404 リクエストの完全なトレースが表示されます。左側のタイムラインには、次の 5 つの階層的なスパンが表示されています:GET /**(404、11.1 ms)、ResourceHttpRequestHandler.handleRequest(85 μs)、ResponseFacade.sendError(19 μs)、BasicErrorController.errorHtml(4.92 ms)、および Render error(4.34 ms)。上部セクションには、TraceID、開始時刻、合計持続時間、および赤色のエラーインジケーターが表示されます。右側の [スパン詳細] パネルには、アプリケーション名 java-agent-usage-0.0.1-SNAPSHOT、インターフェイス名 BasicErrorController.errorHtml、spanId、parentSpanId、および ali.trace.component_type=98、ali.trace.flag=x-trace、thread.name=http-nio-8081-exec-1 などの属性が表示されます。
このガイドでは、Java アプリケーションでの OpenTelemetry Java エージェントの使用方法を例として説明します。手順は次の 3 つです。
-
デモアプリケーションのダウンロード:Managed Service for OpenTelemetry を試すためのデモをダウンロードするか、ご自身のアプリケーションをイベントトラッキングします。
-
OpenTelemetry Java エージェントによるアプリケーションのイベントトラッキング:OpenTelemetry Java エージェント をダウンロードし、数百もの Java フレームワークに対応した非侵入型の自動イベントトラッキングを実現します。JVM 起動パラメーターを変更してトレースをレポートします。
-
モニタリングデータの確認: または ARMS コンソール でテレメトリデータを確認します。
ステップ 1:デモアプリケーションのダウンロード
提供されているデモアプリケーションまたはご自身の Java アプリケーションを使用します。
デモコードをダウンロードします:OpenTelemetry Java エージェント デモ。
デモパッケージには、次の 3 つのサブフォルダが含まれています。
-
java-agent-usage:OpenTelemetry Java エージェントによる自動イベントトラッキング(このガイドで使用)
-
otel-sdk-usage: Java 向け OpenTelemetry SDK を使用した手動インストルメンテーション。
-
agent-sdk-usage:Java エージェントと Java SDK の両方を使用したイベントトラッキング
ステップ 2:アプリケーションのイベントトラッキング
OpenTelemetry Java エージェントを使用して Java アプリケーションを自動的にイベントトラッキングします。エージェントは、サポートされるライブラリとバージョン に記載されている数百もの Java フレームワークをサポートしています。
-
OpenTelemetry Java エージェント をダウンロードします。
最新リリースの Assets セクションで、opentelemetry-javaagent.jar ファイルをダウンロードします。
-
トレースをレポートするために、Java 起動コマンドの VM パラメーターを変更します。
-javaagent:/{user.workspace}/opentelemetry-javaagent.jar // {user.workspace} をファイルをダウンロードした実際のパスに置き換えてください。 -Dotel.resource.attributes=service.name=<appName> // <appName> をアプリケーション名に置き換えてください。 -Dotel.exporter.otlp.headers=Authentication=<token> // 前提条件で取得したエンドポイント情報のトークンを使用します。 -Dotel.exporter.otlp.endpoint=<endpoint> // 前提条件で取得したエンドポイント情報のエンドポイントを使用します。たとえば、起動コマンドが次のとおりの場合:
java -jar /{user.workspace}/java-agent-usage-0.0.1-SNAPSHOT.jarManaged Service for OpenTelemetry に接続するには、コマンドを次のように更新します。
java -Dotel.resource.attributes=service.name=java-agent-usage-0.0.1-SNAPSHOT -Dotel.exporter.otlp.headers=Authentication=ggxw4l****@7323a5caae30263_ggxw4l****@53df7ad2afe**** -Dotel.exporter.otlp.endpoint=http://tracing-analysis-dc-hz.aliyuncs.com:8090 -javaagent:/{user.workspace}/opentelemetry-javaagent.jar -jar /{user.workspace}/java-agent-usage-0.0.1-SNAPSHOT.jar
ステップ 3:モニタリングデータの確認
-
localhost:8081/user/asyncでデモアプリケーションにアクセスします。エージェントがテレメトリデータを収集し、Managed Service for OpenTelemetry に送信します。 -
ARMS コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。[アプリケーション] ページで、アプリケーション名をクリックします。表示されたページで、トレースデータを確認します。
説明[言語] 列に
アイコンが表示されている場合、アプリケーションはアプリケーションモニタリングに接続されています。ハイフン (-) が表示されている場合、アプリケーションは OpenTelemetry 向けマネージドサービスに接続されています。アプリケーション詳細ページで、[トレース分析] タブをクリックして、呼び出し回数、エラー数、平均レイテンシーのチャートを確認します。トレースリストには、TraceID、インターフェイス名、アプリケーション名、レイテンシー、ステータス、開始時刻、ホストアドレスなどの詳細が表示されます。[低速トレース分析] および [エラートレース分析] を使用して、呼び出しが遅くなる原因を特定できます。
次のステップ
Managed Service for OpenTelemetry にデータをレポートしたら、ARMS コンソールで次の機能を活用してください。
Managed Service for OpenTelemetry は、Java、Go、Python、JavaScript、.NET、C++ などをサポートしています。互換性のあるクライアントには、OpenTelemetry、Jaeger、Zipkin、SkyWalking が含まれます。
