Citrix ADC

基于虚拟服务器的表达式

SYS.VSERVER("<vserver-name>") 表达式前缀使您能够识别虚拟服务器。您可以使用带有此前缀的以下函数来检索与指定虚拟服务器相关的信息:

  • THROUGHPUT。返回虚拟服务器的吞吐量(Mbps/秒)。返回的值是一个无符号的长数。

    用法: SYS.VSERVER(“vserver”).THROUGHPUT

  • CONNECTIONS。返回由虚拟服务器管理的连接数。返回的值是一个无符号的长数。

    用法: SYS.VSERVER(“vserver”).CONNECTIONS

  • STATE。返回虚拟服务器的状态。返回的值是 UP、DOWN 或 OUT_OF_SERVICE。因此,其中一个值可以作为参数传递给 EQ () 运算符,以执行比较,导致布尔值为 TRUE 或 FALSE。

    用法: SYS.VSERVER(“vserver”).STATE

  • HEALTH。返回指定虚拟服务器处于 UP 状态的服务百分比。返回的值是整数。

    用法: SYS.VSERVER(“vserver”).HEALTH

  • RESPTIME。以表示微秒数的整数形式返回响应时间。响应时间是绑定到虚拟服务器的所有服务的平均 TTFB(到第一个字节的时间)。

    用法: SYS.VSERVER(“vserver”).RESPTIME

  • SURGECOUNT。返回虚拟服务器浪涌队列中的请求数。返回的值是整数。

    用法: SYS.VSERVER(“vserver”).SURGECOUNT

示例 1:

如果负载平衡虚拟服务器 Lb虚拟服务器 的连接数超过 10000,以下重写策略将中止重写处理:

add rewrite policy norewrite_pol sys.vserver("LBvserver").connections.gt(10000) norewrite

示例 2:

以下重写操作会插入一个自定义标头 TP,其值是虚拟服务器 Lb虚拟服务器 上的整个值:

add rewrite action tp_header insert_http_header TP SYS.VSERVER("LBvserver").THROUGHPUT

示例 3:

以下审核日志消息操作将绑定到虚拟服务器的服务的平均 TTFB 写入 newnslog 日志文件:

add audit messageaction log_vserver_resptime_act INFORMATIONAL "\"NS Response Time to Servers:\" + sys.vserver(\"ssllb\").resptime + \" millisec\"" -logtoNewnslog YES -bypassSafetyCheck YES

基于虚拟服务器的表达式