Hitachi

uCosminexus Application Runtime for Spring Boot ユーザーズガイド


18.2.4 指定可能なプロパティ

各機能で指定可能なプロパティについて説明します。

〈この項の構成〉

(1) 本製品全体に関するプロパティ

本製品全体に関するプロパティを次に示します。

表18‒3 本製品全体に関するプロパティ

キー名称

内容

指定可能値

省略可否

デフォルト

common.base

ログ出力先のデフォルトのルートディレクトリ,およびプロセスモニタやモニタ対象プロセスの作業ディレクトリとして利用します。

スナップショットログ生成の際,このプロパティ値を正規化したパスでファイルを収集します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが収集対象となります。

複数のプロセスモニタのプロセスを同一環境で動かす場合は,プロセスごとに一意となる値を指定してください。

絶対パス

  • 実行可能JAR/WAR形式の場合:<起動スクリプトのカレントディレクトリ>/hitachi_ucar_${monitor.rest.port}/logs

  • WARデプロイ形式の場合:${CATALINA_BASE}/logs

common.java.hitachi.javacoredir

日立JavaVMを使用する場合,スレッドダンプの出力先ディレクトリを指定します。環境変数JAVACOREDIRが指定されていた場合,このプロパティの値は使用されません。

スナップショットログ生成の際,このプロパティ値を正規化したパスでファイルを収集します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが収集対象となります。

絶対パス

${common.base}/threaddump

(2) プロセスモニタに関するプロパティ

プロセスモニタに関するプロパティを次に示します。

表18‒4 プロセスモニタに関するプロパティ

キー名称

内容

指定可能値

省略可否

デフォルト

monitor.log.message.filepath

メッセージログファイルの出力先ディレクトリとファイルプリフィックスを指定します。出力先のファイルパスは<monitor.log.message.filepathの指定値><ローテーション番号>.logになります。

スナップショットログ生成の際,このプロパティ値を正規化したパスでファイルを収集します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが収集対象となります。

複数のプロセスモニタのプロセスを同一環境で動かす場合は,プロセスごとに一意となる値を指定してください。

絶対パス

${common.base}/ucarmessage

monitor.log.message.filenum

メッセージログファイルのローテーション数を指定します。

1〜16の整数で指定します。

4

monitor.log.message.filesize

メッセージログの1ファイル当たりに書き込むおおよその最大量(単位:バイト)を示す数値を指定します。「おおよそ」とは,行の途中でファイルをローテーションさせないため,超過することがあることを意味します。

1〜2000000000の整数で指定します。

33554432

monitor.log.message.level

メッセージログのログ取得レベル(SEVERE,WARNING,INFO,CONFIG,FINE,FINER,FINEST,ALLのどれか)を示す文字列を指定します。各レベルの重要度はjava.util.logging.Levelに定義されているとおりです。詳細は,「18.2.5 ログ取得レベル」を参照してください。

次のどれかを指定します。

  • SEVERE

  • WARNING

  • INFO

  • CONFIG

  • FINE

  • FINER

  • FINEST

  • ALL

INFO

monitor.log.maintenance.filepath

保守ログファイルの出力先ディレクトリとファイルプリフィックスを指定します。出力先のファイルパスは<monitor.log.maintenance.filepathの指定値><ローテーション番号>.logになります。

スナップショットログ生成の際,このプロパティ値を正規化したパスでファイルを収集します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが収集対象となります。

複数のプロセスモニタのプロセスを同一環境で動かす場合は,プロセスごとに一意となる値を指定してください。

絶対パス

${common.base}/ucarmaintenance

monitor.log.maintenance.filenum

保守ログファイルのローテーション数を指定します。

1〜16の整数で指定します。

4

monitor.log.maintenance.filesize

保守ログの1ファイル当たりに書き込むおおよその最大量(単位:バイト)を示す数値を指定します。「おおよそ」とは,行の途中でファイルをローテーションさせないため,超過することがあることを意味します。

1〜2000000000の整数で指定します。

33554432

monitor.log.maintenance.level

保守ログのログ取得レベル(SEVERE,WARNING,INFO,CONFIG,FINE,FINER,FINEST,ALLのどれか)を示す文字列を指定します。各レベルの重要度はjava.util.logging.Levelに定義されているとおりです。

詳細は,「18.2.5 ログ取得レベル」を参照してください。

次のどれかを指定します。

  • SEVERE

  • WARNING

  • INFO

  • CONFIG

  • FINE

  • FINER

  • FINEST

  • ALL

INFO

monitor.log.stdout.filepath

