Docs » Splunk Observability Cloud でサポートされているインテグレーション » バックエンドアプリケーションをインストルメンテーションして、スパンを Splunk APM に送信する » Splunk Observability Cloud 用 Java アプリケーションのインストルメンテーション » OpenTelemetry Java 2.xメトリクスの移行ガイド

OpenTelemetry Java 2.xメトリクスの移行ガイド 🔗

OpenTelemetry Java Instrumentation 2.xには、最近のOpenTelemetry HTTPセマンティック規約の更新の一部として導入された、一連の互換性を破る変更が含まれています。Splunk Distribution of OpenTelemetry Javaのバージョン2.5.0以上は、更新されたセマンティック規約と完全に互換性があります。

以下の移行の手順では、次のことを前提としています。

  • Splunk Distribution of OpenTelemetry Javaのバージョン1.xを使用してJavaアプリケーションメトリクスを送信しています。

  • Javaアプリケーションのメトリクスに基づいて、カスタムダッシュボード、ディテクター、またはアラートを作成しました。

このガイドの手順に従って、2.xメトリクスとHTTPセマンティック規約に移行し、カスタムレポート要素を新しいメトリクス形式に変換してください。

注釈

Javaエージェントのバージョン2.xでは、デフォルトでメトリクスとログを収集します。これにより、データ取り込みコストが増加する可能性があります。

注意

Java 2.0のインストルメンテーションでは、デフォルトプロトコルがgRPCからhttp/protobufに変更されました。カスタム構成の場合は、http/protobufエンドポイントにデータを送信していることを確認してください。トラブルシューティングのガイダンスについては、テレメトリエクスポートの問題 を参照してください。

前提条件 🔗

OpenTelemetry Java 1.xからOpenTelemetry Java 2.xに移行するには、以下のものが必要です:

Splunk Distribution of OpenTelemetry Java 1.xまたは同等のアップストリームインストルメンテーションを使用してJavaサービスをインストルメンテーションしている場合は、すでにJavaエージェントのバージョン2.5.0以降に移行できます。

注釈

この変更によるAlwaysOn Profilingメトリクスの影響はありません。

移行ベストプラクティス 🔗

以下のベストプラクティスは、移行プロセスを開始するときに役立ちます:

  1. このドキュメントをよく読んでください。

  2. リリースノートをお読みください。GitHubの リリース を参照してください。

  3. デプロイまたはテスト環境を使用します。

  4. 本番サービスを徐々に移行し、タイプごとにグループ化します。

  5. インストルメンテーション設定の変更を特定します。

  6. Splunk Observability Cloudのデータを検証します。

  7. HTTPセマンティック規約の変更の影響を検証します。APMカスタムレポートをOpenTelemetry Javaエージェント2.0に移行する を参照してください。

データ移行ツールを使用する 🔗

メトリクス名の変更により、Java OTel 2.xにアップグレードすると、既存のダッシュボード、ディテクター、およびその他の機能が破壊される可能性があります。カスタムのレポート要素に対する突然のアクセス喪失を防ぐには、データ移行ツールを使用してください。このツールは、新しい2.xのセマンティック規約から旧バージョンの1.xのフォーマットへのメトリクスデータの変換および複製を、期間限定で追加費用なしで実行します。

Java 2.xメトリクス用の移行メトリクスルールを実行するデータ移行ツール

データ移行ツールにアクセスする

  1. SettingsData Configuration にアクセスします。

  2. Data Migration を選択します。

  3. Start migration カード内で、Start を選択します。

サポートされている各プロセスについて、データ移行のオン/オフ、移行されたメトリック時系列(MTS)数の確認、猶予期間 の表示が可能です。メトリクスの複製と二重公開は、移行を決定したときに有効にされる、事前に定義されたルールに従って行われます。

注釈

メトリクスルールはシステムルールとして扱われ、編集することはできません。

猶予期間 🔗

追加費用なしで複製されたメトリクスの受領と処理の猶予期間は、2024年6月25日のJavaエージェントバージョン2.5.0のリリースから2025年1月31日までの6か月間です。

移行サポートはバージョン2.5.0のリリースから12か月間利用可能で、18か月後に非推奨となります。

注釈

猶予期間を過ぎると、重複したメトリクスデータはカスタムメトリクスデータとして請求されます。追加課金を避けるため、移行完了後は必ずデータ移行アクションをオフにしてください。

OTel Java 2.xへの移行 🔗

インストルメンテーションをJavaエージェントのバージョン2.5.0以上に移行するには、以下の手順に従ってください:

  1. Data Migration ページでJavaメトリクスの移行をオンにします。

    • SettingsData Configuration にアクセスします。

    • Data Migration を選択します。

    • Start migration カード内で、Start を選択します。

  2. Turn on OTLP histograms in the Splunk Distribution of the OpenTelemetry Collector.

    ヒストグラムデータをSplunk Observability Cloudに送信するには、send_otlp_histograms オプションを true に設定します。例:

    exporters:
      signalfx:
        access_token: "${SPLUNK_ACCESS_TOKEN}"
        api_url: "${SPLUNK_API_URL}"
        ingest_url: "${SPLUNK_INGEST_URL}"
        sync_host_metadata: true
        correlation:
        send_otlp_histograms: true
    
  3. Splunk Distribution of the Javaエージェントののバージョン2.5.0以降がインストールされていることを確認してください。Splunk Distribution of OpenTelemetry Java をアップグレードする を参照してください。

  4. カスタムCollectorエンドポイントを定義している場合は、ポートを更新し、正しいプロパティを使用してください。

    # Legacy property and value: -Dsplunk.metrics.endpoint=http(s)://collector:9943
    # You can also use the OTEL_EXPORTER_OTLP_METRICS_ENDPOINT environment variable
    -Dotel.exporter.otlp.metrics.endpoint=http://localhost:4318/v1/metrics
    

    バージョン2.5.0に引き続き該当することをチェックするためにその他すべての設定を確認します。Splunk Observability Cloud 用の Java エージェントを設定する を参照してください。

  5. カスタムレポート要素を移行します:

  6. (オプション)新しいJavaメトリクス2.x組み込みダッシュボードの使用を開始します。組み込みダッシュボードのバージョンは、バージョン1.xおよび2.xのJavaサービスメトリクスに対応しています。

  7. 準備ができたら、マイグレーションをオフにします:

    • SettingsData Configuration にアクセスします。

    • Data Migration を選択します。

    • Stop migration カードで、Stop を選択します。

