|
|
WebOTX Manual V10.4 (第4版) 目次を表示 |
マイクロサービスアプリケーションに関する設定について説明します。
MicroProfile Configに関する設定について説明します。
MicroProfile Fault Toleranceに関する設定について説明します。
各項目は、MicroProfile Config を利用して設定します。設定方法や、設定値の優先順位等、詳細は、[ アプリケーション開発 > その他のアプリケーション > マイクロサービスアプリケーションの開発 > MicroProfile Config ] を参照してください。
| 設定名 | 説明 | 既定値 |
|---|---|---|
| mpft.nonFallbackEnabled | Fallback、Asynchronous以外のアノテーション使用可否設定です。 | true(使用する) |
| mpft.syncCircuitBreaker | Circuit Breakerの使用可否設定です。 | true(使用する) |
| mpft.metricsEnabled |
MicroProfile Metricsを利用したメトリクス情報の取得可否設定です。 MicroProfile Metricsについては、[ アプリケーション開発 > その他のアプリケーション > マイクロサービスアプリケーションの開発 > MicroProfile Metrics ] を参照してください。 |
true(使用する) |
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.requireiss | JWT トークンで、iss クレームが必須かどうかを指定します。 true : iss クレーム必須 false : iss クレーム省略可能 |
true |
| smallrye.jwt.token.header | JWT トークンが設定されている HTTP ヘッダ名を指定します。 | Authorization |
| smallrye.jwt.token.cookie | JWT トークンを含む Cookie 名を指定します。 この項目を有効にするには、mpjwt.token.header に、'Cookie' を指定しておく必要があります。 | 無し |
| 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.algorithm | 署名のアルゴリズムを指定します。 指定可能な値は、RS256、RS384、RS512、ES256、ES384、ES512、HS256、HS384、HS512 です。 | RS256 |
| smallrye.jwt.verify.key-format | サポートするキー形式を指定します。 指定可能な値は、PEM_KEY、PEM_CERTIFICATE、JWK、JWK_BASE64URL、ANY です。 | ANY |
| smallrye.jwt.verify.aud | audクレームに含めることのできるオーディエンスを指定します。 カンマ (,) 区切りで複数指定することが可能です。 | ANY |
| smallrye.jwt.required.claims | トークンに含める必要があるクレームを指定します。 カンマ (,) 区切りで複数指定することが可能です。 | ANY |
MicroProfile Metricsに関する設定について説明します。
MicroProfile OpenAPIに関する設定について説明します。
MicroProfile Configの機能を介して、micromprofile-config.propertiesファイルに次の機能の使用可否を設定することができます。
micromprofile-config.propertiesはアプリケーションアーカイブ(war)のMETA-INF配下に配置します。
各項目は、MicroProfile Config を利用して設定します。設定方法や、設定値の優先順位等、詳細は、[ アプリケーション開発 > その他のアプリケーション > マイクロサービスアプリケーションの開発 > MicroProfile Config ] を参照してください。
| 設定名 | 説明 | 既定値 |
|---|---|---|
| mp.openapi.model.reader |
OASModelReader実装の完全修飾名を指定する。 指定できる完全修飾名は、1つだけ指定できます。 |
無し |
| mp.openapi.filter |
OASFilter実装の完全修飾名を指定する。 指定できる完全修飾名は、1つだけ指定できます。 |
無し |
| mp.openapi.scan.disable | アノテーションスキャンを無効にする。 | false |
| mpopenapi.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. | 操作を処理するサーバーの代替リストを指定する。 | 無し |
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.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 システムプロパティ、または、環境変数として指定してください。
なお、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 |
無し |
| microprofile.rest.client.disable.default.mapper | デフォルト例外Mapperを無効にする場合、trueを設定します。 デフォルト例外Mapperは、レスポンスのHTTPステータスコードが400以上の場合にWebApplicationExceptionを返します。ただし、独自例外Mapperクラスが優先され、独自例外Mapperクラスで条件に一致しない場合にデフォルト例外Mapperが実行されます。 |
false |