Cosminexus システム構築ガイド

[目次][用語][索引][前へ][次へ]

6.3.4 Managementイベント発行機能を利用する各機能の設定

Managementイベントを発行する機能の設定をしてください。

ここでは,例として,次の機能でManagementイベントを発行させるために必要な設定について説明します。

<この項の構成>
(1) リソース枯渇監視の設定
(2) J2EEアプリケーション実行時間の監視の設定

(1) リソース枯渇監視の設定

リソースの監視間隔やしきい値を指定してリソースを監視し,しきい値を超えた場合にManagementイベントが発行されるように設定します。

J2EEサーバの場合,監視対象にできるリソースは,メモリ,ファイルディスクリプタ,スレッド数,スレッドダンプ,HTTPリクエスト実行待ちキュー,セッション数,コネクションプールです。SFOサーバの場合,監視対象にできるリソースは,メモリ,ファイルディスクリプタ,スレッド数,スレッドダンプです。なお,Windows,AIXでは,ファイルディスクリプタは監視できません。また,Linuxではスレッド数を監視できません。

リソース枯渇監視機能を使用するためには,次の二つの設定が必要です。

(a) リソース枯渇監視機能の有効化

簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)または論理SFOサーバ(sfo-server)の<configuration>タグ内に,ejbserver.watch.enabledパラメタでリソース枯渇監視機能を使用するかどうかを指定します。デフォルトの設定では,リソース枯渇監視機能の使用が有効になっていて,すべてのリソースが監視されるようになっています。

(b) リソース種別ごとのManagementイベント発行の設定

デフォルトの設定では,監視対象となるすべてのリソースにデフォルトのしきい値が設定されていて,そのしきい値を超えた場合にManagementイベントが発行されるようになっています。Managementイベント発行の設定を変更したい場合には,次の方法で設定を変更してください。

リソース種別ごとのManagementイベント発行の設定を次の表に示します。

表6-6 リソース種別ごとのManagementイベント発行の設定

リソース種別 設定個所 設定内容
メモリ 簡易構築定義ファイル J2EEサーバ単位またはSFOサーバ単位で,次のパラメタに,メモリ監視によるManagementイベント発行の有無,監視のしきい値,監視の間隔,リソース枯渇監視ログファイルの出力の有無,ファイルの面数,サイズを指定します。※1
  • ejbserver.watch.memory.enabled
  • ejbserver.watch.memory.threshold
  • ejbserver.watch.memory.writefile.enabled
  • ejbserver.watch.memory.interval
ファイルディスクリプタ J2EEサーバ単位またはSFOサーバ単位で,次のパラメタに,ファイルディスクリプタ監視によるManagementイベント発行の有無,監視のしきい値,監視の間隔,リソース枯渇監視ログファイルの出力の有無,ファイルの面数,サイズを指定します。
  • ejbserver.watch.fileDescriptor.enabled
  • ejbserver.watch.fileDescriptor.threshold
  • ejbserver.watch.fileDescriptor.writefile.enabled
  • ejbserver.watch.fileDescriptor.interval
スレッド数 J2EEサーバ単位またはSFOサーバ単位で,次のパラメタに,スレッド数監視によるManagementイベント発行の有無,監視のしきい値,監視の間隔,リソース枯渇監視ログファイルの出力の有無,ファイルの面数,サイズを指定します。
  • ejbserver.watch.thread.enabled
  • ejbserver.watch.thread.threshold
  • ejbserver.watch.thread.writefile.enabled
  • ejbserver.watch.thread.interval
スレッドダンプ J2EEサーバ単位またはSFOサーバ単位で,次のパラメタに,スレッドダンプ監視によるManagementイベント発行の有無,監視のしきい値,監視の間隔,リソース枯渇監視ログファイルの出力の有無,ファイルの面数,サイズを指定します。
  • ejbserver.watch.threaddump.enabled
  • ejbserver.server.threaddump.filenum
  • ejbserver.watch.threaddump.threshold
  • ejbserver.watch.threaddump.writefile.enabled
  • ejbserver.watch.threaddump.interval
HTTPリクエスト実行待ちキュー 簡易構築定義ファイル J2EEサーバ単位で,次のパラメタに,デフォルトの実行待ちキューの場合のHTTPリクエスト実行待ちキュー監視によるManagementイベント発行の有無,監視のしきい値,監視の間隔,リソース枯渇監視ログファイルの出力の有無,ファイルの面数,サイズを指定します。
  • ejbserver.watch.defaultRequestQueue.enabled
  • ejbserver.watch.defaultRequestQueue.threshold
  • ejbserver.watch.defaultRequestQueue.writefile.enabled
  • ejbserver.watch.defaultRequestQueue.interval
