ADC

Configurer les moniteurs pour DataStream

Pour suivre l’état de chaque serveur de base de données à charge équilibrée en temps réel, vous devez associer un moniteur à chaque service. Le moniteur est configuré pour tester le service en envoyant des sondes périodiques au service, ce que l’on appelle parfois un contrôle de santé. Si le moniteur reçoit une réponse rapide à ses sondes, il marque le service comme étant UP. S’il ne reçoit pas de réponse en temps utile au nombre de sondes indiqué, il marque le service comme étant en panne.

Pour DataStream, vous devez utiliser les moniteurs intégrés : MYSQL-ECV et MSSQL-ECV. À l’aide de ce moniteur, vous pouvez envoyer une requête SQL et analyser la réponse pour obtenir une chaîne.

Avant de configurer des moniteurs pour DataStream, vous devez ajouter des informations d’identification utilisateur de base de données à votre appliance NetScaler. Pour plus d’informations sur la configuration des moniteurs, voir Configurer les moniteurs dans une configuration d’équilibrage de charge.

Lorsque vous créez un moniteur, une connexion TCP est établie avec le serveur de base de données et la connexion est authentifiée à l’aide du nom d’utilisateur fourni lors de la création du moniteur. Vous pouvez ensuite exécuter une requête SQL sur le serveur de base de données et évaluer la réponse du serveur pour vérifier si elle correspond à la règle configurée.

Les exemples suivants concernent les serveurs MYSQL.

Exemples :

Dans l’exemple suivant, la valeur du message d’erreur est évaluée pour déterminer l’état du serveur.

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

Dans l’exemple suivant, le nombre de lignes de la réponse est évalué pour déterminer l’état du serveur.

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

Dans l’exemple suivant, la valeur d’une colonne particulière est évaluée pour déterminer l’état du serveur.

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

Les exemples suivants concernent les serveurs MSSQL.

Exemples :

Dans l’exemple suivant, la valeur du message d’erreur est évaluée pour déterminer l’état du serveur.

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

Dans l’exemple suivant, le nombre de lignes de la réponse est évalué pour déterminer l’état du serveur.

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

Dans l’exemple suivant, la valeur d’une colonne particulière est évaluée pour déterminer l’état du serveur.

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-->
Configurer les moniteurs pour DataStream