前のトピック: pdm_userload - テナント データのロード次のトピック: カスタマイズ


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

サーバ状態監視は、サーバが運転負荷にどのように反応するかを観察し、クライアント リクエストへの反応性を追跡します。 この監視の目的は、サーバが必要なタスクを行うために十分な容量を常に保持するようにすることによって、サーバ故障を防ぐことです。 ほとんどの標準的な状態監視ツールは HTTP および HTTPS プロトコルによるリモート サーバ監視をサポートします。

CA SDM の自動的なフェールオーバ機能は、以下の HTTP ベースの標準インターフェースを公開します。

次の手順に従ってください:

  1. バックグラウンド サーバおよびすべてのスタンバイ サーバに Apache Tomcat をインストールします。

    注: Tomcat が JRE 1.7 を使用していることを確認し、Tomcat が CA SDM コンポーネントに対して設定されているポート番号を使用していないことを確認します。

  2. (オプション)インストールした Tomcat サーバに SSL を設定します。 SSL の設定の詳細については、「SSL 認証の設定方法」シナリオ、または「管理者ガイド」を参照してください。
  3. バックグラウンド サーバにログインします。
  4. healthservlet を展開します。 以下の手順に従います。
    1. $NX_ROOT/samples/HealthServlet フォルダから TOMCAT_HOME/webapps フォルダに HealthServlet.war ファイルをコピーします。
    2. Tomcat を再起動します。

    HealthServlet.war ファイルが webapps フォルダに展開されます。 展開を確認するには、HealthServlet フォルダが同じ webapps フォルダに作成されたことを確認します。

    展開が正常に終了すると、healthservlet がヘルス チェックを実行する準備ができます。 このチェックには、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 を検索します。

      たとえば、webengin プロセスは、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 を使用して、バックグラウンド サーバの状態監視を開始します。
  10. HTTP 503 応答を受け取った場合、サードパーティ ツールは自動的にフェールオーバ ロジックを開始します。