チュートリアル: Java SpringアプリケーションでGitLab可観測性を使用する
この機能の利用可否は、機能フラグによって制御されます。
このチュートリアルでは、GitLab可観測性Java Springアプリケーションを作成、設定、インストルメント、および監視する方法を学習します。
はじめる前
このチュートリアルを進めるには、以下が必要です:
- GitLab.comまたはSelf-ManagedインスタンスGitLab Ultimateサブスクリプション
- Ruby on Railsのローカルインストール
- Git、Spring、およびOpenTelemetryのコア概念に関する基本的な知識
GitLabプロジェクトを作成します
まず、GitLabプロジェクトと対応するアクセストークンを作成します。
- 左側のサイドバーの上部で、新規作成( )を選択し、新規プロジェクト/リポジトリを選択します。
- テンプレートから作成を選択します。
- Springを選択し、次にテンプレートを使用を選択します。
- プロジェクトの詳細を入力します。
- プロジェクト名フィールドに、
test-spring-o11yなどの名前を入力します。
- プロジェクト名フィールドに、
- プロジェクトを作成を選択します。
test-sprint-o11yプロジェクトの左側のサイドバーで、設定 > アクセストークンを選択します。apiスコープとデベロッパーロールでアクセストークンを作成します。トークンの値を安全な場所に保管してください。これは後で必要になります。
アプリケーションを実行する
次に、アプリケーションが動作することを確認するために、アプリケーションを実行します。
GitLabからプロジェクトをクローンした後、IntelliJ(またはお好みのIDE)で開きます。
src/main/java/com.example.demo/DemoApplicationを開き、アプリケーションを実行します:初期化後、アプリケーションは
http://localhost:8000で使用可能になります。それをテストし、IDEで停止ボタンを選択します。
OpenTelemetry依存関係を追加します
自動インストルメンテーションを使用してアプリケーションをインストルメントします:
pom.xmlファイルで、必要な依存関係を追加します:<dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-api</artifactId> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk-extension-autoconfigure</artifactId> </dependency> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-sdk-extension-autoconfigure-spi</artifactId> </dependency><dependencyManagement> <dependencies> <dependency> <groupId>io.opentelemetry</groupId> <artifactId>opentelemetry-bom</artifactId> <version>1.40.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>Update Maven Changes(Mavenの変更を更新)を選択して、依存関係を更新します:
OpenTelemetryリポジトリからOpenTelemetry Javaエージェントファイルをダウンロードします。
curl --location --http1.0 "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar"
環境変数を定義する
OpenTelemetry自動設定ライブラリは、環境変数から設定を読み取ります。
右上隅のメニューから、Edit Configurations(構成の編集)を選択します:
構成メニューで、Environment Variables(環境変数)フィールドのアイコンを選択します。
次の環境変数のセットを追加し、
{{PATH_TO_JAVA_AGENT}}、{{PROJECT_ID}}、{{PROJECT_ACCESS_TOKEN}}、および{{SERVICE_NAME}}を正しい値に置き換えます。GitLab Self-Managedインスタンスを使用している場合は、gitlab.comをGitLab Self-Managedインスタンスのインスタンスホスト名に置き換えます。JAVA_TOOL_OPTIONS=-javaagent:{{PATH_TO_JAVA_AGENT}}/opentelemetry-javaagent.jarOTEL_EXPORTER_OTLP_ENDPOINT=https://gitlab.com/api/v4/projects/{{PROJECT_ID}}/observabilityOTEL_EXPORTER_OTLP_HEADERS=PRIVATE-TOKEN\={{PROJECT_ACCESS_TOKEN}}OTEL_EXPORTER=otlphttpOTEL_METRIC_EXPORT_INTERVAL=15000OTEL_SERVICE_NAME=example-java-application
アプリケーションを再起動し、
http://localhost:8000でページを数回リロードします。
GitLabで情報を表示します
テストプロジェクトからエクスポートされた情報を表示するには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- モニタリング、ログ、メトリクス、またはトレースのいずれかを選択します。



