Forum Discussion

Greg_Forster_31's avatar
Greg_Forster_31
Icon for Altostratus rankAltostratus
Apr 20, 2017
Solved

Monitor a site on a node that has more than one site.

Scenario: We have a pool, inside the pool is 2 members. When DEVOps wants to do maintenance on one of the nodes the don't drop the server, they just drop IIS. So they created a second site on each node and they want to monitor that second site for up/down status. I have spoken to F5 Support about this and they said since it is a second site we would need create an iRule.

 

Does anyone know if this has been done before?

 

  • I have resolved this on my own. Below is what I was able to use to resolve this issue.

     

    Send String: GET /index.html HTTP/1.1\r\nHOST: carnydevweb1.carcogroup.com:443 Receive String: HTTP/1.1 200 OK

     

6 Replies

  • Hello,

     

    The only thing you have to do is to - Create the monitor for example an HTTP monitor - Create the pool and add a node on listening port (for example x.x.x.x:8080) - Add the monitor created at the first step to the pool

     

    It will automatically request the port of the pool member.

     

    You don't need to do anything else.

     

    Regards

     

  • You can change the alias port in the monitor to a port other than the pool member's port, if that is what you are looking to achieve.

     

  • Does dropping IIS not cause a 'standard' monitor (with appropriate receive string) to fail? Are you currently running an http(s) monitor on that pool or a different monitor type?

     

    I'm confused by your response to Vijay's post. Your original post indicates you want to monitor on a port other than standard 80 or 443. (Technically, by default the health monitor will connect to the port defined by the pool member itself.) Using a alias port is the way to have the monitor connect to a port other than that defined by the pool member. So if your Devs have a separate site running on a different port of same node, alias port will achieve that (as long as it's the same port on all nodes).

     

    If it's a situation where the Devs need to keep the web service up (where it would respond to a monitor request), you can utilize the 'receive disable' string. This would allow the service to remain up, but the BIGIP would mark the pool member as disabled if the text of the monitored file contained the 'receive disable' string.

     

  • I have resolved this on my own. Below is what I was able to use to resolve this issue.

     

    Send String: GET /index.html HTTP/1.1\r\nHOST: carnydevweb1.carcogroup.com:443 Receive String: HTTP/1.1 200 OK

     

    • Mihir_Joshi's avatar
      Mihir_Joshi
      Icon for Nimbostratus rankNimbostratus

      Hi Greg,

       

      Great to know that you have resolve this issue by your own but I would like to provide additional suggestion I would like to provide is to do "content check" in receiving string instead "200 OK".

       

      if I understand correctly, your requirement is to monitor second site created by your web administrator which will be use for monitoring purpose. When your web administrator want to do a maintenance of actual(first) web-site they just bring down a second web-site which will help F5 to change status from UP to DOWN so they can complete their maintenance in offline state with IIS service running on it.

       

      If my understanding is correct, you need to create customized Extended Content Verification (ECV) Monitor. Article https://support.f5.com/kb/en-us/products/lc_9_x/manuals/product/lc_config_guide_10_1/lc_monitors.html will help you sure to understand the ECV functionality.

       

      So in your ECV monitor "Send String" should provide exact URI path of your second web-site and "Receive String" should monitor particular content available on it. i.e. word "ENABLE" should be available on web-site which will help monitor to change node status UP or DOWN.

       

      Please ignore me if my understanding is wrong.

       

    • Greg_Forster_31's avatar
      Greg_Forster_31
      Icon for Altostratus rankAltostratus

      Josh,

      Thank you very much I wll read up on this and see if this is a more suitable solution.
      

      Greg