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 のモニターを構成する

この記事の概要