Citrix ADC

为DataStream配置监视器

要实时跟踪每个负载平衡数据库服务器的状态,需要将监视器绑定到每个服务。监视器配置为通过向服务发送周期性探针来测试服务,有时会被称为执行健康检查。如果监视器收到对其探针的及时响应,则标志着服务。如果它没有收到对指定探针数量的及时响应,则它将服务标记为下降。

对于DataStream,您需要使用内置的监视器:MYSQL-ECV和MSSQL-ECV。使用这个监视器,您可以发送一个SQL请求并解析字符串的响应。

在为DataStream配置监视器之前,必须将数据库用户凭据添加到NetScaler设备。有关配置监视器的信息,请参见在负载平衡设置中配置监视器.

创建监视器时,使用数据库服务器建立TCP连接,通过使用创建监视器提供的用户名来验证连接。然后,您可以将SQL查询运行到数据库服务器,并评估服务器响应以检查它是否与已配置的规则匹配。

下面是MYSQL服务器的示例。

例子:

在下面的示例中,将评估错误消息的值以确定服务器的状态。

添加LB监视器LB_Mon1 MySQL-ECV -SQLQUERY“从表2中选择*;”-evalrule“mysql.res.error.message.Contains(”无效的用户“)” - 数据库“NS”-Username“User1”<! -  CentCopy  - >

在下面的示例中,将评估响应中的行数以确定服务器的状态。

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

在下面的示例中,将评估特定列的值,以确定服务器的状态。

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" 

以下示例以MSSQL服务器为例。

例子:

在下面的示例中,将评估错误消息的值以确定服务器的状态。

添加lb监视器lb_mon1 MSSQL-ECV-sqlQuery“从表2中选择*”-evalrule“MSSQL.res.error.message.contains(“无效用户”)”-数据库“NS”-用户名“user1”<--需要复制-->

在下面的示例中,将评估响应中的行数以确定服务器的状态。

添加lb监视器lb_mon4 MSSQL-ECV-sqlQuery“从表4中选择*”-evalrule“MSSQL.res.atleast_rows_count(7)”-数据库“NS”-用户名“user2”<--需要复制-->

在下面的示例中,将评估特定列的值,以确定服务器的状态。

添加LB监视器LB_Mon3 MSSQL-ECV -SQLQUERY“从ABC选择*”-evalrule“mssql.res.row(1).double_elem(2)== 345.12”-database“ns”--username“user3”<! -  caltcopy  - >
为DataStream配置监视器