Forum Discussion
Matthew_Goche_6
Nimbostratus
May 12, 2006Virtual Server doesn't return ping
Hi. I currently have a configuration where a device upstream from my BIG-IP 6400 is doing health checks against the BIG-IP. I also want the health checks to fail if my virtual server is showing down. However, my experience with the monitors show that even if the virt is down the BIG-IP will still respond to the health check on that virt unless the BIG-IP itself is down. Therefore, I'm attempting to write an iRule to redirect the upstream health check in order to somehow cause a failure. I am wondering if anyone else has run into this problem or if any templates exist that could assist me in this effort.
Matt
4 Replies
- Deb_Allen_18Historic F5 AccountEnabling "Action on Service Down" to "Reject" for the pool (in Pool/Properties / Configuration: Advanced) will cause LTM to send a RST in response to requests if all servers in the pool are DOWN.
I think that will accomplish your goal without a rule...
/deb - hoolio
Cirrostratus
Did you get this resolved? As Deb noted, you shouldn't need an iRule for this.
What kind of health check is the upstream device sending? If it's ping, as indicated in your subject, the BIG-IP by design will always respond regardless of the state of VIPs configured on that virtual address. This is because the BIG-IP has no way of knowing which VIP on the virtual address you want to check with the ICMP.
The ideal solution would be to have the upstream device monitor the VIP's specific IP:port.
Aaron - Graziano_RizzatHistoric F5 AccountHi I have the same requirement coming from our customer, they use a ping to a VS to monitor the availability of the application. What we would like to achieve is that BIG-IP should not reposnd to a ping to VS if the pool is down here is a sample Irule that of course is not working :
rule ICMP_DENY_ON_POOL_DOWN {
when CLIENT_DATA {
if { [[LB::status pool NOME] eq "down"] and [[IP::protocol] == 1] }
{ drop }
}
}
Any idea to achieve the goal ??
Thanks a lot - JRahm
Admin
This is what we use:when CLIENT_ACCEPTED { if { [active_members myPool] == 0 } { discard } }
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects