Forum Discussion
HTTP monitor which ignores timeouts
I can't really see this issue resolved with regular monitor settings only. My guess is that somebody adept with external heathmonitors could write a bash script or similar, to resolve this.
I would implement a workaround in case the management server fails. It is likely not very efficient, but I think it'll get the job done.
If no management server is available, you send the traffic to a backup pool that doesn't include the manual maintenance monitor. The consequence is that the application team cannot bring the server pool down unless the management server is online.
You could create three pools of servers: two with your webservers (one with all monitors, and one without the maintenance monitor), and one for your management server.
- standard_webserver_pool.
-- monitors: both manual_maintenance_monitor, and server_health_monitor
2. bad_webserver_pool
-- monitor: server_health_monitor
3. management_server_pool
-- monitor: server_health_monitor
Below ought to be correct irule syntax, but I haven't tested it.
when CLIENT_ACCEPTED {
if { [active_members management_server_pool] < 1 } {
pool bad_webserver_pool
} else {
pool standard_webserver_pool
}
}
The else part is essentially there for read-ability. If that is not something you care about and the standard_webserver_pool has been defined in the vserver configuration you can make do with
when CLIENT_ACCEPTED {
if { [active_members management_server_pool] < 1 } { pool bad_webserver_pool }
}
Can be done in various events. source, clouddocs: active_members
Recent Discussions
Related Content
* 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