free website monitor using Google Spreadsheet
The spreadsheet consists of a script that monitors your websites at a given interval (e.g. 1, 5 or 30 minutes). You can specify e-mail recipients and you will get an e-mail when the site goes down and also when the site is up again. All changes are stored in a log.
It will check for DNS issues and the most popular http errors, including page not found (404) or site not available (403).
- Download the spreadsheet
You can download the website monitor spreadsheet from the Template Gallery.
- Enter the websites you want to monitor
Fill in the name + URL of the site(s) you want to monitor in the yellow cells.
- Specify who you want to send the e-mail notifications to
In the Settings sheet you can enter one or more e-mail addresses.
- Specify how often you want the website monitor to check your sites
In the Settings sheet you can specify the interval. By default it checks every 5 minutes. You can choose from: 1, 5, 15, 30 minutes or 1, 6 or 12 hours. If the text is greyed out it means the automatic checking has not been enabled yet.
- First time: allow the script to read/write this spreadsheet, run in the background and send you mail
See the permissions tab for details. After authorizing you will have to run the script again.
- Run the script manually
Open the new menu website monitor at the top and run check websites.
- Or run it automatically
Open the new menu website monitor and select add trigger to activate or remove time trigger to deactivate. The first time you will have to select [check trigger] so the script can check the status of the trigger. When automatic monitoring has been enabled, you will see when the most recent check was carried out and when the next check is scheduled (approximately).
- Check the results
In the Sites sheet you see the most recent results. The message contains the response from the server. The timestamp is when the site first had an error. New errors are highlighted.
- Check the log
The Log sheet shows the history of the checks. Every time a site has an error or comes back, a new line is added. When a site is back online then the duration is shown of the period that the site was unavailable.
- Check your e-mail
When there is a change in status you will get an e-mail. Two types of mail: when a site becomes unavailable and when a site is back online. Click the link in the mail to open the spreadsheet for details.
- Updates of the script
At the top of the Sites sheet you will be notified is there is a new version of the website monitor. If that is the case, download the new one and copy your sites, settings and log to the new spreadsheet.
There are a couple of Google limitations. For regular Gmail users: you can have 10,000 checks per day. That’s checking about 7 websites every minute. You can send 500 notification mails (all recipients). The script can run in the background for 1 hour in total per day. In short: if you have more than 5 sites then the 1 minute interval might be too much, just select fewer sites or a higher interval.
The request for permission popup asks for several items. Here is an explanation of each item.
In short: the script needs to read data from your spreadsheet (only this one), it can run in the background, it will send you e-mail if there is a change.
Here is how you can make sure all of this is done only for you and only using this spreadsheet.
To see the source code, go to Tools > Script Editor…
- View and manage your spreadsheets in Google Drive
The script needs to read the spreadsheet to see what sites you would like to monitor, what your settings are, and needs to write the results in the overview and log sheet.
To check: only getActiveSpreadsheet is used.
- Allow this application to run when you are not present
You can manually run the script (website monitor > check websites), or you can activate the trigger so the check is done at a specified interval. You do not have to have the spreadsheet open for this.
To check: search for ScriptApp.newTrigger and see that it runs the function monitorSitesTrigger.
- Send email as you
When there is a change mail will be sent to the people specified in the Settings sheet.
To check: search for Mail.App.sendEmail.
- Connect to an external service
The script tries to load the sites you specify. The content is not stored.
To check: search for UrlFetchApp.fetch.