Как мониторить доступность сайта с помощью скриптов Google Docs

Inferno Solutions снова жжет!
Новенький iPhone 5 32GB и бонус до 100$ при заказе VPS всем новым клиентам!

Google DocsGoogle Docs позволяет использовать скрипты для расширения функциональности. С помощью таких скриптов можно настроить возможность например мониторинга доступности своего сайта.

Так автор блога Digital Inspirations Амид Агарвал (Amit Agarwal) опубликовал скрипт для Google Docs который опрашивает статус сайта и заносит ответ в ячейку таблицы. Google Docs позволяет запускать скрипт например с минутным интервалом а также получать уведомления по электронной почте...

Инструкция такая: скопируйте себе документ укажите URL для мониторинга в ячейке E3 и свой почтовый адрес в ячейке E5 затем установите минутный триггер на выполнение скрипта в меню Tools → Script Editor → Resources → Current Script’s Triggers.

Google Docs

При попытке сохранить триггер появится большое красное предупреждение с запросом на авторизацию.

Собственно сам код скрипта:

/** Monitor your Site's Uptime **/

function isMySiteDown()
{

// Get the URL of the Website to monitor
var url = SpreadsheetApp.getActiveSheet().getRange("E3").getValue();

// HTTP Response Code of the last server request
if (!ScriptProperties.getProperty("status")) {
ScriptProperties.setProperty("status" 200);
}

var response error;

try {

// Fetch the web page using UrlFetchApp
response = UrlFetchApp.fetch(url);

} catch(error)
{
insertData(error -1 "Website down");
return;
}

var code = response.getResponseCode();

// code = 200 means the fetch request was successful
if (code == 200)
insertData("Up" code "Website up");
else
insertData(response.getContent()[0] code "Website down");
}

function insertData(error code msg) {

// Ignore if the error message is logged already
if (ScriptProperties.getProperty("status") == code)
return;

// Log the server error in a Google Sheet

var sheet = SpreadsheetApp.getActiveSheet();
var email = sheet.getRange("E5").getValue();
var row = sheet.getLastRow() + 1;

sheet.getRange(row1).setValue(new Date());
sheet.getRange(row2).setValue(error);
sheet.getRange(row3).setValue(code);

// Send an email alert for the downtime

ScriptProperties.setProperty("status" code);
MailApp.sendEmail(email msg error);
}


Оригинал статьи http://pingvinoff.net/2012/12/10/kak-monitorit-dostupnost-sajta-s-pomoshhyu-skriptov-google-docs/

0 комментариев

Оставить комментарий