XyloSiteMonitor

Update of "XyloSiteMonitor"
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: 45d70fd56ce12d5662fcf943d9790db8defcda41d7d5193cc2d865d6632d0e42
Page Name:XyloSiteMonitor
Date: 2018-11-04 11:31:29
Original User: xylon
Parent: b5aaad851567e0e1d55eacc8f1b6d61baa7587688aad09b955773032a6584283 (diff)
Next 749d4511d46325e200278e4676820b06082b2150117542891662c2c960a560b4
Content
XyloSiteMonitor is a python script in a single file which tests every permutation of ways your website can be accessed:

For some permutations, it's appropriate to redirect. For others it's not. All permutations need testing.

Websites to be tested are defined in a beautiful YAML format.

It produces a nice report and can pass the report to a local mail-server if you want.

Here's some example YAML, that tests Free Software UK:

- name: Free Software UK
  expected string: Free Software UK
  canonical address: https://www.freesoftwareuk.org.uk/
  urls:
  - url: www.freesoftwareuk.org.uk
    tests:
    - action: return string
      protocols:
        - TLS
    - action: redirect
      protocols:
        - no-TLS
  - url: freesoftwareuk.org.uk
    tests:
    - action: redirect
      protocols:
        - TLS
        - no-TLS

This translates into all 8 checks required and produces the following output:

IPv4, does "www.freesoftwareuk.org.uk" return string over "TLS"?                                                                                                                                                   
 Test Success!                                                                                                                                                                                                     
IPv6, does "www.freesoftwareuk.org.uk" return string over "TLS"?                                                                                                                                                   
 Test Success!                                                                                                                                                                                                     
IPv4, does "www.freesoftwareuk.org.uk" redirect over "no-TLS"?                                                                                                                                                     
 Test Success!                                                                                                                                                                                                     
IPv6, does "www.freesoftwareuk.org.uk" redirect over "no-TLS"?                                                                                                                                                     
 Test Success!                                                                                                                                                                                                     
IPv4, does "freesoftwareuk.org.uk" redirect over "TLS"?                                                                                                                                                            
 Test Success!                                                                                                                                                                                                     
IPv6, does "freesoftwareuk.org.uk" redirect over "TLS"?                                                                                                                                                            
 Test Success!                                                                                                                                                                                                     
IPv4, does "freesoftwareuk.org.uk" redirect over "no-TLS"?                                                                                                                                                         
 Test Success!                                                                                                                                                                                                     
IPv6, does "freesoftwareuk.org.uk" redirect over "no-TLS"?                                                                                                                                                         
 Test Success!

Summary:                                                                                                                                                                                                           
8 tests passed                                                                                                                                             
0 tests failed

To monitor all 10 of my websites like this means 64 checks. To get this many checks with UptimeRobot would require a Pro plan and it wouldn't allow me to test IPv4 vs 6. Rival service Pingdom can do IPv4 or 6 but this many checks would require an "Advanced" plan for £48 GBP per month!

If you don't like YAML this probably isn't for you because it's wholly based on YAML.

Dependencies are:

To find out the options please run:

./xylositemonitor.py --help

I use it as a cron job on a dedicated monitoring server:

35 14 * * * /usr/local/bin/xylositemonitor.py --mailto=joseph@xylon.me.uk