Forum Discussion
sajin_80891
Nimbostratus
May 18, 2013Need a new HTTP health monitor configured for POST inplace of XML script.
Could someone please help me to create an HTTP application health monitor to send a POST request that should similar working as below XML script. This is eating huge amount of CPU on my LTM pairs.
That's why I decided to change the monitor, Post I created a new monitor with Send string:
POST /cgi-bin/brb.exe HTTP/1.1\r\nHost: \r\nConnection: Close\r\n\r\nRezViewAmfTestRQ User TokenVER||0
&
Recieve string:
RESPONSE.rver.RCD
Interval: 60
Timeout: 181
Unfortunately it doesn't work, Some of the pool status is coming online after sometime but not for all.
Below is the post pinger XML script which we are using for monitoring.
cat post_pinger
=======================================================================================================
!/bin/sh
F5 Networks and BIG/ip(c) Copyright
No part of the software may be reproduced or transmitted in any form or by
any means, electronic or mechanical, for any purpose, without express
written permission of F5 Networks, Inc. It is against the law to copy the
software. No part of this program may be reproduced or transmitted in any
form or by any means, electronic or mechanical, including photocopying,
recording, or information storage and retrieval systems, for any purpose
other than the purchasers personal use, without the express written
permission of F5 Networks, Inc. Copyright (c) 1999 BIG/ip Software. All
rights reserved. Our services are only available for legal users of the
program for instance in case we extend our services by offering updating of
files through Internet.
these arguments supplied automatically for all external pingers:
$1 = IP (nnn.nnn.nnn.nnn notation or hostname)
$2 = port (decimal, host byte order)
$3 and higher = additional arguments
In this sample script, $3 is the regular expression
pidfile="/var/run/pinger.$1..$2.pid"
if [ -f $pidfile ]
then
kill -9 `cat $pidfile` > /dev/null 2>&1
fi
node_ip=`echo $1 | sed 's/::ffff://'`
echo "$$" > $pidfile
/usr/bin/monitors/post "http://$node_ip:$2/cgi-bin/brb.exe" < /usr/bin/monitors/pegs_xmlgw.txt | grep RESPONSE.rver.RCD
status=$?
if [ $status -eq 0 ]
then
echo "up"
fi
rm -f $pidfile
================================================================================================================
cat xmlgw.txt
+++++++++++++
RezViewAmfTestRQ User TokenVER||0
================================================================================================================
6 Replies
- nitass
Employee
your health monitor setting seems correct to me.
have you run tcpdump to see why some did not work? - sajin_80891
Nimbostratus
It does work for all pools, but only the reason I want to change this because it's utilizing high CPU on my F5 pairs . My CPU utilization is continuing to 100% when this monitor is in place. - nitass
Employee
It does work for all pools, but only the reason I want to change this because it's utilizing high CPU on my F5 pairs . sorry i didn't say clearly. actually, i meant capturing packet when using the http health monitor. - sajin_80891
Nimbostratus
I didn't capture the packet, but just took the qkview and the XML process was always had been in to top of the utilization process. If I'm capturing the packet, what should be source & destination I can write as this monitor is applied to almost 22 pools. - nitass
Employee
If I'm capturing the packet, what should be source & destination I can write as this monitor is applied to almost 22 pools.health monitor uses non-floating selfip. so, you may capture the one which does not work.
e.g.
tcpdump -nni 0.0:nnn -s0 -w /var/tmp/output.pcap host x.x.x.x and host y.y.y.y and port zzz
x.x.x.x is non-floating selfip
y.y.y.y is pool member ip
zzz is pool member port number - Kevin_Stewart
Employee
Three questions:
1. I don't believe /usr/bin/monitors/post is a built-in command or script. Can you elaborate on its contents?
2. If you run /usr/bin/monitors/post "http://$node_ip:$2/cgi-bin/brb.exe" < /usr/bin/monitors/pegs_xmlgw.txt without the grep, does it return a lot of data?
3. Is the content of xmlgw.txt static? If so, perhaps you could still apply this monitor through the built-in HTTP monitor (via TMOS) and perhaps get better performance (or at least better memory/cpu utilization).
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
