Docs » Splunk APMでスパンタグとMetricSetsを使ってサービスを分析する » APMカスタムレポートをOpenTelemetry Javaエージェント2.0に移行する

APMカスタムレポートをOpenTelemetry Javaエージェント2.0に移行する 🔗

Splunk Distribution of OpenTelemetry Javaエージェントのバージョン2.0には、HTTPセマンティック規約の破壊的変更が含まれます。バージョン2.0のリリースは未定ですが、アップデートに先立って影響を受ける属性に移行しておくことで、Splunk APMのエクスペリエンスへの影響を最小限に抑えることができます。

廃止予定のOTel属性を使用し続けると、Splunk Distribution of OpenTelemetry Javaエージェントのバージョン2.0に更新した場合に、APMのカスタムレポートの以下の点が影響を受けます:

  • Tag Spotlight

  • 作成したカスタムのチャートやダッシュボード

  • ディテクター

HTTPセマンティック規約の変更内容 🔗

以下のテーブルは、Splunk Distribution of OpenTelemetry Javaエージェントのバージョン1.0からバージョン2.0において変更された、現在のHTTP OpenTelemetry(OTel)属性を網羅しています。

注釈

OpenTelemetry Javaエージェントのバージョン2.0のリリースまでの間に、このリストは変更される可能性があります。

バージョン1.0のOTel属性

バージョン2.0のOTel属性

変更の理由

http.method

http.request.method

一貫した名前空間設定のための更新。

http.status_code

http.response.status_code

一貫した名前空間設定のための更新。

http.request_content_length

http.request.body.size

一貫した名前空間設定のための更新。

http.response_content_length

http.response.body.size

一貫した名前空間設定のための更新。

http.url

url.full

様々なURLタイプに対して別々のフィールドを使用することを避け、ftp://、ssh://、file://、data://などの異なるURLタイプ間のテレメトリの相関を簡素化するための更新。

http.target

url.pathurl.query

様々なURLタイプに対して別々のフィールドを使用することを避け、ftp://、ssh://、file://、data://などの異なるURLタイプ間のテレメトリの相関を簡素化するための更新。

http.scheme

url.scheme

様々なURLタイプに対して別々のフィールドを使用することを避け、ftp://、ssh://、file://、data://などの異なるURLタイプ間のテレメトリの相関を簡素化するための更新。

http.client_ip

client.address

最新の属性定義を反映するための更新。

アップデートの影響を受けるかどうかを判断する 🔗

ご利用のAPMエクスペリエンスがアップデートの影響を受けるかどうかを判断するには、Splunk APMで影響を受けるOTel属性をカスタムタグとしてインデックス化しているかどうかを確認します:

注釈

HTTPメソッド属性は、デフォルトでSplunk Observability Cloudにシステムタグとして保存されます。HTTPメソッド属性をTroubleshooting MetricSet(TMS)または Monitoring MetricSet(MMS)として使用するためにインデックス化する必要はありません。

  1. Settings に移動し、次に APM MetricSets に移動します。APM MetricSetsにアクセスするにはadminロールが必要です。

  2. APM MetricSetsリストにインデックスされたタグを、新しいOTel属性のリストと相互参照させます。HTTPセマンティック規約の変更内容 を参照してください。
    1. APM MetricSetsページに影響を受けるタグが1つ以上表示されている場合、各タグがTroubleshooting MetricSet(TMS)としてのみインデックス化されているのか、Monitoring MetricSet(MMS)としてもインデックス化されているのかを判断します。その後、移行手順 セクションを参照してください。

    2. 影響を受けるタグのいずれもインデックス化しない場合は、タグを移行するための操作は何も必要ありません。今後、必ず新しいHTTP規約を使用するようにしてください。

移行手順 🔗

移行が必要と判断した場合は、以下の手順に従ってください:

  1. アップデートのタイミングを調整する

  2. 新しい属性をタグとしてインデックス化し、Troubleshooting Metric Sets(TMS)またはMonitoring Metric Sets(MMS)を生成する

  3. 新しいインデックス付きタグを使用するように、チャートとダッシュボードを更新する

  4. 新しいインデックス付きタグを使用するように、APMディテクターを更新する

  5. (オプション)廃止予定の属性をタグとして使用しているMetricSetsを削除する

アップデートのタイミングを調整する 🔗

