Forum Discussion

Gill_32697's avatar
Gill_32697
Icon for Nimbostratus rankNimbostratus
Jun 20, 2013

Exchange 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 Exchange engineers say thats not good enough.

 

They want and application layer monitor, they tell me that when they are updating IIS it stops the email function on the node. They want it to be marked down. I said I can use SMTP, but they say nope, need something at the application layer to monitor exchange.

 

I have no idea what they are asking for, to me SMTP should be fine, other than that, what else can I use?

 

 

12 Replies

  • it 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.
  • Hi, I have the same isssue here. When the exchanges guys stop the exchange process, the monitors for OWA and active sync keep green. The cause is that the IIS webserver keeps serving it login screen, even if the exchange process died.

     

    We used the latest iapp for exchange on V11, iapp 1.2.

     

    Did you succeed in solving this issue?