モニタ対象プロセスの標準出力を保存するログファイルの,出力先ディレクトリとファイルプリフィックスを指定します。出力先のファイルパスは${monitor.log.stdout.filepath}<ローテーション番号>.logになります。

スナップショットログ生成の際,このプロパティ値を正規化したパスでファイルを収集します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが収集対象となります。

複数のプロセスモニタのプロセスを同一環境で動かす場合は,プロセスごとに一意となる値を指定してください。

絶対パス

${common.base}/ucarstdout

monitor.log.stdout.filenum

標準出力ログファイルのローテーション数を指定します。

1〜16の整数で指定します。

4

monitor.log.stdout.filesize

標準出力ログの1ファイル当たりに書き込むおおよその最大量(単位:バイト)を示す数値を指定します。「おおよそ」とは,行の途中でファイルをローテーションさせないため,超過することがあることを意味します。

1〜2000000000の整数で指定します。

33554432

monitor.log.stderr.filepath

モニタ対象プロセスの標準エラー出力を保存するログファイルの出力先ディレクトリとファイルプリフィックスを指定します。出力先のファイルパスは${monitor.log.stderr.filepath}<ローテーション番号>.logになります。

スナップショットログ生成の際,このプロパティ値を正規化したパスでファイルを収集します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが収集対象となります。

複数のプロセスモニタのプロセスを同一環境で動かす場合は,プロセスごとに一意となる値を指定してください。

絶対パス

${common.base}/ucarstderr

monitor.log.stderr.filenum

標準エラー出力ログファイルのローテーション数を指定します。

1〜16の整数で指定します。

4

monitor.log.stderr.filesize

標準エラー出力ログの1ファイル当たりに書き込むおおよその最大量(単位:バイト)を示す数値を指定します。「おおよそ」とは,行の途中でファイルをローテーションさせないため,超過することがあることを意味します。

1〜2000000000の整数で指定します。

33554432

monitor.jvm.options

プロセスモニタのJavaプロセスに指定するJavaVMオプションを指定します。

複数のオプションを指定する場合,空白区切りで指定してください。

自動的に設定されるJavaVMオプション(「19.2.4 JavaVMログ」に記載があるもの)を指定した場合は,デフォルト値ではなく,このプロパティでの指定値が適用されます。

任意文字列

-

monitor.tomcat.change.work.directory.enabled

モニタ対象プロセスの作業ディレクトリの変更可否を指定します。

trueを指定した場合:

common.baseの指定値を作業ディレクトリとします。

falseを指定した場合:

プロセスモニタ起動時のカレントディレクトリを作業ディレクトリとします。

falseに変更する場合,障害時にJavaVMが出力するログファイルが収集できなくなるおそれがあります。falseに変更する場合は,次のプロパティにカレントディレクトリを追加してください。

・snapshot.include.paths.<n>

次のどちらかを指定します。

  • true

  • false

true

monitor.target.forcestop.timeout

異常検知時にモニタ対象プロセスを終了する場合の,プロセス終了待ちタイムアウト時間(単位:ミリ秒)を指定します。

1〜3600000の整数で指定します。

10000

monitor.rest.port

プロセスモニタのHTTP機能の受付ポート番号を指定します。

1〜65535の整数で指定します。

28081

monitor.rest.bindaddress

プロセスモニタのHTTP機能に割り当てるIPアドレスを指定します。

リモートマシンから接続する場合に指定してください。その場合,ファイアウォールなどでアクセス元を制限したり,通信経路の安全性を確保したりするように注意してください。

localhostにループバックアドレス以外のIPアドレスを割り当てている場合,ループバックアドレスの値を設定してください。

任意文字列

localhost

(凡例)

-:なし

(3) 稼働監視機能に関するプロパティ

稼働監視機能に関するプロパティを次に示します。

表18‒5 稼働監視機能に関するプロパティ

キー名称

内容

指定可能値

省略可否

デフォルト

healthcheck.rest.connecttimeout

モニタ対象プロセスから稼働監視コンポーネントへのHTTP通信の接続タイムアウト時間(単位:ミリ秒)を指定します。0を指定した場合はタイムアウトしません。

0〜2147483647の整数で指定します。

3000

healthcheck.rest.readtimeout

モニタ対象プロセスから稼働監視コンポーネントへのHTTP通信の読み込みタイムアウト時間(単位:ミリ秒)を指定します。0を指定した場合はタイムアウトしません。

0〜2147483647の整数で指定します。

10000

healthcheck.heartbeat.interval

モニタ対象プロセスから稼働監視コンポーネントへ送信するハートビートの送信間隔(単位:ミリ秒)を指定します。

