Forum Discussion
iApp monitor pool | multiple FQDN
Hello; Scenario: one iApp with 6 FQDN running on SharePoint Platform one pool with 4 nodes
If one of the FQDN is down, how I can remove ONLY that FQDN from the iApp without affecting the other 5 sites?
I only have be able to monitor the pool and remove the node when any of the URL goes down....but this is not efficient...
Please advise...
Thank you
3 Replies
- mikeshimkus_111Historic F5 Account
Hi, sounds like you are using host-named site collections. Is that correct?
If one of the site collections is unavailable on a pool member, you want to stop sending traffic for that FQDN but keep all the pool members up?
thanks
- Julio_Navarro
Cirrostratus
Hi Mike!
That correct : I want to stop sending traffic to that FQDN and keep the other FQDN inside the POOL active.
Thank
- mikeshimkus_111Historic F5 Account
Are you using server name indication on your SharePoint servers? We have an external (EAV) monitor that can do SNI.
What you could do is set up multiple pools containing the same pool members, one for each FQDN, and an iRule on the virtual server to distribute requests to the correct pool based on HTTP::host value.
Using a unique SNI EAV monitor on each pool would down that pool if a particular site collection was not responding. Here's an example of that monitor:
!/bin/sh These arguments supplied automatically for all external monitors: $1 = IP (nnn.nnn.nnn.nnn notation) $2 = port (decimal, host byte order) This script expects the following Name/Value pairs: HOST = the host name of the SNI-enabled site URI = the URI to request RECV = the expected response Remove IPv6/IPv4 compatibility prefix (LTM passes addresses in IPv6 format) NODE=`echo ${1} | sed 's/::ffff://'` if [[ $NODE =~ ^[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}$ ]]; then node is v4 NODE=${NODE} else node is v6 NODE=[${NODE}] fi PORT=${2} PIDFILE="/var/run/`basename ${0}`.sni_monitor_${HOST}_${PORT}_${NODE}_sni.pid" kill of the last instance of this monitor if hung and log current pid if [ -f $PIDFILE ] then echo "EAV exceeded runtime needed to kill ${HOST}:${PORT}:${NODE}" | logger -p local0.error kill -9 `cat $PIDFILE` > /dev/null 2>&1 fi curl-apd -k -v --resolve $HOST:$PORT:$NODE https://$HOST$URI 2>&1 > /dev/null | grep -i "${RECV}" STATUS=$? rm -f $PIDFILE if [ $STATUS -eq 0 ] then echo "UP" fi exit
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)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