Forum Discussion
Monitoring FQDNs inside a iApp
Hello;
I have several FQDNs in a single iApp using SharePoint Platform:
sales.domain.com pmo.domain.com admin.domain.com
Now, the monitor that came with the SharePoint template monitors the server, and not the individual FQDNs. So, if sales.domain.com goes down - for example someone turn it off on one of the FQDNs on the Windows IIS - the iApp monitor will bring the other two down, when in fact there are still working....
Question: How I can monitor individual FQDN and "remove" them from the "iApp" services when they are unavailable? Question: What other option do I have? Breaking of the FQDNs in different iApp?
Thank you
2 Replies
- mikeshimkus_111Historic F5 Account
Hi, it sounds like you are using host-named site collections, is that correct?
- mikeshimkus_111Historic F5 Account
What you are trying to monitor is the site collection itself, then, but if one site collection is not responding, shouldn't all of the ones hosted by the same web application/content database go down as well? Have you experienced this?
What you could do is create separate LTM pools with the same SharePoint servers as members, then use an iRule to assign traffic to the required pool based on the host name in the request. We have an EAV monitor that supports SNI. You could create one instance of the monitor for each FQDN and assign it to the pool for that FQDN. Here's the EAV script:
!/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 echo "$$" > $PIDFILE 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