Home > Configuration > Global Server Load Balancing

Global Server Load Balancing

global server load balancing (gslb) configuration. gslb feature ensures that client requests are directed to a best performing site available in a global enterprise and distributed internet environment.

Configuration APIs


Use this method to creates a global server load balancing (GSLB) service.


Use this method to creates a GSLB service group. You can group similar services into a GSLB service group and use them as a single entity.


Use this method to creates a global server load balancing site.


Use this method to creates a global server load balancing (GSLB) virtual server.


Use this method to bind monitor to gslb service.


Use this method to bind view to gslb service.


Use this method to bind hashid to gslb serviceGroup.


Use this method to bind ip to gslb serviceGroup.


Use this method to bind monitor to gslb serviceGroup.


Use this method to bind order to gslb serviceGroup.


Use this method to bind port to gslb serviceGroup.


Use this method to bind publicip to gslb serviceGroup.


Use this method to bind publicport to gslb serviceGroup.


Use this method to bind server to gslb serviceGroup.


Use this method to bind siteprefix to gslb serviceGroup.


Use this method to bind state to gslb serviceGroup.


Use this method to bind weight to gslb serviceGroup.


Use this method to bind domain to gslb vserver.


Use this method to bind order to gslb vserver.


Use this method to bind policy to gslb vserver.


Use this method to bind servicegroup to gslb vserver.


Use this method to bind service to gslb vserver.


Use this method to clears all the local DNS (LDNS) entries created on the Citrix ADC. LDNS entries store network metrics for RTT learned from the packets exchanged with LDNS servers.


Use this method to disables a GSLB service group or a member of a GSLB service group. To disable a GSLB service group, provide only the service group name. To disable only a member of a service group, in addition to the GSLB service group name, provide the name of the server that hosts the service, and the port number of the service.


Use this method to disables a global server load balancing (GSLB) virtual server and takes it out of service.


Use this method to enables a GSLB service group or a member of the GSLB service group.


Use this method to enables a global server load balancing (GSLB) virtual server that has been disabled. (A GSLB virtual server is enabled by default.)


Use this method to get the bounded attributes of the domain.


Use this method to get the local DNS (LDNS) entries created on the Citrix ADC. LDNS entries store network metrics for RTT learned from the packets exchanged with LDNS servers.


Use this method to get the global GSLB parameters.


Use this method to get the complete GSLB configuration running on the Citrix ADC. In addition to the saved configuration, the running configuration includes GSLB settings that have not yet been saved to the Citrix ADC configuration file (ns.conf).


Use this method to get the parameters of all the global server load balancing (GSLB) services configured on the appliance, or the parameters of just the specified service, and statistics related to the service. To display the parameters of all the GSLB services, do not specify a service name.


Use this method to get the specified GSLB service group's binding information.


Use this method to get the parameters of all the GSLB sites configured on the appliance, or the parameters of the specified GSLB site.


Use this method to get the status of the last GSLB configuration synchronization.


Use this method to get the parameters of all the global server load balancing (GSLB) virtual servers configured on the appliance, or the parameters of the specified GSLB virtual server.


Use this method to renames a global server load balancing (GSLB) service.


Use this method to renames a global server load balancing (GSLB) servicegroup. Please fire this method manually or by using real time sync on all the participating GSLB sites otherwise stats exchange between GSLB sites will not work.


Use this method to renames a global server load balancing site.


Use this method to renames a global server load balancing (GSLB) virtual server.


Use this method to removes the LDNS entry for the specified LDNS IP address.


Use this method to removes a global server load balancing (GSLB) service configured on the appliance.


Use this method to removes a GSLB service group.


Use this method to removes a global server load balancing (GSLB) site and all its constituent GSLB services.


Use this method to removes a global server load balancing (GSLB) virtual server configured on the appliance.


Use this method to set gSLB configuration will be synced automatically to remote gslb sites if enabled.


