Simon icon Simon
Flexible server monitoring

Web test stopped returning results

I've had a test working successfully for awhile, but suddenly it stopped working, and I can't figure out why.

It's a simple http test to http://portal.microsoftonline.com, checking for the phrase "Sign In"

It worked for about 2 years, reporting failures and recoveries just fine, but recently failed and now insists that it's failed all the time, even when it is clearly not.

I think this is a Simon bug, but maybe something that the Microsoft page changed that Simon isn't handling correctly? Or maybe I'm just missing something that I need to change.

The Preview is showing nothing in the "Web (HTTP) Response" section in preview: it's just blank (see attached screenshot).

The "Web (HTTP) Headers" section does have content, but it has a "404: not found" for some reason, which may be part of the problem, because Simon fails the test with a "404", getting it from the header, I guess, but there *is* a response, so maybe Simon needs to ignore the header and get the response?

I tried the "Capture rendered source to include dynamic content after (5) seconds" option, but same thing. I tried https in addition to http and no difference.
This should be easily replicated, because http://portal.microsoftonline.com is a public site.

Any ideas?

Thanks,
John

AttachmentSize
Response.png209.76 KB
Headers.png332.49 KB
David Sinclair's picture

Re: Web test stopped returning results

Hi John,

Enabling WebDebugMode (defaults write com.dejal.simon WebDebugMode YES) and looking in the Console, it appears the site returns a valid response initially, but then returns a 404 error from a redirection. Once Simon receives the error, it ignores the received data and results in a failure.

It looks like the issue with the page is that it has a meta refresh to an invalid page:

<meta http-equiv="Refresh" content="0; URL=https://login.microsoftonline.com/common/jsdisabled" />

A solution is another hidden preference:

defaults write com.dejal.simon WebIgnoreMetaRefresh YES

This will avoid following the meta refresh header, and will work. The downside is that this is global, so will affect all tests. But that may not matter for you.

David