Hitachi

uCosminexus Application Runtime for Apache Tomcat ユーザーズガイド


10.4 稼働監視機能の設定(ユーザコマンドの実行)

稼働監視によって障害を検知した場合に,ユーザが定義したコマンドを実行させることができます。

ユーザコマンドは,稼働監視コンポーネントで管理するスレッドプールを使って,java.lang.ProcessBuilderによって実行します。クラウド・コンテナの管理インフラに情報を通知するコマンドを定義することで,情報通知ができます。

ユーザコマンドを定義するには,コマンドの内容とコマンドを実行するスレッドプールをconfig.properties(uCART設定ファイル)に設定する必要があります。

設定できる項目は次のとおりです。

該当するプロパティと設定例を次に示します。プロパティキーの「healthcheck.usercommand.defs.」の後ろに指定した<group-id>文字列がユーザコマンド定義のIDになります。この例では,「exec1」がユーザコマンド定義のIDです。

healthcheck.usercommand.threadpoolsize=10
healthcheck.usercommand.defs.exec1.command=senderrorCommand
healthcheck.usercommand.defs.exec1.args.1=param1
healthcheck.usercommand.defs.exec1.stdout.file.path=${common.base}/stdout.log
healthcheck.usercommand.defs.exec1.stderr.file.path=${common.base}/stderr.log

config.properties(uCART設定ファイル)については,「12.2 config.properties(uCART設定ファイル)」を参照してください。

ユーザコマンド定義のIDは,各監視項目の障害検知時の動作のアクションとして複数指定できます。複数指定したユーザコマンドのうち,1つの実行に失敗した場合,そのユーザコマンドに失敗したことを示すメッセージKDLR20228-Eを出力して,次のコマンドの実行を継続します。スレッドプールはユーザコマンド全体で共有します。