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!