Citrix ADC

Configuration des moniteurs pour DataStream

Pour suivre l’état de chaque serveur de base de données à charge équilibrée en temps réel, vous devez lier un moniteur à chaque service. Le moniteur est configuré pour tester le service en envoyant des sondes périodiques au service. (Il s’agit parfois d’effectuer un contrôle de santé.) Si le moniteur reçoit une réponse rapide à ses sondes, il marque le service comme UP. S’il ne reçoit pas de réponse en temps opportun au nombre désigné de sondes, il marque le service comme DOWN.

Pour DataStream, vous devez utiliser les moniteurs intégrés, MYSQL-ECV et MSSQL-ECV. Ce moniteur permet d’envoyer une requête SQL et d’analyser la réponse pour 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, reportez-vous à la section 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"

Dans l’exemple suivant, le nombre de lignes dans 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"

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"

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"

Dans l’exemple suivant, le nombre de lignes dans 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"

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"

Configuration des moniteurs pour DataStream