Best Practices for Monitoring load-balanced Web Service and underlying Nodes
Assume I have two web servers behind a load-balancer. There are three web apps that I would like to monitor -- abc.company.com, qrs.commpany.com, and xyz.company.com. The web server expects a host header value since all three web apps are bound to both 80 and 443.
I know I easily add a web service or ping check (either external or internal) using the DNS resolvable hostnames and collect both up-time and response times depending on what check I create.
My concern is that since it is going through the load balancer (and potentially hitting different nodes each time or even the same node every time if affinity is turned on), I would not have statistics on up-time and responsiveness of each node.
How should I go about collecting this additional data?
One approach would be adding additional steps to the check to check each node. But would I be recording individual node data or just the check as a whole? What about name resolution? The original abc.company.com resolves to the load balancer ip. How do you target the individual node ip? (Remember, host header is still needed for IIS to know which web app (app pool), the request is for.)
Can I set up multiple collectors in the same location where the collector has a local host entry to override the load balance ip with one node ip? (1 collector targets 1 node) Can a single step in a multi-step check use different collectors? I guess I could define multiple checks with each check using a different collector that targets a different node... But how does that impact license count usage? (I assume each one takes up a license.)
Thanks for any info you can provide.