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"
<!--NeedCopy-->

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

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

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

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"
<!--NeedCopy-->

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

:

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

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

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

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

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

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"
<!--NeedCopy-->
DataStreamのモニターを構成します

この記事の概要