Citrix ADC

DataStream のモニターの構成

負荷分散された各データベースサーバーの状態をリアルタイムで追跡するには、モニターを各サービスにバインドする必要があります。モニタは、定期的にプローブをサービスに送信してサービスをテストするように設定されています。(これは、ヘルスチェックの実行と呼ばれることもあります)。 モニタは、プローブに対するタイムリーな応答を受信すると、サービスを UP としてマークします。指定された数のプローブに対するタイムリーな応答を受信しない場合、サービスは DOWN としてマークされます。

DataStream の場合は、組み込みのモニター、MYSQL-ECVとMSSQL-ECVを使用する必要があります。このモニターは、SQL リクエストを送信し、文字列の応答を解析する機能を提供します。

DataStreamのモニターを構成する前に、データベースユーザーの資格情報をNetScaler アプライアンスに追加する必要があります。モニタの設定については、負荷分散セットアップでのモニタの構成を参照してください。

モニターを作成すると、データベースサーバーとの TCP 接続が確立され、モニターの作成時に指定されたユーザー名を使用して接続が認証されます。その後、データベースサーバーに対する SQL クエリを実行し、サーバー応答を評価して、構成済みのルールに一致するかどうかを確認できます。

以下の例は、MYSQLサーバー用です。

:

次の例では、エラーメッセージの値を評価して、サーバーの状態を判別します。

add lb monitor lb_mon1 MYSQL-ECV -sqlQuery "select * from
table2;" -evalrule "mysql.res.error.message.contains("Invalid
User")"-database "NS" -userName "user1"

次の例では、応答のロー数を評価して、サーバーの状態を判断します。

add lb monitor lb_mon4 MYSQL-ECV -sqlQuery "select * from
table4;" -evalrule "mysql.res.atleast_rows_count(7)" -database "NS" -userName "user2"

次の例では、特定のカラムの値を評価して、サーバーの状態を判断します。

add lb monitor lb_mon3 MYSQL-ECV
-sqlQuery "select * from ABC;" -evalrule "mysql.res.row(1).double_elem(2) == 345.12"
-database "NS" -userName "user3"

次の例は、MSSQL サーバー用です。

:

次の例では、エラーメッセージの値を評価して、サーバーの状態を判別します。

add lb monitor lb_mon1 MSSQL-ECV -sqlQuery "select * from
table2;" -evalrule "mssql.res.error.message.contains("Invalid
User")"-database "NS" -userName "user1"

次の例では、応答のロー数を評価して、サーバーの状態を判断します。

add lb monitor lb_mon4 MSSQL-ECV -sqlQuery "select * from
table4;" -evalrule "mssql.res.atleast_rows_count(7)" -database "NS" -userName "user2"

次の例では、特定のカラムの値を評価して、サーバーの状態を判断します。

add lb monitor lb_mon3 MSSQL-ECV
-sqlQuery "select * from ABC;" -evalrule "mssql.res.row(1).double_elem(2) == 345.12"
-database "NS" -userName "user3"

DataStream のモニターの構成