1〜2147483647の整数で指定します。

10000

healthcheck.heartbeatdelay.enabled

稼働監視コンポーネントがモニタ対象プロセスからのハートビートを監視するかどうかを指定します。

trueを指定した場合:

稼働監視コンポーネントで受信するモニタ対象プロセスからのハートビートを監視します。

falseを指定した場合:

稼働監視コンポーネントで受信するモニタ対象プロセスからのハートビートを監視しません。

次のどちらかを指定します。

  • true

  • false

true

healthcheck.heartbeatdelay.timeout

ハートビート待ちタイムアウトを指定します。

稼働監視コンポーネントがモニタ対象プロセスからのハートビートを受信してから次のハートビートを受信するまで待つ時間(単位:ミリ秒)を指定します。

0〜2147483647の整数で指定します。

60000

healthcheck.heartbeatdelay.actions.failure.usercommand.idrefs.<n>

稼働監視コンポーネントでハートビート待ちタイムアウトが発生した場合に実行するユーザコマンド定義のID(<group-id>)を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandキーの欄を参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義のID(<group-id>)

-

healthcheck.heartbeatdelay.actions.failure.snapshot

稼働監視コンポーネントでハートビート待ちタイムアウトが発生した場合に,スナップショットログを収集するかどうかを指定します。

trueを指定した場合:

スナップショットログを収集します。

falseを指定した場合:

スナップショットログを収集しません。

次のどちらかを指定します。

  • true

  • false

true

healthcheck.heartbeatdelay.actions.failure.terminate

稼働監視コンポーネントでハートビート待ちタイムアウトが発生した場合に,モニタ対象プロセスを停止するかどうかを指定します。

trueを指定した場合:

モニタ対象プロセスを停止します。

falseを指定した場合:

モニタ対象プロセスを停止しません。

次のどちらかを指定します。

  • true

  • false

false

healthcheck.heartbeatdelay.actions.recovery.usercommand.idrefs.<n>

稼働監視コンポーネントでハートビート待ちタイムアウトが発生したあとに,ハートビートを受信した初回に実行するユーザコマンド定義のID(<group-id>)を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandキーの欄を参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義のID(<group-id>)

-

healthcheck.unchangedlogfile.logfilename.glob

モニタ対象プロセス起動監視でログファイル更新チェックに使用するログファイル名をglob形式で指定します。

glob形式で指定したファイル名

catalina.*.log

healthcheck.initdelay.timeout

モニタ対象プロセス初期化完了通知待ちタイムアウトを指定します。

稼働監視コンポーネントを開始してから,モニタ対象プロセス初期化完了通知を受信するまでの時間(単位:ミリ秒)を指定します。0を指定した場合はタイムアウトしません。

0〜2147483647の整数で指定します。

60000

healthcheck.startdelay.timeout

モニタ対象プロセス開始完了通知待ちタイムアウトを指定します。

モニタ対象プロセス初期化完了通知を受信してから,モニタ対象プロセス開始完了通知を受信するまでの時間(単位:ミリ秒)を指定します。0を指定した場合はタイムアウトしません。

0〜2147483647の整数で指定します。

60000

healthcheck.startdelay.actions.failure.usercommand.idrefs.<n>

モニタ対象プロセス開始完了通知待ちタイムアウトが発生した場合に実行するユーザコマンド定義のID(<group-id>)を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandキーの欄を参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義のID(<group-id>)

-

healthcheck.startdelay.actions.failure.retrymax

モニタ対象プロセス開始完了通知待ちタイムアウトが発生した場合に,モニタ対象プロセス開始完了待ちをリトライする最大回数を指定します。

0〜2147483647の整数で指定します。

4

healthcheck.startdelay.actions.failure.snapshot

モニタ対象プロセス開始完了待ちタイムアウトが発生した場合に,スナップショットログを収集するかどうかを指定します。

trueを指定した場合:

スナップショットログを収集します。

falseを指定した場合:

スナップショットログを収集しません。

次のどちらかを指定します。

  • true

  • false

true

healthcheck.startdelay.actions.afterretry.terminate

モニタ対象プロセス開始完了待ちタイムアウトが発生した場合に,タイムアウトの回数がhealthcheck.startdelay.actions.failure.retrymaxで指定した最大リトライ回数を超えていたとき,モニタ対象プロセスを停止するかどうかを指定します。

trueを指定した場合:

モニタ対象プロセスを停止します。

falseを指定した場合:

モニタ対象プロセスを停止しません。

次のどちらかを指定します。

  • true

  • false

true

healthcheck.httprequest.enabled