Use this method to set drop LDNS requests if round-trip time (RTT) information is not available.


Use this method to set if enabled, remote gslb site's rsync port will be monitored and site is considered for configuration sync only when the monitor is successful.


Use this method to set amount of delay in updating the state of GSLB service to DOWN when MEP goes down.
This parameter is applicable only if monitors are not bound to GSLB services


Use this method to set time duartion (in seconds) for which the gslb sync process will wait before checking for config changes.


Use this method to set if disabled, Location files will not be synced to the remote sites as part of manual sync and automatic sync.


Use this method to set mode in which configuration will be synced from master site to remote sites.


Use this method to set if enabled, 'save ns config' method will be treated as other GSLB methods and synced to GSLB nodes when auto gslb sync option is enabled.


Use this method to set time, in seconds, after which an inactive LDNS entry is removed.


Use this method to set the IPv4 network mask with which to create LDNS entries.


Use this method to set order in which monitors should be initiated to calculate RTT.


Use this method to set time duartion (in seconds) during which if no new packets received by Local gslb site from Remote gslb site then mark the MEP connection DOWN


Use this method to set tolerance, in milliseconds, for newly learned round-trip time (RTT) values. If the difference between the old RTT value and the newly computed RTT value is less than or equal to the specified tolerance value, the LDNS entry in the network metric table is not updated with the new RTT value. Prevents the exchange of metrics when variations in RTT values are negligible.


Use this method to set time (in seconds) within which local or child site services remain in learning phase. GSLB site will enter the learning phase after reboot, HA failover, Cluster GSLB owner node changes or MEP being enabled on local node. Backup parent (if configured) will selectively move the adopted children's GSLB services to learning phase when primary parent goes down. While a service is in learning period, remote site will not honour the state and stats got through MEP for that service. State can be learnt from health monitor if bound explicitly.


Use this method to set action to perform when policy evaluation creates an UNDEF condition. Available settings function as follows:
* NOLBACTION - Does not consider LB action in making LB decision.
* RESET - Reset the request and notify the user, so that the user can resend the request.
* DROP - Drop the request without sending a response to the user.


Use this method to set mask for creating LDNS entries for IPv6 source addresses. The mask is defined as the number of leading bits to consider, in the source IP address, when creating an LDNS entry.


Use this method to set enable logging appflow flow information


Use this method to set in the request that is forwarded to the GSLB service, insert a header that stores the client's IP address. Client IP header insertion is used in connection-proxy based site persistence.


Use this method to set any comments that you might want to associate with the GSLB service.


Use this method to set flush all active transactions associated with the GSLB service when its state transitions from UP to DOWN. Do not enable this option for services that must complete their transactions. Applicable if connection proxy based site persistence is used.


Use this method to set unique hash identifier for the GSLB service, used by hash based load balancing methods.


Use this method to set monitor the health of the GSLB service.


Use this method to set the new IP address of the service.


Use this method to set maximum number of SSL VPN users that can be logged on concurrently to the VPN virtual server that is represented by this GSLB service. A GSLB service whose user count reaches the maximum is not considered when a GSLB decision is made, until the count drops below the maximum.


Use this method to set maximum bandwidth.


Use this method to set the maximum number of open connections that the service can support at any given time. A GSLB service whose connection count reaches the maximum is not considered when a GSLB decision is made, until the connection count drops below the maximum.


Use this method to set monitoring threshold value for the GSLB service. If the sum of the weights of the monitors that are bound to this GSLB service and are in the UP state is not equal to or greater than this threshold value, the service is marked as DOWN.


Use this method to set an integer specifying the order in which the NAPTR records MUST be processed in order to accurately represent the ordered list of Rules. The ordering is from lowest to highest


Use this method to set an integer specifying the preference of this NAPTR among NAPTR records having same order. lower the number, higher the preference.


Use this method to set the replacement domain name for this NAPTR.


Use this method to set service Parameters applicable to this delegation path.


