HTTP/HTTPS Watch Items show UP/DOWN when they are not
One of the more common questions asked is why a HTTP/HTTPS Watch Item is successful or failing it is failing or is not working.
To better understand the question, here are two scenarios:
- "We are monitoring a login process with a Transaction and it won't fail when I enter the wrong username and password"
- A transaction with multiple steps, loads the login page and POSTs form data to the page that accepts the username and password.
- When the transaction runs, each step is executed in sequence. The HTTP Status code for each page is 200 (See "Explanation of HTTP Status Codes" section below for more information)
- The step that POSTs form data returns an HTTP Status Code 200 regardless if the username and password are correct or not.
- To trigger a failure (Alarm), one must search the output of this step for a positive match, e.g. "successfully logged in", or a negative match "login failed"
- "We are monitoring a web page that WebWatchBot shows as UP when it is clearly failing"
- A single web page is being monitored
- The user stops the web server (stops the service or shuts down the computer); however, on the next run, the Watch Item is still UP.
- In these cases, load balancing may be involved (multiple web servers linked together for failover and redundancy). If this is the case, we suggest monitoring the web server directly by substituting the hostname for the ip address, i.e. instead of "http://www.domain.com/default.asp", use "http://192.168.0.1/default.asp"
Explanation of HTTP Status Codes
HTTP Status codes are generated and returned by your web server. HTTP Status code 200 means that the web server found the requested URL and returned the output without error - on the server side.
This is regardless of the output. To further explain: the URL http://www.domain.com/default.asp might show certain output at one time and show different output at another time (this is considered dynamic output). In both instances the HTTP Status code can be 200.
Better Understanding Cause of Failures
We suggest changing a setting in one or all of your Watch Items and Transaction steps that perform searches to save the output returned so that you can better understand why it fails when it fails: Properties, Settings, Data Collection tab, check the box for "Save output from failed watches". After making this settings change, you can view all of the failed watches (HTML pages in this case) by selecting the menu option View -> Data Folder, then open the subfolder named "saved". Under that subfolder are numbered folders for each failure.