Hitachi

Hitachi Microservices Platform - Paxos Commit Transaction Orchestrator ユーザーズガイド


9.2.1 共通

Orchestrator、Entity-Service、Mediator、SQL-Participant、TCC-ParticipantおよびTP1-Bridgeで共通のパラメタを説明します。

〈この項の構成〉

(1) jp.co.Hitachi.soft.hmppctoのパラメタ

各パラメタの接頭辞は、jp.co.Hitachi.soft.hmppctoです。

表9‒3 共通のjp.co.Hitachi.soft.hmppctoのパラメタ

パラメタ

説明

設定範囲

デフォルト値

tracing.instance-id

Orchestrator/Entity-Service/Participant/TP1-Bridge/Mediatorを一意に識別するためのIDです。この指定値は、分散トレースのサービス名として表示します。

32文字以内の任意の文字列を設定してください。

省略した場合、デフォルト値としてユニークなIDが設定されます。

IDがシステムで一意になるように、Orchestrator/Entity-Service/Participant/TP1-Bridge/Mediatorごとに異なる値を設定してください。

一意ではない場合、分散トレース情報がどのプロセスの情報かの判別ができません。

kubernetesマニフェストのspec.replicasパラメタに2以上を指定する場合やオートスケール機能を使用する場合は、このパラメタを必ず指定してください。

複数のPodが起動した場合、同じIDとなり、分散トレース情報の検索が容易になります。

String

32文字

  • Mediator以外の場合

    省略した場合および指定しなかった場合は、次の形式でサービス名が設定されます。

<コンポーネント名> -<12桁のランダムな数字>
  • Mediatorの場合

    省略した場合および指定しなかった場合は、次の形式でサービス名が設定されます。

<ホスト名>@Mediator

tracing.url

HMP-PCTOが分散トレースの送信先に使用する分散トレース収集アプリケーションまたはサービスの接続先(URL)を指定します。

パラメタtracing.use-traceの指定値がtrueの場合は省略できません。

Jaegerの場合

次の形式で指定してください。

  • Jaeger-collectorが同一namespaceの場合

    http://jaeger-collector:<ポート番号>/api/traces

  • Jaeger-collectorが異なるnamespaceの場合

    http://jaeger-collector.<Namespace名>.svc.cluster.local:<ポート番号>/api/traces

指定例

  • Jaeger-collectorが同一namespaceの場合

    http://jaeger-collector:14268/api/traces

  • Jaeger-collectorが異なるnamespaceの場合

    http://jaeger-collector.my-namespace.svc.cluster.local:14268/api/traces

Microsoft Azureの場合

Azure Monitor Application Insightsの接続文字列(connection string)を確認し、その文字列を指定してください。

Azure Monitor Application Insightsの作成方法、および接続文字列の取得方法についてはMicrosoftの公式ドキュメントを参照してください。

String

なし

tracing.debug

デバッグ情報を含むスパン取得有無を指定します。

  • true

    デバッグ情報を含むスパンを取得します。

  • false

    デバッグ情報を含むスパンを取得しません。

HMP-PCTOではデバッグ情報を含むスパンを取得することで、詳細な処理の内容を確認できます。

このパラメタにtrueを指定するとデバッグ情報を含むスパンを取得します。デバッグ情報を含むスパンを取得すると、分散トレースのディスク使用量が増加します。

Boolean

true | false

false

tracing.use-trace

分散トレースの取得有無を指定します。

  • true

    分散トレースを取得します。

  • false

    分散トレースを取得しません。テスト環境などでJaegerを使用できない場合に指定してください。本番環境では指定しないでください。

Boolean

true | false

true

tracing.queue-size

メモリ上のキューに保持できる分散トレース数を指定します。tracing.use-traceパラメタの指定値がtrueの場合は省略できません。

この設定値を上回る数の分散トレースが発生した場合、その分散トレースは破棄されます。

キューに存在する分散トレースは、次のどちらかの条件を満たすごとに分散トレース収集アプリケーションまたはサービスに送信されます。

  • キュー内の分散トレース数がjp.co.Hitachi.soft.hmppcto.tracing.batch-sizeパラメタで設定した値を上回った場合

  • 前回の送信からjp.co.Hitachi.soft.hmppcto.tracing.delay-time-in-millisパラメタで設定した値以上の時間が経過した場合

Integer

10,000-100,000

20,000

tracing.delay-time-in-millis

分散トレースを分散トレース収集アプリケーションまたはサービスに送信する間隔をミリ秒単位で指定します。tracing.use-traceパラメタの指定値がtrueの場合は省略できません。

前回の送信からこのパラメタに設定した値以上の時間が経過すると、キューに存在する分散トレースが分散トレース収集アプリケーションまたはサービスに送信されます。

Integer

1,000-5,000

1,000

tracing.batch-size

分散トレースを分散トレース収集アプリケーションまたはサービスに送信する際に、一度に送信する分散トレース数を指定します。tracing.use-traceパラメタの指定値がtrueの場合は省略できません。

キューに存在する分散トレース数が、このパラメタに設定した値を上回ると、キューに存在する分散トレースが分散トレース収集アプリケーションまたはサービスに送信されます。

Integer

1,000-10,000

2,000

tracing.grpc.debug

gRPC通信の送受信メッセージのスパンイベントの取得有無を設定します。

  • true

    gRPC通信の送受信メッセージのスパンイベントを取得します。

  • false

    gRPC通信の送受信メッセージのスパンイベントを取得しません。

対象のスパンイベント

  • sent message(hmppcto)

  • received message(hmppcto)

このパラメタにtrueを設定するとHMP-PCTOのOrchestrator、ParticipantおよびMediatorが実施しているgRPC通信の送受信メッセージのスパンイベントが取得され、gRPC通信の内容を確認できます。

ただし、gRPC通信のメッセージ長によって、分散トレースの取得処理が増え、処理時間や分散トレースのディスク使用量が増加します。

このパラメタにfalseを設定することでgRPC通信の送受信メッセージをスパンイベントに取得しなくなるため、処理時間が短縮され、分散トレースのディスク使用量を抑えることができます。

Boolean

true | false

false

tracing.jdbc.debug

SQL-ParticipantでのJDBC Driverメソッド開始および終了のスパンイベントの取得有無を設定します。

  • true

    JDBC Driverメソッド開始および終了のスパンイベントを取得します。

  • false

    JDBC Driverメソッド開始および終了のスパンイベントを取得しません。

対象のスパンイベント

  • start:jdbc <JDBC Driverのクラス名>.<JDBC Driverのメソッド名>

  • end:jdbc

このパラメタにtrueを設定すると、HMP-PCTOのSQL-Pariticipantで実行されたJDBC Driverメソッド開始および終了のスパンイベントが取得され、JDBC Driverメソッドの発行状況および処理時間を確認できます。

ただし、JDBC Driverメソッドの発行回数によって、分散トレースの取得処理が増え、処理時間や分散トレースのディスク使用量が増加します。

このパラメタにfalseを設定することでJDBC Driverメソッド開始および終了のスパンイベントを取得しなくなるため、処理時間が短縮され、分散トレースのディスク使用量を抑えることができます。

Boolean

true | false

false

(凡例)−:該当しません。