Use this method to set the public IP address that a NAT device translates to the GSLB service's private IP address. Optional.


Use this method to set the public port associated with the GSLB service's public IP address. The port is mapped to the service's private port number. Applicable to the local GSLB service. Optional.


Use this method to set name of the GSLB site to which the service belongs.


Use this method to set use cookie-based site persistence. Applicable only to HTTP and SSL GSLB services.


Use this method to set the site's prefix string. When the service is bound to a GSLB virtual server, a GSLB site domain is generated internally for each bound service-domain pair by concatenating the site prefix of the service and the name of the domain. If the special string NONE is specified, the site-prefix string is unset. When implementing HTTP redirect site persistence, the Citrix ADC redirects GSLB requests to GSLB services by using their site domains.


Use this method to set name of the DNS view of the service. A DNS view is used in global server load balancing (GSLB) to return a predetermined IP address to a specific group of clients, which are identified by using a DNS policy.


Use this method to set weight to assign to the monitor-service binding. A larger number specifies a greater weight. Contributes to the monitoring threshold, which determines the state of the service.


Use this method to set enable logging of AppFlow information for the specified GSLB service group.


Use this method to set insert the Client IP header in requests forwarded to the GSLB service.


Use this method to set time, in seconds, after which to terminate an idle client connection.


Use this method to set any information about the GSLB service group.


Use this method to set flush all active transactions associated with all the services in the GSLB service group whose state transitions from UP to DOWN. Do not enable this option for applications that must complete their transactions.


Use this method to set monitor the health of this GSLB service.Available settings function are as follows:
YES - Send probes to check the health of the GSLB service.
NO - Do not send probes to check the health of the GSLB service. With the NO option, the appliance shows the service as UP at all times.


Use this method to set maximum bandwidth, in Kbps, allocated for all the services in the GSLB service group.


Use this method to set maximum number of simultaneous open connections for the GSLB service group.


Use this method to set name of the monitor bound to the GSLB service group. Used to assign a weight to the monitor.


Use this method to set minimum sum of weights of the monitors that are bound to this GSLB service. Used to determine whether to mark a GSLB service as UP or DOWN.


Use this method to set name of the server to which to bind the service group.


Use this method to set name of the GSLB site to which the service group belongs.


Use this method to set use cookie-based site persistence. Applicable only to HTTP and SSL non-autoscale enabled GSLB servicegroups.


Use this method to set time, in seconds, after which to terminate an idle server connection.


Use this method to set the list of backup gslb sites configured in preferred order. Need to be parent gsb sites.


Use this method to set exchange metrics with other sites. Metrics are exchanged by using Metric Exchange Protocol (MEP). The appliances in the GSLB setup exchange health information once every second.

If you disable metrics exchange, you can use only static load balancing methods (such as round robin, static proximity, or the hash-based methods), and if you disable metrics exchange when a dynamic load balancing method (such as least connection) is in operation, the appliance falls back to round robin. Also, if you disable metrics exchange, you must use a monitor to determine the state of GSLB services. Otherwise, the service is marked as DOWN.


Use this method to set the naptr replacement suffix configured here will be used to construct the naptr replacement field in NAPTR record.


Use this method to set exchange, with other GSLB sites, network metrics such as round-trip time (RTT), learned from communications with various local DNS (LDNS) servers used by clients. RTT information is used in the dynamic RTT load balancing method, and is exchanged every 5 seconds.


Use this method to set parent site of the GSLB site, in a parent-child topology.


Use this method to set public IP address for the local site. Required only if the appliance is deployed in a private address space and the site has a public IP address hosted on an external firewall or a NAT device.


Use this method to set exchange persistent session entries with other GSLB sites every five seconds.


Use this method to set iP address for the GSLB site. The GSLB site uses this IP address to communicate with other GSLB sites. For a local site, use any IP address that is owned by the appliance (for example, a SNIP or MIP address, or the IP address of the ADNS service).


