Forum Discussion

rio_sibuea_7750's avatar
rio_sibuea_7750
Icon for Nimbostratus rankNimbostratus
Apr 23, 2012

External Monitor on v9.3.0

Hello,

 

 

I'm trying to have an NTLM external monitor and currently my system is running v9.3.0.

 

I tried a script that I got from http://www.thef5guy.com/blog/2010/0...-monitors/

 

 

 

I'm not sure why it doesn't work on my system running v9.3.0. It works fine with my other system running v9.4.7.

 

 

 

Is there any bug/known issue preventing the v9.3.0 system running this external monitor?

 

Please advise.

 

 

 

Thanks.

 

 

 

Below is the full script:

 

 

 

!/bin/sh

 

This removes the IPv6/IPv4 compatibility prefix. This has to be done because the LTM passes addresses in IPv6 format.

 

IP=`echo ${1} | sed 's/::ffff://'`

 

PORT=${2}

 

PIDFILE="/var/run/`basename ${0}`.${IP}_${PORT}.pid"

 

This will kill off the last instance of this monitor if it is hung and logs current PID

 

if [ -f $PIDFILE ]

 

then

 

kill -9 `cat $PIDFILE` > /dev/null 2>&1

 

fi

 

echo "$$" > $PIDFILE

 

This is the meat of the code, it is responsible for sending the request & checking for the expected response.

 

curl -fNs --ntlm -k -v --user 'YourUsername@YourDomain.com:YourPassword' http://${IP}:${PORT}/_layouts/RecycleBin.aspx -H "Host: YourWebsite.com" | grep -i "deleted" 2>&1 > /dev/null

 

This part of the code will mark the node UP if the expected response was received.

 

if [ $? -eq 0 ]

 

then

 

echo "UP"

 

fi

 

rm -f $PIDFILE

 

exit

 

 

 

 

 

3 Replies

  • I'd guess that the version of curl in 9.3.0 didn't support NTLM. You can confirm this using 'curl -V'. Here's the output on 9.4.7:

     

     

    curl -V

     

    curl 7.15.3 (i686-redhat-linux-gnu) libcurl/7.15.3 OpenSSL/0.9.7l zlib/1.1.4

     

    Protocols: tftp ftp telnet dict ldap http file https ftps

     

    Features: IPv6 Largefile NTLM SSL libz

     

     

    You might be able to just copy the curl binary from a more current LTM version to the 9.3.0 unit to run this.

     

     

    Aaron
  • Thanks for the response Aaron.

     

     

    We tried your recommendation and the machine running v9.3.0 also giving the same output.

     

    The curl version number is different but it also has NTLM in the features list.

     

     

    Any more ideas?

     

  • curl references other libraries so copying just the binary won't work (ldd `which curl`). It looks like 9.3.0 has a Perl module installed which might work as the start of a Perl external monitor:

     

     

    http://search.cpan.org/~gaas/libwww-perl-6.04/lib/LWP/Authen/Ntlm.pm

     

     

    /usr/lib/perl5/vendor_perl/5.8.0/LWP/Authen/Ntlm.pm

     

     

    Aaron