Hitachi

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


9.2.1 共通

Orchestrator-Service、Relay-Service、Entity-Service(SQL)、Entity-Service(TCC)、Orchestrator-Service(SQL)、Alternate-ServiceおよびAlternate-Service(SQL)で共通のパラメタを説明します。

〈この項の構成〉

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

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

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

パラメタ

説明

設定範囲

デフォルト値

tracing.instance-id

HMP-PCTOの各コンテナイメージを識別するための識別子を設定してください。この指定値は、分散トレースのサービス名として表示します。

システムで一意になるようにコンテナイメージの役割に応じた値を設定してください。

異なる役割のコンテナイメージに同一の値を設定した場合、どのコンテナイメージが出力した分散トレース情報かを判別できません。

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

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

このパラメタを設定した場合は、次のサービス名となります。

  • Orchestrator-Service/Relay-Service/Entity-Service(SQL)/Entity-Service(TCC)/Orchestrator-Service(SQL)/Alternate-Service/Alternate-Service(SQL)/TP1-Bridge:

    <このパラメタの設定値>

  • Mediator:

    <このパラメタの設定値>@<Mediatorのホスト名>

また、このパラメタの設定を省略した場合は、次のサービス名となります。

  • Orchestrator-Service:

    Orchestrator@<Orchestrator-Serviceのホスト名>

  • Relay-Service:

    Entity-Service@<Relay-Serviceのホスト名>

  • Entity-Service(SQL):

    SQL-Participant@<Entity-Service(SQL)のホスト名>

  • Entity-Service(TCC):

    TCC-Participant@<Entity-Service(TCC)のホスト名>

  • Orchestrator-Service(SQL):

    SQL-Participant@<Orchestrator-Service(SQL)のホスト名>

  • Alternate-Service:

    Orchestrator@<Alternate-Serviceのホスト名>

  • Alternate-Service(SQL):

    SQL-Participant@<Alternate-Service(SQL)のホスト名>

  • TP1-Bridge:

    TP1-Bridge@<TP1-Bridgeのホスト名>

  • Mediator:

    Mediator@<Mediatorのホスト名>

String

32文字

なし

tracing.url

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

パラメタtracing.use-traceの指定値がtrue、かつ分散トレース送信先がGoogle Cloud Platform以外の場合は省略できません。

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

OpenTelemetry Collectorの場合

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

  • OpenTelemetry Collectorが同一namespaceの場合

    http://<OpenTelemetry Collectorの.metadata.nameフィールドに指定した値>:<ポート番号>/api/traces

  • OpenTelemetry Collectorが異なるnamespaceの場合

    http://<OpenTelemetry Collectorの.metadata.nameフィールドに指定した値>.<Namespace名>.svc.cluster.local:<ポート番号>/api/traces

指定例

  • OpenTelemetry Collectorが同一namespaceの場合

    http://otel-collector:4318/v1/traces

  • OpenTelemetry Collectorが異なるnamespaceの場合

    http://otel-collector.my-namespace.svc.cluster.local:4318/v1/traces

Microsoft Azureの場合

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

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

Google Cloud Platformの場合

指定は不要です。

Podのサービスアカウントに紐づいている、Google Cloud PlatformのプロジェクトのCloud Traceに、自動的に送信します。

String

なし

tracing.use-trace

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

  • true

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

  • false

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

Boolean

true | false

true

tracing.debug

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

  • true

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

  • false

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

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

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

Boolean

true | false

false

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-Participantで実行されたJDBC Driverメソッド開始および終了のスパンイベントが取得され、JDBC Driverメソッドの発行状況および処理時間を確認できます。

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

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

Boolean

true | false

false

metrics.collection.tomcat

Tomcatのメトリクスを設定します。

  • true

    Spring Bootの組み込みTomcatのメトリクスを取得します。

  • false

    Spring Bootの組み込みTomcatのメトリクスは取得しません。

このパラメタにtrueを設定すると、Spring Bootの組み込みTomcatのメトリクス(接続数、スレッド数、レスポンスタイムなど)を取得できます。

ただし、このパラメタの設定をtrueにすると、メトリクスの取得対象が増えるため、ディスク使用量が増加します。

Tomcatを使用したHTTPリクエストの処理を行わない場合、Tomcatのメトリクスは不要なため、このパラメタにはfalseを設定してください。不要なデータの蓄積を防ぎ、ディスク使用量を抑えることができます。

Boolean

true | false

true

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