Use this method to set specify the conditions under which the GSLB service must be monitored by a monitor, if one is bound. Available settings function as follows:
* ALWAYS - Monitor the GSLB service at all times.
* MEPDOWN - Monitor the GSLB service only when the exchange of metrics through the Metrics Exchange Protocol (MEP) is disabled.
MEPDOWN_SVCDOWN - Monitor the service in either of the following situations:
* The exchange of metrics through MEP is disabled.
* The exchange of metrics through MEP is enabled but the status of the service, learned through metrics exchange, is DOWN.


Use this method to set enable logging appflow flow information


Use this method to set a non zero value enables the feature whose minimum value is 2 minutes. The feature can be disabled by setting the value to zero. The created session is in effect for a specific client per domain.
NOTE: This attribute is deprecated.
This is a deprecated attribute.


Use this method to set name of the backup GSLB virtual server to which the appliance should to forward requests if the status of the primary GSLB virtual server is down or exceeds its spillover threshold.


Use this method to set any comments that you might want to associate with the GSLB virtual server.


Use this method to set if the primary state of all bound GSLB services is DOWN, consider the effective states of all the GSLB services, obtained through the Metrics Exchange Protocol (MEP), when determining the state of the GSLB virtual server. To consider the effective state, set the parameter to STATE_ONLY. To disregard the effective state, set the parameter to NONE.

The effective state of a GSLB service is the ability of the corresponding virtual server to serve traffic. The effective state of the load balancing virtual server, which is transferred to the GSLB service, is UP even if only one virtual server in the backup chain of virtual servers is in the UP state.


Use this method to set continue to direct traffic to the backup chain even after the primary GSLB virtual server returns to the UP state. Used when spillover is configured for the virtual server.


Use this method to set dNS record type to associate with the GSLB virtual server's domain name.


Use this method to set domain name for which to change the time to live (TTL) and/or backup service IP address.


Use this method to set specify if the appliance should consider the service count, service weights, or ignore both when using weight-based load balancing methods. The state of the number of services bound to the virtual server help the appliance to select the service.


Use this method to set if enabled, respond with EDNS Client Subnet (ECS) option in the response for a DNS query with ECS. The ECS address will be used for persistence and spillover persistence (if enabled) instead of the LDNS address. Persistence mask is ignored if ECS is enabled.


Use this method to set validate if ECS address is a private or unroutable address and in such cases, use the LDNS IP.


Use this method to set send clients an empty DNS response when the GSLB virtual server is DOWN.


Use this method to set the IP type for this GSLB vserver.
NOTE: This attribute is deprecated.
Replaced by "dnsRecordType" field


Use this method to set load balancing method for the GSLB virtual server.


Use this method to set include multiple IP addresses in the DNS responses sent to clients.


Use this method to set iPv4 network mask for use in the SOURCEIPHASH load balancing method.


Use this method to set order number to be assigned to the service when it is bound to the lb vserver.


Use this method to set this option is used to to specify the threshold of minimum number of services to be UP in an order, for it to be considered in Lb decision.


Use this method to set the persistence ID for the GSLB virtual server. The ID is a positive integer that enables GSLB sites to identify the GSLB virtual server, and is required if source IP address based or spill over based persistence is enabled on the virtual server.


Use this method to set persistence type for the virtual server. Possible value for this parameter is SOURCEIP, which specifies persistence based on the source IP address of inbound packets. After the load balancing method selects a link for transmission of the first packet, the IP address received in response to the DNS query is used for subsequent requests from the same client.


Use this method to set the optional IPv4 network mask applied to IPv4 addresses to establish source IP address based persistence.


Use this method to set expression, or name of a named expression, against which traffic is evaluated.
This field is applicable only if gslb method or gslb backup method are set to API.
The following requirements apply only to the Citrix ADC CLI:
* If the expression includes one or more spaces, enclose the entire expression in double quotation marks.
* If the expression itself includes double quotation marks, escape the quotations by using the \ character.
* Alternatively, you can use single quotation marks to enclose the rule, in which case you do not have to escape the double quotation marks.


