自動フェールオーバを有効にする方法

サーバ状態監視は、サーバが運転負荷にどのように反応するかを観察し、クライアント リクエストへの反応性を追跡します。 この監視の目的は、サーバが必要なタスクを行うために十分な容量を常に保持するようにすることによって、サーバ故障を防ぐことです。 ほとんどの標準的な状態監視ツールは HTTP および HTTPS プロトコルによるリモート サーバ監視をサポートします。
casm173
サーバ状態監視は、サーバが運転負荷にどのように反応するかを観察し、クライアント リクエストへの反応性を追跡します。 この監視の目的は、サーバが必要なタスクを行うために十分な容量を常に保持するようにすることによって、サーバ故障を防ぐことです。 ほとんどの標準的な状態監視ツールは HTTP および HTTPS プロトコルによるリモート サーバ監視をサポートします。
CA SDM の自動的なフェールオーバ機能は、以下の HTTP ベースの標準インターフェースを公開します。
  • 状態監視インターフェース: バックグラウンド サーバの状態を監視する HTTP(S) インターフェース。 また、バックグラウンド サーバの可用性または必要なタスクを行う機能への悪影響が生じたときに、選択されたスタンバイ サーバのフェールオーバを開始する信頼できるフェールオーバ決定を下します。
  • フェールオーバ開始インターフェース: サービス断絶を生じることなく、新しいバックグラウンド サーバとして選択されたスタンバイ サーバをシームレスに昇格する HTTP(S)インターフェース。
以下の手順に従います。
  1. バックグラウンド サーバおよびすべてのスタンバイ サーバに Apache Tomcat 8.5.43 をインストールします。
    Tomcat で JRE 1.8 が使用されており、さらに、CA SDM コンポーネント向けに設定されているポート番号が使用されていないことを確認します。
  2. (オプション)インストールした Tomcat サーバに SSL を設定します。 SSL の設定の詳細については、「SSL 認証を設定する方法」を参照してください。
  3. バックグラウンド サーバにログインします。
  4. health サーブレットを展開します。 以下の手順に従います。
    1. $NX_ROOT/samples/HealthServlet フォルダから
      TOMCAT_HOME
      /webapps フォルダに HealthServlet.war ファイルをコピーします。
    2. Tomcat を再起動します。
    HealthServlet.war ファイルが webapps フォルダに展開されます。 展開を確認するには、HealthServlet フォルダが同じ webapps フォルダに作成されたことを確認します。
    展開が正常に終了すると、health サーブレットがヘルス チェックを実行する準備ができます。 このチェックでは、SLUMP のステータスの確認、および health.xml ファイルで定義されている CA SDM プロセスの状態の確認などが行われます。 health.xml ファイルは、以下の場所にあります。
    TOMCAT_HOME/webapps/HealthServlet/WEB-INF/classes
  5. (オプション)組織の要件に基づいて、health.xml をカスタマイズします。 たとえば、webengine プロセスを監視する場合があります。 CA SDM で定義されているように、プロセスを正しい tagname がある health.xml ファイルに追加します。 tagname を探すには、以下の手順に従います。
    1. $NX_ROOT/pdmconf ディレクトリから pdm_startup.i ファイル、および pdm_startup ファイルを開きます。
    2. 両方のファイルで監視するプロセスを探します。
    3. 両方のファイルで、変数を照合することで、対応する tagname を検索します。
      たとえば、webengine プロセスは、pdm_startup.i ファイルで以下のように定義されています。
      #define WEBENGINE(_TAG,_HOST,_SLUMP_NAME,_DOMSRVR, _CFG, _WEBDIRECTOR, _RPC_NAME)
      webengin プロセスは、pdm_startup ファイルで以下のように定義されています。
      WEBENGINE(webengine, $NX_LOCAL_HOST, web:local, domsrvr, $NX_ROOT/bopcfg/www/web.cfg, "", "rpc_srvr:%h")
      この例から、webengine プロセスの tagname が webengine であることがわかります。
      新しいプロセスを作成する場合、既存のプロセスは pdm_startup ファイルでコメントアウトされ、新しいエントリが追加されます。 新しいプロセス エントリの中の tagname を探すようにします。
      health.xml を変更する場合、XML にエラーがないことを確認し、XML への変更を反映するために Tomcat を再起動します。
  6. すべてのスタンバイ サーバで手順 4 および 5 を実行します。
  7. 選択されたサードパーティ ツールを設定して、定期的にバックグラウンド サーバの状態を監視します。 状態を監視するには、以下の HTTP URL を使用します。
    http(s)://Background_server_name:port_number/HealthServlet/GetHealth
  8. バックグラウンド サーバの健全性が下がったときにフェールオーバ ロジックを開始するように、選択されたサードパーティ ツールを設定します。 スタンバイ サーバを新しいバックグラウンド サーバとして昇格させるようにフェールオーバ ロジックを設定することをお勧めします。 フェールオーバ ロジックで以下のフェールオーバ サーブレットを使用します。
    事前定義済みユーザのみがアクセス権限を持つように SSL 上のフェールオーバ サーブレットを設定することを推奨します。 サード パーティのツールを設定してフェールオーバを開始する際の推奨事項に従ってください。
    http(s)://Standby_server_name:port_number/HealthServlet/FailoverServlet
    自動フェールオーバが有効になります。
  9. 設定が正常に終了すると、サードパーティ ツールは healthservlet URL を使用して、バックグラウンド サーバの状態監視を開始します。
    • 各サーバ タイプには、一連の独自のプロセスがあります。 SLUMP およびすべての CA SDM プロセスが正しく動作していれば、サードパーティ ツールは事前定義済みペイロードを持つバックグラウンド サーバからの HTTP 200 レスポンスを以下のように受け取ります。
      AA-Server-Status: All OK! AA-Server-Role: BG
    • SLUMP または CA SDM プロセス(health.xml にリストされている)が動作を停止し、再開できない場合は、サードパーティ ツールは事前定義済みペイロードを持つバックグラウンド サーバから HTTP 503 レスポンスを以下のように受け取ります。
      AA-Server-Status: NOT OK! AA-Server-Role: BG
  10. HTTP 503 応答を受け取った場合、サードパーティ ツールは自動的にフェールオーバ ロジックを開始します。