Citrix ADC

为数据流配置监视器

要实时跟踪每个负载平衡数据库服务器的状态,需要将监视器绑定到每个服务。监视器配置为通过向服务发送定期探测(有时称为执行运行状况检查)来测试服务。如果监视器收到对其探测器的及时响应,它会将服务标记为起来。如果它没有收到对指定数量探测的及时响应,它会将该服务标记为“关闭”。

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

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

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

以下示例适用于MySQL服务器。

示例

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

sqlquery: select * from table2;mysql.res.error.message -evalrule”。包含(“无效的用户”)”-database "NS" -userName "user1" 

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

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服务器。

示例

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

add lb monitor lb_mon1 MSSQL-ECV -sqlQuery "select * from table2;"mssql.res.error.message -evalrule”。包含(“无效的用户”)”-database "NS" -userName "user1" 

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

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

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

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" 
为数据流配置监视器