Forum Discussion
Handling sideband server failure
I'd recommend using the -status parameter in the sideband connect command to your advantage. You can use this to test that the connection is established before sending data.
https://clouddocs.f5.com/api/irules/connect.html
# Connect to an external host with a connection timeout of 100 ms and an idle timeout of 30 seconds
# Use catch to handle any errors in the destination virtual server name or external host:port
# Check if the return value saved to $conn_id is not null
if {[catch {connect -timeout 1000 -idle 30 -status conn_status sideband_virtual_server} conn_id] == 0 && $conn_id ne ""}{
log local0. "Connect returns: $conn_id and conn status: $conn_status"
} else {
log local0. "Connection could not be established to sideband_virtual_server"
}
Hi Kevin,
Our set up has a BigIP F5 that is connected to a customer website in a pool.The client places a request to the wesite via this BIG IP LTM and receives a response.We have irules that connect to the helper VS that to mirror the request and response
We also have a helper VS in the environment.We use this Helper VS to establish a sideband connection to our pool which receives the mirrored request and response to the main BIG IP load balancer.
However if the server in our pool goes down then for a small amount of time the requests coming to the customer website via teh BIG IP load balancer is getting interrupted where the client receives a "connection reset " error.This is resullting in stability issue.
Is there any way to isolate the connection so that any failure on our pool doesnt cause a connection reset error on the client website?
- Kevin_StewartNov 17, 2022Employee
Hard to say without a better understanding of your config and current iRule.
- sand87chNov 21, 2022Cirrus
Hi Kevin,
I think i could fix my issue if i can get some help with the following info.
1.How to check if the helper virtual server(not the load balancer virtual server) is down or offline?
2.How to check if the whole pool is down/offline and not just the members.
I have seen certain commands but they specify LB::Status which is the staus of the Load balancer virtual server which is not helping me.
I checked a lot but either its not mentioned anywhere or i may have missed it.
Any idea?
- Kevin_StewartNov 21, 2022Employee
A few options maybe.
1. Do you have a monitor assigned to the pool? A failed pool should automatically flag the VIP as offline. You may also consider setting the pool's "Action On Service Down" option to Reject.
2. Use the 'active_members' condition in an iRule:
when CLIENT_ACCEPTED { if { [active_members sideband_pool] < 1 } { reject } }
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