稼働監視コンポーネントからヘルスチェックリクエストを送信するかどうかを指定します。

trueを指定した場合:

稼働監視コンポーネントからヘルスチェックリクエストを送信します。

falseを指定した場合:

稼働監視コンポーネントからヘルスチェックリクエストを送信しません。

次のどちらかを指定します。

  • true

  • false

true

healthcheck.httprequest.check.default.interval

稼働監視コンポーネントから送信するヘルスチェックリクエストの送信間隔(単位:ミリ秒)を指定します。

1〜2147483647の整数で指定します。

30000

healthcheck.httprequest.check.default.connecttimeout

稼働監視コンポーネントから送信するヘルスチェックリクエストのHTTP接続タイムアウト時間(単位:ミリ秒)を指定します。

0〜2147483647の整数で指定します。

3000

healthcheck.httprequest.check.default.readtimeout

稼働監視コンポーネントから送信するヘルスチェックリクエストのHTTP読み込みタイムアウト時間(単位:ミリ秒)を指定します。

0〜2147483647の整数で指定します。

10000

healthcheck.httprequest.actions.connectfailure.usercommand.idrefs.<n>

稼働監視コンポーネントから送信するヘルスチェックリクエストのHTTP接続タイムアウトが発生した場合に実行するユーザコマンド定義のID(<group-id>)を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandキーの欄を参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義のID(<group-id>)

-

healthcheck.httprequest.actions.connectfailure.snapshot

稼働監視コンポーネントから送信するヘルスチェックリクエストのHTTP接続タイムアウトが発生した場合に,スナップショットログを収集するかどうかを指定します。

trueを指定した場合:

スナップショットログを収集します。

falseを指定した場合:

スナップショットログを収集しません。

次のどちらかを指定します。

  • true

  • false

true

healthcheck.httprequest.actions.connectfailure.terminate

稼働監視コンポーネントから送信するヘルスチェックリクエストのHTTP接続タイムアウトが発生した場合に,モニタ対象プロセスを停止するかどうかを指定します。

trueを指定した場合:

モニタ対象プロセスを停止します。

falseを指定した場合:

モニタ対象プロセスを停止しません。

次のどちらかを指定します。

  • true

  • false

false

healthcheck.httprequest.actions.iofailure.usercommand.idrefs.<n>

稼働監視コンポーネントから送信するヘルスチェックリクエストのHTTP読み込みタイムアウトが発生した場合に実行するユーザコマンド定義のID(<group-id>)を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandキーの欄を参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義のID(<group-id>)

-

healthcheck.httprequest.actions.iofailure.snapshot

稼働監視コンポーネントから送信するヘルスチェックリクエストのHTTP読み込みタイムアウトが発生した場合に,スナップショットログを収集するかどうかを指定します。

trueを指定した場合:

スナップショットログを収集します。

falseを指定した場合:

スナップショットログを収集しません。

次のどちらかを指定します。

  • true

  • false

true

healthcheck.httprequest.actions.iofailure.terminate

稼働監視コンポーネントから送信するヘルスチェックリクエストのHTTP読み込みタイムアウトが発生した場合に,モニタ対象プロセスを停止するかどうかを指定します。

trueを指定した場合:

モニタ対象プロセスを停止します。

falseを指定した場合:

モニタ対象プロセスを停止しません。

次のどちらかを指定します。

  • true

  • false

false

healthcheck.httprequest.actions.errorresponse.usercommand.idrefs.<n>

稼働監視コンポーネントから送信するヘルスチェックリクエストの結果,エラーレスポンスを受信した場合に実行するユーザコマンド定義のID(<group-id>)を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandキーの欄を参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義のID(<group-id>)

-

healthcheck.httprequest.actions.errorresponse.snapshot

稼働監視コンポーネントから送信するヘルスチェックリクエストの結果,エラーレスポンスを受信した場合に,スナップショットログを収集するかどうかを指定します。

trueを指定した場合:

スナップショットログを収集します。

falseを指定した場合:

スナップショットログを収集しません。

次のどちらかを指定します。

  • true

  • false

true

healthcheck.httprequest.actions.errorresponse.terminate

稼働監視コンポーネントから送信するヘルスチェックリクエストの結果,エラーレスポンスを受信した場合に,モニタ対象プロセスを停止するかどうかを指定します。

trueを指定した場合:

モニタ対象プロセスを停止します。

falseを指定した場合:

モニタ対象プロセスを停止しません。

次のどちらかを指定します。

  • true

  • false

false

healthcheck.httprequest.actions.recovery.usercommand.idrefs.<n>

稼働監視コンポーネントから送信するヘルスチェックリクエストで異常を検知したあとに,ヘルスチェックリクエストが成功した初回に実行する,ユーザコマンド定義のID(<group-id>)を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandキーの欄を参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義のID(<group-id>)

-

healthcheck.stuckthread.enabled

稼働監視コンポーネントがモニタ対象プロセスからのリクエスト処理停滞通知を監視するかどうかを指定します。

trueを指定した場合:

稼働監視コンポーネントで受信するTomcatからのリクエスト処理停滞通知を監視します。

falseを指定した場合:

稼働監視コンポーネントで受信するTomcatからのリクエスト処理停滞通知を監視しません。

次のどちらかを指定します。

  • true

  • false

false

healthcheck.stuckthread.actions.failure.usercommand.idrefs.<n>

稼働監視コンポーネントがモニタ対象プロセスからのリクエスト処理停滞通知を検知した場合に実行する,ユーザコマンド定義のID(<group-id>)を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandキーの欄を参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義のID(<group-id>)

-

healthcheck.stuckthread.actions.failure.snapshot

稼働監視コンポーネントがモニタ対象プロセスからのリクエスト処理停滞通知を検知した場合に,スナップショットログを収集するかどうかを指定します。

trueを指定した場合:

スナップショットログを収集します。

falseを指定した場合:

スナップショットログを収集しません。

次のどちらかを指定します。

  • true

  • false

true

healthcheck.stuckthread.actions.failure.terminate

稼働監視コンポーネントがモニタ対象プロセスからのリクエスト処理停滞通知を検知した場合に,モニタ対象プロセスを停止するかどうかを指定します。

trueを指定した場合:

モニタ対象プロセスを停止します。

falseを指定した場合:

モニタ対象プロセスを停止しません。

次のどちらかを指定します。

  • true

  • false

false

healthcheck.stuckthread.actions.recovery.usercommand.idrefs.<n>

稼働監視コンポーネントがモニタ対象プロセスからのリクエスト処理停滞通知を検知したあとに,停滞解消通知を受信した際に実行するユーザコマンド定義のID(<group-id>)を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandキーの欄を参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義のID(<group-id>)

-

healthcheck.stuckthread.valve.enabled

実行可能JAR/WARプロセスで,停滞検出バルブを設定するかどうかを指定します。

次のどちらかを指定します。

  • true

  • false

false

healthcheck.stuckthread.valve.threshold

実行可能JAR/WARプロセスに停滞検出バルブを設定する場合に,停滞と見なすしきい値(単位:秒)を指定します。

0〜2147483647の整数で指定します

600

healthcheck.shutdown.enabled

稼働監視コンポーネントがモニタ対象プロセスの生存状態を監視するかどうかを指定します。

次のどちらかを指定します。

  • true

  • false

false

healthcheck.shutdown.actions.failure.condition

モニタ対象プロセスが終了したとき,自動的にユーザコマンドを実行するモニタ対象プロセスの終了ステータスの条件を選択します。ただし,稼働監視機能を起因とした停止要求の場合,この設定は無視されます。

ALWAYSを指定した場合:

終了ステータスによらず,常にユーザコマンドを実行します。

ERRORを指定した場合:

終了ステータスが0でも143(SIGTERMによる終了)でもないときに,ユーザコマンドを実行します。

NONZEROを指定した場合:

終了ステータスが0以外のときに,ユーザコマンドを実行します。

次のどれかを指定します。

  • ALWAYS

  • ERROR

  • NONZERO

ERROR

healthcheck.shutdown.actions.failure.usercommand.idrefs.<n>

稼働監視コンポーネントがモニタ対象プロセスの異常終了を検知したあとに,実行するユーザコマンド定義の<group-id>を指定します。ユーザコマンド定義の指定方法はhealthcheck.usercommand.defs.<group-id>.commandを参照してください。

healthcheck.usercommand.defsで始まるユーザコマンド定義の<group-id>

-

healthcheck.usercommand.defs.<group-id>.command

ユーザコマンド定義の実行コマンドを指定します。指定したコマンドはhealthcheck.usercommand.defs.<group-id>.args.<n>で指定したコマンド引数とともに,java.lang.ProcessBuilderで実行されます。コマンド実行時の作業ディレクトリはcommon.baseで指定したディレクトリです。

healthcheck.usercommand.defs.<group-id>から始まるプロパティを,可変値<group-id>の値でグループ化します。このプロパティは,<group-id>の値ごとに必須です。また,このプロパティキーに含まれる<group-id>の値は「ユーザコマンド定義のID」になります。

任意文字列

-

healthcheck.usercommand.defs.<group-id>.args.<n>

