LB::server¶
Description¶
This command allows you to query for information about the member
selected after a load balancing decision has been made.
If no server was selected (all servers down), this command with either
no arguments or the “name” argument will return the pool name
only–useful for determining the default pool applied to a virtual
server. If the node command is called prior to this
command a null string is returned as the node command overrides any
prior pool selection logic.
Syntax¶
LB::server
LB::server name
LB::server pool
LB::server addr
LB::server port
LB::server priority
LB::server ratio
LB::server route_domain
LB::server weight
LB::server ripeness
LB::server¶
- returns a Tcl list with pool, pool member address and port. If no server was selected yet or all servers are down, returns default pool name only.
LB::server name¶
- returns a Tcl list with pool, pool member address and port. If no server was selected yet or all servers are down, returns default pool name only.
LB::server pool¶
- Returns the pool of the currently selected member. If no server was selected yet or all servers are down, returns default pool name.
LB::server addr¶
- Returns the IP address of the currently selected pool member. If no server was selected yet or all servers are down, returns null.
LB::server port¶
- Returns the port of the currently selected pool member. If no server was selected yet or all servers are down, returns null.
LB::server priority¶
- Returns the priority of the currently selected pool member. If no server was selected yet or all servers are down, returns null. If priority is not configured for the pool member, the default priority value of 1 is returned.
LB::server ratio¶
- Returns the ratio value of the currently selected pool member. If no server was selected yet or all servers are down, returns null. If ratio is not configured for the pool member, the default ratio value of 1 is returned.
LB::server route_domain¶
- Returns the route domain ID of the currently selected pool member. If no server was selected yet or all servers are down, returns null. Also returns null if the route domain is 0 (default).
LB::server weight¶
- Returns the weighting of the currently selected pool member. If no server was selected yet or all servers are down, returns null.
LB::server ripeness¶
- Returns the ripeness information of the currently selected pool member. If no server was selected yet or all servers are down, returns null.
Examples¶
when LB_SELECTED {
# Once pool member has been selected check if it's 10.0.0.25
if { [IP::addr [LB::server addr] equals 10.0.0.25] } {
# Reselect a new pool member within the pool
LB::reselect
# Retry the request to the new pool member
HTTP::retry
}
}
Do something if all servers are down in the default pool:
when HTTP_REQUEST {
# Check if the default pool has less than one active member
if { [active_members [LB::server pool]] < 1 } {
[do something]
}
}
Get the default pool of the VIP’s name before it could have been
changed by an iRule, HTTP class or other method:
when CLIENT_ACCEPTED {
# Save the name of the VIP's default pool
set default_pool [LB::server pool]
}