パス監視を使用したクラスタ内のサービスの監視
クラスタ設定では、モニタリングサービスの所有権がノード間で分散されます。したがって、異なるノードは異なるサービスを監視します。サービスを監視するノードは、サービス所有者と呼ばれます。サービス所有者だけがサーバーをプローブし、サーバーに割り当てられたサービスのステータスを監視します。さらに、クラスタ内の他のすべてのノードにサービスのステータスを伝達します。分散型監視の欠点は、すべてのノードとサーバー間のネットワーク接続とリンク状態が決定されないことです。この欠点を克服するには、パスモニタリングを使用できます。
注
サービスを監視するノードを選択することはできません。サービスを監視するノードの選択は、内部メカニズムを介して行われます。
show service <service name>
およびshow serviceGroup <service group name>
コマンドを使用すると、サービスを監視する所有者ノードを確認できます。
パスモニタリングは、ノードとサーバーによって提供されるサービスの間のネットワーク接続とリンク状態をチェックします。ノードは ICMP ping を送信して、サーバが到達可能かどうかを検証します。
パス監視の仕組み
3つのノードN1、N2、およびN3で構成されるCitrix ADCクラスタの例を考えてみましょう。N2は、HTTPサービス(S1)の状態を監視するサービス所有者です。サービス状態をクラスタ内の他のノードにアドバタイズします。パス監視は、クラスタ内のすべてのノードで、すべてのサービスに対して有効になります。各ノードは ICMP ping だけをサーバに送信します。サービスの所有者は、HTTP サービスリクエストと ICMP ping の両方を送信します。各ノードは、パス監視状態をサービス所有者に報告します。
次の 2 つのパラメーターは、ノードのサービス状態を決定します。
- S = サービス所有者によってアドバタイズされたサービス状態
- P = 各ノードのパス監視状態
ノードがサーバに到達できるかどうかは、そのノードのパス監視状態を決定します。
次の表は、pathMonitorIndvパラメータが有効または無効になっている場合の、パス監視状態に基づいて設定されたサービス状態を示しています。
パラメーター | パス監視の状態 | サービスの状態 |
---|---|---|
pathMonitorIndv = 番号;デフォルトの構成です。 | P1 = DOWN | S1 = DOWN |
P2 = UP | S1 = DOWN | |
P3 = UP | S1 = DOWN | |
pathMonitorIndv = YES | P1 = DOWN | S1 = DOWN |
P2 = UP | S1 = UP | |
P3 = UP | S1 = UP |
この例では、サービス所有者は、パス監視状態が DOWN に設定されているノードに基づいて、すべてのノードのサービス状態を決定します。いずれかのノードのパス監視状態が DOWN の場合、サービス所有者はすべてのノードのサービス状態を DOWN に設定します。すべてのノードのサービス状態は、各ノードのパス監視状態が UP の場合にのみ UP に設定されます。
pathMonitorIndv パラメーターを有効にすると、個々のノードのパス監視を使用できます。このパラメータを使用すると、サービス所有者は、各ノードのパス監視状態に基づいて、各ノードのサービス状態を設定できます。
注
pathMonitorIndvパラメーターが設定されている場合、永続性などの一部の機能が機能しなくなる可能性があります。
パス監視の設定
パスモニタリングは、すべてのサービスおよびサービスグループに適用できます。パスモニタリングパラメータは、デフォルトで無効になっています。
CLI を使用してサービス/サービスグループのパスモニタリングを有効にするには
コマンドプロンプトで入力します。
add service <service name> <IP address> <service type> <port> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
add servicegroup <servicegroup name> <service type> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
<!--NeedCopy-->
例:
add service s1 1.1.1.1 HTTP 80 -pathMonitor YES
add servicegroup sg_1 HTTP -pathMonitor YES
add service s1 1.1.1.1 HTTP 80 -pathMonitor YES -pathMonitorIndv YES
add servicegroup sg_1 HTTP -pathMonitor YES -pathMonitorIndv YES
<!--NeedCopy-->
次のように、set コマンドからパスモニタリングパラメータを設定することもできます。
set service <service name> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
set servicegroup <servicegroup name> [-pathMonitor <YES | NO>] [-pathMonitorIndv <YES | NO>]
<!--NeedCopy-->
例:
set service s1 -pathMonitor YES
set servicegroup sg_1 -pathMonitor YES
set service s1 -pathMonitorIndv YES
set servicegroup sg_1 -pathMonitorIndv NO
<!--NeedCopy-->
GUI を使用してサービス/サービスグループのパスモニタリングを有効にするには
-
[ トラフィック管理 ] > [ 負荷分散 ] > [ サービス] に移動します。
サービスグループの場合は、[トラフィック管理] > [ロードバランシング] > [サービスグループ] に移動します。
- [サービス/サービスグループ] ペインで、リストからサービス/ サービスグループを選択し、ダブルクリックして開きます。
- [サービスの設定] タブで、[編集] をクリックします。
- [パス監視]を選択します。
- 適用する場合は、[個別のパス監視] を選択し、[OK] をクリックします。
注
個々のパスモニタリングを有効にできるのは、パスモニタリングを有効にしている場合だけです。