モニター・モード
アプリケーション・コントローラーにプロセス・モニターおよびユーザー定義モニターを構成するときに、アプリケーション・ モニターを使用するモードも指定できます。
- 始動モニター・モード
このモードでは、アプリケーション・モニターはクラスター・サービスの開始時に実行されます。 モニターは、アプリケーションが既にノード上で実行されているかどうかを検査します。 アプリケーションが実行中であることをモニターが示している場合、クラスター・サービスは、始動操作プロセス中にアプリケーション・コントローラー開始スクリプトを実行しません。 この機能は、以前に unmanage オプションを使用してクラスター・サービスを停止した場合に便利です。 unmanage オプションは、アプリケーションと他のリソースをノード上でアクティブ状態に維持します。 クラスター・サービスの再始動時に、始動モニターは、アプリケーションがまだ実行中であるかどうかを示すので、コントローラー開始スクリプトの実行による第 2 インスタンスの作成を回避できます。
始動モニターは、アプリケーション・コントローラーの安定化間隔で指定された時間の経過後に停止します。 モニターが安定化間隔内にゼロの戻りコードを返した場合、これはアプリケーションがすでに実行されており、コントローラー開始スクリプトが実行されないことを示します。 モニターが安定化間隔内にゼロ以外の戻りコードを返した場合、または何も返さない場合、アプリケーションは実行されておらず、コントローラー開始スクリプトの実行が開始されます。
始動モニターは、親/子リソース依存関係、または「後で開始」リソース・グループ依存関係を使用している場合は重要です。 始動モニターは、親リソース・グループまたはターゲット・リソース・グループ内のアプリケーションが、従属リソース・グループの開始前に実行されていることも検査します。
- 長期モード
このモードでは、アプリケーション・モニターはアプリケーションの開始後に使用され、アプリケーション・モニターはアプリケーションがまだ実行されているかどうかを検査します。 モニタリングは安定化間隔の満了後に開始されます。 ユーザー定義モニターの場合、ユーザー提供のモニターが定期的に呼び出されます。 SMIT では、間隔の値は「モニター間隔」フィールドで指定します。 プロセス・モニターの場合、モニターは、指定されたプロセスの終了を検出できる Reliable Scalable Cluster Technology (RSCT) サブシステムに依存します。
どのアプリケーション・コントローラーに対しても、このモードでモニターを構成できます。 また、アプリケーションの正常性を示す複数のモニターを指定できます。
例えば、重要なデータベース・プロセスの終わりを即時に示すようにプロセス・アプリケーション・モニターを構成できます。 また、トランザクションを定期的にデータベースに送信するようにユーザー定義モニターを構成することもできます。 ユーザー定義モニターはデータベースが要求に対してアクティブに応答しているかを検査するのに対し、プロセス・モニターは重要なデータベース・プロセスの終わりを即時に検出します。注: このモードでは、アプリケーション・モニターはアプリケーションの開始時には実行されず、実行中のアプリケーションの状況を検査しません。 ノードを管理解除した後にクラスター・サービス操作を開始すると、開始スクリプトがアプリケーションの実行状況を処理します。
- 両方
このモードでは、始動モニター・モードと長期モードの両方に同じアプリケーション・モニターが使用されます。 このモードで使用するユーザー定義モニターを作成しテストする場合は、同じモニターが異なる環境下で開始される際に正しく作動しなければなりません。 始動中にモニターが呼び出されると、モニターは安定化間隔で指定された時間だけ実行されます。 安定化間隔で指定された時間内にモニターが戻らない場合、モニターは停止し、アプリケーション開始スクリプトが実行されます。
SMIT の「モニター間隔」フィールドに指定した間隔により、アプリケーションが開始されて安定した後でユーザー定義長期モニターが実行される頻度が決まります。
始動モニターと長期モニターの両方に同じアプリケーション・モニターを使用する場合は、モニターがアプリケーション状態を確実に判別し、関連付けられた期間内に適切な標識を返すことが可能であるかを確認する必要があります。