This is a django webapp that offers a publicly-viewable webpage of the current status of the Brown University Library's checked-services, and an admin interface to add a service to be checked.
The admin-view allows you to set up:
- a url to be checked
- some expected-html
- a check-frequency
- email-addresses that should be notified
- optional additional email text
A separate cron-triggered script determines what sites need to be checked, and checks them.
A nice feature of the system...
If a failure is detected, the check frequency will reset to check again a couple minutes later (regardless of the normal user-specified check-frequency). And if a second failure then occurs (right after the first), then a failure-notification email goes out, and the checks continue for that site every couple of minutes until it's back up (only that single initial 'failure' email goes out).
An email doesn't go out on that first failure in case it's just some weird temporary blip. And once the site is back up, a 'back-up' email goes out, and the check-frequency returns to the normal user-specified frequency.