2023年8月7日時点で、Splunk APMは生トレースデータの新しい属性の入力を開始しています。しかし、これらの新しい属性のTMSとMMSはまだ作成されていません。データを受信するには、TMSとMMSを作成する必要があります。アップデートの準備として、新しい属性をタグとしてインデックス化し、カスタムのTMSおよびMMSがレポーティング用のデータを受信できるようにする必要があります。Tag Spotlightで使用されるTMSの場合は、アップデートの少なくとも8日前に、新しいデータのインデックス化を予定してください。ダッシュボードのチャートやディテクターで使用されるMMSの場合は、データのギャップを防ぐために、新旧両方のタグをフィルタリングするように、チャートやダッシュボードのSignalFlowを更新する必要があります。

新しい属性をタグとしてインデックス化し、Troubleshooting Metric Sets(TMS)またはMonitoring Metric Sets(MMS)を生成する 🔗

注釈

HTTPメソッド属性は、デフォルトでSplunk Observability Cloudにシステムタグとして保存されます。HTTPメソッド属性をTroubleshooting MetricSet(TMS)または Monitoring MetricSet(MMS)として使用するためにインデックス化する必要はありません。

インデックス化しようとする、影響を受ける各タグについて、対応する新しいタグをAPM MetricSetとして生成します。

  1. Settings に移動し、次に APM MetricSets に移動します。APM MetricSetsにアクセスするにはadminロールが必要です。

  2. OTel属性をタグとして使用して新しいAPM MetricSetを作成し、TMSとして設定します。TMSを生成する手順は、スパンタグをインデックス化してTroubleshooting MetricSetsを生成する を参照してください。

  3. 旧タグがMMSとしても使用されていた場合は、新タグをMMSとして設定します。MMSを生成する手順については、カスタムディメンションを使用してMonitoring MetricSetsを生成する を参照してください。

  4. 今後は、新しいタグの名前を使用します。新しいインデックス付きタグを使用するように、チャートとダッシュボードを更新する および 新しいインデックス付きタグを使用するように、ディテクターを更新する を参照してください。

新しいインデックス付きタグを使用するように、チャートとダッシュボードを更新する 🔗

廃止予定の属性をタグとして参照しているチャートやダッシュボードを更新するには、以下の手順に従ってください。

  1. 影響を受ける各チャートについて、Chart actions を選択し、次に Open を選択します。

  2. プロットビルダーに移動しフィルターを編集して、新しいタグ名を参照するように変更します。または、古いタグのデータを見る必要がある場合は、View SignalFlow を選択し、filter() 関数を編集して、古いタグと新しいタグの両方を参照するようにします。

新旧両方のタグを使用するSignalFlowの例:

A = data('service.request.count', filter=filter('sf_dimensionalized', 'true') and filter('sf_service', 'adservice') and (filter('http_response_status_code', '200') or filter('http_status_code', '200')) and filter('sf_error', 'false')).publish(label='A')

新しいインデックス付きタグを使用するように、ディテクターを更新する 🔗

ディテクターをアップデートするには、以下の手順に従ってください。

  1. Alerts & Detectors にアクセスし、次に Detectors にアクセスします。

  2. 影響を受ける各ディテクターについて、ディテクターを選択し、次に Signals を選択します。

  3. 新しいタグ名を参照するようにフィルターを変更します。または、ディテクターで旧タグのデータを使用する必要がある場合は、SignalFlowの参照を新旧両方のタグに変更します。

新旧両方のタグを使用するSignalFlowの例:

A = data('service.request.count', filter=filter('sf_dimensionalized', 'true') and filter('sf_service', 'adservice') and (filter('http_response_status_code', '200') or filter('http_status_code', '200')) and filter('sf_error', 'false')).publish(label='A')

(オプション)廃止予定の属性をタグとして使用しているMetricSetsを削除する 🔗

新しい属性を使用するようにチャート、ダッシュボード、およびディテクターを更新し、すべてが期待どおりに動作していることを確認し、廃止予定のタグのデータを今後参照または使用する必要がないと判断したら、廃止予定の属性を使用するタグを削除できます。廃止予定の属性を使用するタグを削除すると、組織のカーディナリティを減らし、ユーザーの混乱の可能性も軽減することができます。

ただし、過去のデータが必要な場合は、新しいタグに組織が必要とするデータが入るまでの間、廃止予定の属性を参照するMetricSetsを維持することができます。

  1. Settings に移動し、次に APM MetricSets に移動します。APM MetricSetsにアクセスするにはadminロールが必要です。

  2. Delete the MetricSet configuration (ゴミ箱のアイコン)を選択して、タグおよび対応するMetricSetsを削除します。

古い属性を使用しているMetricSetsを削除したら、今後のレポートには新しいタグのみを使用してください。

This page was last updated on 2023年10月26日.