|
|
WebOTX Manual V11.1 (第6版) 目次を表示 |
マイクロサービスアプリケーションに関する設定について説明します。
MicroProfile Configに関する設定について説明します。
MicroProfile Fault Toleranceに関する設定について説明します。
各項目は、MicroProfile Config を利用して設定します。設定方法や、設定値の優先順位等、詳細は、[ アプリケーション開発 > その他のアプリケーション > マイクロサービスアプリケーションの開発 > MicroProfile Config ] を参照してください。
| 設定名 | 説明 | 既定値 |
|---|---|---|
|
MP_Fault_Tolerance_NonFallback_Enabled (mpft.nonFallbackEnabled) |
Fallback以外のアノテーション使用可否設定です。 mpft.nonFallbackEnabledはWebOTX独自設定名で、両方指定した場合はEclipse MicroProfile 仕様準拠の設定名であるMP_Fault_Tolerance_NonFallback_Enabledの設定値を優先します。 |
true(使用する) |
| MP_Fault_Tolerance_Metrics_Enabled (mpft.metricsEnabled) |
MicroProfile Metricsを利用したメトリクス情報の取得可否設定です。 MicroProfile Metricsについては、[ アプリケーション開発 > その他のアプリケーション > マイクロサービスアプリケーションの開発 > MicroProfile Metrics ] を参照してください。 mpft.metricsEnabledはWebOTX独自設定名で、両方指定した場合はEclipse MicroProfile 仕様準拠の設定名であるMP_Fault_Tolerance_Metrics_Enabledの設定値を優先します。 |
true(使用する) |
| mp.fault.tolerance.interceptor.priority (mpft.interceptorPriority) |
Fault Toleranceインターセプタの優先度です。 ユーザ独自のインターセプタが存在する際に本設定を指定することで、インターセプタの実行順序をコントロールすることが可能です。 mpft.interceptorPriorityはWebOTX独自設定名で、両方指定した場合はEclipse MicroProfile 仕様準拠の設定名であるmp.fault.tolerance.interceptor.priorityの設定値を優先します。 |
4010 |
| mpft.appName |
メトリクス情報のタグ「_app」に付与するAP名です。 複数アプリケーションを配備する際にアプリケーション毎に本設定を指定することで、アプリケーション毎にメトリクス情報を判別することが可能です。 指定しない場合は「_app」タグ自体を付与しません。 |
無し |
| [<クラス名>/][<メソッド名>/]<アノテーション名>/<パラメータ> |
各Fault Toleranceアノテーションのパラメータをオーバライドする設定です。 クラス名やメソッド名を指定した場合はオーバーライドする範囲を限定します。 なお、あるパラメータに対して、範囲の異なる複数の指定が行われた場合、より範囲の狭い方を優先します。 |
無し |
| [<クラス名>/][<メソッド名>/]<アノテーション名>/enabled |
各Fault Toleranceアノテーションの使用可否設定です。値にはtrue(使用可)/false(使用不可)を指定します。 クラス名やメソッド名を指定した場合は使用可否設定する範囲を限定します。 なお、あるアノテーションに対して、範囲の異なる複数の指定が行われた場合、より範囲の狭い方を優先します。 |
無し |
MicroProfile Health Checkに関する設定について説明します。
MicroProfile JWT Authenticationに関する設定について説明します。
各項目は、MicroProfile Config を利用して設定します。設定方法や、設定値の優先順位等、詳細は、[ アプリケーション開発 > その他のアプリケーション > マイクロサービスアプリケーションの開発 > MicroProfile Config ] を参照してください。
| 設定名 | 説明 | 既定値 |
|---|---|---|
| mp.jwt.verify.publickey (mpjwt.publicKeyPemEnc) |
JWT の暗号化と復号化で利用する、認証サーバの公開鍵情報(鍵生成ツールで作成した公開鍵(文字列))を指定します。 mpjwt.publicKeyPemEnc は、旧バージョンでのプロパティ名で、本バージョンにおいても利用可能です。 なお、mp.jwt.verify.publickey と mpjwt.publicKeyPemEnc の両方の指定があり、mpjwt.publicKeyPemEnc に空文字以外の有効な値が指定されていた場合は、mpjwt.publicKeyPemEnc の値が優先されます。 本項目、および、mp.jwt.verify.publickey.location が指定されていない場合は、アプリケーション内の、 /META-INF/MP-JWT-SIGNER ファイルを読み込みます。 'mp.jwt' で始まる設定名は、Eclipse MicroProfile 仕様です。 'mpjwt'で始まる設定名は、WebOTX固有の設定名です。 |
無し |
| mp.jwt.verify.issuer (mpjwt.issuedBy) |
セキュリティ発行者情報を指定します。
mpjwt.issuedBy は、旧バージョンでのプロパティ名で、本バージョンにおいても利用可能です。
なお、mp.jwt.verify.issuer と、mpjwt.issuedBy の両方の指定があり、mpjwt.issuedBy
に空文字以外の有効な値が指定されていた場合は、mpjwt.issuedBy の値が優先されます。
本項目の指定が無い場合は、アプリケーション内の、/META-INF/MP-JWT-ISSUER ファイルを読み込みます。 'mp.jwt' で始まる設定名は、Eclipse MicroProfile 仕様です。 'mpjwt'で始まる設定名は、WebOTX固有の設定名です。 |
無し |
| mp.jwt.verify.publickey.location | 公開鍵情報の位置を指定します。相対パス、file://、http://、その他のスキームが利用可能です。 本項目、および、mp.jwt.verify.publickey (mpjwt.publicKeyPemEnc) が指定されていない場合は、 アプリケーション内の、/META-INF/MP-JWT-SIGNER ファイルを読み込みます。 | 無し |
| mp.jwt.verify.publickey.algorithm (smallrye.jwt.verify.algorithm (*1)) | 公開鍵の署名アルゴリズムを指定します。指定可能な値は、RS256、RS384、RS512、ES256、ES384、ES512、HS256、HS384、HS512、PS256、PS384、PS512のいずれかです。 | RS256 |
| mp.jwt.decrypt.key.location | 秘密鍵の外部または内部の場所を指定します。 | 無し |
| mp.jwt.token.header (smallrye.jwt.token.header (*1)) | JWT トークンを含むヘッダを指定します。指定可能な値は、Authorization、Cookie のいずれかです。 | Authorization |
| mp.jwt.token.cookie (smallrye.jwt.token.cookie (*1)) | JWT トークンを含むクッキー名を指定します。mp.jwt.token.header にCookieが指定されていない場合、この値は無視されます。 | Bearer |
| mp.jwt.verify.audiences (smallrye.jwt.verify.aud (*1)) | audクレームに含めることのできるオーディエンスを指定します。 カンマ (,) 区切りで複数指定することが可能です。本プロパティを設定することにより、JWTトークンのaudクレームに、指定されたオーディエンスのうち、少なくとも1つ含まれることが検証されます。 | 無し |
| smallrye.jwt.verify.key.location | 公開鍵、または、秘密鍵の位置を指定します。本プロパティが設定されている場合、mp.jwt.verify.publickey.locationの設定は無視されます。 | 無し |
| smallrye.jwt.always-check-authorization | mpjwt.token.header に 'Cookie' が指定されており、mpjwt.token.cookie に指定した名前の Cookie が存在しない場合に、
Authorization ヘッダをチェックするかどうかを指定します。 true : チェックする false : チェックしない |
false |
| smallrye.jwt.token.kid | 署名に使う鍵を識別するための、鍵IDを指定します。 これが設定されている場合、JWT トークンや、JWK (JSON Web Key) には、kid ヘッダの設定が必要となります。 | 無し |
| smallrye.jwt.token.schemes | Authorization ヘッダで使用されるスキームを指定します。カンマ (,) 区切りで、複数指定することが可能です。 | Bearer |
| smallrye.jwt.require.named-principal | sub、upn、preferred_user_name クレームのうち、少なくとも一つが指定されていることをチェックするかどうかを指定します。 true : チェックする false : チェックしない |
false |
| smallrye.jwt.claims.sub | デフォルトの sub クレームの値を指定します。 | 無し |
| smallrye.jwt.path.sub | Subject 名を含むクレームへのパスを指定します。 JWT トークンに sub クレームが無く、別のクレームに Subject 名が含まれているような場合に使用します。 | 無し |
| smallrye.jwt.claims.groups | デフォルトの groups クレームの値を指定します。 | 無し |
| smallrye.jwt.path.groups | グループ値を含むクレームへのパスを指定します。 JWT トークンに groups クレームが無く、別のクレームにグループ値が含まれているような場合に使用します。 | 無し |
| smallrye.jwt.groups-separator | 複数のグループ値を指定する場合のセパレータを指定します。 smallrye.jwt.path.groups で示される値が、文字列である場合に適用されます。 | (スペース) |
| smallrye.jwt.expiration.grace | 有効期限切れのトークンを受け入れる猶予(秒)を指定します。 既定では、現在の時刻がトークンの有効期限後、60秒以内であれば、期限切れのトークンを受け入れます。 | 60 |
| smallrye.jwt.time-to-live | JWTトークン発行後の有効期限(秒)を指定します。 JWTトークンの有効期限と、発行日の差は、この値を超えてはなりません。 | 無し |
| smallrye.jwt.jwks.refresh-interval | JWK (JSON Web Key) キャッシュの更新間隔 (分) を指定します。 | 60 |
| smallrye.jwt.jwks.forced-refresh-interval | JWK(JSON Web Key)キャッシュの強制リフレッシュ間隔(分)を指定します。 本設定は、mp.jwt.verify.publickey.location に、HTTPS URL ベースのJWKが設定されている場合に有効となります。 | 30 |
| smallrye.jwt.verify.key-format | サポートするキー形式を指定します。 指定可能な値は、PEM_KEY、PEM_CERTIFICATE、JWK、JWK_BASE64URL、ANY です。 | ANY |
| smallrye.jwt.required.claims | トークンに含める必要があるクレームを指定します。 カンマ (,) 区切りで複数指定することが可能です。 | ANY |
| smallrye.jwt.decrypt.algorithm | 復号化アルゴリズムを指定します。 | RSA_OAEP |
| smallrye.jwt.token.decryption.kid | 復号化キー識別子を指定します。本プロパティが設定されている場合、複合化JWKキーや、JWTトークンには、その設定値に合致するkidヘッダが設定されている必要があります。 | 無し |
| smallrye.jwt.verify.certificateThumbprint | X.509証明書のサムプリントを検証するかどうかを指定します。この設定が有効になっている場合、署名されたJWTトークンには「x5t(X.509証明書SHA-1 サムプリント)」または「x5t#S256(X.509証明書SHA-256 サムプリント)」が含まれている必要があります。この場合、検証キーはJWKまたはPEM形式のみとなります。 また、JWKキーには、「x5c(X.509 証明書チェーン)」プロパティが設定されている必要があります。 | false |
| smallrye.jwt.verify.relax-key-validation | 検証キーの検証を緩和するかどうかを指定。プロパティ値がtrueの場合は、長さが2048ビット未満のRSA公開鍵が許可されます。 | true |
| mpjwt.noTokenAllowed | HTTPヘッダにJWTトークンが設定されていない場合に、JWT認証を通過させるかどうかを指定します。 true:通過させる false:通過させず、HTTPステータス401を返却する | false |
*1: 旧バージョンとの互換のためのプロパティで、V11.1より非推奨となります。推奨と非推奨のプロパティ名が同時に指定された場合、非推奨のプロパティに対する設定は無視されます。
MicroProfile Metricsに関する設定について説明します。
MicroProfile OpenAPIに関する設定について説明します。
各項目は、MicroProfile Config を利用して設定します。設定方法や、設定値の優先順位等、詳細は、[ アプリケーション開発 > その他のアプリケーション > マイクロサービスアプリケーションの開発 > MicroProfile Config ] を参照してください。
| 設定名 | 説明 | 既定値 |
|---|---|---|
| mp.openapi.model.reader |
OASModelReader実装の完全修飾名を指定する。 指定できる完全修飾名は、1つだけ指定できます。 |
無し |
| mp.openapi.filter |
OASFilter実装の完全修飾名を指定する。 指定できる完全修飾名は、1つだけ指定できます。 |
無し |
| mp.openapi.scan.disable | アノテーションスキャンを無効にする。 | false |
| mp.openapi.scan.packages | スキャンするパッケージのリストを指定する。 | 無し |
| mp.openapi.scan.classes | スキャンするクラスのリストを指定する。 | 無し |
| mp.openapi.scan.exclude.packages | スキャンから除外するパッケージのリストを指定する。 | 無し |
| mp.openapi.scan.exclude.classes | スキャンから除外するクラスのリストを指定する。 | 無し |
| mp.openapi.servers | 接続するグローバルサーバーのリストを指定する。 | 無し |
| mp.openapi.servers.path | パス内のすべてを使用し処理するサーバーの代替リストを指定する。 | 無し |
| mp.openapi.servers.operation. | 操作を処理するサーバーの代替リストを指定する。 | 無し |
| mp.openapi.schema. | 指定クラスのスキーマを指定する。このプロパティは開発者が該当クラスのソースコードにアクセスできない場合に使用する。 | 無し |
MicroProfile OpenTracingに関する設定について説明します。
各項目は、Java VM システムプロパティ、または、環境変数として指定してください。ただし、mp.opentracing.client-builder.thread-pool-size プロパティについては、アプリケーション内の、META-INF/microprofile-config.properties での指定も可能です。
| 設定名 | 説明 | 既定値 |
|---|---|---|
| mp.opentracing.enabled | MicroProfile OpenTracing によるトレース情報採取を行うかどうかを指定します。 true : トレース情報を採取する false : トレース情報を採取しない |
false |
| mp.opentracing.server.skip-pattern | トレース情報採取をしないURLパターンを、java.util.regex.Pattern に準拠した記法で指定します。 例) /foo|/bar.* |
− |
| mp.opentracing.server.operation-name-provider | スパンのオペレーション名の形式を指定します。指定可能な値は、次の通りです。 class-method : デフォルトの名前。[<HTTP method<:]<package name>.<class name>.<method name>の形式。 http-path : <HTTP method>:<エンドポイントクラスの@Pathの値>/<エンドポイントメソッドの@Pathの値>の形式。 |
class-method |
| mp.opentracing.client-builder.thread-pool-size | ClientTracingRegistrar.configure(ClientBuilder) メソッドで、ClientBuilder に設定する Executor のスレッドプールサイズを指定します。 本プロパティは、アプリケーション内の、META-INF/microprofile-config.properties でも指定可能です。 |
20 |
| mp.opentracing.tracer.class | @Injectアノテーションを付与したio.opentracing.Tracerで取得できるTracerオブジェクトのクラスを指定します。 指定が無ければ、その環境で動作しているトレーサー実装 (既定では、Jaeger) の Tracer オブジェクトを保持する io.opentracing.util.GlobalTracer を返します。 なお、指定する Tracer クラスのオブジェクトは、io.opentracing.contrib.tracerresolver.TracerResolver で取得できるようにしておく必要があります。 また、TracerResolver で取得した Tracer クラスと、本プロパティで指定したクラスが一致しない場合は、既定値の GlobalTracer を返します。 | io.opentracing.util.GlobalTracer |
| mp.opentracing.servlet.class | トレース対象となる JAX-RS アプリケーションのサーブレットクラスの FQCN を指定します。, (カンマ) 区切りで複数指定することが可能です。 | org.glassfish.jersey.servlet.ServletContainer |
| mp.opentracing.provider.parameter.<FQCN> | mp.opentracing.servlet.class プロパティで指定した各サーブレットに対して、@Provider クラスを指定するためのパラメータ名を指定します。 MicroProfile OpenTracing では、@Provider として、javax.ws.rs.container.DynamicFeature を実装した io.smallrye.opentracing.SmallRyeTracingDynamicFeature を登録するため、 JAX-RS の実装に応じて、適切なパラメータ名を指定してください。 | jersey.config.server.provider.classnames |
| mp.opentracing.provider.target.<FQCN> | mp.opentracing.servlet.class プロパティで指定した各サーブレットに対して、@Provider クラスの設定対象を指定します。指定可能な設定対象は、次の通りです。 init-param : サーブレットの初期化パラメータに設定 context-param : サーブレットコンテキストの初期化パラメータに設定 attribute : アプリケーションスコープの属性に設定 |
init-param |
WebOTX で動作する Jaeger Client に対して設定可能な項目は、次の通りです。Java VM システムプロパティ、または、環境変数として指定してください。
なお、V11.1より、MicroProfile OpenTracing 機能を有効にしてトレース情報を採取する場合は、事前にJaeger Client関連ライブラリのインストールが必要です。詳細は、[ アプリケーション開発 > その他のアプリケーション > マイクロサービスアプリケーションの開発 > MicroProfile OpenTracing > 概要 > トレース情報採取のための準備 ] を参照してください。
また、WebOTX Operator を利用している場合は、これらを、カスタムリソースとして指定することが可能です。 カスタムリソースの設定名等、詳細については、[ WebOTX Operator for Kubernetes > カスタムリソース設定項目・設定方法 ] を参照してください。
| 設定名 | 説明 | 既定値 |
|---|---|---|
| JAEGER_SERVICE_NAME | サービス名を指定します。指定は必須です。Jaeger UIでの検索時等に、使用します。 | jaegerservice |
| JAEGER_AGENT_HOST | エージェント (jaeger-agent) が動作するホスト名を指定します。 WebOTX とは別のホストで Jaeger が動作している場合に指定が必要となります。 | localhost |
| JAEGER_AGENT_PORT | エージェント (jaeger-agent) が動作する UDP のポート番号を指定します。 | 6831 |
| JAEGER_ENDPOINT | クライアント (jaeger-client) から、エージェント (jaeger-agent) を使わずに、直接、コレクタ (jaeger-collector) に接続する場合に、エンドポイント URL を指定します。 "https://jaeger-collector:14268/api/traces" のような形式で指定します。 この指定がある場合、JAEGER_AGENT_HOST、JAEGER_AGENT_PORT は無視されます。 | − |
| JAEGER_AUTH_TOKEN | JAEGER_ENDPOINT で指定したエンドポイントへのリクエストで、トークンによる認証を行う場合、 "Bearer" として送信する認証トークンを指定します。 | − |
| JAEGER_USER | JAEGER_ENDPOINT で指定したエンドポイントへのリクエストに、基本認証を利用する場合のユーザ名を指定します。 | − |
| JAEGER_PASSWORD | JAEGER_ENDPOINT で指定したエンドポイントへのリクエストに、基本認証を利用する場合のパスワードを指定します。 otxadmin encryptコマンドにより暗号化した値を設定してください。 | − |
| JAEGER_PROPAGATION | トレースコンテキストの伝搬に使うヘッダフォーマットのカンマ (,) 区切りのリストを指定します。
指定可能な値は、次の通りです。 jaeger : Jaeger 標準形式 b3 : Zipkin の B3 形式 ("X-B3"で始まるヘッダ) w3c : W3C Trace Context 形式 |
jaeger |
| JAEGER_REPORTER_LOG_SPANS | レポーターがスパンのログを記録するかどうかを指定します。 true : スパンのログを記録する false : スパンのログを記録しない |
false |
| JAEGER_REPORTER_MAX_QUEUE_SIZE | レポーターの最大キューサイズを指定します。 | 100 |
| JAEGER_REPORTER_FLUSH_INTERVAL | レポーターのフラッシュ間隔 (ミリ秒) を指定します。 | 1000 |
| JAEGER_SAMPLER_TYPE | トレース情報をどの程度の割合で採取するかを決定するための、サンプラータイプを指定します。指定可能な値は、次の通りです。 const : 全トレースに対してサンプリングする/しないを指定 probabilistic : JAEGER_SAMPLER_PARAM に指定された確率で、ランダムにサンプリングする ratelimiting : 1 秒間に、JAEGER_SAMPLER_PARAM に指定された割合でサンプリングする remote : jaeger-agent 側で指定された方法でサンプリングする |
remote |
| JAEGER_SAMPLER_PARAM | サンプラーパラメータを指定します。
JAEGER_SAMPLER_TYPE で指定したサンプラーに対するパラメータ (数値) を指定します。
各サンプラータイプに対して指定する値は、次の通りです。 const : サンプリングする場合は1、しない場合は0を指定 probabilistic : 0.0より大きく、1.0より小さい値を指定 (例えば、0.1の場合、約1/10のトレースをサンプリング) ratelimiting : 1.0以上の値を指定 (例えば、2.0の場合、1秒間に2トレースの割合でサンプリング) |
− |
| JAEGER_SAMPLER_MANAGER_HOST_PORT | JAEGER_SAMPLER_TYPE に remote を指定した場合の接続先となるリモート制御サンプラーを、<ホスト名>:<ポート番号> の形式で指定します。 | localhost:5778 |
| JAEGER_TAGS | スパンに追加するタグを、名前=値の形式で指定します。カンマ (,) 区切りで、複数指定することが可能です。 | − |
MicroProfile Rest Clientに関する設定について説明します。
MicroProfile Config を利用して設定可能な項目を提示します。設定方法や、設定値の優先順位等、詳細は、[ アプリケーション開発 > その他のアプリケーション > マイクロサービスアプリケーションの開発 > MicroProfile Config ] を参照してください。
| 設定名 | 説明 | 既定値 |
|---|---|---|
| インターフェースの完全修飾名 + "/mp-rest/" + "url" または"uri" | MicroProfile Rest Client アプリケーションからJAX-RS アプリケーションにアクセスするために、JAX-RS アプリケーションのベースURL/URIを指定します。"mp-rest"は固定です。 例: sample.restclient.RestClientInterface/mp-rest/url=http://localhost/Hello |
無し |
| インターフェースの完全修飾名 + "/mp-rest/connectTimeout" | JAX-RS APへの接続を待機するためのタイムアウトを指定します。ミリ秒単位 |
無し |
| インターフェースの完全修飾名 + "/mp-rest/readTimeout" | JAX-RS APからの応答を待機するためのタイムアウトを指定します。ミリ秒単位 |
無し |
| インターフェースの完全修飾名 + "/mp-rest/hostnameVerifier" | カスタムのHostnameVerifierクラス名を指定します。 |
無し |
| インターフェースの完全修飾名 + "/mp-rest/keyStore" | キーストアの場所を指定します。クラスパスリソース("classpath:/client-keystore.jks"など)またはファイル("/home/user/client-keystore.jks"など)のいずれかを指定してください。 |
無し |
| インターフェースの完全修飾名 + "/mp-rest/keyStorePassword" | キーストアのパスワードを指定します。 |
無し |
| インターフェースの完全修飾名 + "/mp-rest/keyStoreType" | キーストアのタイプを指定します。 |
JKS |
| インターフェースの完全修飾名 + "/mp-rest/trustStore" | トラストストアの場所を指定します。クラスパスリソース("classpath:/client-keystore.jks"など)またはファイル("/home/user/client-keystore.jks"など)のいずれかを指定してください。 |
無し |
| インターフェースの完全修飾名 + "/mp-rest/trustStorePassword" | トラストストアのパスワードを指定します。 |
無し |
| インターフェースの完全修飾名 + "/mp-rest/trustStoreType" | トラストストアのタイプを指定します。 |
JKS |
| microprofile.rest.client.disable.default.mapper | デフォルト例外Mapperを無効にする場合、trueを設定します。 デフォルト例外Mapperは、レスポンスのHTTPステータスコードが400以上の場合にWebApplicationExceptionを返します。ただし、独自例外Mapperクラスが優先され、独自例外Mapperクラスで条件に一致しない場合にデフォルト例外Mapperが実行されます。 |
false |