Hi newtosis,
thanks for providing the details.
So we are talking about the URL monitor in general.
As you can see from the alerting email you attached, the monitor provides a status,
for example "Content match error",
but no HTTP error.
When SiteScope is able to access the page, and the content match failed, there is no HTTP error (as all worked but the content match),
and you receieve an error / status "content match error" adn the overall status -999.
Should the server not exist, it would be "unknown host name",
if it cannot connect (wrong port, web page doesn't respond etc.), it would be "timed out reading" and so on.
This is documented in the SiteScope Monitor Reference manual (I took the one from SiteScope 11.32),
Chapter 103: URL Monitor
..
Status
Each time the URL monitor runs, it returns a reading and a status and writes it in the monitoring log file. It also
writes in the log file the total time it takes to receive the designated document. This status value is also
displayed in the SiteScope Monitor tables and is included as part of alert messages sent by using e-mail.
The status reading shows the most recent result for the monitor. This status value is displayed in the URL
Group table within SiteScope. It is also recorded in the SiteScope log files, email alert messages, and can be
transmitted as a pager alert. The possible status values are:
- OK
- unknown host name
- unable to reach server
- unable to connect to server
- timed out reading
- content match error
- document moved
- unauthorized
- forbidden
- not found
- proxy authentication required
- server error
- not implemented
- server busy
As per the source code there simply is a translation
..
STATUS_MAPPING.put(Integer.toString(400), "bad request");
STATUS_MAPPING.put(Integer.toString(401), "unauthorized");
STATUS_MAPPING.put(Integer.toString(403), "forbidden");
STATUS_MAPPING.put(Integer.toString(404), "not found");
..
which means that SiteScope simply doesn't report the native HTTP error like 404,
but a text for it, in this very case "not found"
while the threshold has to be set on the HTTP status code:
As per the comments on "General Notes/Limitations"
..
When setting thresholds for the URL monitor, the status condition relates only to HTTP status codes
(such as 200, 302, and 404) in the page itself, whereas overall status relates to HTTP status codes in the
page and in components of the page such as images or frames (provided Retrieve images and Retrieve
frames are selected in the monitor settings).
..
Finally there is a table with all other error code reported by the monitor:
Error Messages
The following error codes might be encountered when working with URL monitors.
Error
Code Description and Troubleshooting
(-982) Permission denied.
(-983) SOAP Fault Error.
..
(-989) This message is returned when an error string is found in the HTML content.
Check the HTML content by using the View Source command from a browser.
..
(-999) This message is returned when the match string is not found in the HTML
content. Check the HTML content by using the View Source command from a
browser.
..
To make a long story short, you can use only use one of the following variables to get cloe to the error code.
-- status --
<status>
=> "-996"
-- state --
<state>
=> "timed out reading"
-- overall status --
<overall status>
"timed out reading"
Greetings
Siggi