Forum Discussion
jeff_mccombs_47
May 06, 2012Nimbostratus
how have others conquered external monitor resource alloc problems?
I've got a pair of 6900's that are monitoring about 600 backend servers. The servers are polled via an external monitor script that issues a few SNMP gets to check for various overload and down conditions.
This is not scaling well for me. The sheer number of monitors that are running is beginning to consume a significant amount of processor time. I anticipate the backend pool of servers growing to 800-1000 nodes before this is all said and done.
How have others managed large pools of servers with custom monitors?
- LTM 6900/10.2.3
- hwidjaja_37598AltostratusHow complex is your monitor script?
- jeff_mccombs_47Nimbostratusthe script isn't too complicated. But i've got about 600 of them running.
!/bin/bash DESTIP=`echo $1 | sed 's/:FFFF://'` COMMUNITY=$3 MAXSESSIONS=$4 pidfile="/var/run/monitor_nodes.$1..$2.pid" if [ -f $pidfile ] ; then kill -9 `cat $pidfile` > /dev/null 2>&1 fu echo "$$" > $pidfile MAX=`nice snmpget -v2c -c $COMMUNITY $DESTIP my.really.long.oid | awk '{print $4}'` SESSION_THROTTLE=`nice snmpget -v2c -c $COMMUNITY $DESTIP my.really.long.oid | awk '{print $4}'` DOWN=0 if [ $SESSION_THROTTLE -eq 2 ] ; then DOWN=1 fi if [ "x$MAX" == "x" ] ; then DOWN=1 fi if [ $MAX -lt $MAXSESSIONS ] ; then DOWN=0 fi if [ $DOWN -eq 0 ] ; then echo "up" fi rm -f $pidfile
- ib_37889NimbostratusJeff
- smp_86112CirrostratusHey I thought I'd chime in here because I did some work with external monitors over the past couple of days. It seems that the LTM will not execute any commands after receiving anything in STDOUT (i.e. after the "echo" command). So when the check is successful, the "rm -f $pidfile" command in your script does not get executed. I was troubleshooting the fact that my PID file was not getting cleaned up when I expected it to (my script was similar to yours - echo, then rm). But then I noticed the last comment in this Tech Tip:
- hooleylistCirrostratusI concur. I found that the script is killed after any STDOUT is sent:
- jeff_mccombs_47NimbostratusThanks for the replies guys.
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