ユーザコマンド定義のコマンド引数を指定します。

healthcheck.usercommand.defs.<group-id>.commandで指定した実行コマンドに渡す,コマンド引数を指定します。<n>が連番ではない場合も間を空けず昇順でコマンド引数とします。

同じ<group-id>を持つhealthcheck.usercommand.defs.<group-id>.commandも指定する必要があります。

任意文字列

-

healthcheck.usercommand.defs.<group-id>.stdout.file.path

ユーザコマンドの標準出力をリダイレクトするファイルパスを絶対パスで指定します。指定がない場合は,モニタ対象プロセスの標準出力にリダイレクトします。

同じ<group-id>を持つhealthcheck.usercommand.defs.<group-id>.commandも指定する必要があります。

絶対パス

-

healthcheck.usercommand.defs.<group-id>.stderr.file.path

ユーザコマンドの標準エラー出力をリダイレクトする絶対パスを指定します。指定がない場合は,モニタ対象プロセスの標準エラー出力にリダイレクトします。

同じ<group-id>を持つhealthcheck.usercommand.defs.<group-id>.commandも指定する必要があります。

絶対パス

-

healthcheck.usercommand.defs.<group-id>.timeout

ユーザコマンドの終了待ちのタイムアウト時間(単位:ミリ秒)を指定します。

同じ<group-id>を持つhealthcheck.usercommand.defs.<group-id>.commandも指定する必要があります。

1〜3600000の整数で指定します。

30000

healthcheck.usercommand.threadpoolsize

ユーザコマンドの実行に使用する,稼働監視コンポーネントが管理するスレッドプールのサイズを指定します。

1〜1024の整数で指定します。

10

(凡例)

-:なし

(4) スナップショットログ収集機能に関するプロパティ

スナップショットログ収集機能に関するプロパティを次に示します。

表18‒6 スナップショットログ収集機能に関するプロパティ

キー名称

内容

指定可能値

省略可否

デフォルト

snapshot.log.filepath

スナップショットログの出力先ディレクトリとファイルプリフィックスを指定します。スナップショットログの出力パスは「<snapshot.log.filepathの指定値>_<yyyy-MM-dd_HH-mm-ss.SSS>_<n>.zip」です。

注1

yyyy-MM-dd_HH-mm-ss.SSSは出力要求時刻です。

注2

nはプロセスモニタを起動してから何回目の収集要求かを示す通番です。

注3

スナップショットログ生成の際,このプロパティ値を正規化したパスでファイルを除外します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが除外対象となります。

注4

複数のプロセスモニタのプロセスを同一環境で動かす場合は,プロセスごとに一意となる値を指定してください。

絶対パス

${common.base}/snapshot

snapshot.exclude.globs.<n>

スナップショットログの収集対象外とするファイル名をglob形式で指定します。このプロパティに該当するファイルはsnapshot.include.paths.<n>に含まれていても収集されません。${CATALINA_BASE}/conf/tomcat-users.xmlは収集対象外のため,このプロパティによる設定は不要です。スナップショットログ生成の際,このプロパティ値を正規化したパターンでファイルを除外します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが収集対象となります。「**/..」の場合も「**」が親ディレクトリと見なされるため,パターンから除去されます。例えば,/aaa/**/../cccの場合,/aaa/cccとなります。このプロパティの設定変更時はスナップショットログを手動で収集し,スナップショットログに意図したファイルが含まれるかどうかを確認してください。

  • 定義例

    snapshot.exclude.globs.1=${catalina.base}/conf/my_private.key

    snapshot.exclude.globs.2=${catalina.base}/logs/my_secret.log*

glob形式で指定したファイル名

-

snapshot.include.paths.<n>

スナップショットログに追加で収集するディレクトリまたはファイルパスを指定します。snapshot.exclude.globs.<n>に含まれるファイルは収集されません。スナップショットログ生成の際,このプロパティ値を正規化したパスでファイルを収集します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが収集対象となります。このプロパティ設定変更時はスナップショットログを手動で収集し,スナップショットログに意図したファイルが含まれるかどうかを確認してください。

  • 定義例

    snapshot.include.paths.1=/etc/myapp/common-web.xml

    snapshot.include.paths.2=/var/log/myextralogs

絶対パス

-

snapshot.maskingrule.regexes.<n>

スナップショットログに収集する際,マスキングするルールを正規表現で指定します。マッチした最初のグループを「*****」に置き換えます。この設定は次の収集対象に適用されます。

