正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

チュートリアル: Java SpringアプリケーションでGitLab可観測性を使用する

この機能の利用可否は、機能フラグによって制御されます。

このチュートリアルでは、GitLab可観測性Java Springアプリケーションを作成、設定、インストルメント、および監視する方法を学習します。

はじめる前

このチュートリアルを進めるには、以下が必要です:

  • GitLab.comまたはSelf-ManagedインスタンスGitLab Ultimateサブスクリプション
  • Ruby on Railsのローカルインストール
  • Git、Spring、およびOpenTelemetryのコア概念に関する基本的な知識

GitLabプロジェクトを作成します

まず、GitLabプロジェクトと対応するアクセストークンを作成します。

  1. 左側のサイドバーの上部で、新規作成 plus )を選択し、新規プロジェクト/リポジトリを選択します。
  2. テンプレートから作成を選択します。
  3. Springを選択し、次にテンプレートを使用を選択します。
  4. プロジェクトの詳細を入力します。
    • プロジェクト名フィールドに、test-spring-o11yなどの名前を入力します。
  5. プロジェクトを作成を選択します。
  6. test-sprint-o11yプロジェクトの左側のサイドバーで、設定 > アクセストークンを選択します。
  7. apiスコープとデベロッパーロールでアクセストークンを作成します。トークンの値を安全な場所に保管してください。これは後で必要になります。

アプリケーションを実行する

次に、アプリケーションが動作することを確認するために、アプリケーションを実行します。

  1. GitLabからプロジェクトをクローンした後、IntelliJ(またはお好みのIDE)で開きます。

  2. src/main/java/com.example.demo/DemoApplicationを開き、アプリケーションを実行します:

    アプリケーションのスクリーンショットを実行

  3. 初期化後、アプリケーションはhttp://localhost:8000で使用可能になります。それをテストし、IDEで停止ボタンを選択します。

OpenTelemetry依存関係を追加します

自動インストルメンテーションを使用してアプリケーションをインストルメントします:

  1. 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>
  2. Update Maven Changes(Mavenの変更を更新)を選択して、依存関係を更新します:

    Mavenの変更アップデートUI

  3. OpenTelemetryリポジトリからOpenTelemetry Javaエージェントファイルをダウンロードします。

    curl --location --http1.0 "https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar"

環境変数を定義する

OpenTelemetry自動設定ライブラリは、環境変数から設定を読み取ります。

  1. 右上隅のメニューから、Edit Configurations(構成の編集)を選択します:

    構成の編集

  2. 構成メニューで、Environment Variables(環境変数)フィールドのアイコンを選択します。

    構成メニュー

  3. 次の環境変数のセットを追加し、{{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.jar
    • OTEL_EXPORTER_OTLP_ENDPOINT=https://gitlab.com/api/v4/projects/{{PROJECT_ID}}/observability
    • OTEL_EXPORTER_OTLP_HEADERS=PRIVATE-TOKEN\={{PROJECT_ACCESS_TOKEN}}
    • OTEL_EXPORTER=otlphttp
    • OTEL_METRIC_EXPORT_INTERVAL=15000
    • OTEL_SERVICE_NAME=example-java-application
  4. アプリケーションを再起動し、http://localhost:8000でページを数回リロードします。

GitLabで情報を表示します

テストプロジェクトからエクスポートされた情報を表示するには:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
  2. モニタリングログメトリクス、またはトレースのいずれかを選択します。