Forum Discussion
Gill_32697
Nimbostratus
Jun 20, 2013Exchange application Custom Health Monitor
Hello, Needing recommendations to create an application Health Monitor for MS Exchange 2010.
Currently I have two pool members health check monitor is https(443), I know I can use SMTP, but Exch...
nitass
Employee
Jun 22, 2013it seems the exchange engineers want to use User Login function for an Advanced Health Monitor with Exchange 2010. I used the outlook deployment guide, but its not working. It always shows up even it I error out the user name...Sure could use some help.what authentication are you using? if it is basic or windows integrated authentication, you can use "outlook web app advanced monitor" health monitor in deployment guide page 73 as Regan suggested (i.e. GET /owa/\r\n and 200 OK).
if you are using forms-based authentication, the monitor in the deployment guide cannot be used because it does not do user authentication. the following is old thread about exchange 2007.
how to add owa form-based monitor for Exchange 2007
https://devcentral.f5.com/community/group/aft/57935/asg/44
i did a bit modify jjh's script as below. the "replace_with_username" and "replace_with_password" in the script need to be replaced. anyway, i am not familiar with exchange, so the script may not be fully correct and customization may be required.
root@(ve11a)(cfg-sync Changes Pending)(Active)(/Common)(tmos) list ltm monitor external owa_mon
ltm monitor external owa_mon {
defaults-from external
destination *:*
interval 5
run /Common/curl_adex2
time-until-up 0
timeout 16
user-defined HOST owa.f5.com
user-defined RECV "Deleted Items"
user-defined URI1 /owa/auth/logon.aspx\?url=https://owa.f5.com/owa/&reason=0
user-defined URI2 /owa/auth.owa
}
[root@ve11a:Active:Changes Pending] external_monitor_d cat \:Common\:curl_adex2_14
!/bin/sh
(c) Copyright 1996-2007 F5 Networks, Inc.
This software is confidential and may contain trade secrets that are the
property of F5 Networks, Inc. No part of the software may be disclosed
to other parties without the express written consent of F5 Networks, Inc.
It is against the law to copy the software. No part of the software may
be reproduced, transmitted, or distributed in any form or by any means,
electronic or mechanical, including photocopying, recording, or information
storage and retrieval systems, for any purpose without the express written
permission of F5 Networks, Inc. Our services are only available for legal
users of the program, for instance in the event that we extend our services
by offering the updating of files via the Internet.
@() $Id: http_monitor_cURL+GET,v 1.0 2007/06/28 16:10:15 deb Exp $
(based on sample_monitor,v 1.3 2005/02/04 18:47:17 saxon)
these arguments supplied automatically for all external monitors:
$1 = IP (IPv6 notation. IPv4 addresses are passed in the form
::ffff:w.x.y.z
where "w.x.y.z" is the IPv4 address)
$2 = port (decimal, host byte order)
Additional command line arguments ($3 and higher) may be specified in the monitor template
This example does not expect any additional command line arguments
Name/Value pairs may also be specified in the monitor template
This example expects the following Name/Vaule pairs:
URI1 = the URI to request from the server to get OutlookSession cookie
URI2 = the URI to request from the server to authenticate user
RECV = the expected response (not case sensitive)
HOST = the FQDN name
remove IPv6/IPv4 compatibility prefix (LTM passes addresses in IPv6 format)
IP=`echo ${1} | sed 's/::ffff://'`
PORT=${2}
PIDFILE="/var/run/`basename ${0}`.${IP}_${PORT}.pid"
kill of the last instance of this monitor if hung and log current pid
if [ -f $PIDFILE ]
then
kill -9 `cat $PIDFILE` > /dev/null 2>&1
fi
echo "$$" > $PIDFILE
send request & check for expected response
curl -fNs --connect-timeout 5 -k "https://${IP}:${PORT}${URI1}" -H "Host: ${HOST}" -c /var/tmp/cookies.txt > /dev/null
curl -fNs --connect-timeout 5 -k -L -d "destination=https%3A%2F%2F${HOST}%2Fowa%2F&flags=0&forcedownlevel=0&trusted=0&username=replace_with_username&password=replace_with_password&isUtf8=1" -b /var/tmp/cookies.txt -b "PBack=0" "https://${IP}:${PORT}${URI2}" -H "Host: ${HOST}" | grep "${RECV}" 2>&1 > /dev/null
mark node UP if expected response was received
if [ $? -eq 0 ]
then
echo "UP"
fi
rm -f $PIDFILE
exit
[root@ve11a:Active:Changes Pending] external_monitor_d
by the way, have you used http analyzer tool such as httpwatch, httpfox? i think it is very helpful in buliding http monitor.
HttpFox: The Firefox add-on you can't live without by Lori MacVittie
https://devcentral.f5.com/blogs/us/httpfox-the-firefox-add-on-you-cant-live-without
hope this helps.
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