実行可能JAR/WAR形式とWARデプロイ形式共通
  • env,setコマンド実行結果の環境変数一覧が出力されたファイル

  • システムプロパティの値一覧が出力されたファイル

  • アプリケーション設定値情報のファイル

WARデプロイ形式の場合のみ
  • ${CATALINA_BASE}/bin/setenv.sh

  • ${CATALINA_BASE}/conf以下のファイル

  • アプリケーションに含まれるデプロイメント・ディスクリプタ

このプロパティの定義有無とは関係なく,次のルールが適用されます。

収集対象がアプリケーション設定値情報ファイルの場合:

password\s*[:=]\s*(.*)

spring\..*ur[il]\s*[:=]\s*(.*@.*)

spring\.datasource\.jndi-name\s*[:=]\s*(.*@.*)

アプリケーション設定値情報ファイル以外の場合:

password="(.+?)"

このプロパティの設定変更時はスナップショットログを手動で収集し,スナップショットログ内のファイルが意図したマスキング結果になることを確認してください。

  • xmlファイル中の特定要素をマスキングする場合の例

    <Resource secret="mysecret" />を<Resource secret="*****" />と置き換える場合

    snapshot.maskingrule.regexes.1=secret="(.+?)"

  • propertiesファイル中の特定プロパティをマスキングする場合の例

    com.example.secret=mysecretをcom.example.secret=*****と置き換える場合

    snapshot.maskingrule.regexes.1=^com\.example\.secret=(.+)$

  • 特定の環境変数をマスキングする場合の例

    MY_PASSWORD=mysecretをMYPASSWORD=*****と置き換える場合

    snapshot.maskingrule.regexes.1=^MYPASSWORD=(.+)$

正規表現

-

snapshot.onshutdownrequest.threaddumpnum

シャットダウン要求時,モニタ対象プロセスが稼働している場合にスレッドダンプを取得する回数を指定します。取得したスレッドダンプはシャットダウンの結果がsnapshot.onshutdownrequest.collect.conditionに該当する場合,スナップショットログとして出力されます。

プロセスモニタが停止シグナルを受ける終了方式の場合,スレッドダンプが取得されます。それ以外の終了方式の場合,プロセスモニタが取得を開始する前にモニタ対象プロセスが終了するため,スレッドダンプは取得されません。例えばシャットダウンポートによる終了が該当します。

0を指定した場合,取得しません。複数回を指定した場合,snapshot.default.threaddumpintervalの間隔で取得します。

0〜60の整数で指定します。

0

snapshot.onshutdownrequest.watchcommand.enabled

シャットダウン要求時,モニタ対象プロセスが稼働している場合にマシンリソースの使用状況を取得するかどうかを指定します。

trueを指定した場合:

マシンリソースの使用状況を取得します。

取得した情報はシャットダウンの結果がsnapshot.onshutdownrequest.collect.conditionに該当する場合,スナップショットログとして出力されます。

プロセスモニタが停止シグナルを受ける終了方式の場合,マシンリソース情報が取得されます。それ以外の終了方式の場合,プロセスモニタが取得を開始する前にモニタ対象が終了するため,マシンリソース情報は取得されません。例えばシャットダウンポートによる終了が該当します。

falseを指定した場合:

マシンリソースの使用状況を取得しません。

次のどちらかを指定します。

  • true

  • false

false

snapshot.onshutdownrequest.collect.condition

モニタ対象プロセス終了時に自動的にスナップショットログを収集する,モニタ対象プロセスの終了ステータスの条件を選択します。ただし,稼働監視機能を起因とした停止要求の場合,この設定は無視されます。

ALWAYSを指定した場合:

終了ステータスによらず,常にスナップショットログを収集します。

ERRORを指定した場合:

終了ステータスが0でも143(SIGTERMによる終了)でもないときに,スナップショットログを収集します。

NONZEROを指定した場合:

終了ステータスが0以外のときに,スナップショットログを収集します。

次のどれかを指定します。

  • ALWAYS

  • ERROR

  • NONZERO

ERROR

snapshot.onhealthcheck.threaddumpnum

稼働監視による障害検知時,モニタ対象プロセスが稼働している場合にスレッドダンプを取得する回数を指定します。

0を指定した場合,取得しません。複数回を指定した場合,snapshot.default.threaddumpintervalの間隔で取得します。

0〜60の整数で指定します。

3

snapshot.onhealthcheck.watchcommand.enabled

稼働監視による障害検知時,モニタ対象プロセスが稼働している場合にマシンリソースの使用状況を取得するかどうかを指定します。

trueを指定した場合:

マシンリソースの使用状況を取得します。

falseを指定した場合:

マシンリソースの使用状況を取得しません。

