Contrastプロファイルによる複数アプリケーションの構成

  • 更新
ライセンス SaaSおよびオンプレミス
製品 Assess
製品カテゴリ    Javaエージェント
サブカテゴリ 設定

 

ContrastプロファイルはJavaエージェントの機能で、同じJVMで実行する複数のアプリケーションを別々に構成することができます。Contrastプロファイルには、以下のContrastプロパティを設定できます。

  • contrast.application.code
  • contrast.application.group
  • contrast.application.metadata
  • contrast.application.name
  • contrast.application.session_id
  • contrast.application.session_metadata
  • contrast.application.tags
  • contrast.application.version
  • contrast.assess.tags
  • contrast.inventory.tags

プロファイルの設定は、特定のプロファイルを指定したアプリケーションのみに適用され、Contrastエージェントの通常の設定よりも優先されます。

 

注意事項:

この機能を利用するには、Javaエージェントのバージョン3.7.7.16760以降が必要です。

standalone_app_nameを指定すると、JavaエージェントはJVM/サーバ全体を1つのアプリケーションとして扱います。standalone_app_nameを有効にした場合、アプリケーションは1つとなるため、マルチテナントのアプリケーション構成は利用できません。standalone_app_nameを指定しない場合、起動時のルート検出はできません。

 

アプリケーションのプロファイルを設定する

アプリケーションのServlet初期化パラメータで、アプリケーションのプロファイルを設定します。プロファイル名は、小文字のASCII文字、数字、アンダースコアのみで指定してください。

プロファイル名は、web.xmlに宣言することで設定できます:

<context-param>
<param-name>contrast.profile</param-name>
<param-value>app1</param-value>
</context-param>

 

または、ServletContainerInitializerで設定できます:

public final class ExampleServletContainerInitializer
implements ServletContainerInitializer {
/* ... */
@Override
public final void onStartup(
final Set<Class<?>> annotatedClasses,
final ServletContext servletContext) {
/* ... */
servletContext.setInitParameter("contrast.profile", "app1");
}
}
もしくは、Spring Boot WARのSpringBootServletInitializerで設定できます:
@SpringBootApplication
public class ExampleSpringBootApplication
extends SpringBootServletInitializer {
/* ... */
@Override
public void onStartup(
final ServletContext servletContext)
throws ServletException {
/* ... */
servletContext.setInitParameter("contrast.profile", "app1");
super.onStartup(servletContext);
}
}

その他の種類のアプリケーションで、別のServlet初期化パラメータがある場合もあります。

 

アプリケーションのプロファイルをカスタマイズする

YAMLプロパティ

YAMLを使用する場合、以下のプロパティを設定することで、特定のアプリケーションに対してプロファイルの値を指定できます。

profile:
${profile.name}:

 

例えば、前述のapp1というプロファイルにAssessのタグを設定するには、次のように指定します:

profile:
app1:
assess:
tags: app1_assess_tags

 

詳細な例:

assess:
tags: general_assess_tags
profile:
app1:
assess:
tags: app1_assess_tags
application:
name: myConfigAppName
tags: app1_tags
session_metadata: buildNumber=1
app2:
assess:
tags: app2tags

 

アプリケーションのプロファイル設定は通常の設定より優先されるため、上記の例(および後述の環境変数とシステムプロパティの例)では、app1にはapp1_assess_tagsというタグ、app2にはapp2tagsというタグ、その他すべてのアプリケーションにはgeneral_assess_tagsが、Assessのタグとして設定されます。

 

環境変数

環境変数を使用する場合は、CONTRAST__PROFILE__${UPPERCASE_PROFILE_NAME}__を設定の前に付けることで、特定のアプリケーションに対してプロファイルの値を指定できます(UPPERCASE_PROFILE_NAMEの箇所は大文字でプロファイル名を指定)。例えば、前述のapp1プロファイルにAssessのタグを設定する場合は、以下をエクスポートします:

export CONTRAST__PROFILE__APP1__ASSESS__TAGS=app1_assess_tags

 

その他の例:

export CONTRAST__PROFILE__APP1__APPLICATION__NAME=myConfigAppName
export CONTRAST__PROFILE__APP1__APPLICATION__TAGS=app1_tags
export CONTRAST__PROFILE__APP1__APPLICATION__SESSION_METADATA='buildNumber=1'
export CONTRAST__PROFILE__APP2__ASSESS__TAGS=app2tags
export CONTRAST__ASSESS__TAGS=general_assess_tags

 

システムプロパティ

システムプロパティを使用する場合は、contrast.profile.${profile.name}.を設定の前に付けることで、特定のアプリケーションに対してプロファイルの値を指定できます:

-Dcontrast.profile.app1.assess.tags=app1_assess_tags

 

詳細な例:

-Dcontrast.profile.app1.application.name=myConfigAppName
-Dcontrast.profile.app1.application.tags=app1_tags
-Dcontrast.profile.app1.application.session_metadata='buildNumber=1'
-Dcontrast.profile.app2.assess.tags=app2tags
-Dcontrast.assess.tags=general_assess_tags

この記事は役に立ちましたか?

0人中0人がこの記事が役に立ったと言っています

他にご質問がございましたら、リクエストを送信してください