Google Docs Website Uptime Monitor
A few months ago a colleague pointed me to a few blogs that were sharing Google Docs spreadsheets that offered free uptime monitoring for websites. Here are the original links that I checked out:
The original spreadsheet (first link above) allowed single-site uptime monitoring. The spreadsheet would email you at a specified interval (every 5 minutes, for example) if the status of the website changed. Another developer made some enhancements to allow monitoring of multiple sites and also to offer SMS reminders. I decided it’d be fun to improve the usability of the spreadsheet, so my version:
- moves settings to separate sheet
- moves sites to separate sheet
- adds “Active/Inactive” toggle
- stores last value var as sitename instead of row number
- cleans up messages
- supports additional sites without having to modify script’s loop count
- moves log to separate sheet
- adds README with instructions
- adds Send Email and Send SMS toggles
Try it out for yourself! COPY THE SPREADSHEET
You’ll find a README sheet that explains everything. You will find credits to the original authors (that did much of the heavy lifting) as well as a changelog within the script code. I have tested this on 199 websites with a 5 minute trigger interval; it ran for quite a while before giving me an error that “urlfetch” has been invoked too many times in one day. I’ll re-post when I figure out what the limit is. I believe I had it run approximately 14,328 times before it quit, but I’ll verify.
UPDATE: I have found a page that lists the quota limits per service for Google Apps. The urlFetch action should, at minimum be able to be called 20000 in one day. So, unless my math is off, something is wrong. I’m looking into whether or not this kind of thing (website monitoring) violates Google’s TOS.
UPDATE 2: I’ve asked some questions at StackOverflow re: the quotas and TOS. View the post
UPDATE 3: Just added a few bugfixes re: email/sms notifications.
UPDATE 4: I’ve abandoned this some time ago; I’ll leave the post up.