この章では、定期的な管理作業の自動化、実行時のさまざまな状況に対応したアプリケーションサーバーの自己調整、および障害の発生防止による可用性の向上を目的とした管理ポリシーの設定について説明します。また、カスタマイズ可能な定義済み管理ルールである自己管理テンプレートについても説明します。
ここでは、次の内容について説明します。
管理ルールを設定すると、定期的な管理作業の自動化、実行時のさまざまな状況に対応したアプリケーションサーバーの自己調整、および障害の発生防止による可用性の向上を実現できます。管理ルールには、指定したイベントの発生時や設定したしきい値への到達時に行うアクションが含まれます。指定したイベントに基づいて修正アクションを自動的に実行できる管理ルールを設定できます。
管理ルールは、イベントとアクションの 2 つの部分から構成されます。
イベントは、JMX 通知機構を使用して定義済みのアクションをトリガーします。
アクションは、関連付けられたイベントが発生したときにトリガーされます。アクションは、javax.management.NotificationListener を実装した通知リスナーである MBean です。
たとえば、イベントが EJB ロガーによって記録された SEVERE メッセージであれば、アクションによってログメッセージの内容を含むアラートを管理者に送信できます。イベントが発生すると、イベントデータが javax.management.Notification の userData 部分の一部として渡されます。
ルールに指定したアクションは、カスタム MBean として実装する必要があります。そのため、管理ルールを設定する前に、イベント通知を受信したら適切なアクションを実行するように設計したカスタム MBean を配備してください。カスタム MBean の開発と配備については、『Sun GlassFish Communications Server 2.0 Developer’s Guide』の第 14 章「Developing Custom MBeans」を参照してください。
Communications Server には、いくつかの便利なイベントが用意されており、通知を発行するカスタム MBean を記述することで、それらのイベントをさらに拡張できます。プロパティーを変更することにより、各イベントをさらにカスタマイズできます。
使用可能なイベントタイプは次のとおりです。
監視イベント: MBean の属性を監視します。監視イベントは、javax.management.monitor パッケージと同様の機能を持っています。監視イベントは、Java SE 5 の javax.management.monitor が行う単純な属性の監視に加えて、複雑な属性の監視もサポートしています。
通知イベント: カスタム MBean からのイベントを通知します。これらのイベントを使ってカスタムイベントを作成することにより、イベント辞書を拡張します。通知を発行できる MBeans は、すべてイベントとして指定できます。
システムイベント:
ライフサイクル: サーバーの起動、シャットダウン、および終了を示すイベント。
ログ: 指定されたロガーがログエントリを書き込んだときにトリガーされるイベント。たとえば、EJB コンテナロガーが SEVERE ログエントリを記録したときに管理者にアラートを送信する管理ルールを作成できます。
タイマー: 指定された日時や間隔などでトリガーされるイベント。これらのイベントは、javax.management.timer パッケージと同様の機能を持っています。
トレース: HTTP/IIOP 要求メソッド、EJB メソッド、および Web メソッドの入口と出口でトリガーされるイベント。たとえば、サーブレットとの対話をログに記録するために使用するサーブレットフィルタを、Web メソッドの入口および出口イベントを使った管理ルールとして設計できます。
クラスタ: クラスタまたはインスタンスが起動、停止、または失敗したときにトリガーされるイベント。これらのイベントでは、グループ管理システムのクラスタ監視が使用されます。
管理コンソールで管理ルールを設定するには、次の手順に従います。
開発者プロファイルの場合は、「設定」->「管理ルール」の順に選択します。
クラスタおよびエンタープライズプロファイルの場合は、「設定」->「設定」->「管理ルール」の順に選択します。
管理ルールをグローバルに有効にするには、このページで「すべての規則」にチェックマークを付けます。管理ルールがグローバルに有効になっていない場合は、どの管理ルールも実行されません。
また、個別の管理ルールを有効にするには、このページで、有効にするルールの横にあるボックスをクリックし、「有効」をクリックします。
ルールの MBean も、ターゲットで有効にする必要があります。MBean を有効にするには、「カスタム MBean」->「MBean」の順に選択します。「カスタム MBean を編集」ページで、「ターゲット」タブをクリックして「カスタム MBean ターゲット」ページにアクセスします。このページで、一部またはすべてのターゲットで MBean を有効にできます。
詳細については、オンラインヘルプを参照してください。
コマンド行から管理ルールを作成するには、create-management-rule コマンドを使用します。管理ルールのプロパティーを設定するには、get および set コマンドを使用します。管理ルールを表示および削除するには、list-management-rules および delete-management-rule コマンドを使用します。詳細は、これらのコマンドのオンラインヘルプまたは『Sun GlassFish Communications Server 2.0 Reference Manual』を参照してください。