ライセンス | 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");
}
}
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