Monitor Your Websites with a Raspberry Pi Zero W (Demo)

Published on: February 9, 2019

Happy New Year! I know it's February but it's my first post in 2019. I am sorry that I've disappeared for so long. Making Raspberry Pi videos take much more effort than my previous series. 

This video isn't a tutorial. It's a demo of this cool application that I've been working on for the past few weeks and I wanted to show off a little. This project is called the "Raspberry Pi - Website Uptime Monitor" - and as the name suggests, it monitors your websites and reports outages. Get more info on GitHub pages: Raspberry Pi - Website Uptime Monitor

The application is still in beta, at the time of this post, the current version is 0.3.0-b01. It's mostly done in Python and it's fully functional and the reason it's still in beta is because I feel like there's still a ton of improvements and bug fixes that I can do. So I'll keep on building. If you just want your hands on the latest tested release, just head on over to the following link and get the latest release: https://github.com/naztronaut/RaspberryPi-Website-Uptime-Monitor/releases/latest

The app is fairly simple and has these features:

  • Red, Yellow, and Green LEDs to visually indicate an outage or an 'everything is okay' signal
  • Simple configurations for your database, email, and LED settings
  • Database component that stores all activity such as outages, email notifications, and cron jobs
  • Timed cron jobs that check your websites every X-minutes (by default it's 15 minutes)
  • Email notifications - when a site is reported down 3 times, get notified. By default the time between outage and notification is 45 minutes but that is configurable through the cron settings
  • Reports through simple web service end points provided by a flask app fronted by Apache
  • More than I'm forgetting!

Everything is configurable and I provid steps on the GitHub repository to help you get started. The application can be used on any Linux system, not just the Raspberry Pi! You'll just have to edit some of the python to exclude the RPi.GPIO library and codes. If there's enough interest for just a Linux version, I will create a side-repo without the Raspberry Pi bits. 

I won't repeat the steps that I posted on GitHub, so head over to that repo to get a step-by-step guide on how to install this on your Pi Zero: https://github.com/naztronaut/RaspberryPi-Website-Uptime-Monitor

Do subscribe and come back for the next videos. In this demo, I showcase a Flask app that is fronted by Apache. My next three videos will cover how to install a flask app, how to install apache, and how to put apache in front of flask using a standalone WSGI configuration. Exciting stuff!

Have questions? Need help with installation? See something weird? Ask a question below, on YouTube, or open a new issue in the Github repo. If you want to contribute, feel free to make some pull requests, I'll happily review the code and pull it in if all looks good. 

 

Remember to checkout the Resources section below for associated downloadable content, JSFiddle links, and other resources. Watch the video and follow along!

Resources:

Get the most up to date Readme on GitHub pages: Raspberry Pi - Website Uptime Monitor

The direct repository can be found at https://github.com/naztronaut/RaspberryPi-Website-Uptime-Monitor



Comments: