ADC

Konfigurieren von Monitoren für DataStream

Um den Status jedes Datenbankservers mit Lastenausgleich 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äßig Tests an den Dienst sendet, was manchmal als Durchführung einer Systemdiagnose bezeichnet wird. Wenn der Monitor rechtzeitig auf seine Sonden reagiert, markiert er den Dienst als UP. Wenn keine zeitnahe Antwort auf die angegebene Anzahl von Sonden eingeht, wird der Dienst als NICHT VERFÜGBAR markiert.

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 beziehen sich auf MYSQL-Server.

Beispiele:

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

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

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 beziehen sich auf MSSQL-Server.

Beispiele:

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

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

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

In diesem Artikel