Our application is having a specific requirement where based on the URI we route the request between multiple Pools using an irule. The problem we are having is on health check part, where cur...
In my use case, I don't want to respond to client. we have backup. I just want to mark VIP down if any of the Pools are down, so the our BIG IP- DNS will not provide that IP to the client.
Basically our setup looks like below,
VIP
Default Pool : A
Other pools: B,C,D
Traffic between Pools being handled by an Irule with URI mapping.
We would like to see if there is any way where active_members of Pool A or B or C or D < 1 then Mark the VIP down/Red or Tell Big-Ip DNS that I am down.
ltm pool P-ABC_80 {
members {
N-WEB1_10.1.1.1:http {
address 10.1.1.1
session monitor-enabled
state down
}
}
monitor udp
}
ltm pool P-DEF_80 {
members {
N-WEB2_10.1.1.2:http {
address 10.1.1.2
session monitor-enabled
state down
}
}
monitor udp
}
iRule
when HTTP_REQUEST {
set uri [HTTP::uri]
if { $uri starts_with "bla" } {
pool /Common/P-ABC_80
}
elseif { $uri starts_with "ble" } {
pool /Common/P-DEF_80
}
else {
drop
}
}