Forum Discussion
krisdames
Cirrus
Mar 11, 2013iRule to test tcp availability
I have a group of servers (currently six of them) that each host some number of Java applications. There are around 100 total applications spread out among these servers. Each application only...
Kevin_Stewart
Employee
Mar 12, 2013I still tend to believe the pool option is your best approach, and you can certainly automate the management and creation of these pools with some pretty simple TMSH scripts.
That said, and this is a little on the wacky side, but you might also be able to do something like this:
1. Maintain a data group of all of the applications by port number (essentially a list of ports - assuming all of the servers will serve every application).
2. Create an internally-accessible "service" virtual server that maintains a table. It would also have an iRule that both populates/creates the table and that accepts simple HTTP requests to update the table entries. The table consist of one subtable per application (port) and each subtable defines the status of each IP per that port.
Ex. subtable "9500":
IP1: down
IP2: down
IP3: up
IP4: down
IP5: down
IP6: down
3. A monitor script attached to the service VIP that cycles through the data group (or subtables) and updates the status of each value (up or down) in the subtables - via a simple HTTP call to the VIP.
4. You application virtual servers would then check for the one "up" value in a given subtable before forwarding to the node.
It's absolutely imperative that the service VIP not be accessible to users. Also, depending on the frequency of the VIP's monitor and how many applications it has to cycle through, it may not respond as quickly as having a monitor attached to individual pools.
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