Use this method to set the GSLB service group name bound to the selected GSLB virtual server.


Use this method to set name of the GSLB service for which to change the weight.


Use this method to set action to be performed if spillover is to take effect, but no backup chain to spillover is usable or exists


Use this method to set type of threshold that, when exceeded, triggers spillover. Available settings function as follows:
* CONNECTION - Spillover occurs when the number of client connections exceeds the threshold.
* DYNAMICCONNECTION - Spillover occurs when the number of client connections at the GSLB virtual server exceeds the sum of the maximum client (Max Clients) settings for bound GSLB services. Do not specify a spillover threshold for this setting, because the threshold is implied by the Max Clients settings of the bound GSLB services.
* BANDWIDTH - Spillover occurs when the bandwidth consumed by the GSLB virtual server's incoming and outgoing traffic exceeds the threshold.
* HEALTH - Spillover occurs when the percentage of weights of the GSLB services that are UP drops below the threshold. For example, if services gslbSvc1, gslbSvc2, and gslbSvc3 are bound to a virtual server, with weights 1, 2, and 3, and the spillover threshold is 50%, spillover occurs if gslbSvc1 and gslbSvc3 or gslbSvc2 and gslbSvc3 transition to DOWN.
* NONE - Spillover does not occur.


Use this method to set if spillover occurs, maintain source IP address based persistence for both primary and backup GSLB virtual servers.


Use this method to set timeout for spillover persistence, in minutes.


Use this method to set threshold at which spillover occurs. Specify an integer for the CONNECTION spillover method, a bandwidth value in kilobits per second for the BANDWIDTH method (do not enter the units), or a percentage for the HEALTH method (do not enter the percentage symbol).


Use this method to set idle time, in minutes, after which a persistence entry is cleared.


Use this method to set configure this option to toggle order preference


Use this method to set tolerance in milliseconds. Tolerance value is used in deciding which sites in a GSLB configuration must be considered for implementing the RTT load balancing method. The sites having the RTT value less than or equal to the sum of the lowest RTT and tolerance value are considered. NetScaler implements the round robin method of global server load balancing among these considered sites. The sites that have RTT value greater than this value are not considered. The logic is applied for each LDNS and based on the LDNS, the sites that are considered might change. For example, a site that is considered for requests coming from LDNS1 might not be considered for requests coming from LDNS2.


Use this method to set number of bits to consider, in an IPv6 source IP address, for creating the hash that is required by the SOURCEIPHASH load balancing method.


Use this method to set number of bits to consider in an IPv6 source IP address when creating source IP address based persistence sessions.


Use this method to synchronizes the GSLB running configuration on all Citrix ADCs participating in the GSLB setup. The appliance on which this method is run is considered the master node. All GSLB sites configured on the master node and not having a parent site are synchronized with the master node.


Use this method to unbind monitor from gslb service.


Use this method to unbind view from gslb service.


Use this method to unbind ip from gslb serviceGroup.


Use this method to unbind monitor from gslb serviceGroup.


Use this method to unbind port from gslb serviceGroup.


Use this method to unbind server from gslb serviceGroup.


Use this method to unbind domain from gslb vserver.


Use this method to unbind policy from gslb vserver.


Use this method to unbind servicegroup from gslb vserver.


Use this method to unbind service from gslb vserver.


Remove gslb parameter automaticconfigsync setting.


Remove gslb parameter dropldnsreq setting.


Remove gslb parameter gslbconfigsyncmonitor setting.


Remove gslb parameter gslbsvcstatedelaytime setting.


Remove gslb parameter gslbsyncinterval setting.


Remove gslb parameter gslbsynclocfiles setting.


Remove gslb parameter gslbsyncmode setting.


