Monitoring Uptime Status with Github Actions

I was searching github for some uptime monitoring apps when I stumbled across a github actions based uptime and status page.

It’s aptly named upptime and while it wasn’t what I was looking for, I found it to be novel and worth setting up:

Status Page - Upptime

📈 Live Status: 🟩 All systems operational

This repository contains the open-source uptime monitor and status page for Chris Bergeron’s Tech Blog, powered by Upptime.

It’s a brutally honest uptime monitor because it’s automated, free and pipeline based. There are no “approvals” or signoffs required for this status page, so tread carefully if you use it professionally. There may be legal implications for SLA’s, etc.

⭐ How it works

  • GitHub Actions is used as an uptime monitor
    • Every 5 minutes, a workflow visits your website to make sure it’s up
    • Response time is recorded every 6 hours and committed to git
    • Graphs of response time are generated every day
  • GitHub Issues are used for incident reports
    • An issue is opened if an endpoint is down
    • People from your team are assigned to the issue
    • Incidents reports are posted as issue comments
    • Issues are locked so non-members cannot comment on them
    • Issues are closed automatically when your site comes back up
    • Slack notifications are sent on updates
  • GitHub Pages are used for the status website
    • A simple, beautiful, and accessible PWA is generated
    • Built with Svelte and Sapper
    • Fetches data from this repository using the GitHub API

Feel free to view the interactive status and uptime page here.

URL Status History Response Time Uptime
Chris Bergeron’s Tech Blog 🟩 Up chris-bergeron-s-tech-blog.yml
Response time graph 347ms
Response time 359
24-hour response time 304
7-day response time 347
30-day response time 359
1-year response time 359
100.00%All-time uptime 100.00%
24-hour uptime 100.00%
7-day uptime 100.00%
30-day uptime 100.00%
1-year uptime 100.00%
The Holding Company 🟩 Up the-holding-company.yml
Response time graph 391ms
Response time 417
24-hour response time 402
7-day response time 391
30-day response time 417
1-year response time 417
100.00%All-time uptime 100.00%
24-hour uptime 100.00%
7-day uptime 100.00%
30-day uptime 100.00%
1-year uptime 100.00%
Author

Chris Bergeron

Posted on

01-08-2022

Updated on

04-01-2023

Licensed under

Comments