I use status pages for other services now and again to see if I'm experiencing issues or if they're experiencing issues and I decided that I'd like to set one up for my own sites. Turns out to be pretty easy to do!
Before we get started you can take a look at my status page and decide if you'd like one for yourself! status.scotthelme.co.uk
This is an app that you can find in the 'Built with' section of the Cloudflare Workers site right here.
You can head over to the GitHub repo for the source or deploy it right now with this link! You need a Workers account and a subdomain you'd like to host the status page on, full details of the prerequisites are here.
To setup your own domains/sites to monitor you just need to edit the
config.yaml file, take a look at mine here.
settings: title: 'Status Page' url: 'https://status-page.eidam.dev' # used for Slack messages logo: logo-192x192.png # image in ./public/ folder daysInHistogram: 90 # number of days you want to display in histogram collectResponseTimes: false # experimental feature, enable only for <5 monitors or on paid plans allmonitorsOperational: 'All Systems Operational' notAllmonitorsOperational: 'Some Systems Non-Operational' monitorLabelOperational: 'Operational' monitorLabelNotOperational: 'Not Operational' monitorLabelNoData: 'No data' dayInHistogramNoData: 'No data' dayInHistogramOperational: 'All good' dayInHistogramNotOperational: ' incident(s)' # xx incident(s) recorded monitors: - id: scotthelme-ghost-io name: scotthelme.ghost.io url: 'https://scotthelme.ghost.io/' - id: scotthelme-co-uk name: scotthelme.co.uk url: 'https://scotthelme.co.uk' - id: report-uri-com name: report-uri.com url: 'https://report-uri.com/' - id: securityheaders-com name: securityheaders.com url: 'https://securityheaders.com/' - id: crawler-ninja name: crawler.ninja url: 'https://crawler.ninja/' - id: whynohttps-com name: whynohttps.com url: 'https://whynohttps.com/' - id: httpforever-com name: httpforever.com url: 'http://httpforever.com/'
That's about it really, I thought this was super easy and worth telling others about whilst also announcing the creation of my new status page!