サーバ管理コマンド J2EEアプリケーション単位で,Webアプリケーションごとの実行待ちキューの場合のHTTPリクエスト実行待ちキュー監視の設定をします。
WAR属性ファイルの<thread-control>タグの<resource-watcher>タグ下にある<watcher-enabled>,<watcher-threshold>,<watcher-interval>,<watcher-writefile-enabled>タグで,HTTPリクエスト実行待ちキュー監視によるManagementイベント発行の有無,監視のしきい値,監視の間隔,リソース枯渇監視ログファイルの出力の有無を指定します。サーバ管理コマンドのcjgetapppropコマンドでWAR属性ファイルを取得し,ファイル編集後に,cjsetapppropコマンドで編集内容を反映させてください。
セッション数 サーバ管理コマンド J2EEアプリケーション単位で,セッション数監視の設定をします。
WAR属性ファイルの<http-session>タグの<resource-watcher>タグ下にある<watcher-enabled>,<watcher-threshold>,<watcher-interval>,<watcher-writefile-enabled>タグで,セッション数監視によるManagementイベント発行の有無,監視のしきい値,監視の間隔,リソース枯渇監視ログファイルの出力の有無を指定します。サーバ管理コマンドのcjgetapppropコマンドでWAR属性ファイルを取得し,ファイル編集後に,cjsetapppropコマンドで編集内容を反映させてください。
簡易構築定義ファイル J2EEサーバ単位で,次のパラメタに,リソース枯渇監視ログファイルの面数,サイズを指定します。
  • ejbserver.logger.channels.define.<チャネル名>※2.filenum
  • ejbserver.logger.channels.define.<チャネル名>※2.filesize
コネクションプール サーバ管理コマンド リソースアダプタ単位で,コネクションプール監視の設定をします。
Connector属性ファイルの<property-name>タグとして指定する<WatchEnabled>,<WatchThreshold>,<WatchInterval>,<WatchWriteFileEnabled>タグで,コネクションプール監視によるManagementイベント発行の有無,監視のしきい値,監視の間隔,リソース枯渇監視ログファイルの出力の有無を指定します。サーバ管理コマンドのcjgetrarpropコマンドでConnector属性ファイルを取得し,ファイル編集後に,cjsetrarpropコマンドで編集内容を反映させてください。※3
簡易構築定義ファイル J2EEサーバ単位で,次のパラメタに,リソース枯渇監視ログファイルの面数,サイズを指定します。
  • ejbserver.logger.channels.define.<チャネル名>※2.filenum
  • ejbserver.logger.channels.define.<チャネル名>※2.filesize

注※1 メモリ監視をする場合は,論理J2EEサーバ(j2ee-server)または論理SFOサーバ(sfo-server)の<configuration>タグ内に,JavaVM起動パラメタを定義します。JavaVM起動パラメタには,-XX:PermSizeと-XX:MaxPermSizeを指定し,メモリサイズは同じにすることをお勧めします。メモリサイズに異なる値を指定した場合,Permanent領域の領域拡張でもアラートが出力されることがあります。JavaVM起動パラメタの指定内容を次に示します。

<param-name>タグ
add.jvm.arg

<param-value>タグ

また,フルガーベージコレクションの予兆検知をするためには,JavaVMのTenured領域,New領域のサイズをチューニングする必要があります。

注※2 リソース種別ごとのチャネル名を次に示します。

注※3 リソースアダプタをデプロイする前にプロパティを定義する場合は,cjgetrespropコマンドとcjsetrespropコマンドを使用してください。


(2) J2EEアプリケーション実行時間の監視の設定

J2EEアプリケーション実行時間の監視とは,EJBおよびWebアプリケーションのリクエスト実行時間を監視する機能です。J2EEアプリケーション実行時間の監視機能によって,J2EEアプリケーションで無限ループなどの障害発生を検知すると,一定時間内に終了しなかったメソッド処理をタイムアウトしてユーザに通知し,さらにメソッドキャンセル機能によって使用中のトランザクションの強制決着とメソッドのキャンセルを実施できます。

リクエストの実行時間を監視して,無限ループなどの障害が発生した場合にManagementイベントが発行されるようにします。次に示す設定をしてください。

なお,メソッドタイムアウト機能の対象となる,Webアプリケーションのリクエスト処理やEJBのメソッド呼び出し処理にもタイムアウトを設定します。設定方法については,マニュアル「Cosminexus 機能解説」のJ2EEアプリケーション実行時間の監視機能の実装に関する説明を参照してください。

(a) J2EEサーバ単位での設定

簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,ejbserver.ext.method_observation.intervalパラメタで,J2EEアプリケーション実行時間の監視機能を使用するかどうか,および動作中のリクエスト処理がタイムアウトしていないか調査する時間間隔を指定します。

(b) J2EEアプリケーション単位での設定

J2EEアプリケーションの属性ファイルで,メソッドタイムアウトの時間と,メソッドキャンセルのモードを設定します。サーバ管理コマンドのcjgetapppropコマンドで属性ファイルを取得し,属性ファイル編集後に,cjsetapppropコマンドで編集内容を反映させます。