Citrix ADC

Konfigurieren von Monitoren für DataStream

Um den Status jedes Lastausgleichs-Datenbankservers in Echtzeit zu verfolgen, müssen Sie einen Monitor an jeden Dienst binden. Der Monitor ist so konfiguriert, dass er den Dienst testet, indem er regelmäßige Probes an den Dienst sendet, der manchmal als Durchführen einer Zustandsprüfung bezeichnet wird. Wenn der Monitor eine rechtzeitige Antwort auf seine Sonden erhält, markiert er den Dienst als UP. Wenn es keine rechtzeitige Antwort auf die angegebene Anzahl von Sonden erhält, markiert es den Dienst als DOWN.

Für DataStream müssen Sie die integrierten Monitore verwenden: MYSQL-ECV und MSSQL-ECV. Mit diesem Monitor können Sie eine SQL-Anfrage senden und die Antwort für eine Zeichenfolge analysieren.

Bevor Sie Monitore für DataStream konfigurieren, müssen Sie Ihrer NetScaler er-Appliance Datenbank-Benutzeranmeldeinformationen hinzufügen. Informationen zum Konfigurieren von Monitoren finden Sie unter Konfigurieren von Monitoren in einem Load Balancing-Setup.

Wenn Sie einen Monitor erstellen, wird eine TCP-Verbindung mit dem Datenbankserver hergestellt, und die Verbindung wird mithilfe des Benutzernamens authentifiziert, der beim Erstellen des Monitors angegeben wird. Anschließend können Sie eine SQL-Abfrage an den Datenbankserver ausführen und die Serverantwort auswerten, um zu überprüfen, ob sie mit der konfigurierten Regel übereinstimmt.

Die folgenden Beispiele sind für MySQL Server.

Beispiele:

Im folgenden Beispiel wird der Wert der Fehlermeldung ausgewertet, um den Status des Servers zu bestimmen.

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

Im folgenden Beispiel wird die Anzahl der Zeilen in der Antwort ausgewertet, um den Status des Servers zu bestimmen.

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

Im folgenden Beispiel wird der Wert einer bestimmten Spalte ausgewertet, um den Status des Servers zu bestimmen.

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-->

Die folgenden Beispiele sind für MSSQL-Server.

Beispiele:

Im folgenden Beispiel wird der Wert der Fehlermeldung ausgewertet, um den Status des Servers zu bestimmen.

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

Im folgenden Beispiel wird die Anzahl der Zeilen in der Antwort ausgewertet, um den Status des Servers zu bestimmen.

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

Im folgenden Beispiel wird der Wert einer bestimmten Spalte ausgewertet, um den Status des Servers zu bestimmen.

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-->
Konfigurieren von Monitoren für DataStream