Remove gslb parameter gslbsyncsaveconfigmethod setting.


Remove gslb parameter ldnsentrytimeout setting.


Remove gslb parameter ldnsmask setting.


Remove gslb parameter ldnsprobeorder setting.


Remove gslb parameter mepkeepalivetimeout setting.


Remove gslb parameter rtttolerance setting.


Remove gslb parameter svcstatelearningtime setting.


Remove gslb parameter undefaction setting.


Remove gslb parameter v6ldnsmasklen setting.


Remove gslb service appflowlog setting.


Remove gslb service cip setting.


Remove gslb service cipheader setting.


Remove gslb service comment setting.


Remove gslb service downstateflush setting.


Remove gslb service hashid setting.


Remove gslb service healthmonitor setting.


Remove gslb service maxaaausers setting.


Remove gslb service maxbandwidth setting.


Remove gslb service maxclient setting.


Remove gslb service monthreshold setting.


Remove gslb service naptrdomainttl setting.


Remove gslb service naptrorder setting.


Remove gslb service naptrpreference setting.


Remove gslb service naptrreplacement setting.


Remove gslb service naptrservices setting.


Remove gslb service publicip setting.


Remove gslb service publicport setting.


Remove gslb service sitepersistence setting.


Remove gslb service siteprefix setting.


Remove gslb serviceGroup appflowlog setting.


Remove gslb serviceGroup cip setting.


Remove gslb serviceGroup cipheader setting.


Remove gslb serviceGroup clttimeout setting.


Remove gslb serviceGroup comment setting.


Remove gslb serviceGroup downstateflush setting.


Remove gslb serviceGroup healthmonitor setting.


Remove gslb serviceGroup maxbandwidth setting.


Remove gslb serviceGroup maxclient setting.


Remove gslb serviceGroup monitor setting.


Remove gslb serviceGroup monthreshold setting.


Remove gslb serviceGroup server setting.


Remove gslb serviceGroup sitepersistence setting.


Remove gslb serviceGroup svrtimeout setting.


Remove gslb serviceGroup weight setting.


Remove gslb site backupparentlist setting.


Remove gslb site metricexchange setting.


Remove gslb site naptrreplacementsuffix setting.


Remove gslb site nwmetricexchange setting.


Remove gslb site sessionexchange setting.


Remove gslb site triggermonitor setting.


Remove gslb vserver appflowlog setting.


Remove gslb vserver backuplbmethod setting.


Remove gslb vserver backupsessiontimeout setting.


Remove gslb vserver backupvserver setting.


Remove gslb vserver comment setting.


Remove gslb vserver considereffectivestate setting.


Remove gslb vserver disableprimaryondown setting.


Remove gslb vserver dnsrecordtype setting.


Remove gslb vserver dynamicweight setting.


Remove gslb vserver ecs setting.


Remove gslb vserver ecsaddrvalidation setting.


Remove gslb vserver edr setting.


Remove gslb vserver iptype setting.


Remove gslb vserver lbmethod setting.


Remove gslb vserver mir setting.


Remove gslb vserver netmask setting.


Remove gslb vserver order setting.


Remove gslb vserver orderthreshold setting.


Remove gslb vserver persistenceid setting.


Remove gslb vserver persistencetype setting.


Remove gslb vserver persistmask setting.


Remove gslb vserver rule setting.


Remove gslb vserver servicegroup setting.


Remove gslb vserver service setting.


Remove gslb vserver sobackupaction setting.


Remove gslb vserver somethod setting.


Remove gslb vserver sopersistence setting.


Remove gslb vserver sopersistencetimeout setting.


Remove gslb vserver sothreshold setting.


Remove gslb vserver timeout setting.


Remove gslb vserver toggleorder setting.


Remove gslb vserver tolerance setting.


Remove gslb vserver v6netmasklen setting.


Remove gslb vserver v6persistmasklen setting.


Remove gslb vserver weight setting.