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 periodische Prüfpunkte an den Dienst sendet. (Dies wird manchmal als Durchführung einer Zustandsprüfung bezeichnet.) Wenn der Monitor rechtzeitig auf seine Prüfpunkte reagiert, 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 eingebauten Monitore MYSQL-ECV und MSSQL-ECV verwenden. Dieser Monitor bietet die Möglichkeit, eine SQL-Anforderung zu senden und die Antwort für eine Zeichenfolge zu analysieren.

Bevor Sie Monitore für DataStream konfigurieren, müssen Sie Ihrer NetScaler er-Appliance Datenbank-Benutzeranmeldeinformationen hinzufügen. Hinweise zum Konfigurieren von Monitoren finden Sie unterKonfigurieren von Monitoren in einem Lastausgleichs-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"

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"

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"

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"

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"

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"

Konfigurieren von Monitoren für DataStream