注意

猶予期間後にJavaメトリクスのデータ移行ストリームをオフにしないと、重複したメトリクスはカスタムメトリクスとして請求されます。データ移行ツールを使用する を参照してください。

バージョン2.xの新しいメトリクス名 🔗

以下の表は、OpenTelemetry Java 2.0以降にデフォルトで生成されるメトリクスと、バージョン1.xの旧バージョンでの相当メトリクスを示しています。

OTel Java 2.0のメトリクス

旧バージョン(1.x)のメトリクス

db.client.connections.create_time (ヒストグラム、ms)

db.pool.connections.create_time

db.client.connections.idle.max

db.pool.connections.idle.max

db.client.connections.idle.min

db.pool.connections.idle.min

db.client.connections.max

db.pool.connections.max

db.client.connections.pending_requests

db.pool.connections.pending_threads

db.client.connections.timeouts

db.pool.connections.timeouts

db.client.connections.usage[state=idle]

db.pool.connections.idle

db.client.connections.usage[state=used]

db.pool.connections.active

db.client.connections.use_time (ヒストグラム、ms)

db.pool.connections.use_time

db.client.connections.wait_time (ヒストグラム、ms)

db.pool.connections.wait_time

jvm.buffer.count

runtime.jvm.buffer.count

jvm.buffer.memory.limit

runtime.jvm.buffer.total.capacity

jvm.buffer.memory.usage

runtime.jvm.buffer.memory.used

jvm.class.count

runtime.jvm.classes.loaded

jvm.class.unloaded

runtime.jvm.classes.unloaded

jvm.gc.duration{jvm.gc.name=<concurrent gcs>} (ヒストグラム)|br| jvm.gc.action

runtime.jvm.gc.concurrent.phase.time

jvm.gc.duration{jvm.gc.name!=<concurrent gcs>}
jvm.gc.action

runtime.jvm.gc.pause

jvm.memory.allocated *

runtime.jvm.gc.memory.allocated
process.runtime.jvm.memory.allocated

jvm.memory.committed

runtime.jvm.memory.committed

jvm.memory.limit

runtime.jvm.memory.max

jvm.memory.limit{jvm.memory.pool.name=<long lived pools>}

runtime.jvm.gc.max.data.size

jvm.memory.used

runtime.jvm.memory.used

jvm.memory.used_after_last_gc{jvm.memory.pool.name=<long lived pools>}

runtime.jvm.gc.live.data.size

jvm.thread.count

runtime.jvm.threads.daemon
runtime.jvm.threads.live

* これは Splunk固有のメトリクスであり、アップストリームのセマンティック規約には存在しません。

注釈

前の表には、デフォルトで生成されるメトリクスが記載されています。アプリケーションサーバーのインスルトメンテーションなど、サポートされているメトリクスのインストルメンテーションによって、この他のメトリクスが生成される場合があります。

HTTPセマンティック規約の変更の詳細については、GitHubの HTTPセマンティック規約安定移行ガイド を参照してください。

報告されなくなったメトリクス 🔗

Javaインストルメンテーションのバージョン2.5.0以降で発行されるメトリクスが変更されたため、以下のメトリクスを使用するディテクターまたはダッシュボードが移行前と同じように動作しない可能性があります:

  • db.pool.connections

  • executor.tasks.completed

  • executor.tasks.submitted

  • executor.threads

  • executor.threads.active

  • executor.threads.core

  • executor.threads.idle

  • executor.threads.max

  • runtime.jvm.memory.usage.after.gc

  • runtime.jvm.gc.memory.promoted

  • runtime.jvm.gc.overhead

  • runtime.jvm.threads.peak

  • runtime.jvm.threads.states

内蔵ダッシュボード 🔗

内蔵OTel Java 2.X APMサービスダッシュボードにアクセスするには、次のリンクを使用します。

オプションで、ダッシュボードに自分で移動することもできます:

  1. 左のナビゲーションメニューで、Dashboards を選択します。

  2. Built-in dashboard groups セクションで、3つのダッシュボードがグループ化されている APM Java services (OTel 2.X) ダッシュボードグループまでスクロールダウンします。

注釈

組み込みのダッシュボードを表示するには、jvm.classes.loaded メトリクスをSplunk Observability Cloudで受信する必要があります。

トラブルシューティング 🔗

Splunk Observability Cloudをご利用のお客様で、Splunk Observability Cloudでデータを確認できない場合は、以下の方法でサポートを受けることができます。

Splunk Observability Cloudをご利用のお客様

見込み客および無料トライアルユーザー様

  • Splunk Answers のコミュニティサポートで質問し、回答を得る

  • Join the Splunk #observability user group Slack channel to communicate with customers, partners, and Splunk employees worldwide. To join, see Chat groups in the Get Started with Splunk Community manual.

このページは 2025年02月20日 に最終更新されました。