次のどちらかを指定します。

  • true

  • false

true

snapshot.rest.default.threaddumpnum

スナップショットログ収集REST API呼び出し時,スレッドダンプ取得回数オプションを省略した場合の取得回数を指定します。

0を指定した場合,取得しません。複数回を指定した場合,snapshot.default.threaddumpintervalの間隔で取得します。

0〜60の整数で指定します。

0

snapshot.rest.default.watchcommand.enabled

スナップショットログ収集REST API呼び出し時,モニタリング情報取得オプションを省略した場合,マシンリソースの使用状況を取得するかどうかを指定します。

trueを指定した場合:

マシンリソースの使用状況を取得します。

falseを指定した場合:

マシンリソースの使用状況を取得しません。

次のどちらかを指定します。

  • true

  • false

true

snapshot.default.threaddumpinterval

複数回スレッドダンプを取得する際,取得を完了してから次の取得を開始するまでの待機時間(単位:ミリ秒)を指定します。0を指定した場合,待機時間なしで連続してスレッドダンプを取得します。

0〜60000の整数で指定します。

1000

(凡例)

-:なし

(5) トレース機能に関するプロパティ

トレース機能に関するプロパティを次に示します。

表18‒7 トレース機能に関するプロパティ

キー名称

内容

指定可能値

省略可否

デフォルト

tracer.enabled

トレースを取得するかどうかを示す真偽値を指定します。

trueを指定した場合:

トレースを取得します。

falseを指定した場合:

トレースを取得しません。

次のどちらかを指定します。

  • true

  • false

true

tracer.queuesize

トレースの非同期出力で使う待ちキューのサイズ(行単位)を示す数値を指定します。実行待ちキューのサイズに比例して,Javaヒープが消費されます。

1〜2147483647の整数で指定します。

16384

tracer.log.filepath

出力先ディレクトリとログファイルプリフィックスを指定します。出力先のファイルパスは<tracer.log.filepathの指定値><ローテーション番号>.logになります。スナップショットログ生成の際,このプロパティ値を正規化したパスでファイルを収集します。正規化では「.」および,「<親ディレクトリ>/..」のパス要素を除去します。「..」の前のパス要素がシンボリックリンクの場合,実ファイルのパスと異なるパスが収集対象となります。

絶対パス

${common.base}/ucartrace

tracer.log.filenum

ログファイルのローテーション数を示す数値を示します。

1〜16の整数で指定します。

4

tracer.log.filesize

1つのログファイルに書き込むおおよその最大量(単位:バイト)を示す数値を指定します。「おおよそ」とは,行の途中でファイルをローテーションさせないため,超過することがあることを意味します。

1〜2000000000の整数で指定します。

33554432

tracer.log.level

ログ取得レベル(SEVERE,WARNING,INFO,CONFIG,FINE,FINER,FINEST,ALLのどれか)を示す文字列を指定します。各レベルの重要度はjava.util.logging.Levelに定義されているとおりです。

詳細は,「18.2.5 ログ取得レベル」を参照してください。

次のどれかを指定します。

  • SEVERE

  • WARNING

  • INFO

  • CONFIG

  • FINE

  • FINER

  • FINEST

  • ALL

FINE

(凡例)

-:なし

HMP-ADIFの分散トレーシング機能と連携して使用する場合のプロパティを次に示します。表に示すプロパティに無効な値を指定した場合,プロセスモニタでバリデーションエラーとなります。詳細は「14.1.5 プロセスモニタ機能適用後の終了ステータス」または「14.2.4 プロセスモニタ機能適用後の終了ステータス」を参照してください。

表18‒8 HMP-ADIFの分散トレーシング機能との連携に関するプロパティ

キー名称

内容

指定可能値

省略可否

デフォルト

tracer.hmp-adif.output-span-as-trace.enabled

HMP-ADIFのトレース情報を,本製品のトレースログに出力するかどうかを示す真偽値を指定します。

trueを指定した場合:

トレースログに出力します。

falseを指定した場合:

トレースログに出力しません。

次のどちらかを指定します。

  • true

  • false

false

tracer.hmp-adif.send-trace-as-span.enabled

本製品のトレース情報を,HMP-ADIFに送信するかどうかを示す真偽値を指定します。

trueを指定した場合:

トレース情報をHMP-ADIFに送信します。

falseを指定した場合:

トレース情報をHMP-ADIFに送信しません。

このプロパティにtrueを指定した場合,tracer.log.levelには次のどれかを指定してください。

  • FINE

  • FINER

  • FINEST

  • ALL

次のどちらかを指定します。

  • true

  • false

false